### Class

# Hitaki SndFireface

#### Description [src]

    class Hitaki.SndFireface : GObject.Object
      implements Hitaki.AlsaFirewire, Hitaki.TimestampedQuadletNotification {
      /* No available fields */
    }

A GObject-derived object for sound unit of RME Fireface series. The `HitakiSndFireface` is object class derived from `GObject` for sound unit of RME Fireface series supported by ALSA fireface driver (`snd-fireface`).

For Fireface 400, the object class implements `HitakiTimestampedQuadletNotification` interface to dispatch event of knob control. The message parameter of event includes unsigned 32 bit integer value with encoded data. The kind of data can be detected by below flags:

- `0x00000100`: MIDI message byte received in physical MIDI port 0
- `0x01000000`: MIDI message byte received in physical MIDI port 1
- `0x04000000`: signal level of channel

When it is for MIDI port 0, the value includes the message byte masked by `0x000000ff`. When it is for MIDI port 1, the value includes the message byte masked by `0x00ff0000`.

When it is for the signal level, the value includes paired channel position masked by `0xf0000000`.

- `0x00000000`: Microphone input 0/1
- `0x10000000`: Line input 0/1
- `0x20000000`: Line output 0/1
- `0x30000000`: Line output 2/3
- `0x40000000`: Line output 4/5
- `0x50000000`: Headphone output 0/1
- `0x60000000`: S/PDIF output 0/1
- `0x70000000`: ADAT output 0/1
- `0x80000000`: ADAT output 2/3
- `0x90000000`: ADAT output 4/5
- `0xa0000000`: ADAT output 6/7

When the value includes flag of `0x02000000`, the value includes signal level for both of channels in the pair. Unless, when the value includes flag of `0x08000000`, the signal level is just for right channel in the pair. When both flags are not found, the signal level is just for left channel in the pair.

The value includes signal level masked by `0x00fffc00`. The range of signal level differs depending on channels. For signal level of microphone input:

- `0x00000000`: zero
- `0x00002800`: +10.0 dB
- `0x00002c00`: +11.0 dB
- `0x00003000`: +12.0 dB
- …
- `0x0000fc00`: +63.0 dB:
- `0x00010000`: +64.0 dB:
- `0x00010400`: +65.0 dB:

For signal level of line input:

- `0x00000000`: zero
- `0x00000400`: +0.5 dB
- `0x00000800`: +1.0 dB
- `0x00000c00`: +1.5 dB
- …
- `0x00008800`: +17.0 dB:
- `0x000008c0`: +17.5 dB:
- `0x00000900`: +18.0 dB:

For signal level of any type of output:

- `0x0000fc00`: -infinite
- `0x0000f800`: -58.0 dB
- `0x0000f400`: -56.0 dB
- `0x0000f000`: -54.0 dB
- `0x0000ec00`: -53.0 dB
- `0x0000e800`: -52.0 dB
- …
- `0x00001c00`: -1.0 dB
- `0x00001800`: 0.0 dB
- `0x00001400`: 1.0 dB
- …
- `0x00000800`: +4.0 dB
- `0x00000400`: +5.0 dB
- `0x00000000`: +6.0 dB.

#### Ancestors

- GObject

#### Implements

- HitakiAlsaFirewire
- HitakiTimestampedQuadletNotification

#### Constructors

###### hitaki_snd_fireface_new

Instantiate `HitakiSndFireface` object and return the instance.

#### Instance methods

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from HitakiAlsaFirewire (4)

###### 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

##### Properties inherited from HitakiAlsaFirewire (6)

###### HitakiAlsaFirewire:card-id

The numeric identifier for sound card.

###### HitakiAlsaFirewire:guid

Global unique identifier for the node in IEEE 1394 bus.

###### HitakiAlsaFirewire: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.

###### HitakiAlsaFirewire:is-locked

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

###### HitakiAlsaFirewire:node-device

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

###### HitakiAlsaFirewire:unit-type

The type of sound unit.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from HitakiTimestampedQuadletNotification (1)

###### HitakiTimestampedQuadletNotification::notified-at

Emitted when the target unit transfers notification.

#### Class structure

    struct HitakiSndFirefaceClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.