Disable Tempo tapping in Free Record Mode

main
Georg Krause 2019-06-06 15:02:26 +02:00
parent 7d217629a9
commit b69e3e4ce3
5 changed files with 22 additions and 4 deletions

View File

@ -111,7 +111,7 @@ public:
}
float alpha = 0.6;
if (mouseOver)
if (mouseOver && active())
alpha = 1;
if ( !greyedOut )
@ -121,6 +121,12 @@ public:
cairo_set_source_rgb( cr, grey, grey, grey );
}
if(active()) {
cairo_set_source_rgba(cr, _r, _g, _b, alpha);
} else {
cairo_set_source_rgba(cr, _r, _g, _b, 0.4);
}
if ( highlight && !greyedOut )
cairo_set_line_width(cr, 2.2);
cairo_stroke(cr);

View File

@ -311,7 +311,8 @@ void handleDspEvents()
if ( availableRead >= sizeof(EventTimeTempoTap) ) {
EventTimeTempoTap ev;
jack_ringbuffer_read( rbToDsp, (char*)&ev, sizeof(EventTimeTempoTap) );
jack->getTimeManager()->tap();
if(!jack->getFreeRecMode())
jack->getTimeManager()->tap();
}
break;
}

View File

@ -141,9 +141,12 @@ void handleGuiEvents()
jack_ringbuffer_read(rbToGui,
(char *)&e,
sizeof(EventFreeRecordMode));
gui->getMasterTrack()->setFreeRecMode(
GMasterTrack *gm =
gui->getMasterTrack();
gm->setFreeRecMode(
e.enable);
gui->getMasterTrack()->metronomeEnable(!e.enable);
gm->metronomeEnable(!e.enable);
gm->tapEnable(!e.enable);
}
break;
}

View File

@ -377,6 +377,13 @@ void GMasterTrack::metronomeActivate(bool b) {
metronomeButton.value(b);
}
void GMasterTrack::tapEnable(bool b) {
if(b)
tapTempo.activate();
else
tapTempo.deactivate();
}
void
GMasterTrack::setClipLength(int l)
{

View File

@ -63,6 +63,7 @@ public:
void
setClipLength(int l);
void setFreeRecMode(bool e);
void tapEnable(bool b);
Avtk::Volume* getInputVolume();
Avtk::Volume* getVolume();