### Interface

# Hitaki AlsaFirewire

#### Description [src]

    interface Hitaki.AlsaFirewire : GObject.Object

An interface to operate ALSA HwDep character device for Audio and Music unit in IEEE 1394 bus. All of driver in ALSA firewire stack allow userspace application to use specific function via ALSA HwDep character device. The function includes common and specific parts. The `HitakiAlsaFirewire` is an object interface to operate the character device for the common functions.

#### Prerequisite

In order to implement AlsaFirewire, your type must inherit from`GObject`.

#### Implementations

- HitakiSndDice
- HitakiSndDigi00x
- HitakiSndEfw
- HitakiSndFireface
- HitakiSndMotu
- HitakiSndTascam
- HitakiSndUnit

#### Instance methods

###### hitaki_alsa_firewire_create_source

Allocate `GSource` to handle events from ALSA HwDep character device.

###### hitaki_alsa_firewire_lock

Lock kernel driver bound to the associated ALSA HwDep character device so that it is prohibited to start packet streaming.

###### hitaki_alsa_firewire_open

Open the special file for ALSA HwDep character device.

###### hitaki_alsa_firewire_unlock

Unlock kernel driver bound to the associated ALSA HwDep character device so that it can start packet streaming.

#### Properties

###### Hitaki.AlsaFirewire:card-id

The numeric identifier for sound card.

###### Hitaki.AlsaFirewire:guid

Global unique identifier for the node in IEEE 1394 bus.

###### Hitaki.AlsaFirewire:is-disconnected

Whether the sound card is unavailable. It becomes FALSE when the sound card is removed or driver is unbound to it. Then the owner of this object should call `g_object_unref()` as quickly as possible to release ALSA hwdep character device.

###### Hitaki.AlsaFirewire:is-locked

Whether the associated unit is locked or not to start packet streaming.

###### Hitaki.AlsaFirewire:node-device

The name of node device in Linux FireWire subsystem which owns the unit; e.g. `fw1`.

###### Hitaki.AlsaFirewire:unit-type

The type of sound unit.

#### Interface structure

    struct HitakiAlsaFirewireInterface {
      GTypeInterface iface;
      gboolean (* open) (
        HitakiAlsaFirewire* self,
        const gchar* path,
        gint open_flag,
        GError** error
      );
      gboolean (* lock) (
        HitakiAlsaFirewire* self,
        GError** error
      );
      gboolean (* unlock) (
        HitakiAlsaFirewire* self,
        GError** error
      );
      gboolean (* create_source) (
        HitakiAlsaFirewire* self,
        GSource** source,
        GError** error
      );

    }

No description available.

###### Interface members

`iface`

    GTypeInterface

| No description available.

`open`

    gboolean (* open) (
        HitakiAlsaFirewire* self,
        const gchar* path,
        gint open_flag,
        GError** error
      )

| No description available.

`lock`

    gboolean (* lock) (
        HitakiAlsaFirewire* self,
        GError** error
      )

| No description available.

`unlock`

    gboolean (* unlock) (
        HitakiAlsaFirewire* self,
        GError** error
      )

| No description available.

`create_source`

    gboolean (* create_source) (
        HitakiAlsaFirewire* self,
        GSource** source,
        GError** error
      )

| No description available.

#### Virtual methods

###### Hitaki.AlsaFirewire.create_source

Allocate `GSource` to handle events from ALSA HwDep character device.

###### Hitaki.AlsaFirewire.lock

Lock kernel driver bound to the associated ALSA HwDep character device so that it is prohibited to start packet streaming.

###### Hitaki.AlsaFirewire.open

Open the special file for ALSA HwDep character device.

###### Hitaki.AlsaFirewire.unlock

Unlock kernel driver bound to the associated ALSA HwDep character device so that it can start packet streaming.