Skip to content

Commit

Permalink
WIP LateNight: allow to show 4 decks in a row
Browse files Browse the repository at this point in the history
  • Loading branch information
ronso0 committed Oct 10, 2024
1 parent 0c00f15 commit d286562
Show file tree
Hide file tree
Showing 22 changed files with 1,423 additions and 588 deletions.
36 changes: 36 additions & 0 deletions res/skins/LateNight/decks/decks_left.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,41 @@
</WidgetGroup>

</Children>
<Connection>
<ConfigKey>[Skin],show_4decks_row</ConfigKey>
<BindProperty>visible</BindProperty>
<Transform><Not/></Transform>
</Connection>
</WidgetGroup>

<WidgetGroup>
<ObjectName>DecksLeft</ObjectName>
<Layout>horizontal</Layout>
<SizePolicy>me,min</SizePolicy>
<Children>

<!-- <WidgetGroup>
<Layout>vertical</Layout>
<SizePolicy>me,min</SizePolicy>
<Children>
<SingletonContainer>
<ObjectName>Deck3_Src</ObjectName>
</SingletonContainer>
</Children>
<Connection>
<ConfigKey>[Skin],show_4decks</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup> -->

<SingletonContainer>
<ObjectName>Deck1_Src</ObjectName>
</SingletonContainer>

</Children>
<Connection>
<ConfigKey>[Skin],show_4decks_row</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
</Template>
38 changes: 37 additions & 1 deletion res/skins/LateNight/decks/decks_right.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Template>
<SetVariable name="Type">deck</SetVariable>
<WidgetGroup>
<ObjectName>DecksRight</ObjectName>
<ObjectName>DecksLeft</ObjectName>
<Layout>vertical</Layout>
<SizePolicy>me,min</SizePolicy>
<Children>
Expand All @@ -25,5 +25,41 @@
</WidgetGroup>

</Children>
<Connection>
<ConfigKey>[Skin],show_4decks_row</ConfigKey>
<BindProperty>visible</BindProperty>
<Transform><Not/></Transform>
</Connection>
</WidgetGroup>

<WidgetGroup>
<ObjectName>DecksLeft</ObjectName>
<Layout>horizontal</Layout>
<SizePolicy>me,min</SizePolicy>
<Children>

<SingletonContainer>
<ObjectName>Deck2_Src</ObjectName>
</SingletonContainer>

<!-- <WidgetGroup>
<Layout>vertical</Layout>
<SizePolicy>me,min</SizePolicy>
<Children>
<SingletonContainer>
<ObjectName>Deck4_Src</ObjectName>
</SingletonContainer>
</Children>
<Connection>
<ConfigKey>[Skin],show_4decks</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup> -->

</Children>
<Connection>
<ConfigKey>[Skin],show_4decks_row</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
</Template>
2 changes: 1 addition & 1 deletion res/skins/LateNight/decks/row_5_transportLoopJump.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@

<WidgetGroup><!-- HotCues -->
<Layout>vertical</Layout>
<SizePolicy>max,min</SizePolicy>
<SizePolicy>max,max</SizePolicy>
<Children>
<WidgetGroup><!-- HotCues 1-2 / 1-4 -->
<Layout>horizontal</Layout>
Expand Down
16 changes: 14 additions & 2 deletions res/skins/LateNight/mixer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,22 @@
<WidgetGroup>
<ObjectName>MixerDecks</ObjectName>
<SizePolicy>max,min</SizePolicy>
<Layout>vertical</Layout>
<!-- <Layout>vertical</Layout> -->
<Layout>horizontal</Layout>
<Children>
<Template src="skins:LateNight/mixer/mixer_2decks.xml"/>
<Template src="skins:LateNight/mixer/mixer_4decks.xml"/>
<WidgetGroup>
<SizePolicy>max,min</SizePolicy>
<Layout>horizontal</Layout>
<Children>
<Template src="skins:LateNight/mixer/mixer_4decks_stacked.xml"/>
<Template src="skins:LateNight/mixer/mixer_4decks_row.xml"/>
</Children>
<Connection>
<ConfigKey persist="true">[Skin],show_4decks</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
</Children>
<Connection>
<ConfigKey persist="true">[Skin],show_main_head_mixer</ConfigKey>
Expand Down
37 changes: 13 additions & 24 deletions res/skins/LateNight/mixer/channel_4decks.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<SetVariable name="ArcThickness"><Variable name="ArcThicknessBig"/></SetVariable>

