|
From: Marco B. <mar...@ma...> - 2016-05-22 12:36:02
|
Hello. Tnx for the detailed answer. I will go trough the 1394 TA document for the next steps. Unfortunately the mixer functions are currently not reachable, as not implemented in the BeBoB. (FunctionBlockEnhancedMixer, etc) One option could be to enhance the BeBoB (some form of back to the roots for an ex assembler programmer...). I have seen some mail on this subject you did write in the past, and I have understood the problems related with this step. Thefore the question I have now, for an intermediate/testing solution, is if there is any form of "passtrough", allowing the usage of the mixer block commands even they are not supported by the BeBoB? Thank you again for your help. Marco On 22 Maggio 2016 03:12:27 CEST, Takashi Sakamoto <o-t...@sa...> wrote: >Hi, > >On May 19 2016 19:52, Marco wrote: >> You should already have received a mail with a link to the file with >the >> results of hinawa-bebob-parser. >> If anyone else is interested just let me know. > >Thanks for the mail with log file. > >As long as seeing the file, your unit supports some features. > >In BeBoB interface, these features are represented by 'Audio Subunit >Function Block' according to a document of 1394 Trade Association[1]. >This is a list of the function blocks implemented in your unit. > - Selector function block: > - 1: Capture PCM source > - 0: Line In > - 1: Phono In > - 2: Mic In > - 3: S/PDIF In > - 2: S/PDIF output source > - 0: PCM playback 1/2 > - 1: PCM playback 9/10 > - Feature function block: > - 1: Analog output 1-8 volume/mute/pan > - 2: Line input 1/2 volume/mute/pan > - 3: Phono input 1/2 volume/mute/pan > - 4: Mic input volume/mute/pan > - Mixer function block: > - Perhaps disabled so as the other BeBoB units do. > >So, you can change the state of your unit by sending commands and >receiving >responses. The simplest way is to use 'firewire-request' command in >linux-firewire-utils[2]. > >For example, when getting volume of analog output, execute the command >with proper arguments below: > >$ ./firewire-request /dev/fw1 fcp 0x0108b881xx1002yy0202ffff > >Here, xx means the numerical ID of the feature function block (1-4), >and >yy means channel number (0-7 for analog output, 0/1 for the others). >For >example: > >$ ./firewire-request /dev/fw1 fcp 0108b881011002010202ffff >response: 000: 0c 08 b8 81 01 10 02 01 02 02 e8 00 > >In this case, 'e8 80' means the current volume. For the meaning, please >refer to 'Table 10.5 - Values for the volume settings'[1]. > >When setting volume of analog output, execute the command with proper >arguments below: > >$ ./firewire-request /dev/fw1 fcp 0x0008b881xx1002yy0202zzzz > >The value of first byte is different from the getting case. Please fill >zzzz according to the table. > >They're examples for the feature function block. When setting/getting >source selectors, we need to use different commands in the >specification, >like: > >$ ./firewire-request /dev/fw1 fcp 0x0108b880xx1002yy01 > >Here, xx means the numerical ID of selector function block (1-2), and >yy means source ID (0-3 for capture PCM source, 0/1 for S/PDIF out >source). > >For example, when getting current source of capture PCM, execute this >command: > >$ ./firewire-request /dev/fw1 fcp 0108b880011002ff01 >response: 000: 0c 08 b8 80 01 10 02 00 01 > >In this case, the unit returns '00'. In your unit, it means 'Line In'. >When setting 'Phono In', execute like this: > >$ ./firewire-request /dev/fw1 fcp 0x0008b8800110020201 > > >For your information, in FFADO project, there's no active developers >who >has enough knowledge about this command set. Therefore, it's better not >to have excess of expectation to others. I think no one can help you. > >[1] AV/C Audio Subunit Specification 1.0 (TA Document 1999008) >[2] https://github.com/cladisch/linux-firewire-utils > > >Regards > >Takashi Sakamoto -- Sent from my Android device with Xafely, Please excuse my brevity. |