aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/JackDriver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-01-14 02:42:29 +0000
committerDavid Robillard <d@drobilla.net>2013-01-14 02:42:29 +0000
commit08e702ada89b951466c7b9c787663e0a57846e5a (patch)
treeebc017225112c6245caeb310859b16cabf50fab0 /src/engine/JackDriver.cpp
parentf111891cfbc183339e3119d5ff3718184cdedd21 (diff)
downloadmachina-08e702ada89b951466c7b9c787663e0a57846e5a.tar.gz
machina-08e702ada89b951466c7b9c787663e0a57846e5a.tar.bz2
machina-08e702ada89b951466c7b9c787663e0a57846e5a.zip
Make quantize spinner control step record and new node length.
Only quantize non-step recording if quantize checkbox is enabled. git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4977 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/JackDriver.cpp')
-rw-r--r--src/engine/JackDriver.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/engine/JackDriver.cpp b/src/engine/JackDriver.cpp
index 840573e..8eada7c 100644
--- a/src/engine/JackDriver.cpp
+++ b/src/engine/JackDriver.cpp
@@ -41,8 +41,6 @@ JackDriver::JackDriver(Raul::Forge& forge, SPtr<Machine> machine)
, _context(forge, 48000, MACHINA_PPQN, 120.0)
, _frames_unit(TimeUnit::FRAMES, 48000)
, _beats_unit(TimeUnit::BEATS, 19200)
- , _bpm(120.0)
- , _quantization(0.0f)
, _stop(0)
, _stop_flag(false)
, _record_dur(_frames_unit) // = 0
@@ -421,17 +419,18 @@ JackDriver::set_play_state(PlayState state)
finish_record();
}
}
- _play_state = state;
+ Driver::set_play_state(state);
}
void
JackDriver::start_record(bool step)
{
+ const double q = (step || _quantize_record) ? _quantization.get() : 0.0;
switch (_play_state) {
case PlayState::STOPPED:
case PlayState::PLAYING:
_recorder = SPtr<Recorder>(
- new Recorder(_forge, 1024, _beats_unit, _quantization.get(), step));
+ new Recorder(_forge, 1024, _beats_unit, q, step));
_recorder->start();
_record_dur = 0;
break;