change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems

This commit is contained in:
Paul Davis 2013-04-16 23:46:22 -04:00
parent eed0201c07
commit 96eee9e7a1
40 changed files with 365 additions and 251 deletions

View file

@ -441,9 +441,9 @@ AudioRegionView::region_muted ()
for (uint32_t n=0; n < waves.size(); ++n) { for (uint32_t n=0; n < waves.size(); ++n) {
if (_region->muted()) { if (_region->muted()) {
waves[n]->set_outline_color (UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA)); waves[n]->set_outline_color (UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), MUTED_ALPHA));
} else { } else {
waves[n]->set_outline_color (ARDOUR_UI::config()->canvasvar_WaveForm.get()); waves[n]->set_outline_color (ARDOUR_UI::config()->get_canvasvar_WaveForm());
} }
} }
} }
@ -756,18 +756,18 @@ AudioRegionView::set_colors ()
RegionView::set_colors(); RegionView::set_colors();
if (gain_line) { if (gain_line) {
gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->canvasvar_GainLine.get() : ARDOUR_UI::config()->canvasvar_GainLineInactive.get()); gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->get_canvasvar_GainLine() : ARDOUR_UI::config()->get_canvasvar_GainLineInactive());
} }
for (uint32_t n=0; n < waves.size(); ++n) { for (uint32_t n=0; n < waves.size(); ++n) {
if (_region->muted()) { if (_region->muted()) {
waves[n]->set_outline_color (UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA)); waves[n]->set_outline_color (UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), MUTED_ALPHA));
} else { } else {
waves[n]->set_outline_color (ARDOUR_UI::config()->canvasvar_WaveForm.get()); waves[n]->set_outline_color (ARDOUR_UI::config()->get_canvasvar_WaveForm());
} }
waves[n]->set_clip_color (ARDOUR_UI::config()->canvasvar_WaveFormClip.get()); waves[n]->set_clip_color (ARDOUR_UI::config()->get_canvasvar_WaveFormClip());
waves[n]->set_zero_color (ARDOUR_UI::config()->canvasvar_ZeroLine.get()); waves[n]->set_zero_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
} }
} }
@ -902,15 +902,15 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
wave->property_amplitude_above_axis() = _amplitude_above_axis; wave->property_amplitude_above_axis() = _amplitude_above_axis;
if (_recregion) { if (_recregion) {
wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA) : ARDOUR_UI::config()->canvasvar_RecWaveForm.get()); wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_RecWaveForm(), MUTED_ALPHA) : ARDOUR_UI::config()->get_canvasvar_RecWaveForm());
wave->set_fill_color (ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get()); wave->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RecWaveFormFill());
} else { } else {
wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA) : ARDOUR_UI::config()->canvasvar_WaveForm.get()); wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), MUTED_ALPHA) : ARDOUR_UI::config()->get_canvasvar_WaveForm());
wave->set_fill_color (ARDOUR_UI::config()->canvasvar_WaveFormFill.get()); wave->set_fill_color (ARDOUR_UI::config()->get_canvasvar_WaveFormFill());
} }
wave->set_clip_color (ARDOUR_UI::config()->canvasvar_WaveFormClip.get()); wave->set_clip_color (ARDOUR_UI::config()->get_canvasvar_WaveFormClip());
wave->set_zero_color (ARDOUR_UI::config()->canvasvar_ZeroLine.get()); wave->set_zero_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
// CAIROCANVAS // CAIROCANVAS
// wave->property_zero_line() = true; // wave->property_zero_line() = true;
@ -1133,7 +1133,7 @@ void
AudioRegionView::envelope_active_changed () AudioRegionView::envelope_active_changed ()
{ {
if (gain_line) { if (gain_line) {
gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->canvasvar_GainLine.get() : ARDOUR_UI::config()->canvasvar_GainLineInactive.get()); gain_line->set_line_color (audio_region()->envelope_active() ? ARDOUR_UI::config()->get_canvasvar_GainLine() : ARDOUR_UI::config()->get_canvasvar_GainLineInactive());
} }
} }
@ -1172,26 +1172,26 @@ AudioRegionView::set_frame_color ()
if (_selected) { if (_selected) {
if (_region->muted()) { if (_region->muted()) {
wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA); wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_SelectedWaveForm(), MUTED_ALPHA);
} else { } else {
wc = ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(); wc = ARDOUR_UI::config()->get_canvasvar_SelectedWaveForm();
} }
fc = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get(); fc = ARDOUR_UI::config()->get_canvasvar_SelectedWaveFormFill();
} else { } else {
if (_recregion) { if (_recregion) {
if (_region->muted()) { if (_region->muted()) {
wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA); wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_RecWaveForm(), MUTED_ALPHA);
} else { } else {
wc = ARDOUR_UI::config()->canvasvar_RecWaveForm.get(); wc = ARDOUR_UI::config()->get_canvasvar_RecWaveForm();
} }
fc = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get(); fc = ARDOUR_UI::config()->get_canvasvar_RecWaveFormFill();
} else { } else {
if (_region->muted()) { if (_region->muted()) {
wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA); wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), MUTED_ALPHA);
} else { } else {
wc = ARDOUR_UI::config()->canvasvar_WaveForm.get(); wc = ARDOUR_UI::config()->get_canvasvar_WaveForm();
} }
fc = ARDOUR_UI::config()->canvasvar_WaveFormFill.get(); fc = ARDOUR_UI::config()->get_canvasvar_WaveFormFill();
} }
} }
@ -1387,14 +1387,14 @@ AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, frame
start_xfade_in = new ArdourCanvas::PolyLine (group); start_xfade_in = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS // CAIROCANVAS
// start_xfade_in->set_width_pixels (1); // start_xfade_in->set_width_pixels (1);
start_xfade_in->set_outline_color (ARDOUR_UI::config()->canvasvar_GainLine.get()); start_xfade_in->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GainLine());
} }
if (!start_xfade_out) { if (!start_xfade_out) {
start_xfade_out = new ArdourCanvas::PolyLine (group); start_xfade_out = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS // CAIROCANVAS
// start_xfade_out->set_width_pixels (1); // start_xfade_out->set_width_pixels (1);
uint32_t col = UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->canvasvar_GainLine.get(), 128); uint32_t col = UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->get_canvasvar_GainLine(), 128);
start_xfade_out->set_outline_color (col); start_xfade_out->set_outline_color (col);
} }
@ -1403,7 +1403,7 @@ AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, frame
// CAIROCANVAS // CAIROCANVAS
// start_xfade_rect->property_draw() = true; // start_xfade_rect->property_draw() = true;
start_xfade_rect->set_fill (true); start_xfade_rect->set_fill (true);
start_xfade_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_ActiveCrossfade.get()); start_xfade_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
start_xfade_rect->set_outline (false); start_xfade_rect->set_outline (false);
start_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_start_xfade_event), start_xfade_rect, this)); start_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_start_xfade_event), start_xfade_rect, this));
start_xfade_rect->set_data ("regionview", this); start_xfade_rect->set_data ("regionview", this);
@ -1495,14 +1495,14 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecn
end_xfade_in = new ArdourCanvas::PolyLine (group); end_xfade_in = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS // CAIROCANVAS
// end_xfade_in->property_width_pixels() = 1; // end_xfade_in->property_width_pixels() = 1;
end_xfade_in->set_outline_color (ARDOUR_UI::config()->canvasvar_GainLine.get()); end_xfade_in->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GainLine());
} }
if (!end_xfade_out) { if (!end_xfade_out) {
end_xfade_out = new ArdourCanvas::PolyLine (group); end_xfade_out = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS // CAIROCANVAS
// end_xfade_out->property_width_pixels() = 1; // end_xfade_out->property_width_pixels() = 1;
uint32_t col UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->canvasvar_GainLine.get(), 128); uint32_t col UINT_RGBA_CHANGE_A (ARDOUR_UI::config()->get_canvasvar_GainLine(), 128);
end_xfade_out->set_outline_color (col); end_xfade_out->set_outline_color (col);
} }
@ -1511,7 +1511,7 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecn
// CAIROCANVAS // CAIROCANVAS
// end_xfade_rect->property_draw() = true; // end_xfade_rect->property_draw() = true;
end_xfade_rect->set_fill (true); end_xfade_rect->set_fill (true);
end_xfade_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_ActiveCrossfade.get()); end_xfade_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ActiveCrossfade());
end_xfade_rect->set_outline (0); end_xfade_rect->set_outline (0);
end_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_end_xfade_event), end_xfade_rect, this)); end_xfade_rect->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_end_xfade_event), end_xfade_rect, this));
end_xfade_rect->set_data ("regionview", this); end_xfade_rect->set_data ("regionview", this);

View file

