/*
    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(ActiveCrossfade, "active crossfade")
CANVAS_VARIABLE(AudioBusBase, "audio bus base")
CANVAS_VARIABLE(AudioMasterBusBase, "audio master bus base")
CANVAS_VARIABLE(AudioTrackBase, "audio track base")
CANVAS_VARIABLE(AutomationLine, "automation line")
CANVAS_VARIABLE(AutomationTrackFill, "automation track fill")
CANVAS_VARIABLE(AutomationTrackOutline, "automation track outline")
CANVAS_VARIABLE(CDMarkerBar, "cd marker bar")
CANVAS_VARIABLE(CrossfadeEditorBase, "crossfade editor base")
CANVAS_VARIABLE(CrossfadeEditorLine, "crossfade editor line")
CANVAS_VARIABLE(CrossfadeEditorLineShading, "crossfade editor line shading")
CANVAS_VARIABLE(CrossfadeEditorPointFill, "crossfade editor point fill")
CANVAS_VARIABLE(CrossfadeEditorPointOutline, "crossfade editor point outline")
CANVAS_VARIABLE(CrossfadeEditorWave, "crossfade editor wave")
CANVAS_VARIABLE(SelectedCrossfadeEditorWaveFill, "selected crossfade editor wave fill")
CANVAS_VARIABLE(CrossfadeLine, "crossfade line")
CANVAS_VARIABLE(EditPoint, "edit point")
CANVAS_VARIABLE(EnteredAutomationLine, "entered automation line")
CANVAS_VARIABLE(ControlPointFill, "control point fill")
CANVAS_VARIABLE(ControlPointOutline, "control point outline")
CANVAS_VARIABLE(ControlPointSelected, "control point selected")
CANVAS_VARIABLE(EnteredGainLine, "entered gain line")
CANVAS_VARIABLE(EnteredMarker, "entered marker")
CANVAS_VARIABLE(FrameHandle, "frame handle")
CANVAS_VARIABLE(GainLine, "gain line")
CANVAS_VARIABLE(GainLineInactive, "gain line inactive")
CANVAS_VARIABLE(GhostTrackBase, "ghost track base")
CANVAS_VARIABLE(GhostTrackMidiOutline, "ghost track midi outline")
CANVAS_VARIABLE(GhostTrackWave, "ghost track wave")
CANVAS_VARIABLE(GhostTrackWaveFill, "ghost track wave fill")
CANVAS_VARIABLE(GhostTrackWaveClip, "ghost track wave clip")
CANVAS_VARIABLE(GhostTrackZeroLine, "ghost track zero line")
CANVAS_VARIABLE(ImageTrack, "image track")
CANVAS_VARIABLE(InactiveCrossfade, "inactive crossfade")
CANVAS_VARIABLE(InactiveFadeHandle, "inactive fade handle")
CANVAS_VARIABLE(InactiveGroupTab, "inactive group tab")
CANVAS_VARIABLE(LocationCDMarker, "location cd marker")
CANVAS_VARIABLE(LocationLoop, "location loop")
CANVAS_VARIABLE(LocationMarker, "location marker")
CANVAS_VARIABLE(LocationPunch, "location punch")
CANVAS_VARIABLE(LocationRange, "location range")
CANVAS_VARIABLE(MarkerBar, "marker bar")
CANVAS_VARIABLE(MarkerBarSeparator, "marker bar separator")
CANVAS_VARIABLE(MarkerDragLine, "marker drag line")
CANVAS_VARIABLE(MarkerLabel, "marker label")
CANVAS_VARIABLE(MarkerTrack, "marker track")
CANVAS_VARIABLE(MeasureLineBar, "measure line bar")
CANVAS_VARIABLE(MeasureLineBeat, "measure line beat")
CANVAS_VARIABLE(MeterBar, "meter bar")
CANVAS_VARIABLE(MeterBridgePeakLabel, "meterbridge peaklabel")
CANVAS_VARIABLE(MeterColorBBC, "meter color BBC")
CANVAS_VARIABLE(MeterColor0, "meter fill: 0")
CANVAS_VARIABLE(MeterColor1, "meter fill: 1")
CANVAS_VARIABLE(MeterColor2, "meter fill: 2")
CANVAS_VARIABLE(MeterColor3, "meter fill: 3")
CANVAS_VARIABLE(MeterColor4, "meter fill: 4")
CANVAS_VARIABLE(MeterColor5, "meter fill: 5")
CANVAS_VARIABLE(MeterColor6, "meter fill: 6")
CANVAS_VARIABLE(MeterColor7, "meter fill: 7")
CANVAS_VARIABLE(MeterColor8, "meter fill: 8")
CANVAS_VARIABLE(MeterColor9, "meter fill: 9")
CANVAS_VARIABLE(MidiMeterColor0, "midi meter fill: 0")
CANVAS_VARIABLE(MidiMeterColor1, "midi meter fill: 1")
CANVAS_VARIABLE(MidiMeterColor2, "midi meter fill: 2")
CANVAS_VARIABLE(MidiMeterColor3, "midi meter fill: 3")
CANVAS_VARIABLE(MidiMeterColor4, "midi meter fill: 4")
CANVAS_VARIABLE(MidiMeterColor5, "midi meter fill: 5")
CANVAS_VARIABLE(MidiMeterColor6, "midi meter fill: 6")
CANVAS_VARIABLE(MidiMeterColor7, "midi meter fill: 7")
CANVAS_VARIABLE(MidiMeterColor8, "midi meter fill: 8")
CANVAS_VARIABLE(MidiMeterColor9, "midi meter fill: 9")
CANVAS_VARIABLE(MeterBackgroundBot, "meter background: bottom")
CANVAS_VARIABLE(MeterBackgroundTop, "meter background: top")
CANVAS_VARIABLE(MeterMarker, "meter marker")
CANVAS_VARIABLE(MidiBusBase, "midi bus base")
CANVAS_VARIABLE(MidiFrameBase, "midi frame base")
CANVAS_VARIABLE(MidiNoteInactiveChannel, "midi note inactive channel")
CANVAS_VARIABLE(MidiNoteColorBase, "midi note color min")
CANVAS_VARIABLE(MidiNoteColorMid, "midi note color mid")
CANVAS_VARIABLE(MidiNoteColorTop, "midi note color max")
CANVAS_VARIABLE(SelectedMidiNoteColorBase, "selected midi note color min")
CANVAS_VARIABLE(SelectedMidiNoteColorMid, "selected midi note color mid")
CANVAS_VARIABLE(SelectedMidiNoteColorTop, "selected midi note color max")
CANVAS_VARIABLE(MidiNoteSelected, "midi note selected")
CANVAS_VARIABLE(MidiNoteVelocityText, "midi note velocity text")
CANVAS_VARIABLE(MidiPatchChangeFill, "midi patch change fill")
CANVAS_VARIABLE(MidiPatchChangeOutline, "midi patch change outline")
CANVAS_VARIABLE(MidiPatchChangeInactiveChannelFill, "midi patch change inactive channel fill")
CANVAS_VARIABLE(MidiPatchChangeInactiveChannelOutline, "midi patch change inactive channel outline")
CANVAS_VARIABLE(MidiSysExFill, "midi sysex fill")
CANVAS_VARIABLE(MidiSysExOutline, "midi sysex outline")
CANVAS_VARIABLE(MidiSelectRectFill, "midi select rect fill")
CANVAS_VARIABLE(MidiSelectRectOutline, "midi select rect outline")
CANVAS_VARIABLE(MidiTrackBase, "midi track base")
CANVAS_VARIABLE(NameHighlightFill, "name highlight fill")
CANVAS_VARIABLE(NameHighlightOutline, "name highlight outline")
CANVAS_VARIABLE(PianoRollBlackOutline, "piano roll black outline")
CANVAS_VARIABLE(PianoRollBlack, "piano roll black")
CANVAS_VARIABLE(PianoRollWhite, "piano roll white")
CANVAS_VARIABLE(PlayHead, "play head")
CANVAS_VARIABLE(ProcessorAutomationLine, "processor automation line")
CANVAS_VARIABLE(PunchLine, "punch line")
CANVAS_VARIABLE(RangeDragBarRect, "range drag bar rect")
CANVAS_VARIABLE(RangeDragRect, "range drag rect")
CANVAS_VARIABLE(RangeMarkerBar, "range marker bar")
CANVAS_VARIABLE(RecordingRect, "recording rect")
CANVAS_VARIABLE(RecWaveFormFill, "recorded waveform fill")
CANVAS_VARIABLE(RecWaveForm, "recorded waveform outline")
CANVAS_VARIABLE(RubberBandRect, "rubber band rect")
CANVAS_VARIABLE(RulerBase, "ruler base")
CANVAS_VARIABLE(RulerText, "ruler text")
CANVAS_VARIABLE(SelectedCrossfadeEditorLine, "selected crossfade editor line")
CANVAS_VARIABLE(SelectedCrossfadeEditorWave, "selected crossfade editor wave")
CANVAS_VARIABLE(SelectedFrameBase, "selected region base")
CANVAS_VARIABLE(SelectedWaveFormFill, "selected waveform fill")
CANVAS_VARIABLE(SelectedWaveForm, "selected waveform outline")
CANVAS_VARIABLE(SelectionRect, "selection rect")
CANVAS_VARIABLE(Selection, "selection")
CANVAS_VARIABLE(Shuttle, "shuttle")
CANVAS_VARIABLE(Silence, "silence")
CANVAS_VARIABLE(SilenceText, "silence text")
CANVAS_VARIABLE(MonoPannerOutline, "mono panner outline")
CANVAS_VARIABLE(MonoPannerFill, "mono panner fill")
CANVAS_VARIABLE(MonoPannerText, "mono panner text")
CANVAS_VARIABLE(MonoPannerBackground, "mono panner bg")
CANVAS_VARIABLE(MonoPannerPositionFill, "mono panner position fill")
CANVAS_VARIABLE(MonoPannerPositionOutline, "mono panner position outline")
CANVAS_VARIABLE(StereoPannerOutline, "stereo panner outline")
CANVAS_VARIABLE(StereoPannerFill, "stereo panner fill")
CANVAS_VARIABLE(StereoPannerText, "stereo panner text")
CANVAS_VARIABLE(StereoPannerBackground, "stereo panner bg")
CANVAS_VARIABLE(StereoPannerRule, "stereo panner rule")
CANVAS_VARIABLE(StereoPannerMonoOutline, "stereo panner mono outline")
CANVAS_VARIABLE(StereoPannerMonoFill, "stereo panner mono fill")
CANVAS_VARIABLE(StereoPannerMonoText, "stereo panner mono text")
CANVAS_VARIABLE(StereoPannerMonoBackground, "stereo panner mono bg")
CANVAS_VARIABLE(StereoPannerInvertedOutline, "stereo panner inverted outline")
CANVAS_VARIABLE(StereoPannerInvertedFill, "stereo panner inverted fill")
CANVAS_VARIABLE(StereoPannerInvertedText, "stereo panner inverted text")
CANVAS_VARIABLE(StereoPannerInvertedBackground, "stereo panner inverted bg")
CANVAS_VARIABLE(TempoBar, "tempo bar")
CANVAS_VARIABLE(TempoMarker, "tempo marker")
CANVAS_VARIABLE(TimeAxisFrame, "time axis frame")
CANVAS_VARIABLE(SelectedTimeAxisFrame, "selected time axis frame")
CANVAS_VARIABLE(TimeStretchFill, "time stretch fill")
CANVAS_VARIABLE(TimeStretchOutline, "time stretch outline")
CANVAS_VARIABLE(MonitorKnobArcStart, "monitor knob: arc start")
CANVAS_VARIABLE(MonitorKnobArcEnd, "monitor knob: arc end")
CANVAS_VARIABLE(TransportDragRect, "transport drag rect")
CANVAS_VARIABLE(TransportLoopRect, "transport loop rect")
CANVAS_VARIABLE(TransportMarkerBar, "transport marker bar")
CANVAS_VARIABLE(TransportPunchRect, "transport punch rect")
CANVAS_VARIABLE(TrimHandleLocked, "trim handle locked")
CANVAS_VARIABLE(TrimHandle, "trim handle")
CANVAS_VARIABLE(VerboseCanvasCursor, "verbose canvas cursor")
CANVAS_VARIABLE(VestigialFrame, "vestigial frame")
CANVAS_VARIABLE(VideoBar, "video timeline bar")
CANVAS_VARIABLE(FrameBase, "region base")
CANVAS_VARIABLE(CoveredRegion, "region area covered by another region")
CANVAS_VARIABLE(WaveForm, "waveform outline")
CANVAS_VARIABLE(WaveFormClip, "clipped waveform")
CANVAS_VARIABLE(WaveFormFill, "waveform fill")
CANVAS_VARIABLE(ZeroLine, "zero line")
CANVAS_VARIABLE(MonitorSectionKnob, "monitor knob")

CANVAS_VARIABLE(ButtonBorder, "border color")
#define BUTTON_VARS(root,name) \
CANVAS_VARIABLE(root ## Fill, name ": fill") \
CANVAS_VARIABLE(root ## FillActive, name ": fill active") \
CANVAS_VARIABLE(root ## LED, name ": led") \
CANVAS_VARIABLE(root ## LEDActive, name ": led active") \
CANVAS_VARIABLE(root ## Text, name ": text") \
CANVAS_VARIABLE(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(MeterBridgePeakIndicator, "meterbridge peakindicator")
BUTTON_VARS(MeterBridgeLabel, "meterbridge label")
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(TrackNumberLabel, "tracknumber label")
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(LockButton, "lock button")
BUTTON_VARS(GenericButton, "generic button")

#define CLOCK_VARS(root,name) \
	CANVAS_VARIABLE(root ## Background, name ": background") \
	CANVAS_VARIABLE(root ## Text, name ": text") \
	CANVAS_VARIABLE(root ## EditedText, name ": edited text") \
	CANVAS_VARIABLE(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")
CANVAS_FONT_VARIABLE(SmallFont, "small font")
CANVAS_FONT_VARIABLE(SmallerFont, "smaller font")
CANVAS_FONT_VARIABLE(NormalFont, "normal font")
CANVAS_FONT_VARIABLE(BigFont, "big font")
CANVAS_FONT_VARIABLE(LargeFont, "large font")
CANVAS_FONT_VARIABLE(LargerFont, "larger font")
CANVAS_FONT_VARIABLE(HugerFont, "huger font")
CANVAS_FONT_VARIABLE(MassiveFont, "massive font")
CANVAS_FONT_VARIABLE(SmallBoldFont, "small bold font")
CANVAS_FONT_VARIABLE(SmallerBoldFont, "smaller bold font")
CANVAS_FONT_VARIABLE(NormalBoldFont, "normal bold font")
CANVAS_FONT_VARIABLE(BigBoldFont, "big bold font")
CANVAS_FONT_VARIABLE(LargeBoldFont, "large bold font")
CANVAS_FONT_VARIABLE(LargerBoldFont, "larger bold font")
CANVAS_FONT_VARIABLE(HugerBoldFont, "huger bold font")
CANVAS_FONT_VARIABLE(MassiveBoldFont, "massive bold font")
CANVAS_FONT_VARIABLE(SmallItalicFont, "small italic font")
CANVAS_FONT_VARIABLE(SmallerItalicFont, "smaller italic font")
CANVAS_FONT_VARIABLE(NormalItalicFont, "normal italic font")
CANVAS_FONT_VARIABLE(BigItalicFont, "big italic font")
CANVAS_FONT_VARIABLE(LargeItalicFont, "large italic font")
CANVAS_FONT_VARIABLE(LargerItalicFont, "larger italic font")
CANVAS_FONT_VARIABLE(HugerItalicFont, "huger italic font")
CANVAS_FONT_VARIABLE(MassiveItalicFont, "massive italic font")
CANVAS_FONT_VARIABLE(SmallMonospaceFont, "small monospace font")
CANVAS_FONT_VARIABLE(SmallerMonospaceFont, "smaller monospace font")
CANVAS_FONT_VARIABLE(NormalMonospaceFont, "normal monospace font")
CANVAS_FONT_VARIABLE(BigMonospaceFont, "big monospace font")
CANVAS_FONT_VARIABLE(LargeMonospaceFont, "large monospace font")
CANVAS_FONT_VARIABLE(LargerMonospaceFont, "larger monospace font")
CANVAS_FONT_VARIABLE(HugerMonospaceFont, "huger monospace font")
CANVAS_FONT_VARIABLE(MassiveMonospaceFont, "massive monospace font")
CANVAS_FONT_VARIABLE(SmallBoldMonospaceFont, "small bold monospace font")
CANVAS_FONT_VARIABLE(SmallerBoldMonospaceFont, "smaller bold monospace font")
CANVAS_FONT_VARIABLE(NormalBoldMonospaceFont, "normal bold monospace font")
CANVAS_FONT_VARIABLE(BigBoldMonospaceFont, "big bold monospace font")
CANVAS_FONT_VARIABLE(LargeBoldMonospaceFont, "large bold monospace font")
CANVAS_FONT_VARIABLE(LargerBoldMonospaceFont, "larger bold monospace font")
CANVAS_FONT_VARIABLE(HugerBoldMonospaceFont, "huger bold monospace font")
CANVAS_FONT_VARIABLE(MassiveBoldMonospaceFont, "massive bold monospace font")