<WidgetGroup>
<ObjectName>MixerChannel_4Decks</ObjectName>
<ObjectName><Variable name="ObjectName"/></ObjectName>
<Layout>vertical</Layout>
<SizePolicy>min,min</SizePolicy>
<Children>
Expand All @@ -19,6 +19,8 @@
<Layout>horizontal</Layout>
<SizePolicy>min,max</SizePolicy>
<Children>
<!-- AlignRight doesn't seem to work anymore with Qt6?? -->
<WidgetGroup><Size>0me,0min</Size></WidgetGroup>
<Template src="skins:LateNight/controls/knob.xml">
<SetVariable name="Size">40f,34f</SetVariable>
<SetVariable name="KnobColor">orange</SetVariable>
Expand Down Expand Up @@ -64,11 +66,9 @@
<MaximumSize>,18</MaximumSize>
<Layout>vertical</Layout>
<Children>
<EffectChainPresetSelector>
<ObjectName>QuickEffectSelectorLeft</ObjectName>
<Size>40min,18f</Size>
<EffectUnitGroup>[QuickEffectRack1_<Variable name="Group"/>]</EffectUnitGroup>
</EffectChainPresetSelector>
<SingletonContainer>
<ObjectName>QuickEffectSelector<Variable name="ChanNum"/>_Singleton</ObjectName>
</SingletonContainer>
</Children>
<Connection>
<ConfigKey persist="true">[Skin],show_eq_knobs</ConfigKey>
Expand All @@ -77,10 +77,11 @@
</WidgetGroup>

<WidgetGroup>
<ObjectName>PflBox_4Decks</ObjectName>
<ObjectName>PflBox_4Decks_Stacked</ObjectName>
<Layout>horizontal</Layout>
<SizePolicy>min,min</SizePolicy>
<Children>
<WidgetGroup><Size>0me,0f</Size></WidgetGroup>
<Template src="skins:LateNight/controls/button_2state.xml">
<SetVariable name="TooltipId">pfl</SetVariable>
<SetVariable name="ObjectName">PflButton</SetVariable>
Expand All @@ -106,23 +107,11 @@
<ObjectName>VuMeterChannel<Variable name="ChanNum"/></ObjectName>
</SingletonContainer>
</Children>
</WidgetGroup>

<SliderComposed><!-- Volume -->
<TooltipId>channel_volume</TooltipId>
<Size>42f,107f</Size>
<Handle scalemode="STRETCH_ASPECT">skins:LateNight/<Variable name="SliderScheme"/>/sliders/knob_volume_deck.svg</Handle>
<Slider scalemode="STRETCH_ASPECT">skins:LateNight/<Variable name="SliderScheme"/>/sliders/slider_volume_deck.svg</Slider>
<Horizontal>false</Horizontal>
<BarColor><Variable name="BarColorVolume"/></BarColor>
<BarWidth><Variable name="BarWidth"/></BarWidth>
<BarMargins><Variable name="BarMarginVolume"/></BarMargins>
<BarRoundCaps>true</BarRoundCaps>
<BarAxisPos>21.0</BarAxisPos>
<Connection>
<ConfigKey><Variable name="Group"/>,volume</ConfigKey>
</Connection>
</SliderComposed>
</WidgetGroup><!-- VuMeterChannel_4Decks -->

