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) {
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 {
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();
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) {
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 {
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_zero_color (ARDOUR_UI::config()->canvasvar_ZeroLine.get());
waves[n]->set_clip_color (ARDOUR_UI::config()->get_canvasvar_WaveFormClip());
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;
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_fill_color (ARDOUR_UI::config()->canvasvar_RecWaveFormFill.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()->get_canvasvar_RecWaveFormFill());
} 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_fill_color (ARDOUR_UI::config()->canvasvar_WaveFormFill.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()->get_canvasvar_WaveFormFill());
}
wave->set_clip_color (ARDOUR_UI::config()->canvasvar_WaveFormClip.get());
wave->set_zero_color (ARDOUR_UI::config()->canvasvar_ZeroLine.get());
wave->set_clip_color (ARDOUR_UI::config()->get_canvasvar_WaveFormClip());
wave->set_zero_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
// CAIROCANVAS
// wave->property_zero_line() = true;
@ -1133,7 +1133,7 @@ void
AudioRegionView::envelope_active_changed ()
{
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 (_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 {
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 {
if (_recregion) {
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 {
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 {
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 {
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);
// CAIROCANVAS
// 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) {
start_xfade_out = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS
// 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);
}
@ -1403,7 +1403,7 @@ AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, frame
// CAIROCANVAS
// start_xfade_rect->property_draw() = 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->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);
@ -1495,14 +1495,14 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecn
end_xfade_in = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS
// 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) {
end_xfade_out = new ArdourCanvas::PolyLine (group);
// CAIROCANVAS
// 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);
}
@ -1511,7 +1511,7 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecn
// CAIROCANVAS
// end_xfade_rect->property_draw() = 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->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);

View File

@ -271,12 +271,12 @@ AudioStreamView::setup_rec_box ()
case Normal:
case NonLayered:
xend = xstart;
fill_color = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
fill_color = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
break;
case Destructive:
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
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_y1 (child_height ());
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->lower_to_bottom();
@ -529,15 +529,15 @@ AudioStreamView::color_handler ()
{
//case cAudioTrackBase:
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:
if (!_trackview.is_track()) {
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 {
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 ()
{
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) {
(*i)->set_color ();
}

View File

@ -186,11 +186,11 @@ void
AutomationStreamView::color_handler ()
{
/*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()) {
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->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 */
_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);
@ -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 ();
add_line (line);
}

View File

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

View File

@ -46,8 +46,8 @@ ControlPoint::ControlPoint (AutomationLine& al)
_item = new ArdourCanvas::Rectangle (&_line.canvas_group());
_item->property_draw() = true;
_item->set_fill (false);
_item->set_fill_color (ARDOUR_UI::config()->canvasvar_ControlPointFill.get());
_item->set_outline_color (ARDOUR_UI::config()->canvasvar_ControlPointOutline.get());
_item->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ControlPointFill());
_item->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ControlPointOutline());
_item->set_outline_width (1);
_item->set_data ("control_point", this);
_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->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);
/* NOTE: no event handling in copied ControlPoints */
@ -133,13 +133,13 @@ ControlPoint::set_color ()
uint32_t color = 0;
if (_selected) {
color = ARDOUR_UI::config()->canvasvar_ControlPointSelected.get();
color = ARDOUR_UI::config()->get_canvasvar_ControlPointSelected();
} else {
color = ARDOUR_UI::config()->canvasvar_ControlPointOutline.get();
color = ARDOUR_UI::config()->get_canvasvar_ControlPointOutline();
}
_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

View File

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

View File

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

View File

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

View File

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

View File

@ -1860,7 +1860,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
if (mouse_mode == MouseGain) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
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()) {
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) {
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
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()) {
set_canvas_cursor (_cursors->fader);
@ -1980,7 +1980,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
break;
}
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
case MeterMarkerItem:
case TempoMarkerItem:
@ -2172,7 +2172,7 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
case FeatureLineItem:
{
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;

View File

@ -85,7 +85,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
if ((ms = dynamic_cast<const MeterSection*>(*i)) != 0) {
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))));
} else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) {
if (Config->get_allow_non_quarter_pulse()) {
@ -93,7 +93,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
} else {
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))));
}

