| @@ -373,6 +373,7 @@ enum LightMode { | |||
| kModeAutinn, | |||
| kModeBefaco, | |||
| kModeCardinal, | |||
| kModeExtratone, | |||
| kModeFehlerFabrik, | |||
| kModeForsitan, | |||
| kModeFundamental, | |||
| @@ -390,201 +391,207 @@ enum LightMode { | |||
| static const struct { | |||
| const LightMode mode; | |||
| const char* const filename; | |||
| const char* shapeIdsToIgnore[5]; | |||
| const int shapeNumberToIgnore; | |||
| } svgFilesToInvertForLightMode[] = { | |||
| // BSD | |||
| { kMode8Mode, "/8Mode/res/SNsoft_Panel.svg", {}, -1 }, | |||
| { kMode8Mode, "/8Mode/res/SNsoft_Panel.svg" }, | |||
| // GPLv3+ | |||
| { kModeAutinn, "/Autinn/res/AmpModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/BassModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/CVConverterModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/ComponentLibrary", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/DeadbandModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/DigiModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/DiseeModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/FilModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/FlopperModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/ImpModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/JetteModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/MelodyModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/MeraModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/Mixer6Module.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/NapModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/NonModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/OxcartModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/RebelModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/RetriModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/SawModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/SjipModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/SquareModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/VibratoModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/VxyModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/ZodModule.svg", {}, -1 }, | |||
| { kModeAutinn, "/Autinn/res/AmpModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/BassModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/CVConverterModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/ComponentLibrary" }, | |||
| { kModeAutinn, "/Autinn/res/DeadbandModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/DigiModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/DiseeModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/FilModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/FlopperModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/ImpModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/JetteModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/MelodyModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/MeraModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/Mixer6Module.svg" }, | |||
| { kModeAutinn, "/Autinn/res/NapModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/NonModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/OxcartModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/RebelModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/RetriModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/SawModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/SjipModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/SquareModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/VibratoModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/VxyModule.svg" }, | |||
| { kModeAutinn, "/Autinn/res/ZodModule.svg" }, | |||
| // Custom, runtime light mode used with permission | |||
| { kModeBefaco, "/Befaco/res/components/Knurlie.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/ABC.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/ADSR.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/ChoppingKinky.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/DualAtenuverter.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/EvenVCO.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/HexmixVCA.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Kickall.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Mex.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Mixer.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Morphader.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Muxlicer.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/NoisePlethora.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Percall.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/Rampage.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/STMix.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/SamplingModulator.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/SlewLimiter.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/SpringReverb.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/panels/StereoStrip.svg", {}, -1 }, | |||
| { kModeBefaco, "/Befaco/res/components/Knurlie.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/ABC.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/ADSR.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/ChoppingKinky.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/DualAtenuverter.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/EvenVCO.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/HexmixVCA.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Kickall.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Mex.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Mixer.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Morphader.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Muxlicer.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/NoisePlethora.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Percall.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/Rampage.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/STMix.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/SamplingModulator.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/SlewLimiter.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/SpringReverb.svg" }, | |||
| { kModeBefaco, "/Befaco/res/panels/StereoStrip.svg" }, | |||
| // GPLv3+ | |||
| { kModeCardinal, "/Cardinal/res/AudioFile.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/Carla.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/ExpanderMIDI.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/glBars.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostAudio.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostCV.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDI.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDICC.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDIGate.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDIMap.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostParameters.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostParamsMap.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/HostTime.svg" }, | |||
| { kModeCardinal, "/Cardinal/res/Ildaeil.svg" }, | |||
| // GPLv3+ | |||
| { kModeCardinal, "/Cardinal/res/AudioFile.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/AudioToCVPitch.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/Carla.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/ExpanderMIDI.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/glBars.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostAudio.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostCV.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDI.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDICC.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDIGate.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostMIDIMap.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostParameters.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostParamsMap.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/HostTime.svg", {}, -1 }, | |||
| { kModeCardinal, "/Cardinal/res/Ildaeil.svg", {}, -1 }, | |||
| // TODO chowdsp | |||
| { kModeExtratone, "/Extratone/res/Darwinism.svg" }, | |||
| // { kModeExtratone, "/Extratone/res/HalluciMemory.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Ichneumonid.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Meganeura.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Mesoglea.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Mesoglea2.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Mesohyl.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Modulo.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Opabinia.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Pureneura.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Puzzlebox.svg" }, | |||
| { kModeExtratone, "/Extratone/res/Splitterburst.svg" }, | |||
| { kModeExtratone, "/Extratone/res/XtrtnBlank.svg" }, | |||
| // GPLv3+ | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Arpanet.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Aspect.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Botzinger.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Chi.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Components", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Fax.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Lilt.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Luigi.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Monte.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Nova.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Planck.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/PSIOP.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Rasoir.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Sigma.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Components/FFHexScrew.svg", {}, -1 }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Arpanet.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Aspect.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Botzinger.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Chi.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Components" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Fax.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Lilt.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Luigi.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Monte.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Nova.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Planck.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/PSIOP.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Rasoir.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Sigma.svg" }, | |||
| { kModeFehlerFabrik, "/FehlerFabrik/res/Components/FFHexScrew.svg" }, | |||
| // GPLv3+ | |||
| { kModeForsitan, "/forsitan-modulare/res/alea.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/cumuli.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/deinde.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/interea.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/palette.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/pavo.svg", {}, -1 }, | |||
| { kModeForsitan, "/forsitan-modulare/res/alea.svg" }, | |||
| { kModeForsitan, "/forsitan-modulare/res/cumuli.svg" }, | |||
| { kModeForsitan, "/forsitan-modulare/res/deinde.svg" }, | |||
| { kModeForsitan, "/forsitan-modulare/res/interea.svg" }, | |||
| { kModeForsitan, "/forsitan-modulare/res/palette.svg" }, | |||
| { kModeForsitan, "/forsitan-modulare/res/pavo.svg" }, | |||
| // GPLv3+ | |||
| { kModeFundamental, "/Fundamental/res/8vert.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/ADSR.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Delay.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/LFO.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Merge.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/MidSide.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Mixer.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Mutes.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Noise.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Octave.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Pulses.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Quantizer.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Random.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/SEQ3.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Scope.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/SequentialSwitch1.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/SequentialSwitch2.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Split.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/Sum.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/VCA-1.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/VCA.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/VCF.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/VCMixer.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/VCO.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/WTLFO.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/WTVCO.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/components/ADSR-bg.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/components/Scope-bg.svg", {}, -1 }, | |||
| { kModeFundamental, "/Fundamental/res/8vert.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/ADSR.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Delay.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/LFO.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Merge.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/MidSide.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Mixer.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Mutes.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Noise.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Octave.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Pulses.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Quantizer.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Random.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/SEQ3.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Scope.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/SequentialSwitch1.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/SequentialSwitch2.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Split.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/Sum.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/VCA-1.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/VCA.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/VCF.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/VCMixer.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/VCO.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/WTLFO.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/WTVCO.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/components/ADSR-bg.svg" }, | |||
| { kModeFundamental, "/Fundamental/res/components/Scope-bg.svg" }, | |||
| // GPLv3+ | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Holzschnabel.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Hurdle.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/SEQ3st.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Seqtrol.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Stable16.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Stall.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Switch1.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/components/SquareSwitch_0.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/components/SquareSwitch_1.svg", {}, -1 }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Holzschnabel.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Hurdle.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/SEQ3st.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Seqtrol.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Stable16.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Stall.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/Switch1.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/components/SquareSwitch_0.svg" }, | |||
| { kModeGoodSheperd, "/GoodSheperd/res/components/SquareSwitch_1.svg" }, | |||
| // GPLv3+ | |||
| { kModeH4n4, "/h4n4-modules/res/XenQnt.svg", {}, -1 }, | |||
| { kModeH4n4, "/h4n4-modules/res/XenQnt.svg" }, | |||
| // MIT | |||
| { kModeHamptonHarmonics, "/HamptonHarmonics/res/Arp.svg", {}, -1 }, | |||
| { kModeHamptonHarmonics, "/HamptonHarmonics/res/Progress.svg", {}, -1 }, | |||
| { kModeHamptonHarmonics, "/HamptonHarmonics/res/Arp.svg" }, | |||
| { kModeHamptonHarmonics, "/HamptonHarmonics/res/Progress.svg" }, | |||
| // GPLv3+ | |||
| { kModeLomas, "/LomasModules/res/AdvancedSampler.svg", {}, -1 }, | |||
| { kModeLomas, "/LomasModules/res/GateSequencer.svg", {}, -1 }, | |||
| { kModeLomas, "/LomasModules/res/AdvancedSampler.svg" }, | |||
| { kModeLomas, "/LomasModules/res/GateSequencer.svg" }, | |||
| // MIT | |||
| { kModeMockba, "/MockbaModular/res/Blank.svg", {}, -1 }, | |||
| // TODO | |||
| { kModeMockba, "/MockbaModular/res/Empty_gray.svg" }, | |||
| // CC0 | |||
| { kModeMog, "/Mog/res/Network.svg", {}, -1 }, | |||
| { kModeMog, "/Mog/res/Nexus.svg", {}, -1 }, | |||
| // CC-BY-NC-ND-4.0 | |||
| // TODO Orbits - non compat license | |||
| { kModeMog, "/Mog/res/Network.svg" }, | |||
| { kModeMog, "/Mog/res/Nexus.svg" }, | |||
| // CC-BY-SA-4.0 | |||
| { kModePrism, "/Prism/res/prism_Droplet.svg", {}, -1 }, | |||
| { kModePrism, "/Prism/res/prism_Rainbow.svg", {}, -1 }, | |||
| { kModePrism, "/Prism/res/RainbowScaleExpander.svg", {}, -1 }, | |||
| { kModePrism, "/Prism/res/prism_Droplet.svg" }, | |||
| { kModePrism, "/Prism/res/prism_Rainbow.svg" }, | |||
| { kModePrism, "/Prism/res/RainbowScaleExpander.svg" }, | |||
| // CC-BY-SA-4.0 | |||
| { kModeRepelzen, "/repelzen/res/reface/reburst_bg.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/refold_bg.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg1.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg2.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg3.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg4.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg5.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg6.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg7.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg8.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/retrig_bg.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/rewin_bg.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/rexmix_bg.svg", {}, -1 }, | |||
| { kModeRepelzen, "/repelzen/res/reface/reburst_bg.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/refold_bg.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg1.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg2.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg3.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg4.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg5.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg6.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg7.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/repelzen_bg8.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/retrig_bg.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/rewin_bg.svg" }, | |||
| { kModeRepelzen, "/repelzen/res/reface/rexmix_bg.svg" }, | |||
| // GPLv3+ | |||
| { kModeSonusmodular, "/sonusmodular/res/addiction.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/bitter.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/bymidside.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/campione.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/chainsaw.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ctrl.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/deathcrush.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/fraction.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/harmony.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ladrone.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/luppolo.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/luppolo3.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/micromacro.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/mrcheb.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/multimulti.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/neurosc.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/oktagon.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/osculum.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/paramath.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/piconoise.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/pith.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/pusher.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ringo.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/scramblase.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/tropicana.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/twoff.svg", {}, -1 }, | |||
| { kModeSonusmodular, "/sonusmodular/res/yabp.svg", {}, -1 }, | |||
| // TODO xtrnt | |||
| // TODO zzc, needs permission | |||
| { kModeSonusmodular, "/sonusmodular/res/addiction.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/bitter.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/bymidside.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/campione.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/chainsaw.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ctrl.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/deathcrush.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/fraction.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/harmony.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ladrone.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/luppolo.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/luppolo3.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/micromacro.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/mrcheb.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/multimulti.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/neurosc.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/oktagon.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/osculum.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/paramath.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/piconoise.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/pith.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/pusher.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/ringo.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/scramblase.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/tropicana.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/twoff.svg" }, | |||
| { kModeSonusmodular, "/sonusmodular/res/yabp.svg" }, | |||
| }; | |||
| static inline | |||
| @@ -931,6 +938,22 @@ bool invertPaintForLightMode(const LightMode mode, NSVGshape* const shape, NSVGp | |||
| return true; | |||
| } | |||
| break; | |||
| case kModeExtratone: | |||
| switch (paint.color) | |||
| { | |||
| case 0x00000000: | |||
| case 0x00ffffff: | |||
| case 0xff000000: | |||
| case 0xffd5ffe5: | |||
| case 0xfff2f2f2: | |||
| case 0xfff2ffff: | |||
| case 0xfff9f9f9: | |||
| case 0xffffffff: | |||
| break; | |||
| default: | |||
| return false; | |||
| } | |||
| break; | |||
| case kModeFehlerFabrik: | |||
| switch (paint.color) | |||
| { | |||
| @@ -999,6 +1022,17 @@ bool invertPaintForLightMode(const LightMode mode, NSVGshape* const shape, NSVGp | |||
| return true; | |||
| } | |||
| break; | |||
| case kModeMockba: | |||
| switch (paint.color) | |||
| { | |||
| case 0xff1a1a1a: | |||
| case 0xff666666: | |||
| paint.color = 0xffd7e3f4; | |||
| return true; | |||
| default: | |||
| return false; | |||
| } | |||
| break; | |||
| case kModeMog: | |||
| switch (paint.color) | |||
| { | |||