rationalize and coordinate handle of region (time axis view item) opacity.
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 13 Jun 2014 14:56:46 +0000 (10:56 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 13 Jun 2014 16:22:39 +0000 (12:22 -0400)
There are still some bugs with this because of the waveview image cache - fixes coming soon.

gtk2_ardour/canvas_vars.h [deleted file]
gtk2_ardour/canvas_vars.h.in [new file with mode: 0644]
gtk2_ardour/editor_drag.cc
gtk2_ardour/region_view.cc
gtk2_ardour/region_view.h
gtk2_ardour/time_axis_view_item.cc
gtk2_ardour/time_axis_view_item.h

diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h
deleted file mode 100644 (file)
index ab8cb62..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
-    Copyright (C) 2012 Paul Davis 
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-CANVAS_VARIABLE(canvasvar_ActiveCrossfade, "active crossfade")
-CANVAS_VARIABLE(canvasvar_AudioBusBase, "audio bus base")
-CANVAS_VARIABLE(canvasvar_AudioMasterBusBase, "audio master bus base")
-CANVAS_VARIABLE(canvasvar_AudioTrackBase, "audio track base")
-CANVAS_VARIABLE(canvasvar_AutomationLine, "automation line")
-CANVAS_VARIABLE(canvasvar_AutomationTrackFill, "automation track fill")
-CANVAS_VARIABLE(canvasvar_AutomationTrackOutline, "automation track outline")
-CANVAS_VARIABLE(canvasvar_CDMarkerBar, "cd marker bar")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorBase, "crossfade editor base")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorLine, "crossfade editor line")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorLineShading, "crossfade editor line shading")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorPointFill, "crossfade editor point fill")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorPointOutline, "crossfade editor point outline")
-CANVAS_VARIABLE(canvasvar_CrossfadeEditorWave, "crossfade editor wave")
-CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorWaveFill, "selected crossfade editor wave fill")
-CANVAS_VARIABLE(canvasvar_CrossfadeLine, "crossfade line")
-CANVAS_VARIABLE(canvasvar_EditPoint, "edit point")
-CANVAS_VARIABLE(canvasvar_EnteredAutomationLine, "entered automation line")
-CANVAS_VARIABLE(canvasvar_ControlPointFill, "control point fill")
-CANVAS_VARIABLE(canvasvar_ControlPointOutline, "control point outline")
-CANVAS_VARIABLE(canvasvar_ControlPointSelected, "control point selected")
-CANVAS_VARIABLE(canvasvar_EnteredGainLine, "entered gain line")
-CANVAS_VARIABLE(canvasvar_EnteredMarker, "entered marker")
-CANVAS_VARIABLE(canvasvar_FrameHandle, "frame handle")
-CANVAS_VARIABLE(canvasvar_GainLine, "gain line")
-CANVAS_VARIABLE(canvasvar_GainLineInactive, "gain line inactive")
-CANVAS_VARIABLE(canvasvar_GhostTrackBase, "ghost track base")
-CANVAS_VARIABLE(canvasvar_GhostTrackMidiOutline, "ghost track midi outline")
-CANVAS_VARIABLE(canvasvar_GhostTrackWave, "ghost track wave")
-CANVAS_VARIABLE(canvasvar_GhostTrackWaveFill, "ghost track wave fill")
-CANVAS_VARIABLE(canvasvar_GhostTrackWaveClip, "ghost track wave clip")
-CANVAS_VARIABLE(canvasvar_GhostTrackZeroLine, "ghost track zero line")
-CANVAS_VARIABLE(canvasvar_ImageTrack, "image track")
-CANVAS_VARIABLE(canvasvar_InactiveCrossfade, "inactive crossfade")
-CANVAS_VARIABLE(canvasvar_InactiveFadeHandle, "inactive fade handle")
-CANVAS_VARIABLE(canvasvar_LocationCDMarker, "location cd marker")
-CANVAS_VARIABLE(canvasvar_LocationLoop, "location loop")
-CANVAS_VARIABLE(canvasvar_LocationMarker, "location marker")
-CANVAS_VARIABLE(canvasvar_LocationPunch, "location punch")
-CANVAS_VARIABLE(canvasvar_LocationRange, "location range")
-CANVAS_VARIABLE(canvasvar_MarkerBar, "marker bar")
-CANVAS_VARIABLE(canvasvar_MarkerBarSeparator, "marker bar separator")
-CANVAS_VARIABLE(canvasvar_MarkerDragLine, "marker drag line")
-CANVAS_VARIABLE(canvasvar_MarkerLabel, "marker label")
-CANVAS_VARIABLE(canvasvar_MarkerTrack, "marker track")
-CANVAS_VARIABLE(canvasvar_MeasureLineBar, "measure line bar")
-CANVAS_VARIABLE(canvasvar_MeasureLineBeat, "measure line beat")
-CANVAS_VARIABLE(canvasvar_MeterBar, "meter bar")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakLabel, "meterbridge peaklabel")
-CANVAS_VARIABLE(canvasvar_MeterColorBBC, "meter color BBC")
-CANVAS_VARIABLE(canvasvar_MeterColor0, "meter fill: 0")
-CANVAS_VARIABLE(canvasvar_MeterColor1, "meter fill: 1")
-CANVAS_VARIABLE(canvasvar_MeterColor2, "meter fill: 2")
-CANVAS_VARIABLE(canvasvar_MeterColor3, "meter fill: 3")
-CANVAS_VARIABLE(canvasvar_MeterColor4, "meter fill: 4")
-CANVAS_VARIABLE(canvasvar_MeterColor5, "meter fill: 5")
-CANVAS_VARIABLE(canvasvar_MeterColor6, "meter fill: 6")
-CANVAS_VARIABLE(canvasvar_MeterColor7, "meter fill: 7")
-CANVAS_VARIABLE(canvasvar_MeterColor8, "meter fill: 8")
-CANVAS_VARIABLE(canvasvar_MeterColor9, "meter fill: 9")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor0, "midi meter fill: 0")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor1, "midi meter fill: 1")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor2, "midi meter fill: 2")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor3, "midi meter fill: 3")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor4, "midi meter fill: 4")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor5, "midi meter fill: 5")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor6, "midi meter fill: 6")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor7, "midi meter fill: 7")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor8, "midi meter fill: 8")
-CANVAS_VARIABLE(canvasvar_MidiMeterColor9, "midi meter fill: 9")
-CANVAS_VARIABLE(canvasvar_MeterBackgroundBot, "meter background: bottom")
-CANVAS_VARIABLE(canvasvar_MeterBackgroundTop, "meter background: top")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillStart, "meterbridge peakindicator: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillEnd, "meterbridge peakindicator: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillStart, "meterbridge peakindicator on: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillEnd, "meterbridge peakindicator on: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillStart, "meterbridge label: fill start")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillEnd, "meterbridge label: fill end")
-CANVAS_VARIABLE(canvasvar_MeterBridgeLabelText, "meterbridge label: text")
-CANVAS_VARIABLE(canvasvar_MeterMarker, "meter marker")
-CANVAS_VARIABLE(canvasvar_MidiBusBase, "midi bus base")
-CANVAS_VARIABLE(canvasvar_MidiFrameBase, "midi frame base")
-CANVAS_VARIABLE(canvasvar_MidiNoteInactiveChannel, "midi note inactive channel")
-CANVAS_VARIABLE(canvasvar_MidiNoteColorBase, "midi note color min")
-CANVAS_VARIABLE(canvasvar_MidiNoteColorMid, "midi note color mid")
-CANVAS_VARIABLE(canvasvar_MidiNoteColorTop, "midi note color max")
-CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorBase, "selected midi note color min")
-CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorMid, "selected midi note color mid")
-CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorTop, "selected midi note color max")
-CANVAS_VARIABLE(canvasvar_MidiNoteSelected, "midi note selected")
-CANVAS_VARIABLE(canvasvar_MidiNoteVelocityText, "midi note velocity text")
-CANVAS_VARIABLE(canvasvar_MidiPatchChangeFill, "midi patch change fill")
-CANVAS_VARIABLE(canvasvar_MidiPatchChangeOutline, "midi patch change outline")
-CANVAS_VARIABLE(canvasvar_MidiPatchChangeInactiveChannelFill, "midi patch change inactive channel fill")
-CANVAS_VARIABLE(canvasvar_MidiPatchChangeInactiveChannelOutline, "midi patch change inactive channel outline")
-CANVAS_VARIABLE(canvasvar_MidiSysExFill, "midi sysex fill")
-CANVAS_VARIABLE(canvasvar_MidiSysExOutline, "midi sysex outline")
-CANVAS_VARIABLE(canvasvar_MidiSelectRectFill, "midi select rect fill")
-CANVAS_VARIABLE(canvasvar_MidiSelectRectOutline, "midi select rect outline")
-CANVAS_VARIABLE(canvasvar_MidiTrackBase, "midi track base")
-CANVAS_VARIABLE(canvasvar_NameHighlightFill, "name highlight fill")
-CANVAS_VARIABLE(canvasvar_NameHighlightOutline, "name highlight outline")
-CANVAS_VARIABLE(canvasvar_PianoRollBlackOutline, "piano roll black outline")
-CANVAS_VARIABLE(canvasvar_PianoRollBlack, "piano roll black")
-CANVAS_VARIABLE(canvasvar_PianoRollWhite, "piano roll white")
-CANVAS_VARIABLE(canvasvar_PlayHead, "play head")
-CANVAS_VARIABLE(canvasvar_ProcessorAutomationLine, "processor automation line")
-CANVAS_VARIABLE(canvasvar_PunchLine, "punch line")
-CANVAS_VARIABLE(canvasvar_RangeDragBarRect, "range drag bar rect")
-CANVAS_VARIABLE(canvasvar_RangeDragRect, "range drag rect")
-CANVAS_VARIABLE(canvasvar_RangeMarkerBar, "range marker bar")
-CANVAS_VARIABLE(canvasvar_RecordingRect, "recording rect")
-CANVAS_VARIABLE(canvasvar_RecWaveFormFill, "recorded waveform fill")
-CANVAS_VARIABLE(canvasvar_RecWaveForm, "recorded waveform outline")
-CANVAS_VARIABLE(canvasvar_RubberBandRect, "rubber band rect")
-CANVAS_VARIABLE(canvasvar_RulerBase, "ruler base")
-CANVAS_VARIABLE(canvasvar_RulerText, "ruler text")
-CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorLine, "selected crossfade editor line")
-CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorWave, "selected crossfade editor wave")
-CANVAS_VARIABLE(canvasvar_SelectedFrameBase, "selected region base")
-CANVAS_VARIABLE(canvasvar_SelectedWaveFormFill, "selected waveform fill")
-CANVAS_VARIABLE(canvasvar_SelectedWaveForm, "selected waveform outline")
-CANVAS_VARIABLE(canvasvar_SelectionRect, "selection rect")
-CANVAS_VARIABLE(canvasvar_Selection, "selection")
-CANVAS_VARIABLE(canvasvar_Shuttle, "shuttle")
-CANVAS_VARIABLE(canvasvar_Silence, "silence")
-CANVAS_VARIABLE(canvasvar_SilenceText, "silence text")
-CANVAS_VARIABLE(canvasvar_MonoPannerOutline, "mono panner outline")
-CANVAS_VARIABLE(canvasvar_MonoPannerFill, "mono panner fill")
-CANVAS_VARIABLE(canvasvar_MonoPannerText, "mono panner text")
-CANVAS_VARIABLE(canvasvar_MonoPannerBackground, "mono panner bg")
-CANVAS_VARIABLE(canvasvar_MonoPannerPositionFill, "mono panner position fill")
-CANVAS_VARIABLE(canvasvar_MonoPannerPositionOutline, "mono panner position outline")
-CANVAS_VARIABLE(canvasvar_StereoPannerOutline, "stereo panner outline")
-CANVAS_VARIABLE(canvasvar_StereoPannerFill, "stereo panner fill")
-CANVAS_VARIABLE(canvasvar_StereoPannerText, "stereo panner text")
-CANVAS_VARIABLE(canvasvar_StereoPannerBackground, "stereo panner bg")
-CANVAS_VARIABLE(canvasvar_StereoPannerRule, "stereo panner rule")
-CANVAS_VARIABLE(canvasvar_StereoPannerMonoOutline, "stereo panner mono outline")
-CANVAS_VARIABLE(canvasvar_StereoPannerMonoFill, "stereo panner mono fill")
-CANVAS_VARIABLE(canvasvar_StereoPannerMonoText, "stereo panner mono text")
-CANVAS_VARIABLE(canvasvar_StereoPannerMonoBackground, "stereo panner mono bg")
-CANVAS_VARIABLE(canvasvar_StereoPannerInvertedOutline, "stereo panner inverted outline")
-CANVAS_VARIABLE(canvasvar_StereoPannerInvertedFill, "stereo panner inverted fill")
-CANVAS_VARIABLE(canvasvar_StereoPannerInvertedText, "stereo panner inverted text")
-CANVAS_VARIABLE(canvasvar_StereoPannerInvertedBackground, "stereo panner inverted bg")
-CANVAS_VARIABLE(canvasvar_TempoBar, "tempo bar")
-CANVAS_VARIABLE(canvasvar_TempoMarker, "tempo marker")
-CANVAS_VARIABLE(canvasvar_TimeAxisFrame, "time axis frame")
-CANVAS_VARIABLE(canvasvar_SelectedTimeAxisFrame, "selected time axis frame")
-CANVAS_VARIABLE(canvasvar_TimeStretchFill, "time stretch fill")
-CANVAS_VARIABLE(canvasvar_TimeStretchOutline, "time stretch outline")
-CANVAS_VARIABLE(canvasvar_TransportDragRect, "transport drag rect")
-CANVAS_VARIABLE(canvasvar_TransportLoopRect, "transport loop rect")
-CANVAS_VARIABLE(canvasvar_TransportMarkerBar, "transport marker bar")
-CANVAS_VARIABLE(canvasvar_TransportPunchRect, "transport punch rect")
-CANVAS_VARIABLE(canvasvar_TrimHandleLocked, "trim handle locked")
-CANVAS_VARIABLE(canvasvar_TrimHandle, "trim handle")
-CANVAS_VARIABLE(canvasvar_VerboseCanvasCursor, "verbose canvas cursor")
-CANVAS_VARIABLE(canvasvar_VestigialFrame, "vestigial frame")
-CANVAS_VARIABLE(canvasvar_VideoBar, "video timeline bar")
-CANVAS_VARIABLE(canvasvar_FrameBase, "region base")
-CANVAS_VARIABLE(canvasvar_CoveredRegion, "region area covered by another region")
-CANVAS_VARIABLE(canvasvar_WaveForm, "waveform outline")
-CANVAS_VARIABLE(canvasvar_WaveFormClip, "clipped waveform")
-CANVAS_VARIABLE(canvasvar_WaveFormFill, "waveform fill")
-CANVAS_VARIABLE(canvasvar_ZeroLine, "zero line")
-CANVAS_VARIABLE(canvasvar_ZoomRect, "zoom rect")
-CANVAS_VARIABLE(canvasvar_MonitorSectionKnob, "monitor knob")
-
-CANVAS_VARIABLE(canvasvar_ButtonBorder, "border color")
-#define BUTTON_VARS(root,name) \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillStart, name ": fill start") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillEnd, name ": fill end") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillStartActive, name ": fill start active") \
-CANVAS_VARIABLE(canvasvar_ ## root ## FillEndActive, name ": fill end active") \
-CANVAS_VARIABLE(canvasvar_ ## root ## LED, name ": led") \
-CANVAS_VARIABLE(canvasvar_ ## root ## LEDActive, name ": led active") \
-CANVAS_VARIABLE(canvasvar_ ## root ## Text, name ": text") \
-CANVAS_VARIABLE(canvasvar_ ## root ## TextActive, name ": text active") \
-
-BUTTON_VARS(ProcessorPreFader, "processor prefader")
-BUTTON_VARS(ProcessorFader, "processor fader")
-BUTTON_VARS(ProcessorPostFader, "processor postfader")
-BUTTON_VARS(ProcessorControlButton, "processor control button")
-BUTTON_VARS(MonitorButton, "monitor button")
-BUTTON_VARS(SoloIsolateButton, "solo isolate")
-BUTTON_VARS(SoloSafeButton, "solo safe")
-BUTTON_VARS(MidiDeviceButton, "midi device")
-BUTTON_VARS(MonitorSectionCutButton, "monitor section cut")
-BUTTON_VARS(MonitorSectionDimButton, "monitor section dim")
-BUTTON_VARS(MonitorSectionSoloButton, "monitor section solo")
-BUTTON_VARS(MonitorSectionInvertButton, "monitor section invert")
-BUTTON_VARS(MonitorSectionMonoButton, "monitor section mono")
-BUTTON_VARS(MonitorSectionSoloModelButton, "monitor section solo model")
-BUTTON_VARS(MonitorSectionSoloOverrideButton, "monitor solo override")
-BUTTON_VARS(MonitorSectionSoloExclusiveButton, "monitor solo exclusive")
-BUTTON_VARS(RudeSolo, "rude solo")
-BUTTON_VARS(RudeIsolate, "rude isolate")
-BUTTON_VARS(RudeAudition, "rude audition")
-BUTTON_VARS(FeedbackAlert, "feedback alert")
-BUTTON_VARS(InvertButton, "invert button")
-BUTTON_VARS(MuteButton, "mute button")
-BUTTON_VARS(SoloButton, "solo button")
-BUTTON_VARS(RecEnableButton, "record enable button")
-BUTTON_VARS(SendButton, "send alert button")
-BUTTON_VARS(TransportButton, "transport button")
-BUTTON_VARS(TransportRecenableButton, "transport recenable button")
-BUTTON_VARS(TransportOptionButton, "transport option button")
-BUTTON_VARS(TransportActiveOptionButton, "transport active option button")
-BUTTON_VARS(PluginBypassButton, "plugin bypass button")
-BUTTON_VARS(PunchButton, "punch button")
-BUTTON_VARS(MouseModeButton, "mouse mode button")
-BUTTON_VARS(NudgeButton, "nudge button")
-BUTTON_VARS(ZoomButton, "zoom button")
-BUTTON_VARS(ZoomMenu, "zoom menu")
-BUTTON_VARS(RouteButton, "route button")
-BUTTON_VARS(MixerStripButton, "mixer strip button")
-BUTTON_VARS(MixerStripNameButton, "mixer strip name button")
-BUTTON_VARS(MidiInputButton, "midi input button")
-BUTTON_VARS(GenericButton, "generic button")
-
-#define CLOCK_VARS(root,name) \
-       CANVAS_VARIABLE(canvasvar_ ## root ## Background, name ": background") \
-       CANVAS_VARIABLE(canvasvar_ ## root ## Text, name ": text") \
-       CANVAS_VARIABLE(canvasvar_ ## root ## EditedText, name ": edited text") \
-       CANVAS_VARIABLE(canvasvar_ ## root ## Cursor, name ": cursor") 
-
-CLOCK_VARS(TransportClock, "transport clock")
-CLOCK_VARS(SecondaryClock, "secondary clock")
-CLOCK_VARS(TransportDeltaClock, "transport delta clock")
-CLOCK_VARS(SecondaryDeltaClock, "secondary delta clock")
-CLOCK_VARS(BigClock, "big clock")
-CLOCK_VARS(BigClockActive, "big clock active")
-CLOCK_VARS(PunchClock, "punch clock")
-CLOCK_VARS(SelectionClock, "selection clock")
-CLOCK_VARS(NudgeClock, "nudge clock")
-CLOCK_VARS(GenericClock, "clock")
diff --git a/gtk2_ardour/canvas_vars.h.in b/gtk2_ardour/canvas_vars.h.in
new file mode 100644 (file)
index 0000000..ab8cb62
--- /dev/null
@@ -0,0 +1,257 @@
+/*
+    Copyright (C) 2012 Paul Davis 
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+CANVAS_VARIABLE(canvasvar_ActiveCrossfade, "active crossfade")
+CANVAS_VARIABLE(canvasvar_AudioBusBase, "audio bus base")
+CANVAS_VARIABLE(canvasvar_AudioMasterBusBase, "audio master bus base")
+CANVAS_VARIABLE(canvasvar_AudioTrackBase, "audio track base")
+CANVAS_VARIABLE(canvasvar_AutomationLine, "automation line")
+CANVAS_VARIABLE(canvasvar_AutomationTrackFill, "automation track fill")
+CANVAS_VARIABLE(canvasvar_AutomationTrackOutline, "automation track outline")
+CANVAS_VARIABLE(canvasvar_CDMarkerBar, "cd marker bar")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorBase, "crossfade editor base")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorLine, "crossfade editor line")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorLineShading, "crossfade editor line shading")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorPointFill, "crossfade editor point fill")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorPointOutline, "crossfade editor point outline")
+CANVAS_VARIABLE(canvasvar_CrossfadeEditorWave, "crossfade editor wave")
+CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorWaveFill, "selected crossfade editor wave fill")
+CANVAS_VARIABLE(canvasvar_CrossfadeLine, "crossfade line")
+CANVAS_VARIABLE(canvasvar_EditPoint, "edit point")
+CANVAS_VARIABLE(canvasvar_EnteredAutomationLine, "entered automation line")
+CANVAS_VARIABLE(canvasvar_ControlPointFill, "control point fill")
+CANVAS_VARIABLE(canvasvar_ControlPointOutline, "control point outline")
+CANVAS_VARIABLE(canvasvar_ControlPointSelected, "control point selected")
+CANVAS_VARIABLE(canvasvar_EnteredGainLine, "entered gain line")
+CANVAS_VARIABLE(canvasvar_EnteredMarker, "entered marker")
+CANVAS_VARIABLE(canvasvar_FrameHandle, "frame handle")
+CANVAS_VARIABLE(canvasvar_GainLine, "gain line")
+CANVAS_VARIABLE(canvasvar_GainLineInactive, "gain line inactive")
+CANVAS_VARIABLE(canvasvar_GhostTrackBase, "ghost track base")
+CANVAS_VARIABLE(canvasvar_GhostTrackMidiOutline, "ghost track midi outline")
+CANVAS_VARIABLE(canvasvar_GhostTrackWave, "ghost track wave")
+CANVAS_VARIABLE(canvasvar_GhostTrackWaveFill, "ghost track wave fill")
+CANVAS_VARIABLE(canvasvar_GhostTrackWaveClip, "ghost track wave clip")
+CANVAS_VARIABLE(canvasvar_GhostTrackZeroLine, "ghost track zero line")
+CANVAS_VARIABLE(canvasvar_ImageTrack, "image track")
+CANVAS_VARIABLE(canvasvar_InactiveCrossfade, "inactive crossfade")
+CANVAS_VARIABLE(canvasvar_InactiveFadeHandle, "inactive fade handle")
+CANVAS_VARIABLE(canvasvar_LocationCDMarker, "location cd marker")
+CANVAS_VARIABLE(canvasvar_LocationLoop, "location loop")
+CANVAS_VARIABLE(canvasvar_LocationMarker, "location marker")
+CANVAS_VARIABLE(canvasvar_LocationPunch, "location punch")
+CANVAS_VARIABLE(canvasvar_LocationRange, "location range")
+CANVAS_VARIABLE(canvasvar_MarkerBar, "marker bar")
+CANVAS_VARIABLE(canvasvar_MarkerBarSeparator, "marker bar separator")
+CANVAS_VARIABLE(canvasvar_MarkerDragLine, "marker drag line")
+CANVAS_VARIABLE(canvasvar_MarkerLabel, "marker label")
+CANVAS_VARIABLE(canvasvar_MarkerTrack, "marker track")
+CANVAS_VARIABLE(canvasvar_MeasureLineBar, "measure line bar")
+CANVAS_VARIABLE(canvasvar_MeasureLineBeat, "measure line beat")
+CANVAS_VARIABLE(canvasvar_MeterBar, "meter bar")
+CANVAS_VARIABLE(canvasvar_MeterBridgePeakLabel, "meterbridge peaklabel")
+CANVAS_VARIABLE(canvasvar_MeterColorBBC, "meter color BBC")
+CANVAS_VARIABLE(canvasvar_MeterColor0, "meter fill: 0")
+CANVAS_VARIABLE(canvasvar_MeterColor1, "meter fill: 1")
+CANVAS_VARIABLE(canvasvar_MeterColor2, "meter fill: 2")
+CANVAS_VARIABLE(canvasvar_MeterColor3, "meter fill: 3")
+CANVAS_VARIABLE(canvasvar_MeterColor4, "meter fill: 4")
+CANVAS_VARIABLE(canvasvar_MeterColor5, "meter fill: 5")
+CANVAS_VARIABLE(canvasvar_MeterColor6, "meter fill: 6")
+CANVAS_VARIABLE(canvasvar_MeterColor7, "meter fill: 7")
+CANVAS_VARIABLE(canvasvar_MeterColor8, "meter fill: 8")
+CANVAS_VARIABLE(canvasvar_MeterColor9, "meter fill: 9")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor0, "midi meter fill: 0")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor1, "midi meter fill: 1")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor2, "midi meter fill: 2")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor3, "midi meter fill: 3")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor4, "midi meter fill: 4")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor5, "midi meter fill: 5")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor6, "midi meter fill: 6")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor7, "midi meter fill: 7")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor8, "midi meter fill: 8")
+CANVAS_VARIABLE(canvasvar_MidiMeterColor9, "midi meter fill: 9")
+CANVAS_VARIABLE(canvasvar_MeterBackgroundBot, "meter background: bottom")
+CANVAS_VARIABLE(canvasvar_MeterBackgroundTop, "meter background: top")
+CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillStart, "meterbridge peakindicator: fill start")
+CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOffFillEnd, "meterbridge peakindicator: fill end")
+CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillStart, "meterbridge peakindicator on: fill start")
+CANVAS_VARIABLE(canvasvar_MeterBridgePeakindicatorOnFillEnd, "meterbridge peakindicator on: fill end")
+CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillStart, "meterbridge label: fill start")
+CANVAS_VARIABLE(canvasvar_MeterBridgeLabelFillEnd, "meterbridge label: fill end")
+CANVAS_VARIABLE(canvasvar_MeterBridgeLabelText, "meterbridge label: text")
+CANVAS_VARIABLE(canvasvar_MeterMarker, "meter marker")
+CANVAS_VARIABLE(canvasvar_MidiBusBase, "midi bus base")
+CANVAS_VARIABLE(canvasvar_MidiFrameBase, "midi frame base")
+CANVAS_VARIABLE(canvasvar_MidiNoteInactiveChannel, "midi note inactive channel")
+CANVAS_VARIABLE(canvasvar_MidiNoteColorBase, "midi note color min")
+CANVAS_VARIABLE(canvasvar_MidiNoteColorMid, "midi note color mid")
+CANVAS_VARIABLE(canvasvar_MidiNoteColorTop, "midi note color max")
+CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorBase, "selected midi note color min")
+CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorMid, "selected midi note color mid")
+CANVAS_VARIABLE(canvasvar_SelectedMidiNoteColorTop, "selected midi note color max")
+CANVAS_VARIABLE(canvasvar_MidiNoteSelected, "midi note selected")
+CANVAS_VARIABLE(canvasvar_MidiNoteVelocityText, "midi note velocity text")
+CANVAS_VARIABLE(canvasvar_MidiPatchChangeFill, "midi patch change fill")
+CANVAS_VARIABLE(canvasvar_MidiPatchChangeOutline, "midi patch change outline")
+CANVAS_VARIABLE(canvasvar_MidiPatchChangeInactiveChannelFill, "midi patch change inactive channel fill")
+CANVAS_VARIABLE(canvasvar_MidiPatchChangeInactiveChannelOutline, "midi patch change inactive channel outline")
+CANVAS_VARIABLE(canvasvar_MidiSysExFill, "midi sysex fill")
+CANVAS_VARIABLE(canvasvar_MidiSysExOutline, "midi sysex outline")
+CANVAS_VARIABLE(canvasvar_MidiSelectRectFill, "midi select rect fill")
+CANVAS_VARIABLE(canvasvar_MidiSelectRectOutline, "midi select rect outline")
+CANVAS_VARIABLE(canvasvar_MidiTrackBase, "midi track base")
+CANVAS_VARIABLE(canvasvar_NameHighlightFill, "name highlight fill")
+CANVAS_VARIABLE(canvasvar_NameHighlightOutline, "name highlight outline")
+CANVAS_VARIABLE(canvasvar_PianoRollBlackOutline, "piano roll black outline")
+CANVAS_VARIABLE(canvasvar_PianoRollBlack, "piano roll black")
+CANVAS_VARIABLE(canvasvar_PianoRollWhite, "piano roll white")
+CANVAS_VARIABLE(canvasvar_PlayHead, "play head")
+CANVAS_VARIABLE(canvasvar_ProcessorAutomationLine, "processor automation line")
+CANVAS_VARIABLE(canvasvar_PunchLine, "punch line")
+CANVAS_VARIABLE(canvasvar_RangeDragBarRect, "range drag bar rect")
+CANVAS_VARIABLE(canvasvar_RangeDragRect, "range drag rect")
+CANVAS_VARIABLE(canvasvar_RangeMarkerBar, "range marker bar")
+CANVAS_VARIABLE(canvasvar_RecordingRect, "recording rect")
+CANVAS_VARIABLE(canvasvar_RecWaveFormFill, "recorded waveform fill")
+CANVAS_VARIABLE(canvasvar_RecWaveForm, "recorded waveform outline")
+CANVAS_VARIABLE(canvasvar_RubberBandRect, "rubber band rect")
+CANVAS_VARIABLE(canvasvar_RulerBase, "ruler base")
+CANVAS_VARIABLE(canvasvar_RulerText, "ruler text")
+CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorLine, "selected crossfade editor line")
+CANVAS_VARIABLE(canvasvar_SelectedCrossfadeEditorWave, "selected crossfade editor wave")
+CANVAS_VARIABLE(canvasvar_SelectedFrameBase, "selected region base")
+CANVAS_VARIABLE(canvasvar_SelectedWaveFormFill, "selected waveform fill")
+CANVAS_VARIABLE(canvasvar_SelectedWaveForm, "selected waveform outline")
+CANVAS_VARIABLE(canvasvar_SelectionRect, "selection rect")
+CANVAS_VARIABLE(canvasvar_Selection, "selection")
+CANVAS_VARIABLE(canvasvar_Shuttle, "shuttle")
+CANVAS_VARIABLE(canvasvar_Silence, "silence")
+CANVAS_VARIABLE(canvasvar_SilenceText, "silence text")
+CANVAS_VARIABLE(canvasvar_MonoPannerOutline, "mono panner outline")
+CANVAS_VARIABLE(canvasvar_MonoPannerFill, "mono panner fill")
+CANVAS_VARIABLE(canvasvar_MonoPannerText, "mono panner text")
+CANVAS_VARIABLE(canvasvar_MonoPannerBackground, "mono panner bg")
+CANVAS_VARIABLE(canvasvar_MonoPannerPositionFill, "mono panner position fill")
+CANVAS_VARIABLE(canvasvar_MonoPannerPositionOutline, "mono panner position outline")
+CANVAS_VARIABLE(canvasvar_StereoPannerOutline, "stereo panner outline")
+CANVAS_VARIABLE(canvasvar_StereoPannerFill, "stereo panner fill")
+CANVAS_VARIABLE(canvasvar_StereoPannerText, "stereo panner text")
+CANVAS_VARIABLE(canvasvar_StereoPannerBackground, "stereo panner bg")
+CANVAS_VARIABLE(canvasvar_StereoPannerRule, "stereo panner rule")
+CANVAS_VARIABLE(canvasvar_StereoPannerMonoOutline, "stereo panner mono outline")
+CANVAS_VARIABLE(canvasvar_StereoPannerMonoFill, "stereo panner mono fill")
+CANVAS_VARIABLE(canvasvar_StereoPannerMonoText, "stereo panner mono text")
+CANVAS_VARIABLE(canvasvar_StereoPannerMonoBackground, "stereo panner mono bg")
+CANVAS_VARIABLE(canvasvar_StereoPannerInvertedOutline, "stereo panner inverted outline")
+CANVAS_VARIABLE(canvasvar_StereoPannerInvertedFill, "stereo panner inverted fill")
+CANVAS_VARIABLE(canvasvar_StereoPannerInvertedText, "stereo panner inverted text")
+CANVAS_VARIABLE(canvasvar_StereoPannerInvertedBackground, "stereo panner inverted bg")
+CANVAS_VARIABLE(canvasvar_TempoBar, "tempo bar")
+CANVAS_VARIABLE(canvasvar_TempoMarker, "tempo marker")
+CANVAS_VARIABLE(canvasvar_TimeAxisFrame, "time axis frame")
+CANVAS_VARIABLE(canvasvar_SelectedTimeAxisFrame, "selected time axis frame")
+CANVAS_VARIABLE(canvasvar_TimeStretchFill, "time stretch fill")
+CANVAS_VARIABLE(canvasvar_TimeStretchOutline, "time stretch outline")
+CANVAS_VARIABLE(canvasvar_TransportDragRect, "transport drag rect")
+CANVAS_VARIABLE(canvasvar_TransportLoopRect, "transport loop rect")
+CANVAS_VARIABLE(canvasvar_TransportMarkerBar, "transport marker bar")
+CANVAS_VARIABLE(canvasvar_TransportPunchRect, "transport punch rect")
+CANVAS_VARIABLE(canvasvar_TrimHandleLocked, "trim handle locked")
+CANVAS_VARIABLE(canvasvar_TrimHandle, "trim handle")
+CANVAS_VARIABLE(canvasvar_VerboseCanvasCursor, "verbose canvas cursor")
+CANVAS_VARIABLE(canvasvar_VestigialFrame, "vestigial frame")
+CANVAS_VARIABLE(canvasvar_VideoBar, "video timeline bar")
+CANVAS_VARIABLE(canvasvar_FrameBase, "region base")
+CANVAS_VARIABLE(canvasvar_CoveredRegion, "region area covered by another region")
+CANVAS_VARIABLE(canvasvar_WaveForm, "waveform outline")
+CANVAS_VARIABLE(canvasvar_WaveFormClip, "clipped waveform")
+CANVAS_VARIABLE(canvasvar_WaveFormFill, "waveform fill")
+CANVAS_VARIABLE(canvasvar_ZeroLine, "zero line")
+CANVAS_VARIABLE(canvasvar_ZoomRect, "zoom rect")
+CANVAS_VARIABLE(canvasvar_MonitorSectionKnob, "monitor knob")
+
+CANVAS_VARIABLE(canvasvar_ButtonBorder, "border color")
+#define BUTTON_VARS(root,name) \
+CANVAS_VARIABLE(canvasvar_ ## root ## FillStart, name ": fill start") \
+CANVAS_VARIABLE(canvasvar_ ## root ## FillEnd, name ": fill end") \
+CANVAS_VARIABLE(canvasvar_ ## root ## FillStartActive, name ": fill start active") \
+CANVAS_VARIABLE(canvasvar_ ## root ## FillEndActive, name ": fill end active") \
+CANVAS_VARIABLE(canvasvar_ ## root ## LED, name ": led") \
+CANVAS_VARIABLE(canvasvar_ ## root ## LEDActive, name ": led active") \
+CANVAS_VARIABLE(canvasvar_ ## root ## Text, name ": text") \
+CANVAS_VARIABLE(canvasvar_ ## root ## TextActive, name ": text active") \
+
+BUTTON_VARS(ProcessorPreFader, "processor prefader")
+BUTTON_VARS(ProcessorFader, "processor fader")
+BUTTON_VARS(ProcessorPostFader, "processor postfader")
+BUTTON_VARS(ProcessorControlButton, "processor control button")
+BUTTON_VARS(MonitorButton, "monitor button")
+BUTTON_VARS(SoloIsolateButton, "solo isolate")
+BUTTON_VARS(SoloSafeButton, "solo safe")
+BUTTON_VARS(MidiDeviceButton, "midi device")
+BUTTON_VARS(MonitorSectionCutButton, "monitor section cut")
+BUTTON_VARS(MonitorSectionDimButton, "monitor section dim")
+BUTTON_VARS(MonitorSectionSoloButton, "monitor section solo")
+BUTTON_VARS(MonitorSectionInvertButton, "monitor section invert")
+BUTTON_VARS(MonitorSectionMonoButton, "monitor section mono")
+BUTTON_VARS(MonitorSectionSoloModelButton, "monitor section solo model")
+BUTTON_VARS(MonitorSectionSoloOverrideButton, "monitor solo override")
+BUTTON_VARS(MonitorSectionSoloExclusiveButton, "monitor solo exclusive")
+BUTTON_VARS(RudeSolo, "rude solo")
+BUTTON_VARS(RudeIsolate, "rude isolate")
+BUTTON_VARS(RudeAudition, "rude audition")
+BUTTON_VARS(FeedbackAlert, "feedback alert")
+BUTTON_VARS(InvertButton, "invert button")
+BUTTON_VARS(MuteButton, "mute button")
+BUTTON_VARS(SoloButton, "solo button")
+BUTTON_VARS(RecEnableButton, "record enable button")
+BUTTON_VARS(SendButton, "send alert button")
+BUTTON_VARS(TransportButton, "transport button")
+BUTTON_VARS(TransportRecenableButton, "transport recenable button")
+BUTTON_VARS(TransportOptionButton, "transport option button")
+BUTTON_VARS(TransportActiveOptionButton, "transport active option button")
+BUTTON_VARS(PluginBypassButton, "plugin bypass button")
+BUTTON_VARS(PunchButton, "punch button")
+BUTTON_VARS(MouseModeButton, "mouse mode button")
+BUTTON_VARS(NudgeButton, "nudge button")
+BUTTON_VARS(ZoomButton, "zoom button")
+BUTTON_VARS(ZoomMenu, "zoom menu")
+BUTTON_VARS(RouteButton, "route button")
+BUTTON_VARS(MixerStripButton, "mixer strip button")
+BUTTON_VARS(MixerStripNameButton, "mixer strip name button")
+BUTTON_VARS(MidiInputButton, "midi input button")
+BUTTON_VARS(GenericButton, "generic button")
+
+#define CLOCK_VARS(root,name) \
+       CANVAS_VARIABLE(canvasvar_ ## root ## Background, name ": background") \
+       CANVAS_VARIABLE(canvasvar_ ## root ## Text, name ": text") \
+       CANVAS_VARIABLE(canvasvar_ ## root ## EditedText, name ": edited text") \
+       CANVAS_VARIABLE(canvasvar_ ## root ## Cursor, name ": cursor") 
+
+CLOCK_VARS(TransportClock, "transport clock")
+CLOCK_VARS(SecondaryClock, "secondary clock")
+CLOCK_VARS(TransportDeltaClock, "transport delta clock")
+CLOCK_VARS(SecondaryDeltaClock, "secondary delta clock")
+CLOCK_VARS(BigClock, "big clock")
+CLOCK_VARS(BigClockActive, "big clock active")
+CLOCK_VARS(PunchClock, "punch clock")
+CLOCK_VARS(SelectionClock, "selection clock")
+CLOCK_VARS(NudgeClock, "nudge clock")
+CLOCK_VARS(GenericClock, "clock")
index f1d879e32c444ca6fea9520c1ef6ecce4e40dc93..10a4a88c77641e5a0356f37721f4ac24109176b2 100644 (file)
@@ -743,7 +743,6 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
 
                if (first_move) {
                        rv->drag_start (); 
-                       rv->set_opacity_for_drag (true);
 
                        /* reparent the regionview into a group above all
                         * others
@@ -938,10 +937,6 @@ RegionMoveDrag::motion (GdkEvent* event, bool first_move)
 void
 RegionMotionDrag::finished (GdkEvent *, bool)
 {
-       for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
-               i->view->set_opacity_for_drag (false);
-       }
-
        for (vector<TimeAxisView*>::iterator i = _time_axis_views.begin(); i != _time_axis_views.end(); ++i) {
                if (!(*i)->view()) {
                        continue;
@@ -1200,7 +1195,7 @@ RegionMoveDrag::finished_no_copy (
                           visible.
                        */
                        rv->hide_region_editor();
-                       rv->set_opacity_for_drag (false);
+
 
                        remove_region_from_playlist (rv->region(), i->initial_playlist, modified_playlists);
 
@@ -1435,7 +1430,6 @@ RegionMotionDrag::aborted (bool)
                rv->get_canvas_group()->reparent (rtv->view()->canvas_item());
                rv->get_canvas_group()->set_y_position (0);
                rv->drag_end ();
-               rv->set_opacity_for_drag (false);
                rv->move (-_total_x_delta, 0);
                rv->set_height (rtv->view()->child_height ());
        }
@@ -1837,7 +1831,6 @@ VideoTimeLineDrag::motion (GdkEvent* event, bool first_move)
                DEBUG_TRACE (DEBUG::Drags, string_compose("SHIFT REGION at %1 by %2\n", i->initial_position, dt));
                if (first_move) {
                        rv->drag_start ();
-                       rv->set_opacity_for_drag (true);
                        rv->region()->clear_changes ();
                        rv->region()->suspend_property_changes();
                }
@@ -1885,7 +1878,6 @@ VideoTimeLineDrag::finished (GdkEvent * /*event*/, bool movement_occurred)
 
        for (list<AVDraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
                i->view->drag_end();
-               i->view->set_opacity_for_drag (false);
                i->view->region()->resume_property_changes ();
 
                _editor->session()->add_command (new StatefulDiffCommand (i->view->region()));
@@ -2021,7 +2013,6 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
 
                for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
                        RegionView* rv = i->view;
-                       rv->set_opacity_for_drag (false);
                        rv->enable_display (false);
                        rv->region()->playlist()->clear_owned_changes ();
 
@@ -2204,7 +2195,6 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
                        for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
                                 i->view->thaw_after_trim ();
                                i->view->enable_display (true);
-                               i->view->set_opacity_for_drag (true);
 
                                /* Trimming one region may affect others on the playlist, so we need
                                   to get undo Commands from the whole playlist rather than just the
index 86eb37379711cbe41b5f8951850e95553fb11817..aee25b2e01fd3ed74847113bc9f1fbc3e1535123 100644 (file)
@@ -519,6 +519,18 @@ RegionView::set_duration (framecnt_t frames, void *src)
        return true;
 }
 
+uint32_t
+RegionView::fill_opacity () const
+{
+       if (!_region->opaque()) {
+               return 60;
+       }
+       
+       uint32_t normal_tavi_opacity = TimeAxisViewItem::fill_opacity ();
+
+       return normal_tavi_opacity;
+}
+
 void
 RegionView::set_colors ()
 {
@@ -534,14 +546,6 @@ RegionView::set_colors ()
 void
 RegionView::set_frame_color ()
 {
-       if (!frame) {
-               return;
-       }
-
-       if (!_region->opaque()) {
-               fill_opacity = 60;
-       }
-
        TimeAxisViewItem::set_frame_color ();
 }
 
index ff2cf00a0d8f34e3a61904c4d7320364765b5851..e3bc1e6cbf553832c033e45857c6eb5e57053fcb 100644 (file)
@@ -154,6 +154,8 @@ class RegionView : public TimeAxisViewItem
        virtual void set_frame_color ();
        virtual void reset_width_dependent_items (double pixel_width);
 
+       uint32_t fill_opacity () const;
+
        virtual void color_handler () {}
 
        boost::shared_ptr<ARDOUR::Region> _region;
index b6ae21668a05d9104bce6c95fdbe35f72016aacd..e3b302f9758f649371273d3ba6348162416482ce 100644 (file)
@@ -167,7 +167,6 @@ TimeAxisViewItem::init (ArdourCanvas::Group* parent, double fpp, uint32_t base_c
        group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event));
 
        fill_color = base_color;
-       pre_drag_fill_color = base_color;
        samples_per_pixel = fpp;
        frame_position = start;
        item_duration = duration;
@@ -280,7 +279,6 @@ TimeAxisViewItem::init (ArdourCanvas::Group* parent, double fpp, uint32_t base_c
        }
 
        set_color (base_color);
-       set_opacity_for_drag (false);
 
        set_duration (item_duration, this);
        set_position (start, this);
@@ -666,11 +664,7 @@ TimeAxisViewItem::get_name_highlight()
 void
 TimeAxisViewItem::set_colors()
 {
-       /* we cannot be dragging this item when changing colors,
-          so reuse set_opacity_for_drag()
-       */
-       set_opacity_for_drag (false);
-       set_frame_color();
+       set_frame_color ();
 
        if (name_highlight) {
                 name_highlight->set_fill_color (fill_color);
@@ -705,19 +699,39 @@ TimeAxisViewItem::set_name_text_color ()
        name_text->set_color (contrasting_text_color (f));
 }
 
+uint32_t
+TimeAxisViewItem::fill_opacity () const
+{
+       if (!rect_visible) {
+               /* if the frame/rect is marked as invisible, then the
+                * fill should be transparent. simplest: set
+                
+                * alpha/opacity to zero.
+                */
+               return 0;
+       }
+
+       if (_dragging) {
+               return 130;
+       }
+
+       uint32_t col = ARDOUR_UI::config()->get_canvasvar_FrameBase();
+       return UINT_RGBA_A (col);
+}
+
 uint32_t
 TimeAxisViewItem::get_fill_color () const
 {
         uint32_t f;
        uint32_t o;
 
+       o = fill_opacity ();
+
        if (_selected) {
 
                 f = ARDOUR_UI::config()->get_canvasvar_SelectedFrameBase();
 
-               if (fill_opacity != 0) {
-                       o = fill_opacity;
-               } else {
+               if (o == 0) {
                        /* some condition of this item has set fill opacity to
                         * zero, but it has been selected, so use a mid-way
                         * alpha value to make it reasonably visible.
@@ -732,23 +746,10 @@ TimeAxisViewItem::get_fill_color () const
                } else {
                        if ((!Config->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) {
                                f = ARDOUR_UI::config()->get_canvasvar_FrameBase();
-                               /* use the opacity as set for the FrameBase color */
-                               o = UINT_RGBA_A (f);
                        } else {
                                f = fill_color;
-                               o = fill_opacity;
                        }
                }
-
-               /* tweak opacity */
-
-               if (!rect_visible) {
-                       /* if the frame/rect is marked as invisible, then the
-                        * fill should be transparent. simplest: set
-                        * alpha/opacity to zero.
-                        */
-                       o = 0;
-               }
        }
 
        return UINT_RGBA_CHANGE_A (f, o);
@@ -785,22 +786,6 @@ TimeAxisViewItem::set_frame_color()
         }
 }
 
-void
-TimeAxisViewItem::set_opacity_for_drag (bool drag_starting)
-{
-       if (drag_starting) {
-               fill_opacity = 130;
-       } else {
-               /* use the alpha/opacity value from the basic color, no matter whether 
-                  we use the color of our time axis or not.
-               */
-               
-               uint32_t col = ARDOUR_UI::config()->get_canvasvar_FrameBase();
-               fill_opacity = UINT_RGBA_A (col);
-       }
-       set_frame_color ();
-}
-
 void
 TimeAxisViewItem::set_frame_gradient ()
 {
@@ -1017,3 +1002,17 @@ TimeAxisViewItem::parameter_changed (string p)
                set_frame_gradient ();
        }
 }
+
+void
+TimeAxisViewItem::drag_start ()
+{
+       _dragging = true;
+       set_frame_color ();
+}
+
+void
+TimeAxisViewItem::drag_end ()
+{
+       _dragging = false;
+       set_frame_color ();
+}
index 9e8651fa39fde1b9eef7d18fd39d3fc346b8cc1e..3536baa222c3880b34f687e3acdb30d88398d36b 100644 (file)
@@ -74,7 +74,6 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
        void set_y (double);
        void set_color (uint32_t);
        void set_name_text_color ();
-       void set_opacity_for_drag (bool drag_starting);
 
         uint32_t get_fill_color () const;
 
@@ -86,8 +85,8 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
 
        double get_samples_per_pixel () const;
 
-       virtual void drag_start() { _dragging = true; }
-       virtual void drag_end() { _dragging = false; }
+       virtual void drag_start();
+       virtual void drag_end();
        bool dragging() const { return _dragging; }
 
        virtual void raise () { return; }
@@ -230,9 +229,9 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
        /** true if a small vestigial rect should be shown when the item gets very narrow */
        bool show_vestigial;
 
-       uint32_t fill_opacity;
        uint32_t fill_color;
-       uint32_t pre_drag_fill_color;
+
+       virtual uint32_t fill_opacity() const;
 
        uint32_t last_item_width;
        int name_text_width;