View File

@ -145,7 +145,7 @@ void
GainMeterBase::set_flat_buttons ()
{
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 ()

View File

@ -83,8 +83,8 @@ void
GhostRegion::set_colors ()
{
if (is_automation_ghost()) {
base_rect->set_outline_color (ARDOUR_UI::config()->canvasvar_GhostTrackBase.get());
base_rect->set_fill_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()->get_canvasvar_GhostTrackBase());
}
}
@ -138,17 +138,17 @@ AudioGhostRegion::set_colors ()
guint fill_color;
if (is_automation_ghost()) {
fill_color = ARDOUR_UI::config()->canvasvar_GhostTrackWaveFill.get();
fill_color = ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveFill();
}
else {
fill_color = source_track_color(200);
}
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_clip_color (ARDOUR_UI::config()->canvasvar_GhostTrackWaveClip.get());
waves[n]->set_zero_color (ARDOUR_UI::config()->canvasvar_GhostTrackZeroLine.get());
waves[n]->set_clip_color (ARDOUR_UI::config()->get_canvasvar_GhostTrackWaveClip());
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) {
(*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);
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();

View File

@ -52,9 +52,9 @@ ImageFrameTimeAxisView::ImageFrameTimeAxisView (ImageFrameTimeAxis& tv)
canvas_rect (canvas_group, 0.0, 0.0, 1000000.0, tv.current_height())
{
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.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) {
uint32_t b, m, t, c;
if (n < nmidi) {
b = ARDOUR_UI::config()->canvasvar_MidiMeterColorBase.get();
m = ARDOUR_UI::config()->canvasvar_MidiMeterColorMid.get();
t = ARDOUR_UI::config()->canvasvar_MidiMeterColorTop.get();
c = ARDOUR_UI::config()->canvasvar_MeterColorClip.get();
b = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorBase();
m = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorMid();
t = ARDOUR_UI::config()->get_canvasvar_MidiMeterColorTop();
c = ARDOUR_UI::config()->get_canvasvar_MeterColorClip();
} else {
b = ARDOUR_UI::config()->canvasvar_MeterColorBase.get();
m = ARDOUR_UI::config()->canvasvar_MeterColorMid.get();
t = ARDOUR_UI::config()->canvasvar_MeterColorTop.get();
c = ARDOUR_UI::config()->canvasvar_MeterColorClip.get();
b = ARDOUR_UI::config()->get_canvasvar_MeterColorBase();
m = ARDOUR_UI::config()->get_canvasvar_MeterColorMid();
t = ARDOUR_UI::config()->get_canvasvar_MeterColorTop();
c = ARDOUR_UI::config()->get_canvasvar_MeterColorClip();
}
if (meters[n].width != width || meters[n].length != len || color_changed) {
delete meters[n].meter;

View File

@ -335,11 +335,11 @@ Marker::setup_line ()
if (_time_bars_line == 0) {
_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));
_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));
}
@ -350,7 +350,7 @@ Marker::setup_line ()
_time_bars_line->set_x1 (d.x);
_time_bars_line->set_y0 (d.y);
_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->show ();
@ -359,7 +359,7 @@ Marker::setup_line ()
_track_canvas_line->set_x1 (d.x);
_track_canvas_line->set_y0 (d.y);
_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->show ();

View File

@ -49,7 +49,7 @@ MarkerTimeAxisView::MarkerTimeAxisView(MarkerTimeAxis& tv)
: _trackview (tv)
{
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);
@ -58,7 +58,7 @@ MarkerTimeAxisView::MarkerTimeAxisView(MarkerTimeAxis& tv)
canvas_rect->property_y1() = 0.0;
canvas_rect->property_x2() = max_framepos;
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->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
uint32_t fill_color = UINT_RGBA_CHANGE_A(
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(),
ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(),
128);
// make the resize preview notes more transparent and bright
@ -2567,7 +2567,7 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
0.85));
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.push_back(resize_data);
@ -3205,9 +3205,9 @@ MidiRegionView::set_frame_color()
}
if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get();
f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
} else if (high_enough_for_name) {
f= ARDOUR_UI::config()->canvasvar_MidiFrameBase.get();
f= ARDOUR_UI::config()->get_canvasvar_MidiFrameBase();
} else {
f = fill_color;
}

