Added isPlaying() function

Added ability to select and play specific cuts
This commit is contained in:
Patrick Linstruth 2018-10-07 13:26:15 -07:00
parent 2ef482dca2
commit ebb341d847
2 changed files with 38 additions and 9 deletions

View File

@ -36,6 +36,7 @@ RDSimplePlayer::RDSimplePlayer(RDCae *cae,RDRipc *ripc,int card,int port,
play_end_cart=end_cart;
play_stream=-1;
play_cart=0;
play_cut="";
play_is_playing=false;
//
@ -74,12 +75,37 @@ RDSimplePlayer::~RDSimplePlayer()
}
bool RDSimplePlayer::isPlaying()
{
return play_is_playing;
}
void RDSimplePlayer::setCart(unsigned cart)
{
play_cart=cart;
}
void RDSimplePlayer::setCart(QString cart)
{
QStringList cartcut=cart.split("_");
play_cart=cartcut[0].toUInt();
if(cartcut.size()>1) {
setCut(cart);
}
else {
play_cut="";
}
}
void RDSimplePlayer::setCut(QString cut)
{
play_cut=cut;
}
RDTransportButton *RDSimplePlayer::playButton() const
{
return play_start_button;
@ -112,14 +138,14 @@ void RDSimplePlayer::play(int start_pos)
stop();
}
QString cut = "";
RDCart *cart=new RDCart(play_cart);
if(cart->selectCut(&cut)) {
if(cut.isEmpty()) {
return;
}
if(play_cut.isEmpty()) {
RDCart *cart=new RDCart(play_cart);
cart->selectCut(&play_cut);
delete cart;
}
if(!play_cut.isEmpty()) {
play_cae->
loadPlay(play_card,cut,&play_stream,&handle);
loadPlay(play_card,play_cut,&play_stream,&handle);
if(play_stream<0) {
return;
@ -130,7 +156,7 @@ void RDSimplePlayer::play(int start_pos)
"END_POINT,"+ // 01
"PLAY_GAIN "+ // 02
"from CUTS where "+
"CUT_NAME=\""+RDEscapeString(cut)+"\"";
"CUT_NAME=\""+RDEscapeString(play_cut)+"\"";
q=new RDSqlQuery(sql);
if(q->first()) {
play_cut_gain=q->value(2).toInt();
@ -147,7 +173,6 @@ void RDSimplePlayer::play(int start_pos)
}
delete q;
}
delete cart;
}

View File

@ -38,6 +38,9 @@ class RDSimplePlayer : public QWidget
unsigned start_cart,unsigned end_cart,QWidget *parent=0);
~RDSimplePlayer();
void setCart(unsigned cart);
void setCart(QString cart);
void setCut(QString cart);
bool isPlaying();
RDTransportButton *playButton() const;
RDTransportButton *stopButton() const;
@ -62,6 +65,7 @@ class RDSimplePlayer : public QWidget
int play_port;
std::queue<int> play_handles;
unsigned play_cart;
QString play_cut;
unsigned play_start_cart;
unsigned play_end_cart;
bool play_is_playing;