cwIoPresetSelApp.cpp : Advance preset tracker (cwPresetSel) using score 'loc' rather than timestamp.
This commit is contained in:
parent
a4a6d21b13
commit
84a3c3ceff
@ -218,16 +218,15 @@ namespace cw
|
|||||||
unsigned locMapN;
|
unsigned locMapN;
|
||||||
|
|
||||||
unsigned insertLoc; // last valid insert location id received from the GUI
|
unsigned insertLoc; // last valid insert location id received from the GUI
|
||||||
unsigned lastPlayedLoc;
|
|
||||||
|
|
||||||
unsigned minLoc;
|
unsigned minLoc;
|
||||||
unsigned maxLoc;
|
unsigned maxLoc;
|
||||||
|
|
||||||
unsigned beg_play_loc;
|
|
||||||
unsigned end_play_loc;
|
|
||||||
|
|
||||||
time::spec_t beg_play_timestamp;
|
time::spec_t beg_play_timestamp;
|
||||||
time::spec_t end_play_timestamp;
|
time::spec_t end_play_timestamp;
|
||||||
|
|
||||||
|
unsigned beg_play_loc;
|
||||||
|
unsigned end_play_loc;
|
||||||
|
|
||||||
preset_sel::handle_t psH;
|
preset_sel::handle_t psH;
|
||||||
io_flow::handle_t ioFlowH;
|
io_flow::handle_t ioFlowH;
|
||||||
@ -273,7 +272,9 @@ namespace cw
|
|||||||
"frag_panel", app->frag_panel_cfg,
|
"frag_panel", app->frag_panel_cfg,
|
||||||
"presets", app->presets_cfg,
|
"presets", app->presets_cfg,
|
||||||
"crossFadeSrate", app->crossFadeSrate,
|
"crossFadeSrate", app->crossFadeSrate,
|
||||||
"crossFadeCount", app->crossFadeCnt)) != kOkRC )
|
"crossFadeCount", app->crossFadeCnt,
|
||||||
|
"beg_play_loc", app->beg_play_loc,
|
||||||
|
"end_play_loc", app->end_play_loc)) != kOkRC )
|
||||||
{
|
{
|
||||||
rc = cwLogError(kSyntaxErrorRC,"Preset Select App configuration parse failed.");
|
rc = cwLogError(kSyntaxErrorRC,"Preset Select App configuration parse failed.");
|
||||||
}
|
}
|
||||||
@ -349,9 +350,12 @@ namespace cw
|
|||||||
|
|
||||||
rc_t _apply_preset( app_t* app, const time::spec_t& ts, unsigned loc, const preset_sel::frag_t* frag=nullptr )
|
rc_t _apply_preset( app_t* app, const time::spec_t& ts, unsigned loc, const preset_sel::frag_t* frag=nullptr )
|
||||||
{
|
{
|
||||||
|
// if frag is NULL this is the beginning of a play session
|
||||||
if( frag == nullptr )
|
if( frag == nullptr )
|
||||||
{
|
{
|
||||||
|
preset_sel::track_loc_reset(app->psH);
|
||||||
//preset_sel::track_timestamp( app->psH, ts, frag);
|
//preset_sel::track_timestamp( app->psH, ts, frag);
|
||||||
|
|
||||||
preset_sel::track_loc( app->psH, loc, frag);
|
preset_sel::track_loc( app->psH, loc, frag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -563,10 +567,9 @@ namespace cw
|
|||||||
goto errLabel;
|
goto errLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((cur_loc = midi_record_play::event_loc(app->mrpH)) > app->lastPlayedLoc )
|
if((cur_loc = midi_record_play::event_loc(app->mrpH)) > 0 )
|
||||||
{
|
{
|
||||||
io::uiSendValue( app->ioH, uiFindElementUuId(app->ioH,kCurMidiEvtCntId), cur_loc );
|
io::uiSendValue( app->ioH, uiFindElementUuId(app->ioH,kCurMidiEvtCntId), cur_loc );
|
||||||
app->lastPlayedLoc = cur_loc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
errLabel:
|
errLabel:
|
||||||
@ -1203,20 +1206,26 @@ namespace cw
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// reset the timestamp tracker
|
// reset the timestamp tracker
|
||||||
track_timestamp_reset( app->psH );
|
track_loc_reset( app->psH );
|
||||||
|
|
||||||
// set the range of the global play location controls
|
// set the range of the global play location controls
|
||||||
if( firstLoadFl )
|
if( firstLoadFl )
|
||||||
{
|
{
|
||||||
unsigned minLocUuId = io::uiFindElementUuId(app->ioH, kBegPlayLocNumbId);
|
unsigned minLocUuId = io::uiFindElementUuId(app->ioH, kBegPlayLocNumbId);
|
||||||
unsigned maxLocUuId = io::uiFindElementUuId(app->ioH, kEndPlayLocNumbId);
|
unsigned maxLocUuId = io::uiFindElementUuId(app->ioH, kEndPlayLocNumbId);
|
||||||
|
//unsigned end_loc = app->end_play_loc==0 ? app->maxLoc : app->end_play_loc;
|
||||||
|
//unsigned beg_loc = app->minLoc <= app->beg_play_loc && app->beg_play_loc <= app->maxLoc ? app->beg_play_loc : app->minLoc;
|
||||||
|
|
||||||
io::uiSetNumbRange( app->ioH, minLocUuId, app->minLoc, app->maxLoc, 1, 0, app->minLoc );
|
io::uiSetNumbRange( app->ioH, minLocUuId, app->minLoc, app->maxLoc, 1, 0, app->minLoc );
|
||||||
io::uiSetNumbRange( app->ioH, maxLocUuId, app->minLoc, app->maxLoc, 1, 0, app->maxLoc );
|
io::uiSetNumbRange( app->ioH, maxLocUuId, app->minLoc, app->maxLoc, 1, 0, app->maxLoc );
|
||||||
|
|
||||||
|
//io::uiSendValue( app->ioH, minLocUuId, std::max(beg_loc,app->minLoc));
|
||||||
|
//io::uiSendValue( app->ioH, maxLocUuId, std::min(end_loc,app->maxLoc));
|
||||||
|
|
||||||
io::uiSendValue( app->ioH, minLocUuId, app->minLoc);
|
io::uiSendValue( app->ioH, minLocUuId, app->minLoc);
|
||||||
io::uiSendValue( app->ioH, maxLocUuId, app->maxLoc);
|
io::uiSendValue( app->ioH, maxLocUuId, app->maxLoc);
|
||||||
|
|
||||||
|
|
||||||
// enable the 'End Loc' number box since the score is loaded
|
// enable the 'End Loc' number box since the score is loaded
|
||||||
io::uiSetEnable( app->ioH, io::uiFindElementUuId( app->ioH, kInsertLocId ), true );
|
io::uiSetEnable( app->ioH, io::uiFindElementUuId( app->ioH, kInsertLocId ), true );
|
||||||
}
|
}
|
||||||
@ -1896,10 +1905,9 @@ namespace cw
|
|||||||
if( midi_record_play::is_started(app->mrpH) )
|
if( midi_record_play::is_started(app->mrpH) )
|
||||||
{
|
{
|
||||||
unsigned cur_loc = midi_record_play::event_loc(app->mrpH);
|
unsigned cur_loc = midi_record_play::event_loc(app->mrpH);
|
||||||
if( cur_loc > app->lastPlayedLoc )
|
if( cur_loc > 0 )
|
||||||
{
|
{
|
||||||
io::uiSendValue( app->ioH, uiFindElementUuId(app->ioH,kCurMidiEvtCntId), cur_loc );
|
io::uiSendValue( app->ioH, uiFindElementUuId(app->ioH,kCurMidiEvtCntId), cur_loc );
|
||||||
app->lastPlayedLoc = cur_loc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2001,9 +2009,9 @@ cw::rc_t cw::preset_sel_app::main( const object_t* cfg, const object_t* flow_pro
|
|||||||
|
|
||||||
|
|
||||||
// execute the io framework
|
// execute the io framework
|
||||||
while( !isShuttingDown(app.ioH))
|
while( !io::isShuttingDown(app.ioH))
|
||||||
{
|
{
|
||||||
exec(app.ioH);
|
io::exec(app.ioH);
|
||||||
sleepMs(50);
|
sleepMs(50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user