View File

@ -298,7 +298,7 @@ MidiStreamView::draw_note_lines()
for (int i = lowest_note(); i <= highest_note(); ++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) {
case 1:
@ -306,10 +306,10 @@ MidiStreamView::draw_note_lines()
case 6:
case 8:
case 10:
color = ARDOUR_UI::config()->canvasvar_PianoRollBlack.get();
color = ARDOUR_UI::config()->get_canvasvar_PianoRollBlack();
break;
default:
color = ARDOUR_UI::config()->canvasvar_PianoRollWhite.get();
color = ARDOUR_UI::config()->get_canvasvar_PianoRollWhite();
break;
}
@ -483,11 +483,11 @@ MidiStreamView::setup_rec_box ()
gdouble const xend = xstart;
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);
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->lower_to_bottom();
@ -560,9 +560,9 @@ MidiStreamView::color_handler ()
draw_note_lines ();
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 {
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
MonoPanner::set_colors ()
{
colors.fill = ARDOUR_UI::config()->canvasvar_MonoPannerFill.get();
colors.outline = ARDOUR_UI::config()->canvasvar_MonoPannerOutline.get();
colors.text = ARDOUR_UI::config()->canvasvar_MonoPannerText.get();
colors.background = ARDOUR_UI::config()->canvasvar_MonoPannerBackground.get();
colors.pos_outline = ARDOUR_UI::config()->canvasvar_MonoPannerPositionOutline.get();
colors.pos_fill = ARDOUR_UI::config()->canvasvar_MonoPannerPositionFill.get();
colors.fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerFill();
colors.outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerOutline();
colors.text = ARDOUR_UI::config()->get_canvasvar_MonoPannerText();
colors.background = ARDOUR_UI::config()->get_canvasvar_MonoPannerBackground();
colors.pos_outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionOutline();
colors.pos_fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionFill();
}
void

View File

@ -98,7 +98,7 @@ NoteBase::show_velocity()
if (!_text) {
_text = new Text (_item->parent ());
_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);
}
@ -123,8 +123,8 @@ NoteBase::on_channel_selection_change(uint16_t selection)
{
// make note change its color if its channel is not marked active
if ( (selection & (1 << _note->channel())) == 0 ) {
set_fill_color(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get());
set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteInactiveChannel.get()));
set_fill_color(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel());
set_outline_color(calculate_outline(ARDOUR_UI::config()->get_canvasvar_MidiNoteInactiveChannel()));
} else {
// set the color according to the notes selection state
set_selected(_selected);
@ -202,7 +202,7 @@ NoteBase::set_selected(bool selected)
set_fill_color (base_color ());
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){
_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_blue()),
opacity),
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5);
ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(), 0.5);
}
case ChannelColors:
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()],
opacity),
ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5);
ARDOUR_UI::config()->get_canvasvar_MidiNoteSelected(), 0.5);
default:
return meter_style_fill_color(_note->velocity(), selected());

View File

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

View File

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

View File

