diff --git a/ChangeLog b/ChangeLog index 7bc0d2d9..316b4dc9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18064,3 +18064,5 @@ * Optimized RDAudioPort SQL queries. 2018-11-26 Patrick Linstruth * Fixed bug where requested port could overrun HPI_MAX_NODES. +2018-11-26 Patrick Linstruth + * Moved mixer initialization to caed(8). diff --git a/cae/cae.cpp b/cae/cae.cpp index e4582f7b..b443525e 100644 --- a/cae/cae.cpp +++ b/cae/cae.cpp @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -106,6 +107,8 @@ MainObject::MainObject(QObject *parent,const char *name) rd_config->load(); rd_config->setModuleName("caed"); + rd_config->log("caed",RDConfig::LogInfo,"cae starting"); + // // Initialize Data Structures // @@ -589,12 +592,23 @@ void MainObject::InitProvisioning() const void MainObject::InitMixers() { for(int i=0;istationName(),i); switch(cae_driver[i]) { case RDStation::Hpi: + hpiSetClockSource(i,port->clockSource()); for(int j=0;jinputPortType(j)==RDAudioPort::Analog) { + hpiSetInputType(i,j,RDCae::Analog); + } + else { + hpiSetInputType(i,j,RDCae::AesEbu); + } + hpiSetInputLevel(i,j,RD_BASE_ANALOG+port->inputPortLevel(j)); + hpiSetOutputLevel(i,j,RD_BASE_ANALOG+port->outputPortLevel(j)); + hpiSetInputMode(i,j,port->inputPortMode(j)); } break; @@ -603,6 +617,15 @@ void MainObject::InitMixers() for(int k=0;kinputPortType(j)==RDAudioPort::Analog) { + jackSetInputType(i,j,RDCae::Analog); + } + else { + jackSetInputType(i,j,RDCae::AesEbu); + } + jackSetInputLevel(i,j,RD_BASE_ANALOG+port->inputPortLevel(j)); + jackSetOutputLevel(i,j,RD_BASE_ANALOG+port->outputPortLevel(j)); + jackSetInputMode(i,j,port->inputPortMode(j)); } break; @@ -611,12 +634,22 @@ void MainObject::InitMixers() for(int k=0;kinputPortType(j)==RDAudioPort::Analog) { + alsaSetInputType(i,j,RDCae::Analog); + } + else { + alsaSetInputType(i,j,RDCae::AesEbu); + } + alsaSetInputLevel(i,j,RD_BASE_ANALOG+port->inputPortLevel(j)); + alsaSetOutputLevel(i,j,RD_BASE_ANALOG+port->outputPortLevel(j)); + alsaSetInputMode(i,j,port->inputPortMode(j)); } break; case RDStation::None: break; } + delete port; } } diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index 92493fa3..a47c2881 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -289,7 +289,6 @@ MainWidget::MainWidget(QWidget *parent) // Set Audio Assignments // air_segue_length=rda->airplayConf()->segueLength()+1; - RDSetMixerPorts(rda->config()->stationName(),rda->cae()); // // RIPC Connection diff --git a/rdcatch/rdcatch.cpp b/rdcatch/rdcatch.cpp index b83cb254..676627a8 100644 --- a/rdcatch/rdcatch.cpp +++ b/rdcatch/rdcatch.cpp @@ -233,11 +233,6 @@ MainWidget::MainWidget(QWidget *parent) this,SLOT(playStoppedData(int))); rda->cae()->connectHost(); - // - // Set Audio Assignments - // - RDSetMixerPorts(rda->station()->name(),rda->cae()); - // // Deck Monitors // diff --git a/rdcatchd/rdcatchd.cpp b/rdcatchd/rdcatchd.cpp index c92a0bc3..e8a51d10 100644 --- a/rdcatchd/rdcatchd.cpp +++ b/rdcatchd/rdcatchd.cpp @@ -332,7 +332,6 @@ MainObject::MainObject(QObject *parent) // // Sound Initialization // - RDSetMixerPorts(rda->config()->stationName(),rda->cae()); sql=QString("select ")+ "CHANNEL,"+ // 00 "CARD_NUMBER,"+ // 01 diff --git a/rdlibrary/rdlibrary.cpp b/rdlibrary/rdlibrary.cpp index fefc3794..891d66f7 100644 --- a/rdlibrary/rdlibrary.cpp +++ b/rdlibrary/rdlibrary.cpp @@ -191,11 +191,6 @@ MainWidget::MainWidget(QWidget *parent) this,SLOT(caeConnectedData(bool))); rda->cae()->connectHost(); - // - // Load Audio Assignments - // - RDSetMixerPorts(rda->config()->stationName(),rda->cae()); - // // Filter // diff --git a/rdlogedit/rdlogedit.cpp b/rdlogedit/rdlogedit.cpp index 9dc22ffb..350e8128 100644 --- a/rdlogedit/rdlogedit.cpp +++ b/rdlogedit/rdlogedit.cpp @@ -147,11 +147,6 @@ MainWidget::MainWidget(QWidget *parent) log_greenball_map=new QPixmap(greenball_xpm); log_redball_map=new QPixmap(redball_xpm); - // - // Load Audio Assignments - // - RDSetMixerPorts(rda->config()->stationName(),rda->cae()); - // // Log Filter // diff --git a/rdvairplayd/rdvairplayd.cpp b/rdvairplayd/rdvairplayd.cpp index 3c49ee86..63e91410 100644 --- a/rdvairplayd/rdvairplayd.cpp +++ b/rdvairplayd/rdvairplayd.cpp @@ -90,7 +90,6 @@ MainObject::MainObject(QObject *parent) // Set Audio Assignments // // air_segue_length=rda->airplayConf()->segueLength()+1; - RDSetMixerPorts(rda->config()->stationName(),rda->cae()); // // RIPC Connection