Skip to content

Commit

Permalink
feat: add quick FX for stem
Browse files Browse the repository at this point in the history
This allows the effect manager to apply quick effect on each stem.
Effects are applied post stem fader, but pre deck fader
  • Loading branch information
acolombier committed Apr 23, 2024
1 parent ae1bca4 commit fc42319
Show file tree
Hide file tree
Showing 19 changed files with 411 additions and 58 deletions.
61 changes: 55 additions & 6 deletions res/skins/LateNight/waveform.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,12 +133,10 @@
<TextColor>#FFFFFF</TextColor>
</Mark>
<StemControl alignment="left">
<MinimumSize>138,68</MinimumSize>
<MaximumSize>158,1920</MaximumSize>
<SizePolicy>me,me</SizePolicy>
<MinimumSize>248me,68m</MinimumSize>
<Stem>
<MinimumSize>130,17</MinimumSize>
<MaximumSize>150,34</MaximumSize>
<MinimumSize>240,17</MinimumSize>
<MaximumSize>240,34</MaximumSize>
<SizePolicy>me,min</SizePolicy>
<Layout>horizontal</Layout>
<Children>
Expand All @@ -151,7 +149,7 @@
<MinimumSize>20,17</MinimumSize>
<MaximumSize>40,34</MaximumSize>
<SizePolicy>me,me</SizePolicy>
<Knob>skins:LateNight/<Variable name="KnobScheme"/>/knobs/knob_indicator_regular_<Variable name="KnobColorEq"/>.svg</Knob>
<Knob>skins:LateNight/<Variable name="KnobScheme"/>/knobs/knob_indicator_regular_grey.svg</Knob>
<BackPath>skins:LateNight/<Variable name="KnobScheme"/>/knobs/knob_bg_regular.svg</BackPath>
<MinAngle><Variable name="PotiMinAngle"/></MinAngle>
<MaxAngle><Variable name="PotiMaxAngle"/></MaxAngle>
Expand All @@ -164,6 +162,57 @@
<ConfigKey><Variable name="StemGroup"/>,stem_<Variable name="StemIdx"/>_volume</ConfigKey>
</Connection>
</KnobComposed>
<EffectChainPresetSelector>
<ObjectName>QuickEffectSelectorLeft</ObjectName>
<MinimumSize>40,17</MinimumSize>
<MaximumSize>70,28</MaximumSize>
<SizePolicy>me,e</SizePolicy>
<EffectUnitGroup>[QuickEffectRack1_<Variable name="StemFxGroup"/>]</EffectUnitGroup>
</EffectChainPresetSelector>
<WidgetGroup>
<Size>14f,9f</Size>
<Children>
<PushButton>
<TooltipId>QuickEffectRack_enabled</TooltipId>
<ObjectName>QuickEffectDot</ObjectName>
<Pos>4,0</Pos>
<Size>9f,9f</Size>
<NumberStates>2</NumberStates>
<RightClickIsPushButton>false</RightClickIsPushButton>
<State>
<Number>0</Number>
</State>
<State>
<Number>1</Number>
</State>
<Connection>
<ConfigKey>[QuickEffectRack1_<Variable name="StemFxGroup"/>],enabled</ConfigKey>
<ButtonState>LeftButton</ButtonState>
</Connection>
</PushButton>
</Children>
</WidgetGroup>
<KnobComposed>
<TooltipId>QuickEffectRack_super1</TooltipId>
<Pos>0,0</Pos>
<MinimumSize>20,17</MinimumSize>
<MaximumSize>40,34</MaximumSize>
<SizePolicy>me,me</SizePolicy>
<Knob>skins:LateNight/<Variable name="KnobScheme"/>/knobs/knob_indicator_regular_green.svg</Knob>
<BackPath>skins:LateNight/<Variable name="KnobScheme"/>/knobs/knob_bg_regular.svg</BackPath>
<MinAngle><Variable name="PotiMinAngle"/></MinAngle>
<MaxAngle><Variable name="PotiMaxAngle"/></MaxAngle>
<ArcRadius><Variable name="ArcRadius"/></ArcRadius>
<ArcUnipolar><Variable name="ArcUnipolar"/></ArcUnipolar>
<ArcReversed><Variable name="ArcReversed"/></ArcReversed>
<ArcColor><Variable name="ArcColorFx12Quick"/></ArcColor>
<ArcThickness><Variable name="ArcThickness"/></ArcThickness>
<ArcRoundCaps><Variable name="ArcRoundCaps"/></ArcRoundCaps>
<KnobCenterYOffset>1.998</KnobCenterYOffset>
<Connection>
<ConfigKey>[QuickEffectRack1_<Variable name="StemFxGroup"/>],super1</ConfigKey>
</Connection>
</KnobComposed>
</Children>
</Stem>
<Connection>
Expand Down
Binary file added res/skins/Shade/btn/btn_stem_minus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/skins/Shade/btn/btn_stem_plus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions res/skins/Shade/deck.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<Children>
<WidgetGroup><!-- Cover/Artist/title/time / waveform/spinny / overview/controls -->
<ObjectName>DeckLeft</ObjectName>
<Size>0e,165f</Size>
<Size>0e,175f</Size>
<Layout>horizontal</Layout>
<Children>
<WidgetGroup><!-- Cover/Artist/title/time / waveform/spinny / overview/controls -->
Expand Down Expand Up @@ -148,19 +148,19 @@
</WidgetGroup><!-- Cover art / Artist/title / Playposition -->
<WidgetGroup><!-- Scrolling waveform / Spinny / Vinyl controls -->
<ObjectName>DeckUpperLeftMidPart</ObjectName>
<Size>0e,91f</Size>
<Size>0e,81f</Size>
<Layout>horizontal</Layout>
<Children>
<WidgetGroup>
<ObjectName>DeckUpperMidPart</ObjectName>
<Size>0e,91f</Size>
<Size>0e,81f</Size>
<BackPath>style/style_bg_deck_pane.png</BackPath>
<Layout>horizontal</Layout>
<Children>
<!-- Collapsing Waveform, VinylControl & spinning Vinyl widget-->
<WidgetGroup>
<ObjectName>DeckWaveformVinylControlSpinny</ObjectName>
<Size>0e,91f</Size>
<Size>0e,81f</Size>
<Layout>horizontal</Layout>
<Children>
<!--If you want the waveforms center to adjust when resizing in a collapsing widget
Expand All @@ -179,7 +179,7 @@
-->
<WidgetGroup>
<Layout>horizontal</Layout>
<Size>0e,91f</Size>
<Size>0e,81f</Size>
<Children>
<Template src="skin:waveform.xml"/>
</Children>
Expand All @@ -191,7 +191,7 @@
<Children>
<!-- Spinning Vinyl sub-widget -->
<WidgetGroup>
<Size>91f,91f</Size>
<Size>81f,81f</Size>
<Layout>horizontal</Layout>
<Children>
<!--
Expand All @@ -201,7 +201,7 @@
-->
<Spinny>
<TooltipId>spinny</TooltipId>
<Size>91f,91f</Size>
<Size>81f,81f</Size>
<Channel><Variable name="channum"/></Channel>
<PathBackground scalemode="STRETCH_ASPECT">vinyl_spinny_background.png</PathBackground>
<PathForeground scalemode="STRETCH_ASPECT">vinyl_spinny_foreground.png</PathForeground>
Expand Down
65 changes: 44 additions & 21 deletions res/skins/Shade/deck_transport.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
<Template>
<WidgetGroup>
<Size>243f,59f</Size>
<Size>290f,59f</Size>
<Children>
<!--
**********************************************
Button- Stem
**********************************************
-->
<PushButton>
<TooltipId></TooltipId>
<NumberStates>2</NumberStates>
<State>
<Number>0</Number>
<Pressed>skin:/btn/btn_stem_plus.png</Pressed>
<Unpressed>skin:/btn/btn_stem_plus.png</Unpressed>
</State>
<State>
<Number>1</Number>
<Pressed>skin:/btn/btn_stem_minus.png</Pressed>
<Unpressed>skin:/btn/btn_stem_minus.png</Unpressed>
</State>
<Pos>5,0</Pos>
<Connection>
<ConfigKey>[Skin],show_stem_controls</ConfigKey>
</Connection>
</PushButton>
<!--
**********************************************
Button- Src
**********************************************
-->
Expand All @@ -20,7 +43,7 @@
<Pressed>skin:/btn/btn_src_minus.png</Pressed>
<Unpressed>skin:/btn/btn_src_minus.png</Unpressed>
</State>
<Pos>5,0</Pos>
<Pos>52,0</Pos>
<Connection>
<ConfigKey>[Skin],show_microphones</ConfigKey>
</Connection>
Expand All @@ -39,7 +62,7 @@
<Pressed>skin:/btn/btn_microphone_talkover_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_microphone_talkover_over.png</Unpressed>
</State>
<Pos>5,14</Pos>
<Pos>52,14</Pos>
<Connection>
<ConfigKey>[Microphone<Variable name="micnum"/>],talkover</ConfigKey>
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
Expand All @@ -60,7 +83,7 @@
<Pressed>skin:/btn/btn_aux_mute_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_aux_mute_over.png</Unpressed>
</State>
<Pos>5,35</Pos>
<Pos>52,35</Pos>
<Connection>
<ConfigKey>[Auxiliary<Variable name="auxnum"/>],main_mix</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -85,7 +108,7 @@
<Pressed>skin:/btn/btn_sampler_minus.png</Pressed>
<Unpressed>skin:/btn/btn_sampler_minus.png</Unpressed>
</State>
<Pos>53,0</Pos>
<Pos>100,0</Pos>
<Connection>
<ConfigKey>[Skin],show_samplers</ConfigKey>
</Connection>
Expand All @@ -104,7 +127,7 @@
<Pressed>skin:/btn/btn_pause_sampler_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_pause_sampler_over.png</Unpressed>
</State>
<Pos>53,14</Pos>
<Pos>100,14</Pos>
<Connection>
<ConfigKey>[Sampler<Variable name="samplernum1"/>],cue_gotoandplay</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -131,7 +154,7 @@
<Pressed>skin:/btn/btn_pause_sampler_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_pause_sampler_over.png</Unpressed>
</State>
<Pos>74,14</Pos>
<Pos>121,14</Pos>
<Connection>
<ConfigKey>[Sampler<Variable name="samplernum2"/>],cue_gotoandplay</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -158,7 +181,7 @@
<Pressed>skin:/btn/btn_pause_sampler_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_pause_sampler_over.png</Unpressed>
</State>
<Pos>53,35</Pos>
<Pos>100,35</Pos>
<Connection>
<ConfigKey>[Sampler<Variable name="samplernum3"/>],cue_gotoandplay</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -185,7 +208,7 @@
<Pressed>skin:/btn/btn_pause_sampler_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_pause_sampler_over.png</Unpressed>
</State>
<Pos>74,35</Pos>
<Pos>121,35</Pos>
<Connection>
<ConfigKey>[Sampler<Variable name="samplernum4"/>],cue_gotoandplay</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -206,7 +229,7 @@
-->
<PushButton>
<Size>54f,14f</Size>
<Pos>101,0</Pos>
<Pos>148,0</Pos>
<NumberStates>2</NumberStates>
<State>
<Number>0</Number>
Expand All @@ -231,7 +254,7 @@
<Pressed>skin:/btn/btn_beatjump_forward_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_beatjump_forward.png</Unpressed>
</State>
<Pos>122,14</Pos>
<Pos>169,14</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],beatjump_forward</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand All @@ -249,7 +272,7 @@
<Pressed>skin:/btn/btn_beatjump_backward_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_beatjump_backward.png</Unpressed>
</State>
<Pos>101,14</Pos>
<Pos>148,14</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],beatjump_backward</ConfigKey>
<ButtonState>LeftButton</ButtonState>
Expand Down Expand Up @@ -279,7 +302,7 @@
<Pressed>skin:/btn/btn_reverse_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_reverse_over.png</Unpressed>
</State>
<Pos>101,35</Pos>
<Pos>148,35</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],reverse</ConfigKey>
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
Expand Down Expand Up @@ -310,7 +333,7 @@
<Pressed>skin:/btn/btn_loop_minus.png</Pressed>
<Unpressed>skin:/btn/btn_loop_minus.png</Unpressed>
</State>
<Pos>149,0</Pos>
<Pos>196,0</Pos>
<Connection>
<ConfigKey>[Skin],show_loop_beatjump_controls</ConfigKey>
</Connection>
Expand All @@ -336,7 +359,7 @@
<Pressed>skin:/btn/btn_beatloop_4_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_beatloop_4_over.png</Unpressed>
</State>
<Pos>149,14</Pos>
<Pos>196,14</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],beatloop_4_toggle</ConfigKey>
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
Expand All @@ -358,7 +381,7 @@
</PushButton>
<PushButton>
<TooltipId>reloop_toggle</TooltipId>
<Pos>170,14</Pos>
<Pos>217,14</Pos>
<NumberStates>2</NumberStates>
<LeftClickIsPushButton>true</LeftClickIsPushButton>
<State>
Expand Down Expand Up @@ -393,7 +416,7 @@
<Pressed>skin:/btn/btn_beatloop_halve_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_beatloop_halve.png</Unpressed>
</State>
<Pos>149,35</Pos>
<Pos>196,35</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],loop_halve</ConfigKey>
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
Expand All @@ -408,7 +431,7 @@
<Pressed>skin:/btn/btn_beatloop_double_overdown.png</Pressed>
<Unpressed>skin:/btn/btn_beatloop_double.png</Unpressed>
</State>
<Pos>170,35</Pos>
<Pos>217,35</Pos>
<Connection>
<ConfigKey>[Channel<Variable name="channum"/>],loop_double</ConfigKey>
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
Expand Down Expand Up @@ -436,13 +459,13 @@
<Pressed>skin:/btn/btn_intro_cues.png</Pressed>
<Unpressed>skin:/btn/btn_intro_cues.png</Unpressed>
</State>
<Pos>196,0</Pos>
<Pos>245,0</Pos>
<Connection>
<ConfigKey>[Skin],show_intro_outro_cues</ConfigKey>
</Connection>
</PushButton>
<WidgetGroup><!-- Hotcues 1-4 -->
<Pos>197,14</Pos>
<Pos>244,14</Pos>
<Size>43f,43f</Size>
<Children>
<Template src="skin:hotcue_button.xml">
Expand All @@ -469,7 +492,7 @@
</Connection>
</WidgetGroup>
<WidgetGroup><!-- Special Cues -->
<Pos>197,14</Pos>
<Pos>244,14</Pos>
<Size>43f,43f</Size>
<Children>
<PushButton>
Expand Down
24 changes: 20 additions & 4 deletions res/skins/Shade/waveform.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,12 @@
- if you change from a skin which supports more hotcues
than buttons are in the current skin (and has them activated)
-->
<StemControl alignment="right">
<MinimumSize>138,68</MinimumSize>
<MaximumSize>158,1920</MaximumSize>
<StemControl alignment="left">
<MinimumSize>168,58</MinimumSize>
<MaximumSize>168,1920</MaximumSize>
<SizePolicy>me,me</SizePolicy>
<Stem>
<MinimumSize>130,17</MinimumSize>
<MinimumSize>130,14</MinimumSize>
<MaximumSize>150,1920</MaximumSize>
<SizePolicy>me,min</SizePolicy>
<Layout>horizontal</Layout>
Expand All @@ -131,6 +131,22 @@
<ConfigKey><Variable name="StemGroup"/>,stem_<Variable name="StemIdx"/>_volume</ConfigKey>
</Connection>
</Knob>
<EffectChainPresetSelector>
<ObjectName>QuickEffectSelectorLeft</ObjectName>
<MinimumSize>20,14</MinimumSize>
<MaximumSize>20,28</MaximumSize>
<SizePolicy>me,e</SizePolicy>
<EffectUnitGroup>[QuickEffectRack1_<Variable name="StemFxGroup"/>]</EffectUnitGroup>
</EffectChainPresetSelector>
<Knob>
<TooltipId>QuickEffectRack_super1</TooltipId>
<NumberStates>64</NumberStates>
<Path>knobs_no_center/knob_rotary_s%1.png</Path>
<Pos>151,15</Pos>
<Connection>
<ConfigKey>[QuickEffectRack1_<Variable name="StemFxGroup"/>],super1</ConfigKey>
</Connection>
</Knob>
</Children>
</Stem>
<Connection>
Expand Down
Loading

0 comments on commit fc42319

Please sign in to comment.