@ -234,7 +234,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
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) {
@ -275,7 +275,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
_silence_text = new ArdourCanvas::Text (group);
_silence_text->set_ignore_events (true);
_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 */
@ -787,7 +787,7 @@ RegionView::update_coverage_frames (LayerDisplay d)
bool me = false;
/* 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) {

View File

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

View File

@ -112,7 +112,7 @@ ShuttleControl::on_size_allocate (Gtk::Allocation& alloc)
//background
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;
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);

View File

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

View File

@ -36,8 +36,8 @@ SysEx::SysEx (
_flag = new ArdourCanvas::Flag (
parent,
height,
ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(),
ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(),
ARDOUR_UI::config()->get_canvasvar_MidiSysExOutline(),
ARDOUR_UI::config()->get_canvasvar_MidiSysExFill(),
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) {
if ((*i).is_bar()) {
color = ARDOUR_UI::config()->canvasvar_MeasureLineBar.get();
color = ARDOUR_UI::config()->get_canvasvar_MeasureLineBar();
} else {
if (beat_density > 2.0) {
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);

View File

@ -60,6 +60,8 @@ ThemeManager::ThemeManager()
, flat_buttons (_("Draw \"flat\" buttons"))
, waveform_gradient_depth (0, 1.0, 0.1)
, 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"));
@ -101,13 +103,20 @@ ThemeManager::ThemeManager()
hbox->set_spacing (6);
hbox->pack_start (waveform_gradient_depth, true, true);
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 (scroller);
add (*vbox);
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_dialog.get_colorsel()->set_has_opacity_control (true);
@ -120,6 +129,7 @@ ThemeManager::ThemeManager()
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));
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);
setup_theme ();
@ -249,7 +259,7 @@ load_rc_file (const string& filename, bool themechange)
void
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 ();
ArdourButton::set_flat_buttons (flat_buttons.get_active());
/* force a redraw */
@ -261,24 +271,34 @@ ThemeManager::on_waveform_gradient_depth_change ()
{
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 ();
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
ThemeManager::on_dark_theme_button_toggled()
{
if (!dark_button.get_active()) return;
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 {
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 ();
load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true);
load_rc_file (ARDOUR_UI::config()->get_ui_rc_file(), true);
}
void
@ -287,12 +307,12 @@ ThemeManager::on_light_theme_button_toggled()
if (!light_button.get_active()) return;
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 {
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
@ -365,7 +385,7 @@ ThemeManager::setup_theme ()
string rcfile = Glib::getenv("ARDOUR3_UI_RC", 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") {
@ -374,8 +394,9 @@ ThemeManager::setup_theme ()
light_button.set_active();
}
flat_buttons.set_active (ARDOUR_UI::config()->flat_buttons.get());
waveform_gradient_depth.set_value (ARDOUR_UI::config()->waveform_gradient_depth.get());
flat_buttons.set_active (ARDOUR_UI::config()->get_flat_buttons());
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);
}

View File

@ -45,6 +45,7 @@ class ThemeManager : public ArdourWindow
void on_light_theme_button_toggled ();
void on_flat_buttons_toggled ();
void on_waveform_gradient_depth_change ();
void on_timeline_item_gradient_depth_change ();
private:
struct ColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
@ -73,6 +74,8 @@ class ThemeManager : public ArdourWindow
Gtk::CheckButton flat_buttons;
Gtk::HScale waveform_gradient_depth;
Gtk::Label waveform_gradient_depth_label;
Gtk::HScale timeline_item_gradient_depth;
Gtk::Label timeline_item_gradient_depth_label;
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->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->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) {
(*i)->rect->set_fill_color (ARDOUR_UI::config()->canvasvar_SelectionRect.get());
(*i)->rect->set_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get());
(*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
(*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_outline_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()->get_canvasvar_Selection());
(*i)->end_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get());
(*i)->end_trim->set_outline_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()->get_canvasvar_Selection());
}
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_outline_color (ARDOUR_UI::config()->canvasvar_Selection.get());
(*i)->rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_SelectionRect());
(*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_outline_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()->get_canvasvar_Selection());
(*i)->end_trim->set_fill_color (ARDOUR_UI::config()->canvasvar_Selection.get());
(*i)->end_trim->set_outline_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()->get_canvasvar_Selection());
}
}

View File

