Move RecordState to ardour/types.h

This allows it to be used without including session.h.
This commit is contained in:
David Robillard 2021-06-15 19:58:23 -04:00
parent de345dd790
commit 666b3ba920
20 changed files with 54 additions and 54 deletions

View file

@ -1787,7 +1787,7 @@ ARDOUR_UI::transport_record (bool roll)
{ {
if (_session) { if (_session) {
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
if (_session->ntracks() == 0) { if (_session->ntracks() == 0) {
ArdourMessageDialog msg (_main_window, _("Please create one or more tracks before trying to record.\nYou can do this with the \"Add Track or Bus\" option in the Session menu.")); ArdourMessageDialog msg (_main_window, _("Please create one or more tracks before trying to record.\nYou can do this with the \"Add Track or Bus\" option in the Session menu."));
msg.run (); msg.run ();
@ -1798,7 +1798,7 @@ ARDOUR_UI::transport_record (bool roll)
transport_roll (); transport_roll ();
} }
break; break;
case Session::Recording: case RecordState::Recording:
if (roll) { if (roll) {
_session->request_stop(); _session->request_stop();
} else { } else {
@ -1806,7 +1806,7 @@ ARDOUR_UI::transport_record (bool roll)
} }
break; break;
case Session::Enabled: case RecordState::Enabled:
if (roll) { if (roll) {
transport_roll(); transport_roll();
} else { } else {

View file

@ -232,7 +232,7 @@ ARDOUR_UI::record_state_changed ()
ActionManager::set_sensitive (ActionManager::rec_sensitive_actions, !_session->actively_recording()); ActionManager::set_sensitive (ActionManager::rec_sensitive_actions, !_session->actively_recording());
if (_session->record_status () == Session::Recording && _session->have_rec_enabled_track ()) { if (_session->record_status () == RecordState::Recording && _session->have_rec_enabled_track ()) {
big_clock->set_active (true); big_clock->set_active (true);
} else { } else {
big_clock->set_active (false); big_clock->set_active (false);

View file

@ -200,7 +200,7 @@ AudioStreamView::setup_rec_box ()
// cerr << "\trolling\n"; // cerr << "\trolling\n";
if (!rec_active && if (!rec_active &&
_trackview.session()->record_status() == Session::Recording && _trackview.session()->record_status() == RecordState::Recording &&
_trackview.track()->rec_enable_control()->get_value()) { _trackview.track()->rec_enable_control()->get_value()) {
if (_trackview.audio_track()->mode() == Normal && UIConfiguration::instance().get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { if (_trackview.audio_track()->mode() == Normal && UIConfiguration::instance().get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) {
@ -253,7 +253,7 @@ AudioStreamView::setup_rec_box ()
create_rec_box(sample_pos, 0); create_rec_box(sample_pos, 0);
} else if (rec_active && } else if (rec_active &&
(_trackview.session()->record_status() != Session::Recording || (_trackview.session()->record_status() != RecordState::Recording ||
!_trackview.track()->rec_enable_control()->get_value())) { !_trackview.track()->rec_enable_control()->get_value())) {
screen_update_connection.disconnect(); screen_update_connection.disconnect();
rec_active = false; rec_active = false;

View file

@ -1688,7 +1688,7 @@ EditorRoutes::idle_update_mute_rec_solo_etc()
boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route); boost::shared_ptr<MidiTrack> mt = boost::dynamic_pointer_cast<MidiTrack> (route);
if (trk->rec_enable_control()->get_value()) { if (trk->rec_enable_control()->get_value()) {
if (_session->record_status() == Session::Recording) { if (_session->record_status() == RecordState::Recording) {
(*i)[_columns.rec_state] = 1; (*i)[_columns.rec_state] = 1;
} else { } else {
(*i)[_columns.rec_state] = 2; (*i)[_columns.rec_state] = 2;

View file

@ -459,7 +459,7 @@ MidiStreamView::setup_rec_box ()
(_trackview.session()->transport_rolling() || _trackview.session()->get_record_enabled())) { (_trackview.session()->transport_rolling() || _trackview.session()->get_record_enabled())) {
if (!rec_active && if (!rec_active &&
_trackview.session()->record_status() == Session::Recording && _trackview.session()->record_status() == RecordState::Recording &&
_trackview.track()->rec_enable_control()->get_value()) { _trackview.track()->rec_enable_control()->get_value()) {
if (UIConfiguration::instance().get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { if (UIConfiguration::instance().get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) {
@ -528,7 +528,7 @@ MidiStreamView::setup_rec_box ()
create_rec_box (_trackview.midi_track()->current_capture_start(), 0); create_rec_box (_trackview.midi_track()->current_capture_start(), 0);
} else if (rec_active && } else if (rec_active &&
(_trackview.session()->record_status() != Session::Recording || (_trackview.session()->record_status() != RecordState::Recording ||
!_trackview.track()->rec_enable_control()->get_value())) { !_trackview.track()->rec_enable_control()->get_value())) {
screen_update_connection.disconnect(); screen_update_connection.disconnect();
rec_active = false; rec_active = false;

View file

@ -1376,12 +1376,12 @@ RouteUI::blink_rec_display (bool blinkOn)
if (track()->rec_enable_control()->get_value()) { if (track()->rec_enable_control()->get_value()) {
switch (_session->record_status ()) { switch (_session->record_status ()) {
case Session::Recording: case RecordState::Recording:
rec_enable_button->set_active_state (Gtkmm2ext::ExplicitActive); rec_enable_button->set_active_state (Gtkmm2ext::ExplicitActive);
break; break;
case Session::Disabled: case RecordState::Disabled:
case Session::Enabled: case RecordState::Enabled:
if (UIConfiguration::instance().get_blink_rec_arm()) { if (UIConfiguration::instance().get_blink_rec_arm()) {
rec_enable_button->set_active_state ( blinkOn ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off ); rec_enable_button->set_active_state ( blinkOn ? Gtkmm2ext::ExplicitActive : Gtkmm2ext::Off );
} else { } else {

View file

@ -305,16 +305,16 @@ TransportControlUI::blink_rec_enable (bool onoff)
return; return;
} }
Session::RecordState const r = _session->record_status (); RecordState const r = _session->record_status ();
bool const h = _session->have_rec_enabled_track (); bool const h = _session->have_rec_enabled_track ();
if (r == Session::Enabled || (r == Session::Recording && !h)) { if (r == RecordState::Enabled || (r == RecordState::Recording && !h)) {
if (onoff) { if (onoff) {
rec_button.set_active_state (Gtkmm2ext::ExplicitActive); rec_button.set_active_state (Gtkmm2ext::ExplicitActive);
} else { } else {
rec_button.set_active_state (Gtkmm2ext::Off); rec_button.set_active_state (Gtkmm2ext::Off);
} }
} else if (r == Session::Recording && h) { } else if (r == RecordState::Recording && h) {
rec_button.set_active_state (Gtkmm2ext::ExplicitActive); rec_button.set_active_state (Gtkmm2ext::ExplicitActive);
} else { } else {
rec_button.unset_active_state (); rec_button.unset_active_state ();

View file

@ -198,12 +198,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
private: private:
public: public:
enum RecordState {
Disabled = 0,
Enabled = 1,
Recording = 2
};
/* a new session might have non-empty mix_template, an existing session should always have an empty one. /* a new session might have non-empty mix_template, an existing session should always have an empty one.
the bus profile can be null if no master out bus is required. the bus profile can be null if no master out bus is required.
*/ */

View file

@ -811,6 +811,12 @@ enum LocateTransportDisposition {
RollIfAppropriate RollIfAppropriate
}; };
enum RecordState {
Disabled = 0,
Enabled = 1,
Recording = 2
};
typedef std::vector<CaptureInfo*> CaptureInfos; typedef std::vector<CaptureInfo*> CaptureInfos;
} // namespace ARDOUR } // namespace ARDOUR

View file

@ -99,7 +99,7 @@ setup_enum_writer ()
SyncSource _SyncSource; SyncSource _SyncSource;
TransportRequestType _TransportRequestType; TransportRequestType _TransportRequestType;
ShuttleUnits _ShuttleUnits; ShuttleUnits _ShuttleUnits;
Session::RecordState _Session_RecordState; RecordState _RecordState;
SessionEvent::Type _SessionEvent_Type; SessionEvent::Type _SessionEvent_Type;
SessionEvent::Action _SessionEvent_Action; SessionEvent::Action _SessionEvent_Action;
TimecodeFormat _Session_TimecodeFormat; TimecodeFormat _Session_TimecodeFormat;
@ -436,10 +436,10 @@ setup_enum_writer ()
REGISTER_ENUM (Semitones); REGISTER_ENUM (Semitones);
REGISTER (_ShuttleUnits); REGISTER (_ShuttleUnits);
REGISTER_CLASS_ENUM (Session, Disabled); REGISTER_ENUM (Disabled);
REGISTER_CLASS_ENUM (Session, Enabled); REGISTER_ENUM (Enabled);
REGISTER_CLASS_ENUM (Session, Recording); REGISTER_ENUM (Recording);
REGISTER (_Session_RecordState); REGISTER (_RecordState);
REGISTER_CLASS_ENUM (SessionEvent, SetTransportSpeed); REGISTER_CLASS_ENUM (SessionEvent, SetTransportSpeed);
REGISTER_CLASS_ENUM (SessionEvent, SetDefaultPlaySpeed); REGISTER_CLASS_ENUM (SessionEvent, SetDefaultPlaySpeed);

View file

@ -2548,9 +2548,9 @@ LuaBindings::common (lua_State* L)
.beginNamespace ("Session") .beginNamespace ("Session")
.beginNamespace ("RecordState") .beginNamespace ("RecordState")
.addConst ("Disabled", ARDOUR::Session::RecordState(Session::Disabled)) .addConst ("Disabled", ARDOUR::RecordState(Disabled))
.addConst ("Enabled", ARDOUR::Session::RecordState(Session::Enabled)) .addConst ("Enabled", ARDOUR::RecordState(Enabled))
.addConst ("Recording", ARDOUR::Session::RecordState(Session::Recording)) .addConst ("Recording", ARDOUR::RecordState(Recording))
.endNamespace () .endNamespace ()
.endNamespace () // end Session enums .endNamespace () // end Session enums

View file

@ -744,7 +744,7 @@ MidiTrack::MidiControl::actually_set_value (double val, PBD::Controllable::Group
void void
MidiTrack::set_step_editing (bool yn) MidiTrack::set_step_editing (bool yn)
{ {
if (_session.record_status() != Session::Disabled) { if (_session.record_status() != Disabled) {
return; return;
} }

View file

@ -643,13 +643,13 @@ CC121::map_recenable_state ()
bool onoff; bool onoff;
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
onoff = false; onoff = false;
break; break;
case Session::Enabled: case RecordState::Enabled:
onoff = blink_state; onoff = blink_state;
break; break;
case Session::Recording: case RecordState::Recording:
if (_session->have_rec_enabled_track ()) { if (_session->have_rec_enabled_track ()) {
onoff = true; onoff = true;
} else { } else {

View file

@ -370,7 +370,7 @@ void
BasicUI::rec_enable_toggle () BasicUI::rec_enable_toggle ()
{ {
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
if (_session->ntracks() == 0) { if (_session->ntracks() == 0) {
// string txt = _("Please create 1 or more track\nbefore trying to record.\nCheck the Session menu."); // string txt = _("Please create 1 or more track\nbefore trying to record.\nCheck the Session menu.");
// MessageDialog msg (*editor, txt); // MessageDialog msg (*editor, txt);
@ -379,8 +379,8 @@ BasicUI::rec_enable_toggle ()
} }
_session->maybe_enable_record (); _session->maybe_enable_record ();
break; break;
case Session::Recording: case RecordState::Recording:
case Session::Enabled: case RecordState::Enabled:
_session->disable_record (false, true); _session->disable_record (false, true);
} }
} }

View file

@ -660,13 +660,13 @@ FaderPort::map_recenable_state ()
bool onoff; bool onoff;
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
onoff = false; onoff = false;
break; break;
case Session::Enabled: case RecordState::Enabled:
onoff = blink_state; onoff = blink_state;
break; break;
case Session::Recording: case RecordState::Recording:
if (_session->have_rec_enabled_track ()) { if (_session->have_rec_enabled_track ()) {
onoff = true; onoff = true;
} else { } else {

View file

@ -149,15 +149,15 @@ void
FaderPort8::notify_record_state_changed () FaderPort8::notify_record_state_changed ()
{ {
switch (_session->record_status ()) { switch (_session->record_status ()) {
case Session::Disabled: case RecordState::Disabled:
_ctrls.button (FP8Controls::BtnRecord).set_active (0); _ctrls.button (FP8Controls::BtnRecord).set_active (0);
_ctrls.button (FP8Controls::BtnRecord).set_blinking (false); _ctrls.button (FP8Controls::BtnRecord).set_blinking (false);
break; break;
case Session::Enabled: case RecordState::Enabled:
_ctrls.button (FP8Controls::BtnRecord).set_active (true); _ctrls.button (FP8Controls::BtnRecord).set_active (true);
_ctrls.button (FP8Controls::BtnRecord).set_blinking (true); _ctrls.button (FP8Controls::BtnRecord).set_blinking (true);
break; break;
case Session::Recording: case RecordState::Recording:
_ctrls.button (FP8Controls::BtnRecord).set_active (true); _ctrls.button (FP8Controls::BtnRecord).set_active (true);
_ctrls.button (FP8Controls::BtnRecord).set_blinking (false); _ctrls.button (FP8Controls::BtnRecord).set_blinking (false);
break; break;

View file

@ -1418,15 +1418,15 @@ MackieControlProtocol::notify_record_state_changed ()
LedState ls; LedState ls;
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
DEBUG_TRACE (DEBUG::MackieControl, "record state changed to disabled, LED off\n"); DEBUG_TRACE (DEBUG::MackieControl, "record state changed to disabled, LED off\n");
ls = off; ls = off;
break; break;
case Session::Recording: case RecordState::Recording:
DEBUG_TRACE (DEBUG::MackieControl, "record state changed to recording, LED on\n"); DEBUG_TRACE (DEBUG::MackieControl, "record state changed to recording, LED on\n");
ls = on; ls = on;
break; break;
case Session::Enabled: case RecordState::Enabled:
if(_device_info.is_qcon()){ if(_device_info.is_qcon()){
// For qcon the rec button is two state only (on/off) // For qcon the rec button is two state only (on/off)

View file

@ -109,15 +109,15 @@ void
Maschine2::notify_record_state_changed () Maschine2::notify_record_state_changed ()
{ {
switch (_session->record_status ()) { switch (_session->record_status ()) {
case Session::Disabled: case RecordState::Disabled:
_ctrl->button (M2Contols::Rec)->set_color (0); _ctrl->button (M2Contols::Rec)->set_color (0);
_ctrl->button (M2Contols::Rec)->set_blinking (false); _ctrl->button (M2Contols::Rec)->set_blinking (false);
break; break;
case Session::Enabled: case RecordState::Enabled:
_ctrl->button (M2Contols::Rec)->set_color (COLOR_WHITE); _ctrl->button (M2Contols::Rec)->set_color (COLOR_WHITE);
_ctrl->button (M2Contols::Rec)->set_blinking (true); _ctrl->button (M2Contols::Rec)->set_blinking (true);
break; break;
case Session::Recording: case RecordState::Recording:
_ctrl->button (M2Contols::Rec)->set_color (COLOR_WHITE); _ctrl->button (M2Contols::Rec)->set_color (COLOR_WHITE);
_ctrl->button (M2Contols::Rec)->set_blinking (false); _ctrl->button (M2Contols::Rec)->set_blinking (false);
break; break;

View file

@ -888,15 +888,15 @@ Push2::notify_record_state_changed ()
} }
switch (_session->record_status ()) { switch (_session->record_status ()) {
case Session::Disabled: case RecordState::Disabled:
b->second->set_color (LED::White); b->second->set_color (LED::White);
b->second->set_state (LED::NoTransition); b->second->set_state (LED::NoTransition);
break; break;
case Session::Enabled: case RecordState::Enabled:
b->second->set_color (LED::Red); b->second->set_color (LED::Red);
b->second->set_state (LED::Blinking4th); b->second->set_state (LED::Blinking4th);
break; break;
case Session::Recording: case RecordState::Recording:
b->second->set_color (LED::Red); b->second->set_color (LED::Red);
b->second->set_state (LED::OneShot24th); b->second->set_state (LED::OneShot24th);
break; break;

View file

@ -1138,15 +1138,15 @@ US2400Protocol::notify_record_state_changed ()
LedState ls; LedState ls;
switch (_session->record_status()) { switch (_session->record_status()) {
case Session::Disabled: case RecordState::Disabled:
DEBUG_TRACE (DEBUG::US2400, "record state changed to disabled, LED off\n"); DEBUG_TRACE (DEBUG::US2400, "record state changed to disabled, LED off\n");
ls = off; ls = off;
break; break;
case Session::Recording: case RecordState::Recording:
DEBUG_TRACE (DEBUG::US2400, "record state changed to recording, LED on\n"); DEBUG_TRACE (DEBUG::US2400, "record state changed to recording, LED on\n");
ls = on; ls = on;
break; break;
case Session::Enabled: case RecordState::Enabled:
DEBUG_TRACE (DEBUG::US2400, "record state changed to enabled, LED flashing\n"); DEBUG_TRACE (DEBUG::US2400, "record state changed to enabled, LED flashing\n");
ls = flashing; ls = flashing;
break; break;