mirror of
https://github.com/vale981/openAV-Luppp
synced 2025-03-05 17:11:40 -05:00
-Loop duration can be specified in the UI
This commit is contained in:
parent
bd848121e7
commit
a9bbec922a
2 changed files with 33 additions and 6 deletions
|
@ -247,7 +247,15 @@ class ClipSelector : public Fl_Button
|
||||||
Fl_Menu_Item rclick_menu[] =
|
Fl_Menu_Item rclick_menu[] =
|
||||||
{
|
{
|
||||||
{ "Load" },
|
{ "Load" },
|
||||||
{ "Duration" },
|
{ "Bars", 0, 0, 0, FL_SUBMENU },
|
||||||
|
{"1"},
|
||||||
|
{"2"},
|
||||||
|
{"4"},
|
||||||
|
{"8"},
|
||||||
|
{"16"},
|
||||||
|
{"32"},
|
||||||
|
{0},
|
||||||
|
{ "Record" },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
Fl_Menu_Item *m = (Fl_Menu_Item*) rclick_menu->popup(Fl::event_x(), Fl::event_y(), 0, 0, 0);
|
Fl_Menu_Item *m = (Fl_Menu_Item*) rclick_menu->popup(Fl::event_x(), Fl::event_y(), 0, 0, 0);
|
||||||
|
@ -260,11 +268,30 @@ class ClipSelector : public Fl_Button
|
||||||
clipSelectorLoad( 0 );
|
clipSelectorLoad( 0 );
|
||||||
clips[clipNum].state = ClipState::CLIP_LOADED;
|
clips[clipNum].state = ClipState::CLIP_LOADED;
|
||||||
}
|
}
|
||||||
else if ( strcmp(m->label(), "Duration") == 0 )
|
else if ( strcmp(m->label(), "1") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 1);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
} else if ( strcmp(m->label(), "2") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 2);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
} else if ( strcmp(m->label(), "4") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 4);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
} else if ( strcmp(m->label(), "8") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 8);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
} else if ( strcmp(m->label(), "16") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 16);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
} else if ( strcmp(m->label(), "32") == 0 ) {
|
||||||
|
EventLooperLoopLength e = EventLooperLoopLength(0, 32);
|
||||||
|
writeToDspRingbuffer( &e );
|
||||||
|
}
|
||||||
|
else if ( strcmp(m->label(), "Record") == 0 )
|
||||||
{
|
{
|
||||||
|
clips[clipNum].state = ClipState::CLIP_RECORDING;
|
||||||
//clips[clipNum].name = "title";
|
EventLooperState e = EventLooperState( 0, Looper::STATE_RECORD_QUEUED);
|
||||||
clips[clipNum].state = ClipState::CLIP_QUEUED;
|
writeToDspRingbuffer( &e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -248,7 +248,7 @@ void Looper::beat()
|
||||||
|
|
||||||
void Looper::setLoopLength(float l)
|
void Looper::setLoopLength(float l)
|
||||||
{
|
{
|
||||||
numBeats *= l;
|
numBeats = l * 4;
|
||||||
|
|
||||||
// smallest loop = 4 beats
|
// smallest loop = 4 beats
|
||||||
if ( numBeats < 4 )
|
if ( numBeats < 4 )
|
||||||
|
|
Loading…
Add table
Reference in a new issue