mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-11-10 13:30:00 -05:00
Add support for RME MADI, RayDAT and AIO
Merged the work by Florian Faber that's distributed separately as hdspmixer64. Code taken from http://wiki.linuxproaudio.org/index.php/App:hdspmixer_64 Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
6af3047947
commit
e24e56795e
20 changed files with 651 additions and 187 deletions
|
|
@ -21,6 +21,83 @@
|
|||
#pragma implementation
|
||||
#include "HDSPMixerSelector.h"
|
||||
|
||||
static char *destinations_madi_ss[32] = {
|
||||
"1+2", "3+4", "5+6", "7+8",
|
||||
"9+10", "11+12", "13+14", "15+16",
|
||||
"17+18", "19+20", "21+22", "23+24",
|
||||
"25+26", "27+28", "29+30", "31+32",
|
||||
"33+34", "35+36", "37+38", "39+40",
|
||||
"41+42", "43+44", "45+46", "47+48",
|
||||
"49+50", "51+52", "53+54", "55+56",
|
||||
"57+58", "59+60", "61+62", "63+64"
|
||||
};
|
||||
|
||||
static char *destinations_madi_ds[16] = {
|
||||
"1+2", "3+4", "5+6", "7+8",
|
||||
"9+10", "11+12", "13+14", "15+16",
|
||||
"17+18", "19+20", "21+22", "23+24",
|
||||
"25+26", "27+28", "29+30", "31+32",
|
||||
};
|
||||
|
||||
static char *destinations_madi_qs[8] = {
|
||||
"1+2", "3+4", "5+6", "7+8",
|
||||
"9+10", "11+12", "13+14", "15+16",
|
||||
};
|
||||
|
||||
|
||||
static char *destinations_raydat_ss[18] = {
|
||||
|
||||
"A1 1+2", "A1 3+4", "A1 5+6", "A1 7+8",
|
||||
"A2 1+2", "A2 3+4", "A2 5+6", "A2 7+8",
|
||||
"A3 1+2", "A3 3+4", "A3 5+6", "A3 7+8",
|
||||
"A4 1+2", "A4 3+4", "A4 5+6", "A4 7+8",
|
||||
"AES",
|
||||
"SPDIF"
|
||||
};
|
||||
|
||||
static char *destinations_raydat_ds[10] = {
|
||||
"A1 1+2", "A1 3+4",
|
||||
"A2 1+2", "A2 3+4",
|
||||
"A3 1+2", "A3 3+4",
|
||||
"A4 1+2", "A4 3+4",
|
||||
"AES",
|
||||
"SPDIF"
|
||||
};
|
||||
|
||||
static char *destinations_raydat_qs[6] = {
|
||||
"A1 1+2",
|
||||
"A2 1+2",
|
||||
"A3 1+2",
|
||||
"A4 1+2",
|
||||
"AES",
|
||||
"SPDIF"
|
||||
};
|
||||
|
||||
|
||||
static char *destinations_aio_ss[8] = {
|
||||
"AN 1+2",
|
||||
"AES",
|
||||
"SPDIF",
|
||||
"A 1+2", "A 3+4", "A 5+6", "A 7+8",
|
||||
"Phones",
|
||||
};
|
||||
|
||||
static char *destinations_aio_ds[6] = {
|
||||
"AN 1+2",
|
||||
"AES",
|
||||
"SPDIF",
|
||||
"A 1+2", "A 3+4"
|
||||
"Phones",
|
||||
};
|
||||
|
||||
static char *destinations_aio_qs[5] = {
|
||||
"AN 1+2",
|
||||
"AES",
|
||||
"SPDIF",
|
||||
"A 1+2"
|
||||
"Phones",
|
||||
};
|
||||
|
||||
static char *destinations_mf_ss[10] = {
|
||||
"AN 1+2", "AN 3+4", "AN 5+6", "AN 7+8",
|
||||
"A 1+2", "A 3+4", "A 5+6", "A 7+8",
|
||||
|
|
@ -135,7 +212,7 @@ int HDSPMixerSelector::handle(int e) {
|
|||
|
||||
void HDSPMixerSelector::setLabels()
|
||||
{
|
||||
HDSP_IO_Type type;
|
||||
int type;
|
||||
hdsp_9632_aeb_t *aeb;
|
||||
int sm;
|
||||
clear();
|
||||
|
|
@ -199,7 +276,54 @@ void HDSPMixerSelector::setLabels()
|
|||
destinations = destinations_h9632_qs;
|
||||
break;
|
||||
}
|
||||
} else if (HDSPeMADI == type) {
|
||||
switch (sm) {
|
||||
case 0:
|
||||
max_dest = 32;
|
||||
destinations = destinations_madi_ss;
|
||||
break;
|
||||
case 1:
|
||||
max_dest = 16;
|
||||
destinations = destinations_madi_ds;
|
||||
break;
|
||||
case 2:
|
||||
max_dest = 8;
|
||||
destinations = destinations_madi_qs;
|
||||
break;
|
||||
}
|
||||
} else if (HDSPeAIO == type) {
|
||||
switch (sm) {
|
||||
case 0:
|
||||
max_dest = 8;
|
||||
destinations = destinations_aio_ss;
|
||||
break;
|
||||
case 1:
|
||||
max_dest = 6;
|
||||
destinations = destinations_aio_ds;
|
||||
break;
|
||||
case 2:
|
||||
max_dest = 5;
|
||||
destinations = destinations_aio_qs;
|
||||
break;
|
||||
}
|
||||
} else if (HDSPeRayDAT == type) {
|
||||
switch (sm) {
|
||||
case 0:
|
||||
max_dest = 18;
|
||||
destinations = destinations_raydat_ss;
|
||||
break;
|
||||
case 1:
|
||||
max_dest = 10;
|
||||
destinations = destinations_raydat_ds;
|
||||
break;
|
||||
case 2:
|
||||
max_dest = 6;
|
||||
destinations = destinations_raydat_qs;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < max_dest; ++i) {
|
||||
add(destinations[i], 0, 0, 0, FL_MENU_TOGGLE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue