diff --git a/ChangeLog b/ChangeLog index 8a3b2f38..67b6ef41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24404,3 +24404,5 @@ 'lib/rdweb.cpp' and 'lib/rdweb.h'. * Added a '--dump-panel-updates' switch to rdpanel(1). * Added a rdpanel(1) man page. +2023-09-29 Fred Gleason + * Added a '--dump-panel-updates' switch to rdairplay(1). diff --git a/docs/manpages/rdairplay.xml b/docs/manpages/rdairplay.xml index f7c4414e..5d31fb0f 100644 --- a/docs/manpages/rdairplay.xml +++ b/docs/manpages/rdairplay.xml @@ -6,7 +6,7 @@ rdairplay 1 - July 2019 + September 2023 Linux Audio Manual @@ -32,27 +32,68 @@ rdairplay - log-spec=:next-line+ - + OPTIONS Description - Where log-spec refers to one of the three - log machines (--log1, --log2 - or --log3, referring to the - Main Log, - Aux 1 Log, - Aux 2 Log log machines, respectively) - and nextline - to the line number to do a 'make next' to after the log is loaded - (default = 0). If the - + is appended, then the log is started after the - 'make next'. + The rdairplay1 module is the + primary interface for executing logs other audio content. This man page + documents its command-line arguments. For overview of the UI and other + elements, see the Running Logs with RDAirPlay + chapter in the + Rivendell Operations and Administration Guide. + Options + + + + log-spec=log-name[:next-line[+]] + + + + After startup, load the log-name log into + the log machine specified by log-spec. + If a next-line value has been specified, + then do a make next to that line. If a + + has been appended to the line number, + then start the log. + + + log-spec + must be --log1, + --log2 + or --log3, referring to the + Main Log, + Aux 1 Log or + Aux 2 Log log machines + respectively. It is possible to use multiple + log-spec clauses. If multiple clauses + referring to the same log machine are given, then the last one + specified will be used. + + + + + + + + + + When this option is given, + rdairplay1 will print + a dump of the currently loaded sound panel array to + standard output each time the Rivendell user logged into the system + is changed. + + + + + + Examples diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index b0f7fa1f..5cd663fc 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -54,6 +54,7 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) QString stop_rmls[3]; QPixmap bgmap; QString err_msg; + bool dump_panel_updates=false; air_panel=NULL; air_tracker=NULL; @@ -89,6 +90,10 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) air_start_line[i]=0; air_start_start[i]=false; for(unsigned j=0;jcmdSwitch()->keys();j++) { + if(rda->cmdSwitch()->key(j)=="--dump-panel-updates") { + dump_panel_updates=true; + rda->cmdSwitch()->setProcessed(j,true); + } if(rda->cmdSwitch()->key(j)==QString::asprintf("--log%u",i+1)) { air_start_logname[i]=rda->cmdSwitch()->value(j); for(int k=0;kcmdSwitch()->value(j).length();k++) { @@ -412,12 +417,7 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) rda->airplayConf()->panels(RDAirPlayConf::UserPanel)){ int card=-1; air_panel= - new SoundPanel(rda->airplayConf()->panels(RDAirPlayConf::StationPanel), - rda->airplayConf()->panels(RDAirPlayConf::UserPanel), - rda->airplayConf()->flashPanel(), - "RDAirPlay", - rda->airplayConf()->buttonLabelTemplate(),false, - air_event_player,air_cart_dialog,this); + new SoundPanel(air_event_player,air_cart_dialog,dump_panel_updates,this); air_panel->soundPanelWidget()-> setPauseEnabled(rda->airplayConf()->panelPauseEnabled()); air_panel->soundPanelWidget()->setCard(0,rda->airplayConf()-> diff --git a/rdairplay/soundpanel.cpp b/rdairplay/soundpanel.cpp index 0e3da6be..5c227579 100644 --- a/rdairplay/soundpanel.cpp +++ b/rdairplay/soundpanel.cpp @@ -23,14 +23,19 @@ #include "colors.h" #include "soundpanel.h" -SoundPanel::SoundPanel(int station_panels,int user_panels,bool flash, - const QString &caption,const QString &label_template, - bool extended,RDEventPlayer *player, - RDCartDialog *cart_dialog,QWidget *parent) +SoundPanel::SoundPanel(RDEventPlayer *player,RDCartDialog *cart_dialog, + bool dump_panel_updates,QWidget *parent) : RDWidget(parent) { - d_panel=new RDSoundPanel(station_panels,user_panels,flash,caption, - label_template,extended,player,cart_dialog,this); + d_panel= + new RDSoundPanel(rda->airplayConf()->panels(RDAirPlayConf::StationPanel), + rda->airplayConf()->panels(RDAirPlayConf::UserPanel), + rda->airplayConf()->flashPanel(), + "RDAirPlay", + rda->airplayConf()->buttonLabelTemplate(), + false, + player,cart_dialog,this); + d_panel->setDumpPanelUpdates(dump_panel_updates); } diff --git a/rdairplay/soundpanel.h b/rdairplay/soundpanel.h index 65169253..780a17e8 100644 --- a/rdairplay/soundpanel.h +++ b/rdairplay/soundpanel.h @@ -28,10 +28,8 @@ class SoundPanel : public RDWidget { Q_OBJECT public: - SoundPanel(int station_panels,int user_panels,bool flash, - const QString &caption,const QString &label_template, - bool extended,RDEventPlayer *player,RDCartDialog *cart_dialog, - QWidget *parent=0); + SoundPanel(RDEventPlayer *player,RDCartDialog *cart_dialog, + bool dump_panel_updates,QWidget *parent); ~SoundPanel(); RDSoundPanel *soundPanelWidget() const;