mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
triggerbox: change API for finish_recording() and captured() to not require BufferSet
This commit is contained in:
parent
1400fe012e
commit
3b6b1bdd93
2 changed files with 12 additions and 10 deletions
|
|
@ -296,7 +296,7 @@ class LIBARDOUR_API Trigger : public PBD::Stateful {
|
|||
timepos_t current_pos() const;
|
||||
double position_as_fraction() const;
|
||||
|
||||
virtual void captured (SlotArmInfo&, BufferSet&) {}
|
||||
virtual void captured (SlotArmInfo&) {}
|
||||
void arm (Temporal::BBT_Offset duration = Temporal::BBT_Offset()) {
|
||||
_arm (duration);
|
||||
}
|
||||
|
|
@ -542,7 +542,7 @@ class LIBARDOUR_API AudioTrigger : public Trigger {
|
|||
void io_change ();
|
||||
bool probably_oneshot () const;
|
||||
|
||||
void captured (SlotArmInfo&, BufferSet&);
|
||||
void captured (SlotArmInfo&);
|
||||
|
||||
int set_region_in_worker_thread (std::shared_ptr<Region>);
|
||||
int set_region_in_worker_thread_from_capture (std::shared_ptr<Region>);
|
||||
|
|
@ -616,7 +616,7 @@ class LIBARDOUR_API MIDITrigger : public Trigger {
|
|||
|
||||
bool playable() const { return rt_midibuffer.load() || _region; }
|
||||
|
||||
void captured (SlotArmInfo&, BufferSet&);
|
||||
void captured (SlotArmInfo&);
|
||||
void disarm ();
|
||||
|
||||
template<bool actually_run> pframes_t midi_run (BufferSet&, samplepos_t start_sample, samplepos_t end_sample,
|
||||
|
|
@ -985,6 +985,8 @@ class LIBARDOUR_API TriggerBox : public Processor, public std::enable_shared_fro
|
|||
/* return start time for capture; only valid if is_set is true upon return */
|
||||
Temporal::Beats start_time (bool& is_set) const;
|
||||
|
||||
void finish_recording ();
|
||||
|
||||
private:
|
||||
struct Requests {
|
||||
std::atomic<bool> stop_all;
|
||||
|
|
@ -1016,7 +1018,6 @@ class LIBARDOUR_API TriggerBox : public Processor, public std::enable_shared_fro
|
|||
PBD::PCGRand _pcg;
|
||||
|
||||
void maybe_capture (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes);
|
||||
void finish_recording (BufferSet& bufs);
|
||||
void set_armed (SlotArmInfo*);
|
||||
|
||||
/* These four are accessed (read/write) only from process() context */
|
||||
|
|
|
|||
|
|
@ -1864,7 +1864,7 @@ AudioTrigger::drop_data ()
|
|||
}
|
||||
|
||||
void
|
||||
AudioTrigger::captured (SlotArmInfo& ai, BufferSet&)
|
||||
AudioTrigger::captured (SlotArmInfo& ai)
|
||||
{
|
||||
if (ai.audio_buf.length == 0) {
|
||||
/* Nothing captured */
|
||||
|
|
@ -2441,7 +2441,7 @@ MIDITrigger::disarm ()
|
|||
}
|
||||
|
||||
void
|
||||
MIDITrigger::captured (SlotArmInfo& ai, BufferSet& bufs)
|
||||
MIDITrigger::captured (SlotArmInfo& ai)
|
||||
{
|
||||
if (ai.midi_buf->size() == 0) {
|
||||
disarm ();
|
||||
|
|
@ -3670,7 +3670,7 @@ TriggerBox::disarm ()
|
|||
}
|
||||
|
||||
void
|
||||
TriggerBox::finish_recording (BufferSet& bufs)
|
||||
TriggerBox::finish_recording ()
|
||||
{
|
||||
SlotArmInfo* ai = _arm_info.load();
|
||||
assert (ai);
|
||||
|
|
@ -3678,7 +3678,7 @@ TriggerBox::finish_recording (BufferSet& bufs)
|
|||
/* This transfers responsibility for the SlotArmInfo object to the
|
||||
trigger
|
||||
*/
|
||||
ai->slot->captured (*ai, bufs);
|
||||
ai->slot->captured (*ai);
|
||||
_arm_info = nullptr;
|
||||
|
||||
/* XXX this should likely be dependent on what the post-record action is */
|
||||
|
|
@ -3729,8 +3729,9 @@ TriggerBox::maybe_capture (BufferSet& bufs, samplepos_t start_sample, samplepos_
|
|||
|
||||
if (speed <= 0.) {
|
||||
if (_record_state == Recording) {
|
||||
std::cerr << "time to stop record\n";
|
||||
/* We stopped the transport, so just stop immediately (no quantization) */
|
||||
finish_recording (bufs);
|
||||
finish_recording ();
|
||||
}
|
||||
/* we stopped or reversed, but were not recording. Nothing to do here */
|
||||
return;
|
||||
|
|
@ -3831,7 +3832,7 @@ TriggerBox::maybe_capture (BufferSet& bufs, samplepos_t start_sample, samplepos_
|
|||
}
|
||||
|
||||
if (reached_end) {
|
||||
finish_recording (bufs);
|
||||
finish_recording ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue