mirror of
https://github.com/vale981/openAV-Luppp
synced 2025-03-06 01:21:38 -05:00
-Refactoring ClipSelector
This commit is contained in:
parent
b06d4f73ef
commit
fc077a804b
1 changed files with 15 additions and 18 deletions
|
@ -56,10 +56,10 @@ class ClipState
|
||||||
name = n;
|
name = n;
|
||||||
}
|
}
|
||||||
void play(){_playing = true;}
|
void play(){_playing = true;}
|
||||||
void stop(){_playing = false;}
|
void stop(){_playing = false; _recording = false;}
|
||||||
void queue(){_queued = true;}
|
void queue(){_queued = true;}
|
||||||
void stopQueue(){_queued = false;}
|
void stopQueue(){_queued = false;}
|
||||||
void record(){_recording = true;}
|
void record(){_recording = true; _loaded = true;}
|
||||||
void stopRecord(){_recording = false;}
|
void stopRecord(){_recording = false;}
|
||||||
|
|
||||||
bool loaded(){return _loaded;}
|
bool loaded(){return _loaded;}
|
||||||
|
@ -128,6 +128,7 @@ class ClipSelector : public Fl_Button
|
||||||
{
|
{
|
||||||
case Looper::STATE_PLAYING:
|
case Looper::STATE_PLAYING:
|
||||||
printf("clipSelector setState() clip %i = CLIP_PLAYING\n", clipNum);
|
printf("clipSelector setState() clip %i = CLIP_PLAYING\n", clipNum);
|
||||||
|
clips[clipNum].play();
|
||||||
break;
|
break;
|
||||||
case Looper::STATE_PLAY_QUEUED:
|
case Looper::STATE_PLAY_QUEUED:
|
||||||
clips[clipNum].queue();
|
clips[clipNum].queue();
|
||||||
|
@ -291,8 +292,6 @@ class ClipSelector : public Fl_Button
|
||||||
int clipNum = ( (Fl::event_y() ) - y ) / clipHeight;
|
int clipNum = ( (Fl::event_y() ) - y ) / clipHeight;
|
||||||
if (clipNum >= numClips)
|
if (clipNum >= numClips)
|
||||||
clipNum = numClips -1; // fix for clicking the lowest pixel
|
clipNum = numClips -1; // fix for clicking the lowest pixel
|
||||||
//printf("clip number %i. Playing %i, rec %i, Q %i, StopQ, %i\n" , clipNum, recordingClip, queuedClip, stopQueuedClip );
|
|
||||||
|
|
||||||
|
|
||||||
// handle right clicks: popup menu
|
// handle right clicks: popup menu
|
||||||
if ( Fl::event_state(FL_BUTTON3) )
|
if ( Fl::event_state(FL_BUTTON3) )
|
||||||
|
@ -349,50 +348,48 @@ class ClipSelector : public Fl_Button
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
// decide action to take based on current state of clip
|
// decide action to take based on current state of clip
|
||||||
if ( clipNum == queuedClip )
|
if ( clips[clipNum].queued() )
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ( clipNum == playingClip )
|
else if ( clips[clipNum].playing() )
|
||||||
{
|
{
|
||||||
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_STOP_QUEUED);
|
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_STOP_QUEUED);
|
||||||
writeToDspRingbuffer( &e );
|
writeToDspRingbuffer( &e );
|
||||||
//playingClip = -1;
|
clips[clipNum].stop();
|
||||||
//stopQueuedClip = clipNum;
|
//clips[clipNum].stopQueue();
|
||||||
printf("stopping clip now: playingClip == %i", clipNum );
|
printf("stopping clip now: playingClip == %i", clipNum );
|
||||||
}
|
}
|
||||||
else if ( clipNum == recordingClip )
|
else if ( clips[clipNum].recording() )
|
||||||
{
|
{
|
||||||
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_STOP_QUEUED);
|
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_STOP_QUEUED);
|
||||||
writeToDspRingbuffer( &e );
|
writeToDspRingbuffer( &e );
|
||||||
//recordingClip = -1;
|
clips[clipNum].record();
|
||||||
//stopQueuedClip = -1;
|
|
||||||
//clips[clipNum].loaded = true;
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
else if ( clipNum == stopQueuedClip )
|
else if ( clipNum == stopQueuedClip )
|
||||||
{
|
{
|
||||||
playingClip = -1;
|
playingClip = -1;
|
||||||
}
|
}
|
||||||
else if ( clips[clipNum].loaded )
|
*/
|
||||||
|
else if ( clips[clipNum].loaded() )
|
||||||
{
|
{
|
||||||
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_PLAY_QUEUED);
|
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_PLAY_QUEUED);
|
||||||
writeToDspRingbuffer( &e );
|
writeToDspRingbuffer( &e );
|
||||||
queuedClip = clipNum;
|
//queuedClip = clipNum;
|
||||||
}
|
}
|
||||||
else if ( !clips[clipNum].loaded )
|
else if ( !clips[clipNum].loaded() )
|
||||||
{
|
{
|
||||||
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_RECORD_QUEUED);
|
EventLooperState e = EventLooperState( ID, clipNum, Looper::STATE_RECORD_QUEUED);
|
||||||
writeToDspRingbuffer( &e );
|
writeToDspRingbuffer( &e );
|
||||||
recordingClip = clipNum;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("avtk clipSelector handle click: no state triggered");
|
printf("avtk clipSelector handle click: no state triggered");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
switch( clips[clipNum].state )
|
switch( clips[clipNum].state )
|
||||||
{
|
{
|
||||||
case ClipState::CLIP_EMPTY:
|
case ClipState::CLIP_EMPTY:
|
||||||
|
|
Loading…
Add table
Reference in a new issue