304 | | const MixerCtrl MixerCtrls_828Mk2[] = { |
---|
| 305 | const MatrixMixBus MixerBuses_Ultralite[] = { |
---|
| 306 | {"Mix 1", 0x4000, }, |
---|
| 307 | {"Mix 2", 0x4100, }, |
---|
| 308 | {"Mix 3", 0x4200, }, |
---|
| 309 | {"Mix 4", 0x4300, }, |
---|
| 310 | }; |
---|
| 311 | |
---|
| 312 | const MatrixMixChannel MixerChannels_Ultralite[] = { |
---|
| 313 | {"Analog 1", MOTU_CTRL_STD_CHANNEL, 0x0000, }, |
---|
| 314 | {"Analog 2", MOTU_CTRL_STD_CHANNEL, 0x0004, }, |
---|
| 315 | {"Analog 3", MOTU_CTRL_STD_CHANNEL, 0x0008, }, |
---|
| 316 | {"Analog 4", MOTU_CTRL_STD_CHANNEL, 0x000c, }, |
---|
| 317 | {"Analog 5", MOTU_CTRL_STD_CHANNEL, 0x0010, }, |
---|
| 318 | {"Analog 6", MOTU_CTRL_STD_CHANNEL, 0x0014, }, |
---|
| 319 | {"Analog 7", MOTU_CTRL_STD_CHANNEL, 0x0018, }, |
---|
| 320 | {"Analog 8", MOTU_CTRL_STD_CHANNEL, 0x001c, }, |
---|
| 321 | {"SPDIF 1", MOTU_CTRL_STD_CHANNEL, 0x0020, }, |
---|
| 322 | {"SPDIF 2", MOTU_CTRL_STD_CHANNEL, 0x0024, }, |
---|
| 323 | }; |
---|
| 324 | |
---|
| 325 | const MixerCtrl MixerCtrls_Ultralite[] = { |
---|
| 349 | const MixerCtrl MixerCtrls_896HD[] = { |
---|
| 350 | {"Mix1/Mix_", "Mix 1 ", "", MOTU_CTRL_STD_MIX, 0x0c20, }, |
---|
| 351 | {"Mix2/Mix_", "Mix 2 ", "", MOTU_CTRL_STD_MIX, 0x0c24, }, |
---|
| 352 | {"Mix3/Mix_", "Mix 3 ", "", MOTU_CTRL_STD_MIX, 0x0c28, }, |
---|
| 353 | {"Mix4/Mix_", "Mix 4 ", "", MOTU_CTRL_STD_MIX, 0x0c2c, }, |
---|
| 354 | |
---|
| 355 | /* For phones source control, "register" is currently unused */ |
---|
| 356 | {"Control/Phones_", "Phones source", "", MOTU_CTRL_PHONES_SRC, 0}, |
---|
| 357 | |
---|
| 358 | /* For optical mode controls, the "register" is used to indicate direction */ |
---|
| 359 | {"Control/OpticalIn_mode", "Optical input mode ", "", MOTU_CTRL_OPTICAL_MODE, MOTU_DIR_IN}, |
---|
| 360 | {"Control/OpticalOut_mode", "Optical output mode ", "", MOTU_CTRL_OPTICAL_MODE, MOTU_DIR_OUT}, |
---|
| 361 | |
---|
| 362 | /* For meter controls the "register" indicates which meter controls are available */ |
---|
| 363 | {"Control/Meter_", "Meter ", "", MOTU_CTRL_METER, |
---|
| 364 | MOTU_CTRL_METER_PEAKHOLD | MOTU_CTRL_METER_CLIPHOLD | MOTU_CTRL_METER_AESEBU_SRC | |
---|
| 365 | MOTU_CTRL_METER_PROG_SRC}, |
---|
| 366 | }; |
---|
| 367 | |
---|
| 368 | const MixerCtrl MixerCtrls_828Mk2[] = { |
---|
| 369 | {"Mix1/Mix_", "Mix 1 ", "", MOTU_CTRL_STD_MIX, 0x0c20, }, |
---|
| 370 | {"Mix2/Mix_", "Mix 2 ", "", MOTU_CTRL_STD_MIX, 0x0c24, }, |
---|
| 371 | {"Mix3/Mix_", "Mix 3 ", "", MOTU_CTRL_STD_MIX, 0x0c28, }, |
---|
| 372 | {"Mix4/Mix_", "Mix 4 ", "", MOTU_CTRL_STD_MIX, 0x0c2c, }, |
---|
| 373 | |
---|
| 374 | /* For mic/line input controls, the "register" is the zero-based channel number */ |
---|
| 375 | {"Control/Ana1_", "Analog 1 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 0}, |
---|
| 376 | {"Control/Ana2_", "Analog 2 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 1}, |
---|
| 377 | {"Control/Ana3_", "Analog 3 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 2}, |
---|
| 378 | {"Control/Ana4_", "Analog 4 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 3}, |
---|
| 379 | {"Control/Ana5_", "Analog 5 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 4}, |
---|
| 380 | {"Control/Ana6_", "Analog 6 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 5}, |
---|
| 381 | {"Control/Ana7_", "Analog 7 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 6}, |
---|
| 382 | {"Control/Ana8_", "Analog 8 input ", "", MOTU_CTRL_TRAVELER_LINE_INPUT_CTRLS, 7}, |
---|
| 383 | |
---|
| 384 | /* For phones source control, "register" is currently unused */ |
---|
| 385 | {"Control/Phones_", "Phones source", "", MOTU_CTRL_PHONES_SRC, 0}, |
---|
| 386 | |
---|
| 387 | /* For optical mode controls, the "register" is used to indicate direction */ |
---|
| 388 | {"Control/OpticalIn_mode", "Optical input mode ", "", MOTU_CTRL_OPTICAL_MODE, MOTU_DIR_IN}, |
---|
| 389 | {"Control/OpticalOut_mode", "Optical output mode ", "", MOTU_CTRL_OPTICAL_MODE, MOTU_DIR_OUT}, |
---|
| 390 | }; |
---|
| 391 | |
---|
| 615 | if (type & MOTU_CTRL_METER) { |
---|
| 616 | if (ctrl->dev_register & MOTU_CTRL_METER_PEAKHOLD) { |
---|
| 617 | snprintf(name, 100, "%s%s", ctrl->name, "peakhold_time"); |
---|
| 618 | snprintf(label,100, "%s%s", ctrl->label,"peakhold time"); |
---|
| 619 | result &= m_MixerContainer->addElement( |
---|
| 620 | new MeterControl(*this, MOTU_METER_PEAKHOLD_MASK, |
---|
| 621 | MOTU_METER_PEAKHOLD_SHIFT, name, label, ctrl->desc)); |
---|
| 622 | } |
---|
| 623 | if (ctrl->dev_register & MOTU_CTRL_METER_CLIPHOLD) { |
---|
| 624 | snprintf(name, 100, "%s%s", ctrl->name, "cliphold_time"); |
---|
| 625 | snprintf(label,100, "%s%s", ctrl->label,"cliphold time"); |
---|
| 626 | result &= m_MixerContainer->addElement( |
---|
| 627 | new MeterControl(*this, MOTU_METER_CLIPHOLD_MASK, |
---|
| 628 | MOTU_METER_CLIPHOLD_SHIFT, name, label, ctrl->desc)); |
---|
| 629 | } |
---|
| 630 | if (ctrl->dev_register & MOTU_CTRL_METER_AESEBU_SRC) { |
---|
| 631 | snprintf(name, 100, "%s%s", ctrl->name, "aesebu_src"); |
---|
| 632 | snprintf(label,100, "%s%s", ctrl->label,"AESEBU source"); |
---|
| 633 | result &= m_MixerContainer->addElement( |
---|
| 634 | new MeterControl(*this, MOTU_METER_AESEBU_SRC_MASK, |
---|
| 635 | MOTU_METER_AESEBU_SRC_SHIFT, name, label, ctrl->desc)); |
---|
| 636 | } |
---|
| 637 | if (ctrl->dev_register & MOTU_CTRL_METER_PROG_SRC) { |
---|
| 638 | snprintf(name, 100, "%s%s", ctrl->name, "src"); |
---|
| 639 | snprintf(label,100, "%s%s", ctrl->label,"source"); |
---|
| 640 | result &= m_MixerContainer->addElement( |
---|
| 641 | new MeterControl(*this, MOTU_METER_PROG_SRC_MASK, |
---|
| 642 | MOTU_METER_PROG_SRC_SHIFT, name, label, ctrl->desc)); |
---|
| 643 | } |
---|
| 644 | type &= ~MOTU_CTRL_METER; |
---|
| 645 | } |
---|