diff --git a/ChangeLog b/ChangeLog index c54b9f18..f9337fde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22822,3 +22822,12 @@ * Fixed a bug that broke the 'make py-rpm' target. * Reset the version of the 'rivwebpyapi' PyPI package to 4.0.0b3. +2021-12-21 Fred Gleason + * Moved the PANEL_MAX_OUTPUTS define in 'lib/rdsound_panel.h' to + RD_SOUNDPANEL_MAX_OUTPUTS in 'lib/rd.h'. + * Added a 'RDPortNames' class. + * Added a 'RDCoreApplication::portNames()' method. + * Refactored rdairplay(1) to use 'RDPortNames'. + * Refactored rdpanel(1) to use 'RDPortNames'. + * Removed the 'RDAirPlayConf::portName()' method. + * Removed the 'RDAirPlayConf::soundPanelChannelName()' method. diff --git a/lib/Makefile.am b/lib/Makefile.am index 9c3cd124..6689e53d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -213,6 +213,7 @@ dist_librd_la_SOURCES = dbversion.h\ rdpodcast.cpp rdpodcast.h\ rdpodcastfilter.cpp rdpodcastfilter.h\ rdpodcastlistmodel.cpp rdpodcastlistmodel.h\ + rdportnames.cpp rdportnames.h\ rdprocess.cpp rdprocess.h\ rdprofile.cpp rdprofile.h\ rdpushbutton.cpp rdpushbutton.h\ diff --git a/lib/librd.pro b/lib/librd.pro index 01f6803f..a7a01d82 100644 --- a/lib/librd.pro +++ b/lib/librd.pro @@ -163,6 +163,7 @@ SOURCES += rdplay_deck.cpp SOURCES += rdplaymeter.cpp SOURCES += rdpodcastfilter.cpp SOURCES += rdpodcastlistmodel.cpp +SOURCES += rdportnames.cpp SOURCES += rdprocess.cpp SOURCES += rdprofile.cpp SOURCES += rdpushbutton.cpp @@ -350,6 +351,7 @@ HEADERS += rdplay_deck.h HEADERS += rdplaymeter.h HEADERS += rdpodcastfilter.h HEADERS += rdpodcastlistmodel.h +HEADERS += rdportnames.h HEADERS += rdprocess.h HEADERS += rdprofile.h HEADERS += rdpushbutton.h diff --git a/lib/rd.h b/lib/rd.h index fa9e46c8..eac86065 100644 --- a/lib/rd.h +++ b/lib/rd.h @@ -174,6 +174,11 @@ */ #define MAX_PANELS 50 +/* + * Maximum possible SoundPanel play-out ports + */ +#define RD_SOUNDPANEL_MAX_OUTPUTS 5 + /* * Maximum Cart Number */ @@ -668,5 +673,4 @@ #define RD_OFFSET_TENTHS_FORMAT "mm:ss.z" - #endif // RD_H diff --git a/lib/rdairplay_conf.cpp b/lib/rdairplay_conf.cpp index 6d8d592a..281f0be9 100644 --- a/lib/rdairplay_conf.cpp +++ b/lib/rdairplay_conf.cpp @@ -83,30 +83,6 @@ void RDAirPlayConf::setPort(RDAirPlayConf::Channel chan,int port) const } -QString RDAirPlayConf::portLabel(RDAirPlayConf::Channel chan) const -{ - QString ret="??"; - QString sql; - RDSqlQuery *q=NULL; - - sql=QString("select ")+ - "`AUDIO_OUTPUTS`.`LABEL` "+ // 00 - "from `RDAIRPLAY_CHANNELS` left join `AUDIO_OUTPUTS` "+ - "on `RDAIRPLAY_CHANNELS`.`PORT`=`AUDIO_OUTPUTS`.`PORT_NUMBER` where "+ - "`AUDIO_OUTPUTS`.`STATION_NAME`='"+RDEscapeString(air_station)+"' && "+ - "`AUDIO_OUTPUTS`.`CARD_NUMBER`=`RDAIRPLAY_CHANNELS`.`CARD` && "+ - "`AUDIO_OUTPUTS`.`PORT_NUMBER`=`RDAIRPLAY_CHANNELS`.`PORT` && "+ - QString::asprintf("`RDAIRPLAY_CHANNELS`.`INSTANCE`=%u",chan); - q=new RDSqlQuery(sql); - if(q->first()) { - ret=q->value(0).toString(); - } - delete q; - - return ret; -} - - QString RDAirPlayConf::startRml(RDAirPlayConf::Channel chan) const { return GetChannelValue("START_RML",chan).toString(); @@ -1069,13 +1045,6 @@ QString RDAirPlayConf::channelText(RDAirPlayConf::Channel chan) } -QString RDAirPlayConf::soundPanelChannelName(int mport) -{ - return portLabel(RDAirPlayConf::soundPanelChannel(mport)); -} - - - RDAirPlayConf::Channel RDAirPlayConf::soundPanelChannel(int mport) { switch(mport-1) { diff --git a/lib/rdairplay_conf.h b/lib/rdairplay_conf.h index aa8bb4b0..8305f5f0 100644 --- a/lib/rdairplay_conf.h +++ b/lib/rdairplay_conf.h @@ -52,7 +52,6 @@ class RDAirPlayConf void setCard(Channel chan,int card) const; int port(Channel chan) const; void setPort(Channel chan,int port) const; - QString portLabel(Channel chan) const; QString startRml(Channel chan) const; void setStartRml(Channel chan,QString str) const; QString stopRml(Channel chan) const; @@ -162,7 +161,6 @@ class RDAirPlayConf void setLogNowCart(int lognum,unsigned cartnum) const; unsigned logNextCart(int lognum) const; void setLogNextCart(int lognum,unsigned cartnum) const; - QString soundPanelChannelName(int mport); static Channel soundPanelChannel(int mport); static QString channelText(RDAirPlayConf::Channel chan); static QString logModeText(RDAirPlayConf::OpMode mode); diff --git a/lib/rdcoreapplication.cpp b/lib/rdcoreapplication.cpp index d574906c..59fd3d67 100644 --- a/lib/rdcoreapplication.cpp +++ b/lib/rdcoreapplication.cpp @@ -66,6 +66,7 @@ RDCoreApplication::RDCoreApplication(const QString &module_name, app_library_conf=NULL; app_logedit_conf=NULL; app_panel_conf=NULL; + app_port_names=NULL; app_ripc=NULL; app_station=NULL; app_system=NULL; @@ -104,6 +105,9 @@ RDCoreApplication::~RDCoreApplication() if(app_panel_conf!=NULL) { delete app_panel_conf; } + if(app_port_names!=NULL) { + delete app_port_names; + } if(app_user!=NULL) { delete app_user; } @@ -214,6 +218,7 @@ bool RDCoreApplication::open(QString *err_msg,RDCoreApplication::ErrorType *err_ app_logedit_conf=new RDLogeditConf(app_config->stationName()); app_airplay_conf=new RDAirPlayConf(app_config->stationName(),"RDAIRPLAY"); app_panel_conf=new RDAirPlayConf(app_config->stationName(),"RDPANEL"); + app_port_names=new RDPortNames(app_config->stationName()); app_user=new RDUser(); app_cae=new RDCae(app_station,app_config,this); app_ripc=new RDRipc(app_station,app_config,this); @@ -294,6 +299,12 @@ RDAirPlayConf *RDCoreApplication::panelConf() } +RDPortNames *RDCoreApplication::portNames() +{ + return app_port_names; +} + + RDRipc *RDCoreApplication::ripc() { return app_ripc; diff --git a/lib/rdcoreapplication.h b/lib/rdcoreapplication.h index f973cbb4..3301edf6 100644 --- a/lib/rdcoreapplication.h +++ b/lib/rdcoreapplication.h @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +66,7 @@ class RDCoreApplication : public QObject RDLibraryConf *libraryConf(); RDLogeditConf *logeditConf(); RDAirPlayConf *panelConf(); + RDPortNames *portNames(); RDRipc *ripc(); RDRssSchemas *rssSchemas(); RDStation *station(); @@ -101,6 +103,7 @@ class RDCoreApplication : public QObject RDConfig *app_config; RDLibraryConf *app_library_conf; RDLogeditConf *app_logedit_conf; + RDPortNames *app_port_names; RDRipc *app_ripc; RDRssSchemas *app_schemas; RDStation *app_station; diff --git a/lib/rdportnames.cpp b/lib/rdportnames.cpp new file mode 100644 index 00000000..f7bdc710 --- /dev/null +++ b/lib/rdportnames.cpp @@ -0,0 +1,62 @@ +// rdportnames.cpp +// +// Get audio port names +// +// (C) Copyright 2021 Fred Gleason +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public +// License along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// + +#include "rdescape_string.h" +#include "rdportnames.h" + +RDPortNames::RDPortNames(const QString &station_name) +{ + d_station_name=station_name; + + QString sql; + RDSqlQuery *q=NULL; + + // + // Load Channel Labels + // + sql=QString("select ")+ + "`LABEL`,"+ // 00 + "`CARD_NUMBER`,"+ // 01 + "`PORT_NUMBER` "+ // 02 + "from `AUDIO_OUTPUTS` where "+ + "`STATION_NAME`='"+RDEscapeString(d_station_name)+"' "+ + "order by `CARD_NUMBER`,`PORT_NUMBER`"; + q=new RDSqlQuery(sql); + while(q->next()) { + d_port_names[q->value(1).toInt()][q->value(2).toInt()]= + q->value(0).toString(); + } + delete q; +} + + +QString RDPortNames::stationName() const +{ + return d_station_name; +} + + +QString RDPortNames::portName(int card,int port) const +{ + if((card<0)||(port<0)) { + return QString("----"); + } + return d_port_names[card][port]; +} diff --git a/lib/rdportnames.h b/lib/rdportnames.h new file mode 100644 index 00000000..fe1c16e0 --- /dev/null +++ b/lib/rdportnames.h @@ -0,0 +1,41 @@ +// rdportnames.h +// +// Get audio port names +// +// (C) Copyright 2021 Fred Gleason +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public +// License along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// + +#ifndef RDPORTNAMES_H +#define RDPORTNAMES_H + +#include +#include +#include + +class RDPortNames +{ + public: + RDPortNames(const QString &station_name); + QString stationName() const; + QString portName(int card,int port) const; + + private: + QString d_port_names[RD_MAX_CARDS][RD_MAX_PORTS]; + QString d_station_name; +}; + + +#endif // RDPORTNAMES_H diff --git a/lib/rdsound_panel.cpp b/lib/rdsound_panel.cpp index 3501b08f..df806f2f 100644 --- a/lib/rdsound_panel.cpp +++ b/lib/rdsound_panel.cpp @@ -67,12 +67,12 @@ RDSoundPanel::RDSoundPanel(int station_panels,int user_panels,bool flash, panel_flash_state=false; panel_config_panels=false; panel_pause_enabled=false; - for(unsigned i=0;inumber())); return false; } - if(mport<=0 || mport>PANEL_MAX_OUTPUTS) { + if(mport<=0 || mport>RD_SOUNDPANEL_MAX_OUTPUTS) { button->setOutput(GetFreeOutput()); } else { @@ -1475,7 +1475,7 @@ int RDSoundPanel::GetFreeOutput() { bool active=false; - for(int i=0;i -#include -#include -#include - +#include +#include +#include #include #include @@ -43,7 +42,6 @@ // #define PANEL_BUTTON_SIZE_X 88 #define PANEL_BUTTON_SIZE_Y 80 -#define PANEL_MAX_OUTPUTS 5 #define PANEL_SCAN_INTERVAL 10000 class RDSoundPanel : public RDWidget @@ -170,19 +168,19 @@ class RDSoundPanel : public RDWidget bool panel_setup_mode; bool panel_reset_mode; QWidget *panel_parent; - int panel_card[PANEL_MAX_OUTPUTS]; - int panel_port[PANEL_MAX_OUTPUTS]; + int panel_card[RD_SOUNDPANEL_MAX_OUTPUTS]; + int panel_port[RD_SOUNDPANEL_MAX_OUTPUTS]; int panel_cue_card; int panel_cue_port; - QString panel_output_text[PANEL_MAX_OUTPUTS]; - QString panel_start_rml[PANEL_MAX_OUTPUTS]; - QString panel_stop_rml[PANEL_MAX_OUTPUTS]; + QString panel_output_text[RD_SOUNDPANEL_MAX_OUTPUTS]; + QString panel_start_rml[RD_SOUNDPANEL_MAX_OUTPUTS]; + QString panel_stop_rml[RD_SOUNDPANEL_MAX_OUTPUTS]; RDPanelButton *panel_active_buttons[RD_MAX_STREAMS]; bool panel_flash; int panel_flash_count; bool panel_flash_state; QString panel_logfile; - bool panel_timescaling_supported[PANEL_MAX_OUTPUTS]; + bool panel_timescaling_supported[RD_SOUNDPANEL_MAX_OUTPUTS]; bool panel_config_panels; RDEventPlayer *panel_event_player; QString panel_svcname; diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index 539b0ac4..f857ccc5 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -189,46 +189,8 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) connect(rda->ripc(),SIGNAL(onairFlagChanged(bool)), air_top_strip,SLOT(setOnairFlag(bool))); - // - // Meter Strip - // - QList strip_cards; - QList strip_ports; - QStringList strip_labels; - QList strip_index; - bool strip_changed=true; - for(unsigned i=0;iairplayConf()->card(chan)>=0)&& - (rda->airplayConf()->port(chan)>=0))&& - ((!strip_cards.contains(rda->airplayConf()->card(chan)))|| - (!strip_ports.contains(rda->airplayConf()->port(chan))))) { - strip_cards.push_back(rda->airplayConf()->card(chan)); - strip_ports.push_back(rda->airplayConf()->port(chan)); - strip_labels.push_back(rda->airplayConf()->portLabel(chan)); - strip_index.push_back(strip_index.size()); - } - } - while(strip_changed) { - strip_changed=false; - for(int i=0;i<(strip_index.size()-1);i++) { - if(strip_labels.at(strip_index.at(i))> - strip_labels.at(strip_index.at(i+1))) { - int index=strip_index.at(i); - strip_index[i]=strip_index.at(i+1); - strip_index[i+1]=index; - strip_changed=true; - } - } - } - air_meter_strip=new RDMeterStrip(this); - for(int i=0;imeterWidget()-> - addOutputMeter(strip_cards.at(strip_index.at(i)), - strip_ports.at(strip_index.at(i)), - strip_labels.at(strip_index.at(i))); - } - + LoadMeters(); + // // Load GPIO Channel Configuration // @@ -335,27 +297,26 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) air_cue_card=rda->airplayConf()->card(RDAirPlayConf::CueChannel); air_cue_port=rda->airplayConf()->port(RDAirPlayConf::CueChannel); QString labels[3]; - for(int i=0;i<3;i++) { - air_meter_card[i]=rda->airplayConf()->card((RDAirPlayConf::Channel)i); - air_meter_port[i]=rda->airplayConf()->port((RDAirPlayConf::Channel)i); - labels[i]=rda->airplayConf()->portLabel((RDAirPlayConf::Channel)i); + for(int i=0;i<2;i++) { cards[i]=rda->airplayConf()->card((RDAirPlayConf::Channel)i); ports[i]=rda->airplayConf()->port((RDAirPlayConf::Channel)i); start_rmls[i]=rda->airplayConf()->startRml((RDAirPlayConf::Channel)i); stop_rmls[i]=rda->airplayConf()->stopRml((RDAirPlayConf::Channel)i); + if((cards[i]>=0)&&(ports[i]>=0)) { + labels[i]=rda->portNames()->portName(cards[i],ports[i]); + } } - if((air_meter_card[1]<0)||(air_meter_port[1]<0)) { // Fixup disabled main log port 2 playout - air_meter_card[1]=air_meter_card[0]; - air_meter_port[1]=air_meter_port[0]; + if((cards[1]<0)||(ports[1]<0)) { // Fixup disabled main log port 2 playout cards[1]=cards[0]; ports[1]=ports[0]; + labels[1]=labels[0]; } - air_log[0]->setChannels(cards,ports,start_rmls,stop_rmls,labels); + air_log[0]->setChannels(cards,ports,labels,start_rmls,stop_rmls); for(int i=0;i<2;i++) { cards[i]=rda->airplayConf()->card(RDAirPlayConf::AuxLog1Channel); ports[i]=rda->airplayConf()->port(RDAirPlayConf::AuxLog1Channel); - labels[i]=rda->airplayConf()->portLabel(RDAirPlayConf::AuxLog1Channel); + labels[i]=rda->portNames()->portName(cards[i],ports[i]); start_rmls[i]=rda->airplayConf()->startRml(RDAirPlayConf::AuxLog1Channel); stop_rmls[i]=rda->airplayConf()->stopRml(RDAirPlayConf::AuxLog1Channel); } @@ -364,7 +325,7 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) for(int i=0;i<2;i++) { cards[i]=rda->airplayConf()->card(RDAirPlayConf::AuxLog2Channel); ports[i]=rda->airplayConf()->port(RDAirPlayConf::AuxLog2Channel); - ports[i]=rda->airplayConf()->port(RDAirPlayConf::AuxLog2Channel); + labels[i]=rda->portNames()->portName(cards[i],ports[i]); start_rmls[i]=rda->airplayConf()->startRml(RDAirPlayConf::AuxLog2Channel); stop_rmls[i]=rda->airplayConf()->stopRml(RDAirPlayConf::AuxLog2Channel); } @@ -538,31 +499,21 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) rda->airplayConf()-> stopRml(RDAirPlayConf::SoundPanel5Channel)); int next_output=0; - int channum[2]; bool assigned=false; if((air_log[0]->card(0)==air_log[0]->card(RDAirPlayConf::MainLog2Channel))&& (air_log[0]->port(0)==air_log[0]->port(RDAirPlayConf::MainLog2Channel))) { next_output=2; - channum[0]=1; - channum[1]=1; } else { next_output=3; - channum[0]=1; - channum[1]=2; } - for(int i=0;isoundPanelWidget()-> - setOutputText(i,rda->airplayConf()->soundPanelChannelName(next_output++)); + for(int i=0;isoundPanelWidget()-> card((RDAirPlayConf::Channel)i)==air_log[0]->card(j))&& (air_panel->soundPanelWidget()-> port((RDAirPlayConf::Channel)i)==air_log[0]->port(j))) { - air_panel->soundPanelWidget()-> - setOutputText(i,rda->airplayConf()-> - soundPanelChannelName(channum[j])); next_output--; assigned=true; j=2; @@ -575,14 +526,18 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) air_panel->soundPanelWidget()->card(j))&& (air_panel->soundPanelWidget()-> port((RDAirPlayConf::Channel)i)==air_panel->soundPanelWidget()->port(j))) { - air_panel->soundPanelWidget()-> - setOutputText(i,air_panel->soundPanelWidget()->outputText(j)); next_output--; - j=PANEL_MAX_OUTPUTS; + j=RD_SOUNDPANEL_MAX_OUTPUTS; } } } } + for(int i=0;isoundPanelWidget()-> + setOutputText(i,rda->portNames()-> + portName(air_panel->soundPanelWidget()->card(i), + air_panel->soundPanelWidget()->port(i))); + } air_panel->soundPanelWidget()->setSvcName(rda->airplayConf()->defaultSvc()); connect(rda->ripc(),SIGNAL(userChanged()), @@ -2277,21 +2232,6 @@ int main(int argc,char *argv[]) } -QString logfile; - - -bool MainWidget::FirstPort(int index) -{ - for(int i=0;ihide(); } } + + +void MainWidget::LoadMeters() +{ + QString sql; + RDSqlQuery *q=NULL; + + // + // Add Meters + // + QList strip_cards; + QList strip_ports; + QStringList strip_labels; + QList strip_index; + bool strip_changed=true; + sql=QString("select ")+ + "`CARD`,"+ // 00 + "`PORT` "+ // 01 + "from `RDAIRPLAY_CHANNELS` where "+ + "`STATION_NAME`='"+RDEscapeString(rda->station()->name())+"' && "+ + QString::asprintf("`INSTANCE`<%u",RDAirPlayConf::LastChannel); + q=new RDSqlQuery(sql); + while(q->next()) { + if(((q->value(0).toInt()>=0)&&(q->value(1).toInt()>=0))&& + ((!strip_cards.contains(q->value(0).toInt()))|| + (!strip_ports.contains(q->value(1).toInt())))) { + strip_cards.push_back(q->value(0).toInt()); + strip_ports.push_back(q->value(1).toInt()); + strip_labels. + push_back(rda->portNames()-> + portName(q->value(0).toInt(),q->value(1).toInt())); + strip_index.push_back(strip_index.size()); + } + } + delete q; + + while(strip_changed) { + strip_changed=false; + for(int i=0;i<(strip_index.size()-1);i++) { + if(strip_labels.at(strip_index.at(i))> + strip_labels.at(strip_index.at(i+1))) { + int index=strip_index.at(i); + strip_index[i]=strip_index.at(i+1); + strip_index[i+1]=index; + strip_changed=true; + } + } + } + air_meter_strip=new RDMeterStrip(this); + for(int i=0;imeterWidget()-> + addOutputMeter(strip_cards.at(strip_index.at(i)), + strip_ports.at(strip_index.at(i)), + strip_labels.at(strip_index.at(i))); + } +} diff --git a/rdairplay/rdairplay.h b/rdairplay/rdairplay.h index 84c889c9..60ec3d47 100644 --- a/rdairplay/rdairplay.h +++ b/rdairplay/rdairplay.h @@ -98,13 +98,13 @@ class MainWidget : public RDMainWindow void SetAutoMode(int mach); void SetLiveAssistMode(int mach); void SetActionMode(StartButton::Mode mode); - bool FirstPort(int index); bool GetPanel(QString str,RDAirPlayConf::PanelType *type,int *panel); QFont MessageFont(QString str); bool AssertChannelLock(int dir,int card,int port); bool AssertChannelLock(int dir,int achan); int AudioChannel(int card,int port) const; void ShowTracker(bool state); + void LoadMeters(); RDAirPlayConf::Channel PanelChannel(int mport) const; RDLogPlay *air_log[RDAIRPLAY_LOG_QUANTITY]; SoundPanel *air_panel; @@ -139,8 +139,6 @@ class MainWidget : public RDMainWindow QString air_add_group; QString air_add_schedcode; int air_source_id; - int air_meter_card[3]; - int air_meter_port[3]; int air_cue_card; int air_cue_port; RDLogLine::TransType air_default_trans_type; diff --git a/rdpanel/rdpanel.cpp b/rdpanel/rdpanel.cpp index 7d80a26a..b00b9fcd 100644 --- a/rdpanel/rdpanel.cpp +++ b/rdpanel/rdpanel.cpp @@ -189,9 +189,11 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent) // Set Fader Display Numbers // int next_output=1; - for(int i=0;iportNames()->portName(panel_panel->card(i),panel_panel->port(i)); for(int j=0;jcard(i)==panel_panel->card(j))&& (panel_panel->port(i)==panel_panel->port(j))) { @@ -202,8 +204,7 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent) if(unique) { next_output++; } - panel_panel-> - setOutputText(i,rda->panelConf()->soundPanelChannelName(output)); + panel_panel->setOutputText(i,label); } // @@ -299,7 +300,7 @@ void MainWidget::meterData() double ratio[2]={0.0,0.0}; short level[2]; - for(int i=0;icae()-> outputMeterUpdate(panel_panel->card(i),panel_panel->port(i),level); diff --git a/rdpanel/rdpanel.h b/rdpanel/rdpanel.h index ea41f34e..e2466a64 100644 --- a/rdpanel/rdpanel.h +++ b/rdpanel/rdpanel.h @@ -62,7 +62,7 @@ class MainWidget : public RDMainWindow RDStereoMeter *panel_stereo_meter; RDSoundPanel *panel_panel; RDEventPlayer *panel_player; - bool meter_data_valid[PANEL_MAX_OUTPUTS]; + bool meter_data_valid[RD_SOUNDPANEL_MAX_OUTPUTS]; QString panel_filter; QString panel_group; QString panel_schedcode;