@ -271,12 +271,12 @@ AudioStreamView::setup_rec_box ()
case Normal: case Normal:
case NonLayered: case NonLayered:
xend = xstart; xend = xstart;
fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get(); fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
break; break;
case Destructive: case Destructive:
xend = xstart + 2; xend = xstart + 2;
fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get(); fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
/* make the recording rect translucent to allow /* make the recording rect translucent to allow
the user to see the peak data coming in, etc. the user to see the peak data coming in, etc.
*/ */
@ -290,7 +290,7 @@ AudioStreamView::setup_rec_box ()
rec_rect->set_x1 (xend); rec_rect->set_x1 (xend);
rec_rect->set_y1 (child_height ()); rec_rect->set_y1 (child_height ());
rec_rect->set_outline_what (0); rec_rect->set_outline_what (0);
rec_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get()); rec_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame());
rec_rect->set_fill_color (fill_color); rec_rect->set_fill_color (fill_color);
rec_rect->lower_to_bottom(); rec_rect->lower_to_bottom();
@ -529,15 +529,15 @@ AudioStreamView::color_handler ()
{ {
//case cAudioTrackBase: //case cAudioTrackBase:
if (_trackview.is_track()) { if (_trackview.is_track()) {
canvas_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_AudioTrackBase.get()); canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioTrackBase());
} }
//case cAudioBusBase: //case cAudioBusBase:
if (!_trackview.is_track()) { if (!_trackview.is_track()) {
if (Profile->get_sae() && _trackview.route()->is_master()) { if (Profile->get_sae() && _trackview.route()->is_master()) {
canvas_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_AudioMasterBusBase.get()); canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioMasterBusBase());
} else { } else {
canvas_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_AudioBusBase.get()); canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AudioBusBase());
} }
} }
} }

View file

@ -880,7 +880,7 @@ AutomationLine::set_selected_points (PointSelection const & points)
void AutomationLine::set_colors () void AutomationLine::set_colors ()
{ {
set_line_color (ARDOUR_UI::config()->canvasvar_AutomationLine.get()); set_line_color (ARDOUR_UI::config()->get_canvasvar_AutomationLine());
for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) { for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
(*i)->set_color (); (*i)->set_color ();
} }

View file

@ -186,11 +186,11 @@ void
AutomationStreamView::color_handler () AutomationStreamView::color_handler ()
{ {
/*if (_trackview.is_midi_track()) { /*if (_trackview.is_midi_track()) {
canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiTrackBase.get(); canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiTrackBase();
} }
if (!_trackview.is_midi_track()) { if (!_trackview.is_midi_track()) {
canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiBusBase.get();; canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiBusBase();;
}*/ }*/
} }

View file

@ -110,11 +110,11 @@ AutomationTimeAxisView::AutomationTimeAxisView (
_base_rect = new ArdourCanvas::Rectangle (_canvas_display); _base_rect = new ArdourCanvas::Rectangle (_canvas_display);
_base_rect->set_x1 (ArdourCanvas::COORD_MAX); _base_rect->set_x1 (ArdourCanvas::COORD_MAX);
_base_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_AutomationTrackOutline.get()); _base_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_AutomationTrackOutline());
/* outline ends and bottom */ /* outline ends and bottom */
_base_rect->set_outline_what (0x1 | 0x2 | 0x8); _base_rect->set_outline_what (0x1 | 0x2 | 0x8);
_base_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_AutomationTrackFill.get()); _base_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_AutomationTrackFill());
_base_rect->set_data ("trackview", this); _base_rect->set_data ("trackview", this);
@ -209,7 +209,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
) )
); );
line->set_line_color (ARDOUR_UI::config()->canvasvar_ProcessorAutomationLine.get()); line->set_line_color (ARDOUR_UI::config()->get_canvasvar_ProcessorAutomationLine());
line->queue_reset (); line->queue_reset ();
add_line (line); add_line (line);
} }

View file

@ -55,11 +55,11 @@ CanvasPatchChange::CanvasPatchChange(
parent, parent,
height, height,
(active_channel (active_channel
? ARDOUR_UI::config()->canvasvar_MidiPatchChangeOutline.get() ? ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeOutline()
: ARDOUR_UI::config()->canvasvar_MidiPatchChangeInactiveChannelOutline.get()), : ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeInactiveChannelOutline()),
(active_channel (active_channel
? ARDOUR_UI::config()->canvasvar_MidiPatchChangeFill.get() ? ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeFill()
: ARDOUR_UI::config()->canvasvar_MidiPatchChangeInactiveChannelFill.get()), : ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeInactiveChannelFill()),
x, x,
y) y)
, _info (info) , _info (info)

View file

@ -46,8 +46,8 @@ ControlPoint::ControlPoint (AutomationLine& al)
_item = new ArdourCanvas::Rectangle (&_line.canvas_group()); _item = new ArdourCanvas::Rectangle (&_line.canvas_group());
_item->property_draw() = true; _item->property_draw() = true;
_item->set_fill (false); _item->set_fill (false);
_item->set_fill_color (ARDOUR_UI::config()->canvasvar_ControlPointFill.get()); _item->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ControlPointFill());
_item->set_outline_color (ARDOUR_UI::config()->canvasvar_ControlPointOutline.get()); _item->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ControlPointOutline());
_item->set_outline_width (1); _item->set_outline_width (1);
_item->set_data ("control_point", this); _item->set_data ("control_point", this);
_item->Event.connect (sigc::mem_fun (this, &ControlPoint::event_handler)); _item->Event.connect (sigc::mem_fun (this, &ControlPoint::event_handler));
@ -73,7 +73,7 @@ ControlPoint::ControlPoint (const ControlPoint& other, bool /*dummy_arg_to_force
_item = new ArdourCanvas::Rectangle (&_line.canvas_group()); _item = new ArdourCanvas::Rectangle (&_line.canvas_group());
_item->set_fill (false); _item->set_fill (false);
_item->set_outline_color (ARDOUR_UI::config()->canvasvar_ControlPointOutline.get()); _item->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ControlPointOutline());
_item->set_outline_width (1); _item->set_outline_width (1);
/* NOTE: no event handling in copied ControlPoints */ /* NOTE: no event handling in copied ControlPoints */
@ -133,13 +133,13 @@ ControlPoint::set_color ()
uint32_t color = 0; uint32_t color = 0;
if (_selected) { if (_selected) {
color = ARDOUR_UI::config()->canvasvar_ControlPointSelected.get(); color = ARDOUR_UI::config()->get_canvasvar_ControlPointSelected();
} else { } else {
color = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get(); color = ARDOUR_UI::config()->get_canvasvar_ControlPointOutline();
} }
_item->set_outline_color (color); _item->set_outline_color (color);
_item->set_fill_color (ARDOUR_UI::config()->canvasvar_ControlPointFill.get()); _item->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ControlPointFill());
} }
void void

View file

@ -136,23 +136,23 @@ CrossfadeEditor::CrossfadeEditor (Session* s, boost::shared_ptr<Crossfade> xf, d
toplevel = new ArdourCanvas::Rectangle (canvas->root()); toplevel = new ArdourCanvas::Rectangle (canvas->root());
toplevel->set (ArdourCanvas::Rect (0, 0, 10, 10)); toplevel->set (ArdourCanvas::Rect (0, 0, 10, 10));
toplevel->set_fill (true); toplevel->set_fill (true);
toplevel->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorBase.get()); toplevel->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorBase());
toplevel->set_outline (false); toplevel->set_outline (false);
toplevel->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event)); toplevel->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
fade[Out].line = new ArdourCanvas::PolyLine (canvas->root()); fade[Out].line = new ArdourCanvas::PolyLine (canvas->root());
fade[Out].line->set_outline_width (1); fade[Out].line->set_outline_width (1);
fade[Out].line->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get()); fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[Out].shading = new ArdourCanvas::Polygon (canvas->root()); fade[Out].shading = new ArdourCanvas::Polygon (canvas->root());
fade[Out].shading->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLineShading.get()); fade[Out].shading->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLineShading());
fade[In].line = new ArdourCanvas::PolyLine (canvas->root()); fade[In].line = new ArdourCanvas::PolyLine (canvas->root());
fade[In].line->set_outline_width (1); fade[In].line->set_outline_width (1);
fade[In].line->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get()); fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[In].shading = new ArdourCanvas::Polygon (canvas->root()); fade[In].shading = new ArdourCanvas::Polygon (canvas->root());
fade[In].shading->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLineShading.get()); fade[In].shading->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLineShading());
fade[In].shading->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event)); fade[In].shading->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::canvas_event));
fade[In].line->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event)); fade[In].line->Event.connect (sigc::mem_fun (*this, &CrossfadeEditor::curve_event));
@ -466,8 +466,8 @@ CrossfadeEditor::make_point ()
p->box = new ArdourCanvas::Rectangle (canvas->root()); p->box = new ArdourCanvas::Rectangle (canvas->root());
p->box->set_fill (true); p->box->set_fill (true);
p->box->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorPointFill.get()); p->box->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorPointFill());
p->box->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorPointOutline.get()); p->box->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorPointOutline());
p->box->set_outline_width (1); p->box->set_outline_width (1);
p->curve = fade[current].line; p->curve = fade[current].line;
@ -1069,17 +1069,17 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
if (wf == In) { if (wf == In) {
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) { for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) {
(*i)->set_outline_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get()); (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
(*i)->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get()); (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
} }
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) { for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) {
(*i)->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get()); (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
(*i)->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get()); (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
} }
fade[In].line->set_outline_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorLine.get()); fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorLine());
fade[Out].line->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get()); fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[Out].shading->hide(); fade[Out].shading->hide();
fade[In].shading->show(); fade[In].shading->show();
@ -1094,17 +1094,17 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
} else { } else {
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) { for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) {
(*i)->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get()); (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
(*i)->set_fill_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get()); (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave());
} }
for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) { for (vector<ArdourCanvas::WaveView*>::iterator i = fade[Out].waves.begin(); i != fade[Out].waves.end(); ++i) {
(*i)->set_outline_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get()); (*i)->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
(*i)->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get()); (*i)->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave());
} }
fade[Out].line->set_outline_color (ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorLine.get()); fade[Out].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorLine());
fade[In].line->set_outline_color (ARDOUR_UI::config()->canvasvar_CrossfadeEditorLine.get()); fade[In].line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorLine());
fade[In].shading->hide(); fade[In].shading->hide();
fade[Out].shading->show(); fade[Out].shading->show();
@ -1146,9 +1146,9 @@ CrossfadeEditor::make_waves (boost::shared_ptr<AudioRegion> region, WhichFade wh
double spu; double spu;
if (which == In) { if (which == In) {
color = ARDOUR_UI::config()->canvasvar_SelectedCrossfadeEditorWave.get(); color = ARDOUR_UI::config()->get_canvasvar_SelectedCrossfadeEditorWave();
} else { } else {
color = ARDOUR_UI::config()->canvasvar_CrossfadeEditorWave.get(); color = ARDOUR_UI::config()->get_canvasvar_CrossfadeEditorWave();
} }
ht = canvas->get_allocation().get_height() / (double) nchans; ht = canvas->get_allocation().get_height() / (double) nchans;

View file

@ -371,11 +371,11 @@ Editor::Editor ()
sfbrowser = 0; sfbrowser = 0;
location_marker_color = ARDOUR_UI::config()->canvasvar_LocationMarker.get(); location_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationMarker();
location_range_color = ARDOUR_UI::config()->canvasvar_LocationRange.get(); location_range_color = ARDOUR_UI::config()->get_canvasvar_LocationRange();
location_cd_marker_color = ARDOUR_UI::config()->canvasvar_LocationCDMarker.get(); location_cd_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationCDMarker();
location_loop_color = ARDOUR_UI::config()->canvasvar_LocationLoop.get(); location_loop_color = ARDOUR_UI::config()->get_canvasvar_LocationLoop();
location_punch_color = ARDOUR_UI::config()->canvasvar_LocationPunch.get(); location_punch_color = ARDOUR_UI::config()->get_canvasvar_LocationPunch();
_edit_point = EditAtMouse; _edit_point = EditAtMouse;
_internal_editing = false; _internal_editing = false;

View file

@ -756,56 +756,56 @@ Editor::set_horizontal_position (double p)
void void
Editor::color_handler() Editor::color_handler()
{ {
playhead_cursor->set_color (ARDOUR_UI::config()->canvasvar_PlayHead.get()); playhead_cursor->set_color (ARDOUR_UI::config()->get_canvasvar_PlayHead());
_verbose_cursor->set_color (ARDOUR_UI::config()->canvasvar_VerboseCanvasCursor.get()); _verbose_cursor->set_color (ARDOUR_UI::config()->get_canvasvar_VerboseCanvasCursor());
meter_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_MeterBar.get()); meter_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MeterBar());
meter_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); meter_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
tempo_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_TempoBar.get()); tempo_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TempoBar());
tempo_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); tempo_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_MarkerBar.get()); marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MarkerBar());
marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
cd_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_CDMarkerBar.get()); cd_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_CDMarkerBar());
cd_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); cd_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
range_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeMarkerBar.get()); range_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeMarkerBar());
range_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); range_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
transport_marker_bar->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportMarkerBar.get()); transport_marker_bar->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportMarkerBar());
transport_marker_bar->set_outline_color (ARDOUR_UI::config()->canvasvar_MarkerBarSeparator.get()); transport_marker_bar->set_outline_color (ARDOUR_UI::config()->get_canvasvar_MarkerBarSeparator());
cd_marker_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get()); cd_marker_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
cd_marker_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get()); cd_marker_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
range_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get()); range_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
range_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RangeDragBarRect.get()); range_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragBarRect());
transport_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportDragRect.get()); transport_bar_drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportDragRect());
transport_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportDragRect.get()); transport_bar_drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportDragRect());
transport_loop_range_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportLoopRect.get()); transport_loop_range_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportLoopRect());
transport_loop_range_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportLoopRect.get()); transport_loop_range_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportLoopRect());
transport_punch_range_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TransportPunchRect.get()); transport_punch_range_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TransportPunchRect());
transport_punch_range_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TransportPunchRect.get()); transport_punch_range_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TransportPunchRect());
transport_punchin_line->set_outline_color (ARDOUR_UI::config()->canvasvar_PunchLine.get()); transport_punchin_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
transport_punchout_line->set_outline_color (ARDOUR_UI::config()->canvasvar_PunchLine.get()); transport_punchout_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
zoom_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_ZoomRect.get()); zoom_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
zoom_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_ZoomRect.get()); zoom_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
rubberband_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RubberBandRect.get()); rubberband_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
rubberband_rect->set_fill_color ((guint32) ARDOUR_UI::config()->canvasvar_RubberBandRect.get()); rubberband_rect->set_fill_color ((guint32) ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
location_marker_color = ARDOUR_UI::config()->canvasvar_LocationMarker.get(); location_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationMarker();
location_range_color = ARDOUR_UI::config()->canvasvar_LocationRange.get(); location_range_color = ARDOUR_UI::config()->get_canvasvar_LocationRange();
location_cd_marker_color = ARDOUR_UI::config()->canvasvar_LocationCDMarker.get(); location_cd_marker_color = ARDOUR_UI::config()->get_canvasvar_LocationCDMarker();
location_loop_color = ARDOUR_UI::config()->canvasvar_LocationLoop.get(); location_loop_color = ARDOUR_UI::config()->get_canvasvar_LocationLoop();
location_punch_color = ARDOUR_UI::config()->canvasvar_LocationPunch.get(); location_punch_color = ARDOUR_UI::config()->get_canvasvar_LocationPunch();
refresh_location_display (); refresh_location_display ();
/* /*

View file

@ -2143,7 +2143,7 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move)
_marker = new MeterMarker ( _marker = new MeterMarker (
*_editor, *_editor,
*_editor->meter_group, *_editor->meter_group,
ARDOUR_UI::config()->canvasvar_MeterMarker.get(), ARDOUR_UI::config()->get_canvasvar_MeterMarker(),
name, name,
*new MeterSection (_marker->meter()) *new MeterSection (_marker->meter())
); );
@ -2262,7 +2262,7 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
_marker = new TempoMarker ( _marker = new TempoMarker (
*_editor, *_editor,
*_editor->tempo_group, *_editor->tempo_group,
ARDOUR_UI::config()->canvasvar_TempoMarker.get(), ARDOUR_UI::config()->get_canvasvar_TempoMarker(),
name, name,
*new TempoSection (_marker->tempo()) *new TempoSection (_marker->tempo())
); );
@ -3923,8 +3923,8 @@ RangeMarkerBarDrag::RangeMarkerBarDrag (Editor* e, ArdourCanvas::Item* i, Operat
physical_screen_height (_editor->get_window()))); physical_screen_height (_editor->get_window())));
_drag_rect->hide (); _drag_rect->hide ();
_drag_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_RangeDragRect.get()); _drag_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RangeDragRect());
_drag_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RangeDragRect.get()); _drag_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RangeDragRect());
} }
void void

View file

@ -1860,7 +1860,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
if (mouse_mode == MouseGain) { if (mouse_mode == MouseGain) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item); ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
if (line) { if (line) {
line->set_outline_color (ARDOUR_UI::config()->canvasvar_EnteredGainLine.get()); line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EnteredGainLine());
} }
if (is_drawable()) { if (is_drawable()) {
set_canvas_cursor (_cursors->fader); set_canvas_cursor (_cursors->fader);
@ -1872,7 +1872,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
if (mouse_mode == MouseGain || mouse_mode == MouseObject) { if (mouse_mode == MouseGain || mouse_mode == MouseObject) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item); ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
if (line) { if (line) {
line->set_outline_color (ARDOUR_UI::config()->canvasvar_EnteredAutomationLine.get()); line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EnteredAutomationLine());
} }
if (is_drawable()) { if (is_drawable()) {
set_canvas_cursor (_cursors->fader); set_canvas_cursor (_cursors->fader);
@ -1980,7 +1980,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
break; break;
} }
entered_marker = marker; entered_marker = marker;
marker->set_color_rgba (ARDOUR_UI::config()->canvasvar_EnteredMarker.get()); marker->set_color_rgba (ARDOUR_UI::config()->get_canvasvar_EnteredMarker());
// fall through // fall through
case MeterMarkerItem: case MeterMarkerItem:
case TempoMarkerItem: case TempoMarkerItem:
@ -2172,7 +2172,7 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
case FeatureLineItem: case FeatureLineItem:
{ {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item); ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
line->set_outline_color (ARDOUR_UI::config()->canvasvar_ZeroLine.get()); line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
} }
break; break;

View file

@ -85,7 +85,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
if ((ms = dynamic_cast<const MeterSection*>(*i)) != 0) { if ((ms = dynamic_cast<const MeterSection*>(*i)) != 0) {
snprintf (buf, sizeof(buf), "%g/%g", ms->divisions_per_bar(), ms->note_divisor ()); snprintf (buf, sizeof(buf), "%g/%g", ms->divisions_per_bar(), ms->note_divisor ());
metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->canvasvar_MeterMarker.get(), buf, metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->get_canvasvar_MeterMarker(), buf,
*(const_cast<MeterSection*>(ms)))); *(const_cast<MeterSection*>(ms))));
} else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) { } else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) {
if (Config->get_allow_non_quarter_pulse()) { if (Config->get_allow_non_quarter_pulse()) {
@ -93,7 +93,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
} else { } else {
snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute()); snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute());
} }
metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->canvasvar_TempoMarker.get(), buf, metric_marks.push_back (new TempoMarker (*this, *tempo_group, ARDOUR_UI::config()->get_canvasvar_TempoMarker(), buf,
*(const_cast<TempoSection*>(ts)))); *(const_cast<TempoSection*>(ts))));
} }

View file

@ -145,7 +145,7 @@ void
GainMeterBase::set_flat_buttons () GainMeterBase::set_flat_buttons ()
{ {
printf("set_flat_butt\n"); printf("set_flat_butt\n");
// gain_slider->set_flat_buttons( ARDOUR_UI::config()->flat_buttons.get() ); // gain_slider->set_flat_buttons( ARDOUR_UI::config()->get_flat_buttons() );
} }
GainMeterBase::~GainMeterBase () GainMeterBase::~GainMeterBase ()

View file

@ -83,8 +83,8 @@ void
GhostRegion::set_colors () GhostRegion::set_colors ()
{ {
if (is_automation_ghost()) { if (is_automation_ghost()) {
base_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_GhostTrackBase.get()); base_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackBase());
base_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_GhostTrackBase.get()); base_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackBase());
} }
} }
@ -138,17 +138,17 @@ AudioGhostRegion::set_colors ()
guint fill_color; guint fill_color;
if (is_automation_ghost()) { if (is_automation_ghost()) {
fill_color = ARDOUR_UI::config()->canvasvar_GhostTrackWaveFill.get(); fill_color = ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveFill();
} }
else { else {
fill_color = source_track_color(200); fill_color = source_track_color(200);
} }
for (uint32_t n=0; n < waves.size(); ++n) { for (uint32_t n=0; n < waves.size(); ++n) {
waves[n]->set_outline_color (ARDOUR_UI::config()->canvasvar_GhostTrackWave.get()); waves[n]->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackWave());
waves[n]->set_fill_color (fill_color); waves[n]->set_fill_color (fill_color);
waves[n]->set_clip_color (ARDOUR_UI::config()->canvasvar_GhostTrackWaveClip.get()); waves[n]->set_clip_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveClip());
waves[n]->set_zero_color (ARDOUR_UI::config()->canvasvar_GhostTrackZeroLine.get()); waves[n]->set_zero_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackZeroLine());
} }
} }
@ -232,7 +232,7 @@ MidiGhostRegion::set_colors()
for (EventList::iterator it = events.begin(); it != events.end(); ++it) { for (EventList::iterator it = events.begin(); it != events.end(); ++it) {
(*it)->rect->set_fill_color (fill); (*it)->rect->set_fill_color (fill);
(*it)->rect->set_outline_color (ARDOUR_UI::config()->canvasvar_GhostTrackMidiOutline.get()); (*it)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackMidiOutline());
} }
} }
@ -268,7 +268,7 @@ MidiGhostRegion::add_note (NoteBase* n)
events.push_back (event); events.push_back (event);
event->rect->set_fill_color (source_track_color(200)); event->rect->set_fill_color (source_track_color(200));
event->rect->set_outline_color (ARDOUR_UI::config()->canvasvar_GhostTrackMidiOutline.get()); event->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackMidiOutline());
MidiStreamView* mv = midi_view(); MidiStreamView* mv = midi_view();

View file

@ -52,9 +52,9 @@ ImageFrameTimeAxisView::ImageFrameTimeAxisView (ImageFrameTimeAxis& tv)
canvas_rect (canvas_group, 0.0, 0.0, 1000000.0, tv.current_height()) canvas_rect (canvas_group, 0.0, 0.0, 1000000.0, tv.current_height())
{ {
region_color = _trackview.color() ; region_color = _trackview.color() ;
stream_base_color = ARDOUR_UI::config()->canvasvar_ImageTrack.get() ; stream_base_color = ARDOUR_UI::config()->get_canvasvar_ImageTrack() ;
canvas_rect.property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_ImageTrack.get(); canvas_rect.property_outline_color_rgba() = ARDOUR_UI::config()->get_canvasvar_ImageTrack();
canvas_rect.property_fill_color_rgba() = stream_base_color; canvas_rect.property_fill_color_rgba() = stream_base_color;
canvas_rect.signal_event().connect (sigc::bind (sigc::mem_fun (_trackview.editor, &PublicEditor::canvas_imageframe_view_event), (ArdourCanvas::Item*) &canvas_rect, &tv)); canvas_rect.signal_event().connect (sigc::bind (sigc::mem_fun (_trackview.editor, &PublicEditor::canvas_imageframe_view_event), (ArdourCanvas::Item*) &canvas_rect, &tv));

View file

@ -181,15 +181,15 @@ LevelMeter::setup_meters (int len, int initial_width)
for (int32_t n = nmeters-1; nmeters && n >= 0 ; --n) { for (int32_t n = nmeters-1; nmeters && n >= 0 ; --n) {
uint32_t b, m, t, c; uint32_t b, m, t, c;
if (n < nmidi) { if (n < nmidi) {
b = ARDOUR_UI::config()->canvasvar_MidiMeterColorBase.get(); b = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorBase();
m = ARDOUR_UI::config()->canvasvar_MidiMeterColorMid.get(); m = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorMid();
t = ARDOUR_UI::config()->canvasvar_MidiMeterColorTop.get(); t = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorTop();
c = ARDOUR_UI::config()->canvasvar_MeterColorClip.get(); c = ARDOUR_UI::config()->get_canvasvar_MeterColorClip();
} else { } else {
b = ARDOUR_UI::config()->canvasvar_MeterColorBase.get(); b = ARDOUR_UI::config()->get_canvasvar_MeterColorBase();
m = ARDOUR_UI::config()->canvasvar_MeterColorMid.get(); m = ARDOUR_UI::config()->get_canvasvar_MeterColorMid();
t = ARDOUR_UI::config()->canvasvar_MeterColorTop.get(); t = ARDOUR_UI::config()->get_canvasvar_MeterColorTop();
c = ARDOUR_UI::config()->canvasvar_MeterColorClip.get(); c = ARDOUR_UI::config()->get_canvasvar_MeterColorClip();
} }
if (meters[n].width != width || meters[n].length != len || color_changed) { if (meters[n].width != width || meters[n].length != len || color_changed) {
delete meters[n].meter; delete meters[n].meter;

View file

@ -335,11 +335,11 @@ Marker::setup_line ()
if (_time_bars_line == 0) { if (_time_bars_line == 0) {
_time_bars_line = new ArdourCanvas::Line (editor.get_time_bars_group()); _time_bars_line = new ArdourCanvas::Line (editor.get_time_bars_group());
_time_bars_line->set_outline_color (ARDOUR_UI::config()->canvasvar_EditPoint.get()); _time_bars_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EditPoint());
_time_bars_line->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this)); _time_bars_line->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this));
_track_canvas_line = new ArdourCanvas::Line (editor.get_track_canvas_group()); _track_canvas_line = new ArdourCanvas::Line (editor.get_track_canvas_group());
_track_canvas_line->set_outline_color (ARDOUR_UI::config()->canvasvar_EditPoint.get()); _track_canvas_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_EditPoint());
_track_canvas_line->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this)); _track_canvas_line->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this));
} }
@ -350,7 +350,7 @@ Marker::setup_line ()
_time_bars_line->set_x1 (d.x); _time_bars_line->set_x1 (d.x);
_time_bars_line->set_y0 (d.y); _time_bars_line->set_y0 (d.y);
_time_bars_line->set_y1 (ArdourCanvas::COORD_MAX); _time_bars_line->set_y1 (ArdourCanvas::COORD_MAX);
_time_bars_line->set_outline_color (_selected ? ARDOUR_UI::config()->canvasvar_EditPoint.get() : _color); _time_bars_line->set_outline_color (_selected ? ARDOUR_UI::config()->get_canvasvar_EditPoint() : _color);
_time_bars_line->raise_to_top (); _time_bars_line->raise_to_top ();
_time_bars_line->show (); _time_bars_line->show ();
@ -359,7 +359,7 @@ Marker::setup_line ()
_track_canvas_line->set_x1 (d.x); _track_canvas_line->set_x1 (d.x);
_track_canvas_line->set_y0 (d.y); _track_canvas_line->set_y0 (d.y);
_track_canvas_line->set_y1 (ArdourCanvas::COORD_MAX); _track_canvas_line->set_y1 (ArdourCanvas::COORD_MAX);
_track_canvas_line->set_outline_color (_selected ? ARDOUR_UI::config()->canvasvar_EditPoint.get() : _color); _track_canvas_line->set_outline_color (_selected ? ARDOUR_UI::config()->get_canvasvar_EditPoint() : _color);
_track_canvas_line->raise_to_top (); _track_canvas_line->raise_to_top ();
_track_canvas_line->show (); _track_canvas_line->show ();

View file

@ -49,7 +49,7 @@ MarkerTimeAxisView::MarkerTimeAxisView(MarkerTimeAxis& tv)
: _trackview (tv) : _trackview (tv)
{ {
region_color = _trackview.color(); region_color = _trackview.color();
stream_base_color = ARDOUR_UI::config()->canvasvar_MarkerTrack.get(); stream_base_color = ARDOUR_UI::config()->get_canvasvar_MarkerTrack();
canvas_group = new ArdourCanvas::Group (*_trackview.canvas_display); canvas_group = new ArdourCanvas::Group (*_trackview.canvas_display);
@ -58,7 +58,7 @@ MarkerTimeAxisView::MarkerTimeAxisView(MarkerTimeAxis& tv)
canvas_rect->property_y1() = 0.0; canvas_rect->property_y1() = 0.0;
canvas_rect->property_x2() = max_framepos; canvas_rect->property_x2() = max_framepos;
canvas_rect->property_y2() = (double)20; canvas_rect->property_y2() = (double)20;
canvas_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerTrack.get(); canvas_rect->property_outline_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MarkerTrack();
canvas_rect->property_fill_color_rgba() = stream_base_color; canvas_rect->property_fill_color_rgba() = stream_base_color;
canvas_rect->signal_event().connect (sigc::bind (sigc::mem_fun (_trackview.editor, &PublicEditor::canvas_marker_time_axis_view_event), canvas_rect, &_trackview)); canvas_rect->signal_event().connect (sigc::bind (sigc::mem_fun (_trackview.editor, &PublicEditor::canvas_marker_time_axis_view_event), canvas_rect, &_trackview));

View file

@ -2554,7 +2554,7 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
// calculate the colors: get the color settings // calculate the colors: get the color settings
uint32_t fill_color = UINT_RGBA_CHANGE_A( uint32_t fill_color = UINT_RGBA_CHANGE_A(
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(),
128); 128);
// make the resize preview notes more transparent and bright // make the resize preview notes more transparent and bright
@ -2567,7 +2567,7 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
0.85)); 0.85));
resize_rect->set_outline_color (NoteBase::calculate_outline ( resize_rect->set_outline_color (NoteBase::calculate_outline (
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get())); ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected()));
resize_data->resize_rect = resize_rect; resize_data->resize_rect = resize_rect;
_resize_data.push_back(resize_data); _resize_data.push_back(resize_data);
@ -3205,9 +3205,9 @@ MidiRegionView::set_frame_color()
} }
if (_selected) { if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get(); f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
} else if (high_enough_for_name) { } else if (high_enough_for_name) {
f= ARDOUR_UI::config()->canvasvar_MidiFrameBase.get(); f= ARDOUR_UI::config()->get_canvasvar_MidiFrameBase();
} else { } else {
f = fill_color; f = fill_color;
} }

View file

@ -298,7 +298,7 @@ MidiStreamView::draw_note_lines()
for (int i = lowest_note(); i <= highest_note(); ++i) { for (int i = lowest_note(); i <= highest_note(); ++i) {
y = floor(note_to_y(i)); y = floor(note_to_y(i));
_note_lines->add (prev_y, 1.0, ARDOUR_UI::config()->canvasvar_PianoRollBlackOutline.get()); _note_lines->add (prev_y, 1.0, ARDOUR_UI::config()->get_canvasvar_PianoRollBlackOutline());
switch (i % 12) { switch (i % 12) {
case 1: case 1:
@ -306,10 +306,10 @@ MidiStreamView::draw_note_lines()
case 6: case 6:
case 8: case 8:
case 10: case 10:
color = ARDOUR_UI::config()->canvasvar_PianoRollBlack.get(); color = ARDOUR_UI::config()->get_canvasvar_PianoRollBlack();
break; break;
default: default:
color = ARDOUR_UI::config()->canvasvar_PianoRollWhite.get(); color = ARDOUR_UI::config()->get_canvasvar_PianoRollWhite();
break; break;
} }
@ -483,11 +483,11 @@ MidiStreamView::setup_rec_box ()
gdouble const xend = xstart; gdouble const xend = xstart;
uint32_t fill_color; uint32_t fill_color;
fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get(); fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group); ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group);
rec_rect->set (ArdourCanvas::Rect (xstart, 1, xend, _trackview.current_height() - 1)); rec_rect->set (ArdourCanvas::Rect (xstart, 1, xend, _trackview.current_height() - 1));
rec_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_RecordingRect.get()); rec_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RecordingRect());
rec_rect->set_fill_color (fill_color); rec_rect->set_fill_color (fill_color);
rec_rect->lower_to_bottom(); rec_rect->lower_to_bottom();
@ -560,9 +560,9 @@ MidiStreamView::color_handler ()
draw_note_lines (); draw_note_lines ();
if (_trackview.is_midi_track()) { if (_trackview.is_midi_track()) {
canvas_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_MidiTrackBase.get()); canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MidiTrackBase());
} else { } else {
canvas_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_MidiBusBase.get()); canvas_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_MidiBusBase());
} }
} }

View file

@ -435,12 +435,12 @@ MonoPanner::on_key_press_event (GdkEventKey* ev)
void void
MonoPanner::set_colors () MonoPanner::set_colors ()
{ {
colors.fill = ARDOUR_UI::config()->canvasvar_MonoPannerFill.get(); colors.fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerFill();
colors.outline = ARDOUR_UI::config()->canvasvar_MonoPannerOutline.get(); colors.outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerOutline();
colors.text = ARDOUR_UI::config()->canvasvar_MonoPannerText.get(); colors.text = ARDOUR_UI::config()->get_canvasvar_MonoPannerText();
colors.background = ARDOUR_UI::config()->canvasvar_MonoPannerBackground.get(); colors.background = ARDOUR_UI::config()->get_canvasvar_MonoPannerBackground();
colors.pos_outline = ARDOUR_UI::config()->canvasvar_MonoPannerPositionOutline.get(); colors.pos_outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionOutline();
colors.pos_fill = ARDOUR_UI::config()->canvasvar_MonoPannerPositionFill.get(); colors.pos_fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionFill();
} }
void void

View file

@ -98,7 +98,7 @@ NoteBase::show_velocity()
if (!_text) { if (!_text) {
_text = new Text (_item->parent ()); _text = new Text (_item->parent ());
_text->set_ignore_events (true); _text->set_ignore_events (true);
_text->set_color (ARDOUR_UI::config()->canvasvar_MidiNoteVelocityText.get()); _text->set_color (ARDOUR_UI::config()->get_canvasvar_MidiNoteVelocityText());
_text->set_alignment (Pango::ALIGN_CENTER); _text->set_alignment (Pango::ALIGN_CENTER);
} }
@ -123,8 +123,8 @@ NoteBase::on_channel_selection_change(uint16_t selection)
{ {
// make note change its color if its channel is not marked active // make note change its color if its channel is not marked active
if ( (selection & (1 << _note->channel())) == 0 ) { if ( (selection & (1 << _note->channel())) == 0 ) {
set_fill_color(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get()); set_fill_color(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel());
set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get())); set_outline_color(calculate_outline(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel()));
} else { } else {
// set the color according to the notes selection state // set the color according to the notes selection state
set_selected(_selected); set_selected(_selected);
@ -202,7 +202,7 @@ NoteBase::set_selected(bool selected)
set_fill_color (base_color ()); set_fill_color (base_color ());
if (_selected) { if (_selected) {
set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get())); set_outline_color(calculate_outline(ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected()));
if(_region.channel_selector_scoped_note() != 0){ if(_region.channel_selector_scoped_note() != 0){
_region.channel_selector_scoped_note()->hide_channel_selector(); _region.channel_selector_scoped_note()->hide_channel_selector();
@ -236,13 +236,13 @@ NoteBase::base_color()
SCALE_USHORT_TO_UINT8_T(color.get_green()), SCALE_USHORT_TO_UINT8_T(color.get_green()),
SCALE_USHORT_TO_UINT8_T(color.get_blue()), SCALE_USHORT_TO_UINT8_T(color.get_blue()),
opacity), opacity),
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5); ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(), 0.5);
} }
case ChannelColors: case ChannelColors:
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()], return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()],
opacity), opacity),
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5); ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(), 0.5);
default: default:
return meter_style_fill_color(_note->velocity(), selected()); return meter_style_fill_color(_note->velocity(), selected());

View file

@ -112,25 +112,25 @@ public:
if (selected) { if (selected) {
if (vel < 64) { if (vel < 64) {
return UINT_INTERPOLATE( return UINT_INTERPOLATE(
ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorBase.get(), ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorBase(),
ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(), ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorMid(),
(vel / (double)63.0)); (vel / (double)63.0));
} else { } else {
return UINT_INTERPOLATE( return UINT_INTERPOLATE(
ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(), ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorMid(),
ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorTop.get(), ARDOUR_UI::config()->get_canvasvar_SelectedMidiNoteColorTop(),
((vel-64) / (double)63.0)); ((vel-64) / (double)63.0));
} }
} else { } else {
if (vel < 64) { if (vel < 64) {
return UINT_INTERPOLATE( return UINT_INTERPOLATE(
ARDOUR_UI::config()->canvasvar_MidiNoteColorBase.get(), ARDOUR_UI::config()->get_canvasvar_MidiNoteColorBase(),
ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(), ARDOUR_UI::config()->get_canvasvar_MidiNoteColorMid(),
(vel / (double)63.0)); (vel / (double)63.0));
} else { } else {
return UINT_INTERPOLATE( return UINT_INTERPOLATE(
ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(), ARDOUR_UI::config()->get_canvasvar_MidiNoteColorMid(),
ARDOUR_UI::config()->canvasvar_MidiNoteColorTop.get(), ARDOUR_UI::config()->get_canvasvar_MidiNoteColorTop(),
((vel-64) / (double)63.0)); ((vel-64) / (double)63.0));
} }
} }

View file

@ -53,8 +53,8 @@ PatchChange::PatchChange(
_flag = new ArdourCanvas::Flag ( _flag = new ArdourCanvas::Flag (
parent, parent,
height, height,
ARDOUR_UI::config()->canvasvar_MidiPatchChangeOutline.get(), ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeOutline(),
ARDOUR_UI::config()->canvasvar_MidiPatchChangeFill.get(), ARDOUR_UI::config()->get_canvasvar_MidiPatchChangeFill(),
ArdourCanvas::Duple (x, y) ArdourCanvas::Duple (x, y)
); );

View file

@ -234,7 +234,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
return; return;
} }
uint32_t const color = ARDOUR_UI::config()->canvasvar_Silence.get(); uint32_t const color = ARDOUR_UI::config()->get_canvasvar_Silence();
for (AudioIntervalResult::const_iterator i = silences.begin(); i != silences.end(); ++i) { for (AudioIntervalResult::const_iterator i = silences.begin(); i != silences.end(); ++i) {
@ -275,7 +275,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
_silence_text = new ArdourCanvas::Text (group); _silence_text = new ArdourCanvas::Text (group);
_silence_text->set_ignore_events (true); _silence_text->set_ignore_events (true);
_silence_text->set_font_description (get_font_for_style (N_("SilenceText"))); _silence_text->set_font_description (get_font_for_style (N_("SilenceText")));
_silence_text->set_color (ARDOUR_UI::config()->canvasvar_SilenceText.get()); _silence_text->set_color (ARDOUR_UI::config()->get_canvasvar_SilenceText());
/* both positions are relative to the region start offset in source */ /* both positions are relative to the region start offset in source */
@ -787,7 +787,7 @@ RegionView::update_coverage_frames (LayerDisplay d)
bool me = false; bool me = false;
/* the color that will be used to show parts of regions that will not be heard */ /* the color that will be used to show parts of regions that will not be heard */
uint32_t const non_playing_color = ARDOUR_UI::config()->canvasvar_CoveredRegion.get (); uint32_t const non_playing_color = ARDOUR_UI::config()->get_canvasvar_CoveredRegion ();
while (t < end) { while (t < end) {

View file

@ -774,8 +774,8 @@ RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layer
if (timestretch_rect == 0) { if (timestretch_rect == 0) {
timestretch_rect = new ArdourCanvas::Rectangle (canvas_display ()); timestretch_rect = new ArdourCanvas::Rectangle (canvas_display ());
timestretch_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TimeStretchFill.get()); timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
timestretch_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get()); timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
} }
timestretch_rect->show (); timestretch_rect->show ();
@ -1612,11 +1612,11 @@ RouteTimeAxisView::color_handler ()
{ {
//case cTimeStretchOutline: //case cTimeStretchOutline:
if (timestretch_rect) { if (timestretch_rect) {
timestretch_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get()); timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
} }
//case cTimeStretchFill: //case cTimeStretchFill:
if (timestretch_rect) { if (timestretch_rect) {
timestretch_rect->set_fill_color (ARDOUR_UI::config()->canvasvar_TimeStretchFill.get()); timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
} }
reset_meter(); reset_meter();

View file

@ -112,7 +112,7 @@ ShuttleControl::on_size_allocate (Gtk::Allocation& alloc)
//background //background
pattern = cairo_pattern_create_linear (0, 0, 0, alloc.get_height()); pattern = cairo_pattern_create_linear (0, 0, 0, alloc.get_height());
uint32_t col = ARDOUR_UI::config()->canvasvar_Shuttle.get(); uint32_t col = ARDOUR_UI::config()->get_canvasvar_Shuttle();
int r,b,g,a; int r,b,g,a;
UINT_TO_RGBA(col, &r, &g, &b, &a); UINT_TO_RGBA(col, &r, &g, &b, &a);
cairo_pattern_add_color_stop_rgb (pattern, 0.0, r/400.0, g/400.0, b/400.0); cairo_pattern_add_color_stop_rgb (pattern, 0.0, r/400.0, g/400.0, b/400.0);

View file

@ -615,23 +615,23 @@ StereoPanner::on_key_press_event (GdkEventKey* ev)
void void
StereoPanner::set_colors () StereoPanner::set_colors ()
{ {
colors[Normal].fill = ARDOUR_UI::config()->canvasvar_StereoPannerFill.get(); colors[Normal].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerFill();
colors[Normal].outline = ARDOUR_UI::config()->canvasvar_StereoPannerOutline.get(); colors[Normal].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerOutline();
colors[Normal].text = ARDOUR_UI::config()->canvasvar_StereoPannerText.get(); colors[Normal].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerText();
colors[Normal].background = ARDOUR_UI::config()->canvasvar_StereoPannerBackground.get(); colors[Normal].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerBackground();
colors[Normal].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get(); colors[Normal].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
colors[Mono].fill = ARDOUR_UI::config()->canvasvar_StereoPannerMonoFill.get(); colors[Mono].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoFill();
colors[Mono].outline = ARDOUR_UI::config()->canvasvar_StereoPannerMonoOutline.get(); colors[Mono].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoOutline();
colors[Mono].text = ARDOUR_UI::config()->canvasvar_StereoPannerMonoText.get(); colors[Mono].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoText();
colors[Mono].background = ARDOUR_UI::config()->canvasvar_StereoPannerMonoBackground.get(); colors[Mono].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerMonoBackground();
colors[Mono].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get(); colors[Mono].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
colors[Inverted].fill = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedFill.get(); colors[Inverted].fill = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedFill();
colors[Inverted].outline = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedOutline.get(); colors[Inverted].outline = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedOutline();
colors[Inverted].text = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedText.get(); colors[Inverted].text = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedText();
colors[Inverted].background = ARDOUR_UI::config()->canvasvar_StereoPannerInvertedBackground.get(); colors[Inverted].background = ARDOUR_UI::config()->get_canvasvar_StereoPannerInvertedBackground();
colors[Inverted].rule = ARDOUR_UI::config()->canvasvar_StereoPannerRule.get(); colors[Inverted].rule = ARDOUR_UI::config()->get_canvasvar_StereoPannerRule();
} }
void void

View file

@ -36,8 +36,8 @@ SysEx::SysEx (
_flag = new ArdourCanvas::Flag ( _flag = new ArdourCanvas::Flag (
parent, parent,
height, height,
ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(), ARDOUR_UI::config()->get_canvasvar_MidiSysExOutline(),
ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(), ARDOUR_UI::config()->get_canvasvar_MidiSysExFill(),
ArdourCanvas::Duple (x, y) ArdourCanvas::Duple (x, y)
); );

View file

@ -134,12 +134,12 @@ TempoLines::draw (const ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
for (i = begin; i != end; ++i) { for (i = begin; i != end; ++i) {
if ((*i).is_bar()) { if ((*i).is_bar()) {
color = ARDOUR_UI::config()->canvasvar_MeasureLineBar.get(); color = ARDOUR_UI::config()->get_canvasvar_MeasureLineBar();
} else { } else {
if (beat_density > 2.0) { if (beat_density > 2.0) {
continue; /* only draw beat lines if the gaps between beats are large. */ continue; /* only draw beat lines if the gaps between beats are large. */
} }
color = ARDOUR_UI::config()->canvasvar_MeasureLineBeat.get(); color = ARDOUR_UI::config()->get_canvasvar_MeasureLineBeat();
} }
xpos = rint(((framepos_t)(*i).frame) / (double)samples_per_pixel); xpos = rint(((framepos_t)(*i).frame) / (double)samples_per_pixel);

View file

@ -60,6 +60,8 @@ ThemeManager::ThemeManager()
, flat_buttons (_("Draw \"flat\" buttons")) , flat_buttons (_("Draw \"flat\" buttons"))
, waveform_gradient_depth (0, 1.0, 0.1) , waveform_gradient_depth (0, 1.0, 0.1)
, waveform_gradient_depth_label (_("Waveforms color gradient depth")) , waveform_gradient_depth_label (_("Waveforms color gradient depth"))
, timeline_item_gradient_depth (0, 2.0, 0.1)
, timeline_item_gradient_depth_label (_("Timeline item gradient depth"))
{ {
set_title (_("Theme Manager")); set_title (_("Theme Manager"));
@ -101,12 +103,19 @@ ThemeManager::ThemeManager()
hbox->set_spacing (6); hbox->set_spacing (6);
hbox->pack_start (waveform_gradient_depth, true, true); hbox->pack_start (waveform_gradient_depth, true, true);
hbox->pack_start (waveform_gradient_depth_label, false, false); hbox->pack_start (waveform_gradient_depth_label, false, false);
vbox->pack_start (*hbox, PACK_SHRINK);
hbox = Gtk::manage (new Gtk::HBox());
hbox->set_spacing (6);
hbox->pack_start (timeline_item_gradient_depth, true, true);
hbox->pack_start (timeline_item_gradient_depth_label, false, false);
vbox->pack_start (*hbox, PACK_SHRINK); vbox->pack_start (*hbox, PACK_SHRINK);
vbox->pack_start (scroller); vbox->pack_start (scroller);
add (*vbox); add (*vbox);
waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED); waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
timeline_item_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED);
color_display.signal_button_press_event().connect (sigc::mem_fun (*this, &ThemeManager::button_press_event), false); color_display.signal_button_press_event().connect (sigc::mem_fun (*this, &ThemeManager::button_press_event), false);
@ -120,6 +129,7 @@ ThemeManager::ThemeManager()
reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors)); reset_button.signal_clicked().connect (sigc::mem_fun (*this, &ThemeManager::reset_canvas_colors));
flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled)); flat_buttons.signal_toggled().connect (sigc::mem_fun (*this, &ThemeManager::on_flat_buttons_toggled));
waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change)); waveform_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_waveform_gradient_depth_change));
timeline_item_gradient_depth.signal_value_changed().connect (sigc::mem_fun (*this, &ThemeManager::on_timeline_item_gradient_depth_change));
set_size_request (-1, 400); set_size_request (-1, 400);
setup_theme (); setup_theme ();
@ -249,7 +259,7 @@ load_rc_file (const string& filename, bool themechange)
void void
ThemeManager::on_flat_buttons_toggled () ThemeManager::on_flat_buttons_toggled ()
{ {
ARDOUR_UI::config()->flat_buttons.set (flat_buttons.get_active()); ARDOUR_UI::config()->set_flat_buttons (flat_buttons.get_active());
ARDOUR_UI::config()->set_dirty (); ARDOUR_UI::config()->set_dirty ();
ArdourButton::set_flat_buttons (flat_buttons.get_active()); ArdourButton::set_flat_buttons (flat_buttons.get_active());
/* force a redraw */ /* force a redraw */
@ -261,24 +271,34 @@ ThemeManager::on_waveform_gradient_depth_change ()
{ {
double v = waveform_gradient_depth.get_value(); double v = waveform_gradient_depth.get_value();
ARDOUR_UI::config()->waveform_gradient_depth.set (v); ARDOUR_UI::config()->set_waveform_gradient_depth (v);
ARDOUR_UI::config()->set_dirty (); ARDOUR_UI::config()->set_dirty ();
ArdourCanvas::WaveView::set_global_gradient_depth (v); ArdourCanvas::WaveView::set_global_gradient_depth (v);
} }
void
ThemeManager::on_timeline_item_gradient_depth_change ()
{
double v = timeline_item_gradient_depth.get_value();
ARDOUR_UI::config()->set_timeline_item_gradient_depth (v);
ARDOUR_UI::config()->set_dirty ();
}
void void
ThemeManager::on_dark_theme_button_toggled() ThemeManager::on_dark_theme_button_toggled()
{ {
if (!dark_button.get_active()) return; if (!dark_button.get_active()) return;
if (HACK_PROFILE_IS_SAE()){ if (HACK_PROFILE_IS_SAE()){
ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark_sae.rc"); ARDOUR_UI::config()->set_ui_rc_file("ardour3_ui_dark_sae.rc");
} else { } else {
ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark.rc"); ARDOUR_UI::config()->set_ui_rc_file("ardour3_ui_dark.rc");
} }
ARDOUR_UI::config()->set_dirty (); ARDOUR_UI::config()->set_dirty ();
load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true); load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
} }
void void
@ -287,12 +307,12 @@ ThemeManager::on_light_theme_button_toggled()
if (!light_button.get_active()) return; if (!light_button.get_active()) return;
if (HACK_PROFILE_IS_SAE()){ if (HACK_PROFILE_IS_SAE()){
ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light_sae.rc"); ARDOUR_UI::config()->set_ui_rc_file("ardour3_ui_light_sae.rc");
} else { } else {
ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_light.rc"); ARDOUR_UI::config()->set_ui_rc_file("ardour3_ui_light.rc");
} }
load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true); load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
} }
void void
@ -365,7 +385,7 @@ ThemeManager::setup_theme ()
string rcfile = Glib::getenv("ARDOUR3_UI_RC", env_defined); string rcfile = Glib::getenv("ARDOUR3_UI_RC", env_defined);
if(!env_defined) { if(!env_defined) {
rcfile = ARDOUR_UI::config()->ui_rc_file.get(); rcfile = ARDOUR_UI::config()->get_ui_rc_file();
} }
if (rcfile == "ardour3_ui_dark.rc" || rcfile == "ardour3_ui_dark_sae.rc") { if (rcfile == "ardour3_ui_dark.rc" || rcfile == "ardour3_ui_dark_sae.rc") {
@ -374,8 +394,9 @@ ThemeManager::setup_theme ()
light_button.set_active(); light_button.set_active();
} }
flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get()); flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
waveform_gradient_depth.set_value (ARDOUR_UI::config()->waveform_gradient_depth.get()); waveform_gradient_depth.set_value (ARDOUR_UI::config()->get_waveform_gradient_depth());
timeline_item_gradient_depth.set_value (ARDOUR_UI::config()->get_timeline_item_gradient_depth());
load_rc_file(rcfile, false); load_rc_file(rcfile, false);
} }

View file

@ -45,6 +45,7 @@ class ThemeManager : public ArdourWindow
void on_light_theme_button_toggled (); void on_light_theme_button_toggled ();
void on_flat_buttons_toggled (); void on_flat_buttons_toggled ();
void on_waveform_gradient_depth_change (); void on_waveform_gradient_depth_change ();
void on_timeline_item_gradient_depth_change ();
private: private:
struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord { struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
@ -73,6 +74,8 @@ class ThemeManager : public ArdourWindow
Gtk::CheckButton flat_buttons; Gtk::CheckButton flat_buttons;
Gtk::HScale waveform_gradient_depth; Gtk::HScale waveform_gradient_depth;
Gtk::Label waveform_gradient_depth_label; Gtk::Label waveform_gradient_depth_label;
Gtk::HScale timeline_item_gradient_depth;
Gtk::Label timeline_item_gradient_depth_label;
bool button_press_event (GdkEventButton*); bool button_press_event (GdkEventButton*);
}; };

View file

@ -944,7 +944,7 @@ TimeAxisView::get_selection_rect (uint32_t id)
rect->rect = new ArdourCanvas::Rectangle (selection_group); rect->rect = new ArdourCanvas::Rectangle (selection_group);
rect->rect->set_outline_what (0); rect->rect->set_outline_what (0);
rect->rect->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectionRect.get()); rect->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
rect->start_trim = new ArdourCanvas::Rectangle (selection_group); rect->start_trim = new ArdourCanvas::Rectangle (selection_group);
rect->start_trim->set_outline_what (0); rect->start_trim->set_outline_what (0);
@ -1116,26 +1116,26 @@ TimeAxisView::color_handler ()
for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) { for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) {
(*i)->rect->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectionRect.get()); (*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
(*i)->rect->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->start_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->start_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->start_trim->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->start_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->end_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->end_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->end_trim->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->end_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
} }
for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) { for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) {
(*i)->rect->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectionRect.get()); (*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
(*i)->rect->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->start_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->start_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->start_trim->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->start_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->end_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->end_trim->set_fill_color (ARDOUR_UI::config()->get_canvasvar_Selection());
(*i)->end_trim->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get()); (*i)->end_trim->set_outline_color (ARDOUR_UI::config()->get_canvasvar_Selection());
} }
} }

