refactor midi mute buffer sizing into a separate method for Delivery

This commit is contained in:
Paul Davis 2025-06-19 13:37:30 -06:00
parent e45c2f616a
commit fc24c59eb9
2 changed files with 15 additions and 9 deletions

View file

@ -182,6 +182,8 @@ private:
bool _no_panner_reset; bool _no_panner_reset;
std::atomic<int> _midi_mute_mask; std::atomic<int> _midi_mute_mask;
MidiBuffer _midi_mute_buffer; MidiBuffer _midi_mute_buffer;
void resize_midi_mute_buffer ();
}; };

View file

@ -75,11 +75,7 @@ Delivery::Delivery (Session& s, std::shared_ptr<IO> io, std::shared_ptr<Pannable
} }
_display_to_user = false; _display_to_user = false;
resize_midi_mute_buffer ();
const size_t stamp_size = sizeof(samplepos_t);
const size_t etype_size = sizeof(Evoral::EventType);
const size_t mmb_size = 16 * (stamp_size + etype_size + 3);
_midi_mute_buffer.resize (mmb_size);
if (_output) { if (_output) {
_output->changed.connect_same_thread (*this, std::bind (&Delivery::output_changed, this, _1, _2)); _output->changed.connect_same_thread (*this, std::bind (&Delivery::output_changed, this, _1, _2));
@ -107,10 +103,7 @@ Delivery::Delivery (Session& s, std::shared_ptr<Pannable> pannable, std::shared_
} }
_display_to_user = false; _display_to_user = false;
const size_t stamp_size = sizeof(samplepos_t); resize_midi_mute_buffer ();
const size_t etype_size = sizeof(Evoral::EventType);
const size_t mmb_size = 16 * (stamp_size + etype_size + 3);
_midi_mute_buffer.resize (mmb_size);
if (_output) { if (_output) {
_output->changed.connect_same_thread (*this, std::bind (&Delivery::output_changed, this, _1, _2)); _output->changed.connect_same_thread (*this, std::bind (&Delivery::output_changed, this, _1, _2));
@ -133,6 +126,17 @@ Delivery::~Delivery()
delete _output_buffers; delete _output_buffers;
} }
void
Delivery::resize_midi_mute_buffer ()
{
const size_t stamp_size = sizeof (samplepos_t);
const size_t etype_size = sizeof (Evoral::EventType);
/* space for two 3-byte messages per channel */
const size_t mmb_size = 16 * (stamp_size + etype_size + 6);
_midi_mute_buffer.resize (mmb_size);
}
std::string std::string
Delivery::display_name () const Delivery::display_name () const
{ {