fixes for various consistency/settings issues in monitor section; minor edit to PACKAGER_README

git-svn-id: svn://localhost/ardour2/branches/3.0@6771 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2010-03-17 16:01:58 +00:00
parent da3f9e3e07
commit 8caed20c97
5 changed files with 81 additions and 32 deletions

View File

@ -1,6 +1,6 @@
(1) VST SUPPORT
Please do not distribution Ardour with VST support under the package
Please do not distribute Ardour with VST support under the package
name "ardour" (or any case-variant on that). Use some other name such
as "ardourvst", "ArdourVST", "ardour-vst" etc. In the near future,
work will be done to make it possible to share as much as possible of
@ -9,4 +9,4 @@ the packaging.
(2) STANDARD TEMPLATES
The templates in ./templates are intended for installation in
$prefix/share/ardour2/templates.
$prefix/share/ardour3/templates.

View File

@ -692,35 +692,32 @@ MonitorSection::map_state ()
}
}
act = ActionManager::get_action (X_("Monitor"), "monitor-solo");
if (act) {
Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act);
if (ract) {
ract->set_active (_monitor->mono());
}
}
act = ActionManager::get_action (X_("Monitor"), "monitor-cut-all");
if (act) {
Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act);
if (ract) {
ract->set_active (_monitor->cut_all());
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
cerr << "Set monitor cut all action to " << _monitor->cut_all () << endl;
tact->set_active (_monitor->cut_all());
} else {
cerr << " no global cut action\n";
}
} else {
cerr << " no global cut action2\n";
}
act = ActionManager::get_action (X_("Monitor"), "monitor-dim-all");
if (act) {
Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act);
if (ract) {
ract->set_active (_monitor->dim_all());
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->dim_all());
}
}
act = ActionManager::get_action (X_("Monitor"), "monitor-mono");
if (act) {
Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act);
if (ract) {
ract->set_active (_monitor->mono());
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->mono());
}
}
@ -729,11 +726,44 @@ MonitorSection::map_state ()
assert (nchans == _channel_buttons.size ());
for (uint32_t n = 0; n < nchans; ++n) {
ChannelButtonSet* cbs = _channel_buttons[n];
cbs->cut.set_active (_monitor->cut (n));
cbs->dim.set_active (_monitor->dimmed (n));
cbs->solo.set_active (_monitor->soloed (n));
cbs->invert.set_active (_monitor->inverted (n));
char action_name[32];
snprintf (action_name, sizeof (action_name), "monitor-cut-%u", n+1);
act = ActionManager::get_action (X_("Monitor"), action_name);
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->cut (n));
}
}
snprintf (action_name, sizeof (action_name), "monitor-dim-%u", n+1);
act = ActionManager::get_action (X_("Monitor"), action_name);
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->dimmed (n));
}
}
snprintf (action_name, sizeof (action_name), "monitor-solo-%u", n+1);
act = ActionManager::get_action (X_("Monitor"), action_name);
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->soloed (n));
}
}
snprintf (action_name, sizeof (action_name), "monitor-invert-%u", n+1);
act = ActionManager::get_action (X_("Monitor"), action_name);
if (act) {
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
if (tact) {
tact->set_active (_monitor->inverted (n));
}
}
}
}

View File

@ -44,6 +44,7 @@ namespace PBD {
extern uint64_t MidiIO;
extern uint64_t MackieControl;
extern uint64_t MidiClock;
extern uint64_t Monitor;
}
}

View File

@ -41,4 +41,5 @@ uint64_t PBD::DEBUG::SessionEvents = PBD::new_debug_bit ("sessionevents");
uint64_t PBD::DEBUG::MidiIO = PBD::new_debug_bit ("midiio");
uint64_t PBD::DEBUG::MackieControl = PBD::new_debug_bit ("mackiecontrol");
uint64_t PBD::DEBUG::MidiClock = PBD::new_debug_bit ("midiclock");
uint64_t PBD::DEBUG::Monitor = PBD::new_debug_bit ("monitor");

View File

@ -4,6 +4,7 @@
#include "ardour/amp.h"
#include "ardour/dB.h"
#include "ardour/debug.h"
#include "ardour/audio_buffer.h"
#include "ardour/monitor_processor.h"
#include "ardour/session.h"
@ -243,6 +244,20 @@ MonitorProcessor::run (BufferSet& bufs, sframes_t /*start_frame*/, sframes_t /*e
}
}
DEBUG_TRACE (DEBUG::Monitor,
string_compose("channel %1 sb %2 gc %3 gd %4 cd %5 dl %6 cp %7 cc %8 cs %9 sc %10 TG %11\n",
chn,
solo_boost,
global_cut,
global_dim,
_channels[chn].dim,
dim_level,
_channels[chn].polarity,
_channels[chn].cut,
_channels[chn].soloed,
solo_cnt,
target_gain));
if (target_gain != _channels[chn].current_gain || target_gain != 1.0f) {
Amp::apply_gain (*b, nframes, _channels[chn].current_gain, target_gain);
@ -331,13 +346,15 @@ MonitorProcessor::set_cut (uint32_t chn, bool yn)
void
MonitorProcessor::set_solo (uint32_t chn, bool solo)
{
_channels[chn].soloed = solo;
if (solo) {
solo_cnt++;
} else {
if (solo_cnt > 0) {
solo_cnt--;
if (solo != _channels[chn].soloed) {
_channels[chn].soloed = solo;
if (solo) {
solo_cnt++;
} else {
if (solo_cnt > 0) {
solo_cnt--;
}
}
}
}