<SingletonContainer>
<ObjectName>VolumeSlider<Variable name="ChanNum"/></ObjectName>
</SingletonContainer>

</Children>
</WidgetGroup><!-- VuAndSlider_4Decks -->
Expand Down
154 changes: 90 additions & 64 deletions res/skins/LateNight/mixer/channel_left.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
<!-- This layout is only used for channel 1. It can switch between a standard
vertical layout and a side-by-side layout for two-deck mode -->

<Template>
<SetVariable name="Group">[Channel<Variable name="ChanNum"/>]</SetVariable>
<SetVariable name="EqFxUnit">[EqualizerRack1_<Variable name="Group"/>]</SetVariable>
Expand All @@ -12,88 +9,117 @@ vertical layout and a side-by-side layout for two-deck mode -->
<SetVariable name="ArcThickness"><Variable name="ArcThicknessBig"/></SetVariable>

<WidgetGroup>
<ObjectName>MixerChannel_2Decks</ObjectName>
<Layout>horizontal</Layout>
<ObjectName><Variable name="ObjectName"/></ObjectName>
<Layout>vertical</Layout>
<SizePolicy>min,min</SizePolicy>
<Children>

<WidgetGroup><!-- EQs -->
<Layout>vertical</Layout>
<ObjectName>MixerChannel_2Decks_Left</ObjectName>
<!-- spacer to center channel controls without crossfader without
stretching them -->
<WidgetGroup><SizePolicy>min,e</SizePolicy></WidgetGroup>

<WidgetGroup><!-- EQs + Gain/Volume -->
<Layout>horizontal</Layout>
<SizePolicy>min,min</SizePolicy>
<Children>

<!-- In case an EQ/non-EQ effect has less than 3 knobs we need
center those vertically. This spacer and the one below knob 3
push Gain and QuickEffect etc. to the top/bottom -->
<WidgetGroup><Size>1min,0me</Size></WidgetGroup>
<WidgetGroup><!-- EQs -->
<Layout>vertical</Layout>
<SizePolicy>min,min</SizePolicy>
<Children>

<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">3</SetVariable>
<SetVariable name="EqRange">High</SetVariable>
</Template>
<!-- In case an EQ/non-EQ effect has less than 3 knobs we need
center those vertically. This spacer and the one below knob 3
push Gain and QuickEffect etc. to the top/bottom -->
<WidgetGroup><Size>1min,0me</Size></WidgetGroup>

<WidgetGroup><Size>1min,2f</Size></WidgetGroup>
<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">3</SetVariable>
<SetVariable name="EqRange">High</SetVariable>
</Template>

<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">2</SetVariable>
<SetVariable name="EqRange">Mid</SetVariable>
</Template>
<WidgetGroup><Size>1min,2f</Size></WidgetGroup>

<WidgetGroup><Size>1min,2f</Size></WidgetGroup>
<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">2</SetVariable>
<SetVariable name="EqRange">Mid</SetVariable>
</Template>

<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">1</SetVariable>
<SetVariable name="EqRange">Low</SetVariable>
</Template>
<WidgetGroup><Size>1min,2f</Size></WidgetGroup>

<WidgetGroup><Size>1min,2me</Size></WidgetGroup>
<Template src="skins:LateNight/mixer/eq_knob_left.xml">
<SetVariable name="EqParameter">1</SetVariable>
<SetVariable name="EqRange">Low</SetVariable>
</Template>

<WidgetGroup><Size>1min,2me</Size></WidgetGroup>

<Template src="skins:LateNight/mixer/quick_effect_knob_left.xml"/>
<Template src="skins:LateNight/mixer/quick_effect_knob_left.xml"/>

<WidgetGroup><Size>1min,3f</Size></WidgetGroup>
</Children>
<Connection>
<ConfigKey>[Skin],show_eq_knobs</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup><!-- EQs -->