View file

@ -17,6 +17,8 @@
*/ */
#include <utility>
#include "pbd/error.h" #include "pbd/error.h"
#include "pbd/stacktrace.h" #include "pbd/stacktrace.h"
@ -30,6 +32,7 @@
#include "canvas/rectangle.h" #include "canvas/rectangle.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "canvas/text.h" #include "canvas/text.h"
#include "canvas/utils.h"
#include "ardour_ui.h" #include "ardour_ui.h"
/* /*
@ -169,8 +172,8 @@ TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & ba
vestigial_frame = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height())); vestigial_frame = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height()));
vestigial_frame->hide (); vestigial_frame->hide ();
vestigial_frame->set_outline_color (ARDOUR_UI::config()->canvasvar_VestigialFrame.get()); vestigial_frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_VestigialFrame());
vestigial_frame->set_fill_color (ARDOUR_UI::config()->canvasvar_VestigialFrame.get()); vestigial_frame->set_fill_color (ARDOUR_UI::config()->get_canvasvar_VestigialFrame());
if (visibility & ShowFrame) { if (visibility & ShowFrame) {
frame = new ArdourCanvas::Rectangle (group, frame = new ArdourCanvas::Rectangle (group,
@ -179,9 +182,9 @@ TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & ba
trackview.current_height())); trackview.current_height()));
if (_recregion) { if (_recregion) {
frame->set_outline_color (ARDOUR_UI::config()->canvasvar_RecordingRect.get()); frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RecordingRect());
} else { } else {
frame->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get()); frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame());
} }
} else { } else {
@ -240,6 +243,7 @@ TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & ba
set_position (start, this); set_position (start, this);
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&TimeAxisViewItem::parameter_changed, this, _1), gui_context ()); Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&TimeAxisViewItem::parameter_changed, this, _1), gui_context ());
ARDOUR_UI::config()->ParameterChanged.connect (sigc::mem_fun (*this, &TimeAxisViewItem::parameter_changed));
} }
TimeAxisViewItem::~TimeAxisViewItem() TimeAxisViewItem::~TimeAxisViewItem()
@ -722,7 +726,7 @@ TimeAxisViewItem::set_frame_color()
if (_selected) { if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get(); f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
if (fill_opacity) { if (fill_opacity) {
f = UINT_RGBA_CHANGE_A (f, fill_opacity); f = UINT_RGBA_CHANGE_A (f, fill_opacity);
@ -735,11 +739,11 @@ TimeAxisViewItem::set_frame_color()
} else { } else {
if (_recregion) { if (_recregion) {
f = ARDOUR_UI::config()->canvasvar_RecordingRect.get(); f = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
} else { } else {
if (high_enough_for_name && !Config->get_color_regions_using_track_color()) { if (high_enough_for_name && !Config->get_color_regions_using_track_color()) {
f = ARDOUR_UI::config()->canvasvar_FrameBase.get(); f = ARDOUR_UI::config()->get_canvasvar_FrameBase();
} else { } else {
f = fill_color; f = fill_color;
} }
@ -755,12 +759,13 @@ TimeAxisViewItem::set_frame_color()
} }
frame->set_fill_color (f); frame->set_fill_color (f);
set_frame_gradient ();
if (!_recregion) { if (!_recregion) {
if (_selected) { if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedTimeAxisFrame.get(); f = ARDOUR_UI::config()->get_canvasvar_SelectedTimeAxisFrame();
} else { } else {
f = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get(); f = ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame();
} }
if (!rect_visible) { if (!rect_visible) {
@ -771,6 +776,38 @@ TimeAxisViewItem::set_frame_color()
} }
} }
void
TimeAxisViewItem::set_frame_gradient ()
{
if (ARDOUR_UI::config()->get_timeline_item_gradient_depth() == 0.0) {
frame->set_gradient (ArdourCanvas::Fill::StopList (), 0);
return;
}
ArdourCanvas::Fill::StopList stops;
double r, g, b, a;
double h, s, v;
ArdourCanvas::Color f (frame->fill_color());
/* need to get alpha value */
ArdourCanvas::color_to_rgba (f, r, g, b, a);
stops.push_back (std::make_pair (0.0, f));
/* now a darker version */
ArdourCanvas::color_to_hsv (f, h, s, v);
s *= ARDOUR_UI::config()->get_timeline_item_gradient_depth();
if (s > 1.0) {
s = 1.0;
}
ArdourCanvas::Color darker = ArdourCanvas::hsv_to_color (h, s, v, a);
stops.push_back (std::make_pair (1.0, darker));
frame->set_gradient (stops, _height);
}
/** /**
* Set the colors of the start and end trim handle depending on object state * Set the colors of the start and end trim handle depending on object state
*/ */
@ -779,11 +816,11 @@ TimeAxisViewItem::set_trim_handle_colors()
{ {
if (frame_handle_start) { if (frame_handle_start) {
if (position_locked) { if (position_locked) {
frame_handle_start->set_fill_color (ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get()); frame_handle_start->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandleLocked());
frame_handle_end->set_fill_color (ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get()); frame_handle_end->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TrimHandleLocked());
} else { } else {
frame_handle_start->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); frame_handle_start->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->get_canvasvar_TrimHandle();
frame_handle_end->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); frame_handle_end->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->get_canvasvar_TrimHandle();
} }
} }
} }
@ -968,5 +1005,7 @@ TimeAxisViewItem::parameter_changed (string p)
{ {
if (p == "color-regions-using-track-color") { if (p == "color-regions-using-track-color") {
set_frame_color (); set_frame_color ();
} else if (p == "timeline-item-gradient-depth") {
set_frame_gradient ();
} }
} }

