Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

work around skin change crash on Linux #3144

Merged
merged 6 commits into from
Nov 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ default_language_version:
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
rev: v3.3.0
hooks:
- id: check-byte-order-marker
exclude: ^.*(\.cbproj|\.groupproj|\.props|\.sln|\.vcxproj|\.vcxproj.filters)$
Expand All @@ -66,14 +66,14 @@ repos:
- manual
- id: no-commit-to-branch
- repo: https://github.com/codespell-project/codespell
rev: f7f304cb40596e4706be27ca44d1401396a97420
rev: v1.17.1
hooks:
- id: codespell
# ignore-regex is substituted by ' '
entry: tools/codespell.py --ignore-file .codespellignore --ignore-regex "\\W(?:m_p*(?=[A-Z])|m_(?=\\w)|pp*(?=[A-Z])|k(?=[A-Z])|s_(?=\\w))" --files
exclude: ^(\.codespellignore|src/dialog/dlgabout\.cpp|.*\.(?:pot?|ts|wxl))$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v7.11.0
rev: v7.12.1
hooks:
- id: eslint
args: [--fix, --report-unused-disable-directives]
Expand All @@ -93,7 +93,7 @@ repos:
language: python
files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|m|mm|proto|vert)$
- repo: https://github.com/psf/black
rev: stable
rev: 20.8b1
hooks:
- id: black
files: ^tools/.*$
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
* Add laptop battery widget to skins [#2283](https://github.com/mixxxdj/mixxx/pull/2283) [#2277](https://github.com/mixxxdj/mixxx/pull/2277) [#2250](https://github.com/mixxxdj/mixxx/pull/2250) [#2228](https://github.com/mixxxdj/mixxx/pull/2228) [#2221](https://github.com/mixxxdj/mixxx/pull/2221) [#2163](https://github.com/mixxxdj/mixxx/pull/2163) [#2160](https://github.com/mixxxdj/mixxx/pull/2160) [#2147](https://github.com/mixxxdj/mixxx/pull/2147) [#2281](https://github.com/mixxxdj/mixxx/pull/2281) [#2319](https://github.com/mixxxdj/mixxx/pull/2319) [#2287](https://github.com/mixxxdj/mixxx/pull/2287)
* Show when passthrough mode is active on overview waveforms [#2575](https://github.com/mixxxdj/mixxx/pull/2575) [#2616](https://github.com/mixxxdj/mixxx/pull/2616)
* Changed format of currently playing track in window title from "artist, title" to "artist - title" [#2807](https://github.com/mixxxdj/mixxx/pull/2807)
* Workaround Linux skin change crash [#3144](https://github.com/mixxxdj/mixxx/pull/3144) [lp:1885009](https://bugs.launchpad.net/mixxx/+bug/1885009)

### Music Feature Analysis ###
* Multithreaded analysis for much faster batch analysis on multicore CPUs [#1624](https://github.com/mixxxdj/mixxx/pull/1624) [#2142](https://github.com/mixxxdj/mixxx/pull/2142) [lp:1641153](https://bugs.launchpad.net/mixxx/+bug/1641153)
Expand Down
177 changes: 32 additions & 145 deletions res/skins/Deere (64 Samplers)/skin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -136,141 +136,37 @@
main_decks.xml, left_deck.xml, and right_deck.xml, so define them in singletons. This makes
toggling between 2/4 decks and stacked/split waveforms slower, but it makes Mixxx startup
and shutdown much faster and saves a lot of memory.-->
<SingletonDefinition>
<ObjectName>DeckVisualRow1</ObjectName>
<Children>
<Template src="skin:../Deere/deck_visual_row.xml">
<SetVariable name="i">1</SetVariable>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>
<!-- Traditional Blue -->
<SetVariable name="DeckSignalColor">#007BCD</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckVisualRow2</ObjectName>
<Children>
<Template src="skin:../Deere/deck_visual_row.xml">
<SetVariable name="i">2</SetVariable>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>
<!-- Traditional Orange -->
<SetVariable name="DeckSignalColor">#E67A00</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckVisualRow3</ObjectName>
<Children>
<Template src="skin:../Deere/deck_visual_row.xml">
<SetVariable name="i">3</SetVariable>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>
<!-- Violet -->
<SetVariable name="DeckSignalColor">#B500B5</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckVisualRow4</ObjectName>
<Children>
<Template src="skin:../Deere/deck_visual_row.xml">
<SetVariable name="i">4</SetVariable>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>
<!-- Lime -->
<SetVariable name="DeckSignalColor">#AABD00</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckCoverArt1</ObjectName>
<Children>
<Template src="skin:../Deere/coverart.xml">
<SetVariable name="group">[Channel1]</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckCoverArt2</ObjectName>
<Children>
<Template src="skin:../Deere/coverart.xml">
<SetVariable name="group">[Channel2]</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckCoverArt3</ObjectName>
<Children>
<Template src="skin:../Deere/coverart.xml">
<SetVariable name="group">[Channel3]</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckCoverArt4</ObjectName>
<Children>
<Template src="skin:../Deere/coverart.xml">
<SetVariable name="group">[Channel4]</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckOverview1</ObjectName>
<Children>
<Template src="skin:../Deere/deck_overview.xml">
<SetVariable name="group">[Channel1]</SetVariable>
<SetVariable name="DeckSignalColor">#007BCD</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
<SetVariable name="PlayedOverlayColor">#88000000</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckOverview2</ObjectName>
<Children>
<Template src="skin:../Deere/deck_overview.xml">
<SetVariable name="group">[Channel2]</SetVariable>
<SetVariable name="DeckSignalColor">#E67A00</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
<SetVariable name="PlayedOverlayColor">#88000000</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckOverview3</ObjectName>
<Children>
<Template src="skin:../Deere/deck_overview.xml">
<SetVariable name="group">[Channel3]</SetVariable>
<SetVariable name="DeckSignalColor">#B500B5</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckOverview4</ObjectName>
<Children>
<Template src="skin:../Deere/deck_overview.xml">
<SetVariable name="group">[Channel4]</SetVariable>
<SetVariable name="DeckSignalColor">#AABD00</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>
</Children>
</SingletonDefinition>
<Template src="skin:../Deere/deck_singletons.xml">
<SetVariable name="i">1</SetVariable>
<!-- Traditional Blue -->
<SetVariable name="DeckSignalColor">#007BCD</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>

<Template src="skin:../Deere/deck_singletons.xml">
<SetVariable name="i">2</SetVariable>
<!-- Traditional Orange -->
<SetVariable name="DeckSignalColor">#E67A00</SetVariable>
<SetVariable name="DeckBackgroundColor">#333333</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>

<Template src="skin:../Deere/deck_singletons.xml">
<SetVariable name="i">3</SetVariable>
<!-- Violet -->
<SetVariable name="DeckSignalColor">#B500B5</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>

<Template src="skin:../Deere/deck_singletons.xml">
<SetVariable name="i">4</SetVariable>
<!-- Lime -->
<SetVariable name="DeckSignalColor">#AABD00</SetVariable>
<SetVariable name="DeckBackgroundColor">#35335a</SetVariable>
<SetVariable name="PlayedOverlayColor">#b8000000</SetVariable>
</Template>

<SingletonDefinition>
<ObjectName>Library</ObjectName>
Expand All @@ -297,11 +193,6 @@
<SplitSizesConfigKey>[Skin],stackedWaveforms_splitSize</SplitSizesConfigKey>
<SplitSizes>90,540</SplitSizes>
<Size>-1me,-1me</Size>
<Connection>
<ConfigKey>[Master],maximize_library</ConfigKey>
<BindProperty>visible</BindProperty>
<Transform><Not/></Transform>
</Connection>
<Children>

<WidgetGroup><!-- Parallel Waveforms -->
Expand Down Expand Up @@ -368,13 +259,9 @@
</Splitter><!-- regular library with decks etc. -->

<!-- maximized Library with minimal decks -->
<WidgetGroup>
<WidgetGroup trigger="[Master],maximize_library" on_hide_select="0">
<Layout>vertical</Layout>
<SizePolicy>me,me</SizePolicy>
<Connection>
<ConfigKey>[Master],maximize_library</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
<Children>
<Template src="skin:../Deere/decks_small.xml"/>
<SingletonContainer>
Expand Down
46 changes: 38 additions & 8 deletions res/skins/Deere/deck.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,56 @@
<SizePolicy>me,me</SizePolicy>
<Children>
<Template src="skin:deck_text_row.xml"/>
<!--Hides if the stacked waveforms option is activated in the skin settings -->

<!-- Hides if the 'Parallel Waveforms' option is activated in the skin settings -->
<WidgetGroup>
<Layout>vertical</Layout>
<Layout>horizontal</Layout>
<Children>

<WidgetGroup>
<ObjectName>Spacer22</ObjectName>
<Size>0me,1f</Size>
<Layout>horizontal</Layout>
<Children>
<WidgetGroup>
<Layout>horizontal</Layout>
<Connection>
<ConfigKey>[Skin],show_coverart</ConfigKey>
<BindProperty>visible</BindProperty>
<Transform><Not/></Transform>
</Connection>
<Children>
<Template src="skin:../Deere/deck_spinny.xml">
<SetVariable name="cover">true</SetVariable>
<SetVariable name="Size">55f,55f</SetVariable>
</Template>
</Children>
</WidgetGroup>
<WidgetGroup>
<Layout>horizontal</Layout>
<Connection>
<ConfigKey>[Skin],show_coverart</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
<Children>
<Template src="skin:../Deere/deck_spinny.xml">
<SetVariable name="cover">false</SetVariable>
<SetVariable name="Size">55f,55f</SetVariable>
</Template>
</Children>
</WidgetGroup>
</Children>
</WidgetGroup>

<SingletonContainer>
<ObjectName>DeckVisualRow<Variable name="i" /></ObjectName>
<ObjectName>DeckWaveform<Variable name="i"/></ObjectName>
</SingletonContainer>
</Children>
<Connection>
<ConfigKey>[Deere],show_parallel_waveforms</ConfigKey>
<Transform><Not/></Transform>
<BindProperty>visible</BindProperty>
<Transform>
<Not/>
</Transform>
</Connection>
</WidgetGroup>

<Template src="skin:deck_overview_row.xml"/>
<Template src="skin:deck_controls_row.xml"/>
</Children>
Expand Down
File renamed without changes.
32 changes: 32 additions & 0 deletions res/skins/Deere/deck_singletons.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE template>
<!--
Description:
Some widgets and containers that are used in multiple places,
depending on skin configuration.
Variables:
i: the deck number (1-4)
-->
<Template>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>

<SingletonDefinition>
<ObjectName>DeckWaveform<Variable name="i"/></ObjectName>
<Children>
<Template src="skin:../Deere/deck_waveform.xml"/>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckCoverArt<Variable name="i"/></ObjectName>
<Children>
<Template src="skin:../Deere/deck_coverart.xml"/>
</Children>
</SingletonDefinition>

<SingletonDefinition>
<ObjectName>DeckOverview<Variable name="i"/></ObjectName>
<Children>
<Template src="skin:../Deere/deck_overview.xml"/>
</Children>
</SingletonDefinition>
</Template>
34 changes: 34 additions & 0 deletions res/skins/Deere/deck_spinny.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<!--
Spinny template

Stacked waveforms: always show cover art in spinny

Split waveforms: show cover art in spinny when it is not showing in deck text row,
but do not show cover art in spinny when the cover art is showing right above it
in the deck text row.
-->
<Template>
<SetVariable name="group">[Channel<Variable name="i"/>]</SetVariable>

<WidgetGroup>
<Layout>horizontal</Layout>
<Size><Variable name="Size"/></Size>
<Children>
<Spinny>
<TooltipId>spinny</TooltipId>
<ObjectName>Spinny<Variable name="i"/></ObjectName>
<Size><Variable name="Size"/></Size>
<Group><Variable name="group"/></Group>
<PathBackground scalemode="STRETCH">image/vinyl_spinny_background.svg</PathBackground>
<PathForeground scalemode="STRETCH">image/vinyl_spinny_foreground.svg</PathForeground>
<PathGhost scalemode="STRETCH">image/vinyl_spinny_foreground_ghost.svg</PathGhost>
<PathMask scalemode="STRETCH">image/vinyl_spinny_cover_mask.svg</PathMask>
<ShowCover><Variable name="cover"/></ShowCover>
</Spinny>
</Children>
<Connection>
<ConfigKey>[Skin],show_spinnies</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</WidgetGroup>
</Template>