Skip to content

Commit

Permalink
Merge pull request #13124 from ronso0/merge-2.4
Browse files Browse the repository at this point in the history
Merge 2.4
  • Loading branch information
ronso0 committed Apr 18, 2024
2 parents 38bcfcc + e46757b commit ea9e160
Show file tree
Hide file tree
Showing 74 changed files with 700 additions and 573 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -1508,7 +1508,7 @@ if(QOPENGL)
src/shaders/textureshader.cpp
src/shaders/unicolorshader.cpp
src/shaders/vinylqualityshader.cpp
src/util/texture.cpp
src/util/opengltexture2d.cpp
src/waveform/renderers/allshader/matrixforwidgetgeometry.cpp
src/waveform/renderers/allshader/waveformrenderbackground.cpp
src/waveform/renderers/allshader/waveformrenderbeat.cpp
Expand Down
18 changes: 9 additions & 9 deletions res/controllers/Denon-MC7000-scripts.js
Expand Up @@ -234,11 +234,11 @@ MC7000.init = function() {
for (let chanIdx = 1; chanIdx <= 4; chanIdx++) {
// HotCue Mode LEDs
for (let cueIdx = 1; cueIdx <= 8; cueIdx++) {
engine.makeConnection("[Channel"+chanIdx+"]", "hotcue_"+cueIdx+"_enabled", MC7000.HotCueLED);
engine.makeConnection(`[Channel${chanIdx}]`, `hotcue_${cueIdx}_status`, MC7000.HotCueLED);
}
// Pitch LEDs
for (let pitchIdx = 1; pitchIdx <= 8; pitchIdx++) {
engine.makeConnection("[Channel"+chanIdx+"]", "hotcue_"+pitchIdx+"_enabled", MC7000.PitchLED);
engine.makeConnection(`[Channel${chanIdx}]`, `hotcue_${pitchIdx}_status`, MC7000.PitchLED);
}
}
// Sampler Mode LEDs and Velocity Sampler Mode LEDs
Expand Down Expand Up @@ -284,7 +284,7 @@ MC7000.padModeCue = function(channel, control, value, status, group) {
MC7000.PADMode[deckIndex] = "Cue";
// change PAD color when switching to Hot Cue Mode
for (let cueIdx = 1; cueIdx <= 8; cueIdx++) {
const hotcueEnabled = engine.getValue(group, "hotcue_" + cueIdx + "_enabled", true);
const hotcueEnabled = engine.getValue(group, `hotcue_${cueIdx}_status`);
midi.sendShortMsg(0x94 + deckIndex, 0x14 + cueIdx - 1, hotcueEnabled ? MC7000.padColor.hotcueon : MC7000.padColor.hotcueoff);
}
};
Expand Down Expand Up @@ -404,7 +404,7 @@ MC7000.padModePitch = function(channel, control, value, status, group) {
if (MC7000.HotcueSelectedGroup[deckIndex] !== 0) {
midi.sendShortMsg(0x94 + deckIndex, 0x14 + pitchIdx - 1, MC7000.padColor.pitchoff);
} else {
const hotcueEnabled = engine.getValue(group, "hotcue_" + pitchIdx + "_enabled", true);
const hotcueEnabled = engine.getValue(group, `hotcue_${pitchIdx}_status`);
midi.sendShortMsg(0x94 + deckIndex, 0x14 + pitchIdx - 1, hotcueEnabled ? MC7000.padColor.hotcueon : MC7000.padColor.hotcueoff);
}
}
Expand Down Expand Up @@ -569,7 +569,7 @@ MC7000.PadButtons = function(channel, control, value, status, group) {
const isButtonReleased = (value === 0x00);
const isControlAddress = (control === 0x14 + pitchIdx - 1);
const isControlAddressShift = (control === 0x1C + pitchIdx - 1);
const hotcueEnabled = engine.getValue(group, "hotcue_" + pitchIdx + "_enabled"), HotcueSelectedOnDeck = MC7000.HotcueSelectedGroup[deckIndex];
const hotcueEnabled = engine.getValue(group, `hotcue_${pitchIdx}_status`), HotcueSelectedOnDeck = MC7000.HotcueSelectedGroup[deckIndex];
if (isButtonPressed && isControlAddress) {
if (!HotcueSelectedOnDeck) {
MC7000.setAllPadColor(deckIndex, MC7000.padColor.pitchoff);
Expand All @@ -596,7 +596,7 @@ MC7000.PadButtons = function(channel, control, value, status, group) {
engine.setValue(group, "pitch", 0);
MC7000.HotcueSelectedGroup[deckIndex] = 0;
for (let padIdx = 1; padIdx <= 8; padIdx++) {
const padHotcueEnabled = engine.getValue(group, "hotcue_" + padIdx + "_enabled", true);
const padHotcueEnabled = engine.getValue(group, `hotcue_${padIdx}_status`);
midi.sendShortMsg(0x94 + deckIndex, 0x14 + padIdx - 1, padHotcueEnabled ? MC7000.padColor.hotcueon : MC7000.padColor.hotcueoff);
midi.sendShortMsg(0x94 + deckIndex, 0x1C + padIdx - 1, padHotcueEnabled ? MC7000.padColor.hotcueon : MC7000.padColor.hotcueoff); // keep color when shift is pressed
}
Expand Down Expand Up @@ -1091,12 +1091,12 @@ MC7000.HotCueLED = function(value, group) {
if (MC7000.PADMode[deckIndex] === "Cue") {
for (let padIdx = 1; padIdx <= 8; padIdx++) {
if (value === 1) {
if (engine.getValue(group, "hotcue_"+padIdx+"_enabled") === 1) {
if (engine.getValue(group, `hotcue_${padIdx}_status`) === 1) {
midi.sendShortMsg(0x94 + deckIndex, 0x14 + padIdx - 1, MC7000.padColor.hotcueon);
midi.sendShortMsg(0x94 + deckIndex, 0x1C + padIdx - 1, MC7000.padColor.hotcueon);
}
} else {
if (engine.getValue(group, "hotcue_"+padIdx+"_enabled") === 0) {
if (engine.getValue(group, `hotcue_${padIdx}_status`) === 0) {
midi.sendShortMsg(0x94 + deckIndex, 0x14 + padIdx - 1, MC7000.padColor.hotcueoff);
midi.sendShortMsg(0x94 + deckIndex, 0x1C + padIdx - 1, MC7000.padColor.hotcueoff);
}
Expand Down Expand Up @@ -1176,7 +1176,7 @@ MC7000.PitchLED = function(value, group) {
if (MC7000.HotcueSelectedGroup[deckIndex] !== 0) { // hotcue selected
midi.sendShortMsg(0x94 + deckIndex, 0x14 + pitchIdx, MC7000.padColor.pitchoff);
} else {
const hotcueEnabled = engine.getValue(group, "hotcue_" + pitchIdx + 1 + "_enabled", true);
const hotcueEnabled = engine.getValue(group, `hotcue_${pitchIdx + 1}_status`);
midi.sendShortMsg(0x94 + deckIndex, 0x14 + pitchIdx, hotcueEnabled ? MC7000.padColor.hotcueon : MC7000.padColor.hotcueoff);
}
} else {
Expand Down
2 changes: 1 addition & 1 deletion res/skins/Deere (64 Samplers)/sample_decks.xml
Expand Up @@ -152,7 +152,7 @@
<SizePolicy>me,f</SizePolicy>
<Children>

<WidgetStack currentpage="[Skin],sampler_row_current" persist="true">
<WidgetStack currentpage="[Skin],sampler_rows" persist="true">
<ObjectName>SampleDecksContainer</ObjectName>
<NextControl>[Skin],sampler_row_next</NextControl>
<PrevControl>[Skin],sampler_row_prev</PrevControl>
Expand Down
Expand Up @@ -4,7 +4,7 @@
<SizePolicy>min,max</SizePolicy>
<Children>

<WidgetStack currentpage="[Skin],sampler_row_current">
<WidgetStack currentpage="[Skin],sampler_rows">
<NextControl>[Deere],sampler_bank_next</NextControl>
<PrevControl>[Deere],sampler_bank_prev</PrevControl>
<Children>
Expand Down
8 changes: 5 additions & 3 deletions res/skins/Deere/effect_unit_controls.xml
Expand Up @@ -113,7 +113,7 @@
</Connection>
</PushButton>

<WidgetGroup><Size>0min,2me</Size></WidgetGroup>
<WidgetGroup><Size>0min,2f</Size></WidgetGroup>

<!-- Super/Mix knobs when parameters are visible -->
<WidgetGroup>
Expand All @@ -123,7 +123,7 @@

<WidgetGroup>
<Layout>horizontal</Layout>
<SizePolicy>min,min</SizePolicy>
<SizePolicy>min,max</SizePolicy>
<Children>
<Template src="skin:left_2state_button.xml">
<SetVariable name="ObjectName">EffectUnitMixModeButton</SetVariable>
Expand All @@ -145,10 +145,11 @@
</Children>
</WidgetGroup>

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

<WidgetGroup>
<Layout>horizontal</Layout>
<SizePolicy>me,me</SizePolicy>
<Size>0me,34f</Size>
<Children>
<WidgetGroup><Size>0me,0me</Size></WidgetGroup>
<EffectChainPresetButton>
Expand Down Expand Up @@ -178,6 +179,7 @@

</Children>
</WidgetGroup>

</Children>
<Connection>
<ConfigKey><Variable name="group"/>,show_parameters</ConfigKey>
Expand Down
2 changes: 1 addition & 1 deletion res/skins/Deere/sample_decks.xml
Expand Up @@ -50,7 +50,7 @@
<SizePolicy>me,f</SizePolicy>
<Children>

<WidgetStack currentpage="[Skin],sampler_row_current" persist="true">
<WidgetStack currentpage="[Skin],sampler_rows" persist="true">
<ObjectName>SampleDecksContainer</ObjectName>
<NextControl>[Skin],sampler_row_next</NextControl>
<PrevControl>[Skin],sampler_row_prev</PrevControl>
Expand Down
2 changes: 1 addition & 1 deletion res/skins/Deere/skinsettings_sampler_buttons.xml
Expand Up @@ -4,7 +4,7 @@
<SizePolicy>min,max</SizePolicy>
<Children>

<WidgetStack currentpage="[Skin],sampler_row_current">
<WidgetStack currentpage="[Skin],sampler_rows">
<NextControl>[Deere],sampler_bank_next</NextControl>
<PrevControl>[Deere],sampler_bank_prev</PrevControl>
<Children>
Expand Down
2 changes: 1 addition & 1 deletion res/skins/LateNight/fx/unit_parameters_visible.xml
Expand Up @@ -144,7 +144,7 @@
<ObjectName>FxUnit<Variable name="FxUnit"/>_MixmodePfl</ObjectName>
</SingletonContainer>

<WidgetGroup><Size>,1f</Size></WidgetGroup>
<WidgetGroup><Size>,1me</Size></WidgetGroup>

<SingletonContainer>
<ObjectName>FxUnit<Variable name="FxUnit"/>_PresetButton</ObjectName>
Expand Down
12 changes: 2 additions & 10 deletions res/skins/Tango (64 Samplers)/skin.xml
Expand Up @@ -192,12 +192,6 @@
<!--################################################################
Singleton definitions #######################################
############################################################### -->
<SingletonDefinition>
<ObjectName>Waveforms_Singleton</ObjectName>
<Children>
<Template src="skins:Tango/waveforms_container.xml"/>
</Children>
</SingletonDefinition>

<!-- Overviews are needed in both regular and minimal decks -->
<SingletonDefinition>
Expand Down Expand Up @@ -438,12 +432,10 @@
<Layout>vertical</Layout>
<SizePolicy>me,me</SizePolicy>
<Children>
<SingletonContainer>
<ObjectName>Waveforms_Singleton</ObjectName>
</SingletonContainer>
<Template src="skins:Tango/waveforms_container.xml"/>
</Children>
<Connection>
<ConfigKey persist="true">[Tango],stacked_waveforms</ConfigKey>
<ConfigKey persist="true">[Skin],show_waveforms</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
Expand Down
5 changes: 4 additions & 1 deletion res/skins/Tango/buttons/btn_fx_mixmode_d+w.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion res/skins/Tango/buttons/btn_fx_mixmode_d-w.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 28 additions & 23 deletions res/skins/Tango/fx/unit_left.xml
Expand Up @@ -212,7 +212,7 @@ Variables:
<WidgetGroup>
<ObjectName>FxUnitMixerLeft</ObjectName>
<Layout>vertical</Layout>
<SizePolicy>min,me</SizePolicy>
<SizePolicy>max,me</SizePolicy>
<Children>
<WidgetGroup>
<Layout>horizontal</Layout>
Expand All @@ -221,7 +221,7 @@ Variables:
<Template src="skins:Tango/controls/button_2state_persist.xml">
<SetVariable name="ObjectName">MixModeButton</SetVariable>
<SetVariable name="TooltipId">EffectUnit_mix_mode</SetVariable>
<SetVariable name="Size">30f,18f</SetVariable>
<SetVariable name="Size">24f,18f</SetVariable>
<SetVariable name="state_0_icon">fx_mixmode_d-w.svg</SetVariable>
<SetVariable name="state_1_icon">fx_mixmode_d+w.svg</SetVariable>
<SetVariable name="ConfigKey">[EffectRack1_EffectUnit<Variable name="FxUnit"/>],mix_mode</SetVariable>
Expand All @@ -238,38 +238,44 @@ Variables:
</Children>
</WidgetGroup>

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

<WidgetGroup>
<Layout>horizontal</Layout>
<SizePolicy>min,min</SizePolicy>
<Layout>horizontal</Layout>
<Children>
<EffectChainPresetButton>
<EffectUnit><Variable name="FxUnit"/></EffectUnit>
<Size>24f,24f</Size>
<ObjectName>EffectChainSelector</ObjectName>
</EffectChainPresetButton>
</Children>
</WidgetGroup>

<WidgetGroup><!-- Super Knob, if enabled -->
<SizePolicy>min,min</SizePolicy>
<Layout>horizontal</Layout>
<Children>
<WidgetGroup><Size>1min,2min</Size></WidgetGroup>
<Template src="skins:Tango/controls/knob_textless.xml">
<SetVariable name="TooltipId">EffectUnit_super1</SetVariable>
<SetVariable name="ObjectName">SuperWetDryKnob</SetVariable>
<SetVariable name="Size">30f,26f</SetVariable>
<SetVariable name="group">[<Variable name="FxRack_FxUnit"/>]</SetVariable>
<SetVariable name="ConfigKey">super1</SetVariable>
<SetVariable name="Color">blue</SetVariable>
</Template>
</Children>
<Connection>
<ConfigKey persist="true">[Skin],show_superknobs</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
<WidgetGroup><Size>1f,0me</Size></WidgetGroup>

<WidgetGroup><!-- Super Knob, if enabled -->
<SizePolicy>min,min</SizePolicy>
<Layout>horizontal</Layout>
<Children>
<WidgetGroup><Size>1min,2min</Size></WidgetGroup>
<Template src="skins:Tango/controls/knob_textless.xml">
<SetVariable name="TooltipId">EffectUnit_super1</SetVariable>
<SetVariable name="ObjectName">SuperWetDryKnob</SetVariable>
<SetVariable name="Size">30f,26f</SetVariable>
<SetVariable name="group">[<Variable name="FxRack_FxUnit"/>]</SetVariable>
<SetVariable name="ConfigKey">super1</SetVariable>
<SetVariable name="Color">blue</SetVariable>
</Template>
</Children>
<Connection>
<ConfigKey persist="true">[Skin],show_superknobs</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>

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

<WidgetGroup><!-- Pfl button -->
<ObjectName>AlignCenter</ObjectName>
<SizePolicy>min,max</SizePolicy>
Expand All @@ -281,7 +287,6 @@ Variables:
<Children>
<!-- Greyed out if no headphone device is configured -->
<Template src="skins:Tango/helpers/pfl_cover.xml"/>

<Template src="skins:Tango/controls/button_2state.xml">
<SetVariable name="ObjectName">PflButton</SetVariable>
<SetVariable name="TooltipId">EffectUnit_headphones_enabled</SetVariable>
Expand Down
4 changes: 2 additions & 2 deletions res/skins/Tango/fx/unit_left_mini.xml
Expand Up @@ -233,15 +233,15 @@ Variables:
<EffectChainPresetButton>
<ObjectName>EffectChainPresetButtonLeft</ObjectName>
<EffectUnit><Variable name="FxUnit"/></EffectUnit>
<Size>18f,18f</Size>
<Size>20f,20f</Size>
</EffectChainPresetButton>
</Children>
</WidgetGroup>

<Template src="skins:Tango/controls/button_2state_persist.xml">
<SetVariable name="ObjectName">MixModeButton</SetVariable>
<SetVariable name="TooltipId">EffectUnit_mix_mode</SetVariable>
<SetVariable name="Size">30f,18f</SetVariable>
<SetVariable name="Size">24f,18f</SetVariable>
<SetVariable name="state_0_icon">fx_mixmode_d-w.svg</SetVariable>
<SetVariable name="state_1_icon">fx_mixmode_d+w.svg</SetVariable>
<SetVariable name="ConfigKey">[EffectRack1_EffectUnit<Variable name="FxUnit"/>],mix_mode</SetVariable>
Expand Down

0 comments on commit ea9e160

Please sign in to comment.