View file

@ -161,6 +161,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
virtual void compute_colors (Gdk::Color const &); virtual void compute_colors (Gdk::Color const &);
virtual void set_colors(); virtual void set_colors();
virtual void set_frame_color(); virtual void set_frame_color();
virtual void set_frame_gradient ();
void set_trim_handle_colors(); void set_trim_handle_colors();
virtual void reset_width_dependent_items (double); virtual void reset_width_dependent_items (double);

View file

@ -94,15 +94,32 @@ class UIConfiguration : public PBD::Stateful
sigc::signal<void,const char*> ParameterChanged; sigc::signal<void,const char*> ParameterChanged;
#undef UI_CONFIG_VARIABLE #undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE #define UI_CONFIG_VARIABLE(Type,var,name,value) \
#define UI_CONFIG_VARIABLE(Type,var,name,val) UIConfigVariable<Type> var; Type get_##var () const { return var.get(); } \
#define CANVAS_VARIABLE(var,name) UIConfigVariable<uint32_t> var; bool set_##var (Type val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
#include "ui_config_vars.h" #include "ui_config_vars.h"
#include "canvas_vars.h"
#undef UI_CONFIG_VARIABLE #undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
#define CANVAS_VARIABLE(var,name) \
uint32_t get_##var () const { return var.get(); } \
bool set_##var (uint32_t val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
#include "canvas_vars.h"
#undef CANVAS_VARIABLE #undef CANVAS_VARIABLE
private: private:
/* declare variables */
#undef UI_CONFIG_VARIABLE
#define UI_CONFIG_VARIABLE(Type,var,name,value) UIConfigVariable<Type> var;
#include "ui_config_vars.h"
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
#define CANVAS_VARIABLE(var,name) UIConfigVariable<uint32_t> var;
#include "canvas_vars.h"
#undef CANVAS_VARIABLE
XMLNode& state (); XMLNode& state ();
bool _dirty; bool _dirty;
}; };