<WidgetGroup>
<ObjectName>VolumeGain2Decks</ObjectName>
<Layout>vertical</Layout>
<SizePolicy>max,min</SizePolicy>
<Children>

<Template src="skins:LateNight/controls/knob.xml">
<SetVariable name="ObjectName">GainKnob</SetVariable>
<SetVariable name="Size">40f,34f</SetVariable>
<SetVariable name="KnobColor">orange</SetVariable>
<SetVariable name="ArcColor"><Variable name="ArcColorGain"/></SetVariable>
<SetVariable name="Control">pregain</SetVariable>
<SetVariable name="TooltipId">pregain</SetVariable>
</Template>

<WidgetGroup><Size>1min,0me</Size></WidgetGroup>

<SingletonContainer>
<ObjectName>VolumeSlider<Variable name="ChanNum"/></ObjectName>
</SingletonContainer>

</Children>
</WidgetGroup><!-- VolumeGain2Decks -->
</Children>
<Connection>
<ConfigKey>[Skin],show_eq_knobs</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup><!-- /EQs -->
</WidgetGroup><!-- EQs + Gain/Volume -->

<WidgetGroup>
<ObjectName>VolumeGain2Decks</ObjectName>
<Layout>vertical</Layout>
<SizePolicy>me,min</SizePolicy>
<Layout>horizontal</Layout>
<SizePolicy>i,min</SizePolicy>
<Children>
<Template src="skins:LateNight/controls/knob.xml">
<SetVariable name="Size">40f,34f</SetVariable>
<SetVariable name="KnobColor">orange</SetVariable>
<SetVariable name="ArcColor"><Variable name="ArcColorGain"/></SetVariable>
<SetVariable name="Control">pregain</SetVariable>
<SetVariable name="TooltipId">pregain</SetVariable>
</Template>

<WidgetGroup><Size>1min,4f</Size></WidgetGroup>

<SliderComposed><!-- Volume -->
<TooltipId>channel_volume</TooltipId>
<Size>42f,107f</Size>
<Handle scalemode="STRETCH_ASPECT">skins:LateNight/<Variable name="SliderScheme"/>/sliders/knob_volume_deck.svg</Handle>
<Slider scalemode="STRETCH_ASPECT">skins:LateNight/<Variable name="SliderScheme"/>/sliders/slider_volume_deck.svg</Slider>
<Horizontal>false</Horizontal>
<BarColor><Variable name="BarColorVolume"/></BarColor>
<BarWidth><Variable name="BarWidth"/></BarWidth>
<BarMargins><Variable name="BarMarginVolume"/></BarMargins>
<BarRoundCaps>true</BarRoundCaps>
<BarAxisPos>21.0</BarAxisPos>
<WidgetGroup>
<Layout>horizontal</Layout>
<SizePolicy>me,min</SizePolicy>
<MinimumSize>40,18</MinimumSize>
<MaximumSize>,18</MaximumSize>
<Children>
<SingletonContainer>
<ObjectName>QuickEffectSelector<Variable name="ChanNum"/>_Singleton</ObjectName>
</SingletonContainer>
</Children>
<Connection>
<ConfigKey><Variable name="Group"/>,volume</ConfigKey>
<ConfigKey persist="true">[Skin],show_eq_knobs</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</SliderComposed>

<WidgetGroup><Size>1min,0me</Size></WidgetGroup>
</WidgetGroup>
<Template src="skins:LateNight/mixer/spacer_4decks_eq_vu.xml">
<SetVariable name="Height">18f</SetVariable>
</Template>
</Children>
</WidgetGroup><!-- VolumeGain2Decks -->
<Connection>
<ConfigKey persist="true">[Skin],show_4decks</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>

<WidgetGroup><SizePolicy>min,e</SizePolicy></WidgetGroup>

</Children>
</WidgetGroup><!-- MixerChannel_2Decks -->
</WidgetGroup>
</Template>
Loading

0 comments on commit d286562

Please sign in to comment.