void RDCartSlot::unload() { if(slot_deck->state()==RDPlayDeck::Stopped) { ClearTempCart(); setCart(NULL); slot_start_button->setDisabled(true); slot_start_button->setPalette(palette()); slot_load_button->setText(tr("Load")); slot_options->setCartNumber(0); slot_options->save(); } }
bool RDCartSlot::stop() { bool ret=false; if(slot_logline->cartNumber()!=0) { slot_stop_requested=true; slot_deck->stop(); RDCart *cart=new RDCart(slot_logline->cartNumber()); setCart(cart); delete cart; ret=true; } return ret; }
bool RDCartSlot::load(int cartnum,int break_len) { bool ret=false; RDCart *cart=new RDCart(cartnum); if(cart->exists()) { if(slot_deck->state()!=RDPlayDeck::Stopped) { stop(); } setCart(cart,break_len); slot_start_button-> setEnabled(slot_options->mode()==RDSlotOptions::CartDeckMode); slot_start_button->setPalette(slot_ready_color); slot_load_button->setText(tr("Unload")); slot_options->setCartNumber(cartnum); slot_options->save(); ret=true; } delete cart; return ret; }
void RDPanelButton::clear() { setText(""); setOutputText(""); setDefaultColor(button_parent->backgroundColor()); setColor(button_parent->backgroundColor()); setCart(0); button_deck=-1; button_output=-1; button_play_deck=NULL; button_start_time=QTime(); button_end_time=QTime(); button_active_length=0; button_length[0]=0; button_length[1]=0; button_secs=-1; button_flashing=false; button_flash_state=false; button_state=false; button_start_source=RDLogLine::StartUnknown; button_pause_when_finished=false; button_duck_volume=0; }
void RDCartSlot::stateChangedData(int id,RDPlayDeck::State state) { //printf("stateChangedData(%d,%d)\n",id,state); short lvls[2]={-10000,-10000}; RDCart *cart=NULL; switch(state) { case RDPlayDeck::Playing: LogPlayout(state); slot_start_button-> setEnabled(slot_options->mode()==RDSlotOptions::CartDeckMode); slot_start_button->setPalette(slot_playing_color); slot_load_button->setDisabled(true); slot_options_button->setDisabled(true); break; case RDPlayDeck::Stopped: case RDPlayDeck::Finished: LogPlayout(state); slot_start_button-> setEnabled(slot_options->mode()==RDSlotOptions::CartDeckMode); slot_start_button->setPalette(slot_ready_color); slot_load_button->setEnabled(true); slot_options_button->setEnabled(true); slot_box->setTimer(0); slot_box->updateMeters(lvls); slot_box->setCart(slot_logline); switch(slot_options->mode()) { case RDSlotOptions::CartDeckMode: if(!slot_stop_requested) { switch(slot_options->stopAction()) { case RDSlotOptions::RecueOnStop: cart=new RDCart(slot_logline->cartNumber()); setCart(cart); delete cart; break; case RDSlotOptions::UnloadOnStop: unload(); break; case RDSlotOptions::LoopOnStop: play(); break; case RDSlotOptions::LastStop: break; } } break; case RDSlotOptions::BreakawayMode: if(slot_breakaway_cart>0) { SetInput(false); load(slot_breakaway_cart); play(); syslog(LOG_INFO,"started breakaway, len: %u cart: %u cut: %d", slot_breakaway_length,slot_breakaway_cart, slot_logline->cutNumber()); slot_breakaway_cart=0; slot_breakaway_length=0; } else { SetInput(true); unload(); slot_box->setService(slot_svcname); slot_box->setStatusLine(tr("Waiting for break...")); // LogPlayout(RDAirPlayConf::TrafficFinish); } break; case RDSlotOptions::LastMode: break; } slot_stop_requested=false; break; case RDPlayDeck::Stopping: case RDPlayDeck::Paused: break; } }