@ -17,6 +17,8 @@
*/
#include <utility>
#include "pbd/error.h"
#include "pbd/stacktrace.h"
@ -30,6 +32,7 @@
#include "canvas/rectangle.h"
#include "canvas/debug.h"
#include "canvas/text.h"
#include "canvas/utils.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->hide ();
vestigial_frame->set_outline_color (ARDOUR_UI::config()->canvasvar_VestigialFrame.get());
vestigial_frame->set_fill_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()->get_canvasvar_VestigialFrame());
if (visibility & ShowFrame) {
frame = new ArdourCanvas::Rectangle (group,
@ -179,9 +182,9 @@ TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & ba
trackview.current_height()));
if (_recregion) {
frame->set_outline_color (ARDOUR_UI::config()->canvasvar_RecordingRect.get());
frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RecordingRect());
} else {
frame->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get());
frame->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame());
}
} else {
@ -240,6 +243,7 @@ TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & ba
set_position (start, this);
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()
@ -722,7 +726,7 @@ TimeAxisViewItem::set_frame_color()
if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedFrameBase.get();
f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
if (fill_opacity) {
f = UINT_RGBA_CHANGE_A (f, fill_opacity);
@ -735,11 +739,11 @@ TimeAxisViewItem::set_frame_color()
} else {
if (_recregion) {
f = ARDOUR_UI::config()->canvasvar_RecordingRect.get();
f = ARDOUR_UI::config()->get_canvasvar_RecordingRect();
} else {
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 {
f = fill_color;
}
@ -755,12 +759,13 @@ TimeAxisViewItem::set_frame_color()
}
frame->set_fill_color (f);
set_frame_gradient ();
if (!_recregion) {
if (_selected) {
f = ARDOUR_UI::config()->canvasvar_SelectedTimeAxisFrame.get();
f = ARDOUR_UI::config()->get_canvasvar_SelectedTimeAxisFrame();
} else {
f = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
f = ARDOUR_UI::config()->get_canvasvar_TimeAxisFrame();
}
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
*/
@ -779,11 +816,11 @@ TimeAxisViewItem::set_trim_handle_colors()
{
if (frame_handle_start) {
if (position_locked) {
frame_handle_start->set_fill_color (ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get());
frame_handle_end->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()->get_canvasvar_TrimHandleLocked());
} else {
frame_handle_start->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()->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()->get_canvasvar_TrimHandle();
}
}
}
@ -968,5 +1005,7 @@ TimeAxisViewItem::parameter_changed (string p)
{
if (p == "color-regions-using-track-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 set_colors();
virtual void set_frame_color();
virtual void set_frame_gradient ();
void set_trim_handle_colors();
virtual void reset_width_dependent_items (double);

View File

@ -93,16 +93,33 @@ class UIConfiguration : public PBD::Stateful
sigc::signal<void,const char*> ParameterChanged;
#undef UI_CONFIG_VARIABLE
#undef CANVAS_VARIABLE
#define UI_CONFIG_VARIABLE(Type,var,name,val) UIConfigVariable<Type> var;
#define CANVAS_VARIABLE(var,name) UIConfigVariable<uint32_t> var;
#undef UI_CONFIG_VARIABLE
#define UI_CONFIG_VARIABLE(Type,var,name,value) \
Type get_##var () const { return var.get(); } \
bool set_##var (Type val) { bool ret = var.set (val); if (ret) { ParameterChanged (name); } return ret; }
#include "ui_config_vars.h"
#include "canvas_vars.h"
#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
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 ();
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(bool, flat_buttons, "flat-buttons", false)
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__
#define __CANVAS_FILL_H__
#include <vector>
#include <stdint.h>
#include "canvas/item.h"
@ -40,12 +41,17 @@ public:
bool fill () const {
return _fill;
}
typedef std::vector<std::pair<double,Color> > StopList;
void set_gradient (StopList const & stops, double height);
protected:
void setup_fill_context (Cairo::RefPtr<Cairo::Context>) const;
Color _fill_color;
bool _fill;
Cairo::RefPtr<Cairo::LinearGradient> _gradient;
};
}

View File

@ -59,5 +59,31 @@ Fill::set_fill (bool fill)
void
Fill::setup_fill_context (Cairo::RefPtr<Cairo::Context> context) const
{
set_source_rgba (context, _fill_color);
if (_gradient) {
context->set_source (_gradient);
} else {
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 ();
}