View file

@ -20,4 +20,5 @@
UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ardour3_ui_dark.rc") UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "ardour3_ui_dark.rc")
UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false) UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false)
UI_CONFIG_VARIABLE(float, waveform_gradient_depth, "waveform-gradient-depth", 0.6) UI_CONFIG_VARIABLE(float, waveform_gradient_depth, "waveform-gradient-depth", 0.6)
UI_CONFIG_VARIABLE(float, timeline_item_gradient_depth, "timeline-item-gradient-depth", 1.3)

View file

@ -20,6 +20,7 @@
#ifndef __CANVAS_FILL_H__ #ifndef __CANVAS_FILL_H__
#define __CANVAS_FILL_H__ #define __CANVAS_FILL_H__
#include <vector>
#include <stdint.h> #include <stdint.h>
#include "canvas/item.h" #include "canvas/item.h"
@ -41,11 +42,16 @@ public:
return _fill; return _fill;
} }
typedef std::vector<std::pair<double,Color> > StopList;
void set_gradient (StopList const & stops, double height);
protected: protected:
void setup_fill_context (Cairo::RefPtr<Cairo::Context>) const; void setup_fill_context (Cairo::RefPtr<Cairo::Context>) const;
Color _fill_color; Color _fill_color;
bool _fill; bool _fill;
Cairo::RefPtr<Cairo::LinearGradient> _gradient;
}; };
} }

View file

@ -59,5 +59,31 @@ Fill::set_fill (bool fill)
void void
Fill::setup_fill_context (Cairo::RefPtr<Cairo::Context> context) const Fill::setup_fill_context (Cairo::RefPtr<Cairo::Context> context) const
{ {
if (_gradient) {
context->set_source (_gradient);
} else {
set_source_rgba (context, _fill_color); set_source_rgba (context, _fill_color);
}
}
void
Fill::set_gradient (StopList const & stops, double height)
{
begin_visual_change ();
if (stops.empty()) {
_gradient.clear();
} else {
double r, g, b, a;
_gradient = Cairo::LinearGradient::create (0, 0, 0, height);
for (StopList::const_iterator s = stops.begin(); s != stops.end(); ++s) {
color_to_rgba (s->second, r, g, b, a);
_gradient->add_color_stop_rgba (s->first, r, g, b, a);
}
}
end_visual_change ();
} }