13
0

add some enums and rc vars related to master send/return design

This commit is contained in:
Paul Davis 2024-03-29 12:42:04 -06:00
parent bf8aa66d95
commit 98966a0d1c
7 changed files with 37 additions and 24 deletions

View File

@ -56,7 +56,9 @@ public:
/* aux - internal send used to deliver to any bus, by user request */ /* aux - internal send used to deliver to any bus, by user request */
Aux = 0x10, Aux = 0x10,
/* foldback - internal send used only to deliver to a personal monitor bus */ /* foldback - internal send used only to deliver to a personal monitor bus */
Foldback = 0x20 Foldback = 0x20,
/* master send - used only with LiveTrax, delivers to master bus */
MasterSend = 0x40
}; };
static bool role_requires_output_ports (Role r) { return r == Main || r == Send || r == Insert; } static bool role_requires_output_ports (Role r) { return r == Main || r == Send || r == Insert; }

View File

@ -46,7 +46,8 @@ public:
PostFader = 0x2, ///< mute all post-fader sends PostFader = 0x2, ///< mute all post-fader sends
Listen = 0x4, ///< mute listen out Listen = 0x4, ///< mute listen out
Main = 0x8, ///< mute main out Main = 0x8, ///< mute main out
SurroundSend = 0x10 ///< mute surround send (if any) SurroundSend = 0x10, ///< mute surround send (if any)
MasterSend = 0x20 ///< mute master send (LiveTrax only)
}; };
static const MutePoint AllPoints; static const MutePoint AllPoints;

View File

@ -129,6 +129,7 @@ CONFIG_VARIABLE (bool, mute_affects_post_fader, "mute-affects-post-fader", true)
CONFIG_VARIABLE (bool, mute_affects_control_outs, "mute-affects-control-outs", true) CONFIG_VARIABLE (bool, mute_affects_control_outs, "mute-affects-control-outs", true)
CONFIG_VARIABLE (bool, mute_affects_main_outs, "mute-affects-main-outs", true) CONFIG_VARIABLE (bool, mute_affects_main_outs, "mute-affects-main-outs", true)
CONFIG_VARIABLE (bool, mute_affects_surround_sends, "mute-affects-surround-sends", true) CONFIG_VARIABLE (bool, mute_affects_surround_sends, "mute-affects-surround-sends", true)
CONFIG_VARIABLE (bool, mute_affects_master_sends, "mute-affects-master-sends", true)
CONFIG_VARIABLE (MonitorModel, monitoring_model, "monitoring-model", ExternalMonitoring) CONFIG_VARIABLE (MonitorModel, monitoring_model, "monitoring-model", ExternalMonitoring)
CONFIG_VARIABLE (ListenPosition, listen_position, "listen-position", AfterFaderListen) CONFIG_VARIABLE (ListenPosition, listen_position, "listen-position", AfterFaderListen)
CONFIG_VARIABLE (PFLPosition, pfl_position, "pfl-position", PFLFromAfterProcessors) CONFIG_VARIABLE (PFLPosition, pfl_position, "pfl-position", PFLFromAfterProcessors)

View File

@ -595,6 +595,9 @@ Delivery::target_gain ()
case Listen: case Listen:
mp = MuteMaster::Listen; mp = MuteMaster::Listen;
break; break;
case MasterSend:
mp = MuteMaster::MasterSend;
break;
case Send: case Send:
case Insert: case Insert:
case Aux: case Aux:

View File

@ -732,6 +732,7 @@ setup_enum_writer ()
REGISTER_CLASS_ENUM (Delivery, Main); REGISTER_CLASS_ENUM (Delivery, Main);
REGISTER_CLASS_ENUM (Delivery, Aux); REGISTER_CLASS_ENUM (Delivery, Aux);
REGISTER_CLASS_ENUM (Delivery, Foldback); REGISTER_CLASS_ENUM (Delivery, Foldback);
REGISTER_CLASS_ENUM (Delivery, MasterSend);
REGISTER_BITS (_Delivery_Role); REGISTER_BITS (_Delivery_Role);
REGISTER_CLASS_ENUM (MuteMaster, PreFader); REGISTER_CLASS_ENUM (MuteMaster, PreFader);
@ -739,6 +740,7 @@ setup_enum_writer ()
REGISTER_CLASS_ENUM (MuteMaster, Listen); REGISTER_CLASS_ENUM (MuteMaster, Listen);
REGISTER_CLASS_ENUM (MuteMaster, Main); REGISTER_CLASS_ENUM (MuteMaster, Main);
REGISTER_CLASS_ENUM (MuteMaster, SurroundSend); REGISTER_CLASS_ENUM (MuteMaster, SurroundSend);
REGISTER_CLASS_ENUM (MuteMaster, MasterSend);
REGISTER_BITS (_MuteMaster_MutePoint); REGISTER_BITS (_MuteMaster_MutePoint);
REGISTER_CLASS_ENUM (IO, Input); REGISTER_CLASS_ENUM (IO, Input);

View File

@ -39,7 +39,7 @@ using namespace std;
const string MuteMaster::xml_node_name (X_("MuteMaster")); const string MuteMaster::xml_node_name (X_("MuteMaster"));
const MuteMaster::MutePoint MuteMaster::AllPoints = MuteMaster::MutePoint( const MuteMaster::MutePoint MuteMaster::AllPoints = MuteMaster::MutePoint(
PreFader|PostFader|Listen|Main|SurroundSend); PreFader|PostFader|Listen|Main|SurroundSend|MasterSend);
MuteMaster::MuteMaster (Session& s, Muteable& m, const std::string&) MuteMaster::MuteMaster (Session& s, Muteable& m, const std::string&)
: SessionHandleRef (s) : SessionHandleRef (s)
@ -70,6 +70,10 @@ MuteMaster::MuteMaster (Session& s, Muteable& m, const std::string&)
if (Config->get_mute_affects_surround_sends ()) { if (Config->get_mute_affects_surround_sends ()) {
_mute_point = MutePoint (_mute_point | SurroundSend); _mute_point = MutePoint (_mute_point | SurroundSend);
} }
if (Config->get_mute_affects_master_sends ()) {
_mute_point = MutePoint (_mute_point | MasterSend);
}
} }
void void

View File

@ -317,7 +317,7 @@ Route::init ()
} }
if (Profile->get_livetrax() && is_track()) { if (Profile->get_livetrax() && is_track()) {
_master_send.reset (new InternalSend (_session, _pannable, _mute_master, std::dynamic_pointer_cast<Route> (shared_from_this()), std::shared_ptr<Route>(), Delivery::Aux, false)); _master_send.reset (new InternalSend (_session, _pannable, _mute_master, std::dynamic_pointer_cast<Route> (shared_from_this()), std::shared_ptr<Route>(), Delivery::MasterSend, false));
_master_send->set_display_to_user (false); _master_send->set_display_to_user (false);
} }