Skip to content

Commit

Permalink
Merge pull request mixxxdj#10893 from m0dB/vumeter_qglwidget
Browse files Browse the repository at this point in the history
adding WVuMeterGL as alternative for WVuMeter
  • Loading branch information
daschuer authored Oct 4, 2022
2 parents af27d63 + b8dff32 commit a0ffb6b
Show file tree
Hide file tree
Showing 21 changed files with 764 additions and 182 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1032,6 +1032,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/widget/wtracktext.cpp
src/widget/wtrackwidgetgroup.cpp
src/widget/wvumeter.cpp
src/widget/wvumetergl.cpp
src/widget/wwaveformviewer.cpp
src/widget/wwidget.cpp
src/widget/wwidgetgroup.cpp
Expand Down
30 changes: 18 additions & 12 deletions res/skins/Shade/auxiliary.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,25 @@
Visual - Volume level display
**********************************************
-->
<VuMeter>
<TooltipId>auxiliary_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_microphone_over.png</PathVu>
<PathBack>skin:/style/volume_display_microphone.png</PathBack>
<WidgetGroup>
<Pos>99,14</Pos>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Auxiliary<Variable name="auxnum"/>],VuMeter</ConfigKey>
</Connection>
</VuMeter>
<Size>5f,35f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>auxiliary_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_microphone_over.png</PathVu>
<PathBack>skin:/style/volume_display_microphone.png</PathBack>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Auxiliary<Variable name="auxnum"/>],VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>

<Knob>
<TooltipId>auxiliary_pregain</TooltipId>
Expand Down
30 changes: 18 additions & 12 deletions res/skins/Shade/microphone.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,25 @@
Visual - Volume level display
**********************************************
-->
<VuMeter>
<TooltipId>microphone_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_microphone_over.png</PathVu>
<PathBack>skin:/style/volume_display_microphone.png</PathBack>
<WidgetGroup>
<Pos>82,14</Pos>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Microphone<Variable name="micnum"/>],VuMeter</ConfigKey>
</Connection>
</VuMeter>
<Size>5f,35f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>microphone_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_microphone_over.png</PathVu>
<PathBack>skin:/style/volume_display_microphone.png</PathBack>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Microphone<Variable name="micnum"/>],VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>

<!--
**********************************************
Expand Down
176 changes: 109 additions & 67 deletions res/skins/Shade/mixer_panel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -504,22 +504,26 @@
</Connection>
</StatusLight>

<VuMeter>
<WidgetGroup>
<Pos>113,28</Pos>
<Style>WVuMeter { background-color: #626f87; }</Style>
<TooltipId>audio_latency_usage</TooltipId>
<MinimumSize>26,1</MinimumSize>
<MaximumSize>26,1</MaximumSize>
<PathVu>audio_latency/audio_latency_usage.png</PathVu>
<PeakHoldSize>26</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>1</PeakFallStep>
<Horizontal>true</Horizontal>
<Connection>
<ConfigKey>[Master],audio_latency_usage</ConfigKey>
</Connection>
</VuMeter>
<Size>26f,1f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<Style>WVuMeter { background-color: #626f87; }</Style>
<TooltipId>audio_latency_usage</TooltipId>
<PathVu>audio_latency/audio_latency_usage.png</PathVu>
<PeakHoldSize>26</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>1</PeakFallStep>
<Horizontal>true</Horizontal>
<Connection>
<ConfigKey>[Master],audio_latency_usage</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>

<PushButton>
<NumberStates>5</NumberStates>
Expand Down Expand Up @@ -792,62 +796,100 @@
Visual - Volume level display
**********************************************
-->
<VuMeter>
<TooltipId>channel_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_over.png</PathVu>
<PathBack>skin:/style/volume_display.png</PathBack>
<WidgetGroup>
<Pos>107,76</Pos>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Channel1],VuMeter</ConfigKey>
</Connection>
</VuMeter>
<VuMeter>
<TooltipId>channel_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_over.png</PathVu>
<PathBack>skin:/style/volume_display.png</PathBack>
<Size>5f,81f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>channel_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_over.png</PathVu>
<PathBack>skin:/style/volume_display.png</PathBack>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Channel>1</Channel>
<PathBackground scalemode="STRETCH_ASPECT">vinyl_spinny_background.png</PathBackground>
<PathForeground scalemode="STRETCH_ASPECT">vinyl_spinny_foreground.png</PathForeground>
<PathGhost scalemode="STRETCH_ASPECT">vinyl_spinny_foreground_ghost.png</PathGhost>
<Connection>
<ConfigKey>[Channel1],VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
<WidgetGroup>
<Pos>143,76</Pos>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Channel2],VuMeter</ConfigKey>
</Connection>
</VuMeter>

<VuMeter>
<TooltipId>master_VuMeterL</TooltipId>
<PathVu>skin:/style/volume_display_master_over.png</PathVu>
<PathBack>skin:/style/volume_display_master.png</PathBack>
<Size>5f,81f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>channel_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_over.png</PathVu>
<PathBack>skin:/style/volume_display.png</PathBack>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Channel>1</Channel>
<PathBackground scalemode="STRETCH_ASPECT">vinyl_spinny_background.png</PathBackground>
<PathForeground scalemode="STRETCH_ASPECT">vinyl_spinny_foreground.png</PathForeground>
<PathGhost scalemode="STRETCH_ASPECT">vinyl_spinny_foreground_ghost.png</PathGhost>
<Connection>
<ConfigKey>[Channel2],VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
<WidgetGroup>
<Pos>122,76</Pos>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Master],VuMeterL</ConfigKey>
</Connection>
</VuMeter>
<VuMeter>
<TooltipId>master_VuMeterR</TooltipId>
<PathVu>skin:/style/volume_display_master_over.png</PathVu>
<PathBack>skin:/style/volume_display_master.png</PathBack>
<Size>5f,81f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>master_VuMeterL</TooltipId>
<PathVu>skin:/style/volume_display_master_over.png</PathVu>
<PathBack>skin:/style/volume_display_master.png</PathBack>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Channel>1</Channel>
<PathBackground scalemode="STRETCH_ASPECT">vinyl_spinny_background.png</PathBackground>
<PathForeground scalemode="STRETCH_ASPECT">vinyl_spinny_foreground.png</PathForeground>
<PathGhost scalemode="STRETCH_ASPECT">vinyl_spinny_foreground_ghost.png</PathGhost>
<Connection>
<ConfigKey>[Master],VuMeterL</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
<WidgetGroup>
<Pos>128,76</Pos>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[Master],VuMeterR</ConfigKey>
</Connection>
</VuMeter>

<Size>5f,81f</Size>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>master_VuMeterR</TooltipId>
<PathVu>skin:/style/volume_display_master_over.png</PathVu>
<PathBack>skin:/style/volume_display_master.png</PathBack>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Channel>1</Channel>
<PathBackground scalemode="STRETCH_ASPECT">vinyl_spinny_background.png</PathBackground>
<PathForeground scalemode="STRETCH_ASPECT">vinyl_spinny_foreground.png</PathForeground>
<PathGhost scalemode="STRETCH_ASPECT">vinyl_spinny_foreground_ghost.png</PathGhost>
<Connection>
<ConfigKey>[Master],VuMeterR</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
<!--
**********************************************
Visual- Volume peak indicator
Expand Down
31 changes: 18 additions & 13 deletions res/skins/Shade/preview_deck.xml
Original file line number Diff line number Diff line change
Expand Up @@ -215,21 +215,26 @@
<ConfigKey>[PreviewDeck1],PeakIndicator</ConfigKey>
</Connection>
</StatusLight>
<VuMeter>
<TooltipId>sampler_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_previewdeck_over.png</PathVu>
<PathBack>skin:/style/volume_display_previewdeck.png</PathBack>
<WidgetGroup>
<Pos>2,11</Pos>
<Size>5f,41f</Size>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[PreviewDeck1],VuMeter</ConfigKey>
</Connection>
</VuMeter>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>sampler_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_previewdeck_over.png</PathVu>
<PathBack>skin:/style/volume_display_previewdeck.png</PathBack>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey>[PreviewDeck1],VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
</Children>
</WidgetGroup>

Expand Down
31 changes: 18 additions & 13 deletions res/skins/Shade/sampler.xml
Original file line number Diff line number Diff line change
Expand Up @@ -384,20 +384,25 @@
<ConfigKey><Variable name="group"/>,PeakIndicator</ConfigKey>
</Connection>
</StatusLight>
<VuMeter>
<TooltipId>sampler_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_sampler_over.png</PathVu>
<PathBack>skin:/style/volume_display_sampler.png</PathBack>
<WidgetGroup>
<Pos>3,24</Pos>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey><Variable name="group"/>,VuMeter</ConfigKey>
</Connection>
</VuMeter>
<Layout>horizontal</Layout>
<Children>
<VuMeter>
<TooltipId>sampler_VuMeter</TooltipId>
<PathVu>skin:/style/volume_display_sampler_over.png</PathVu>
<PathBack>skin:/style/volume_display_sampler.png</PathBack>
<Horizontal>false</Horizontal>
<PeakHoldSize>5</PeakHoldSize>
<PeakHoldTime>500</PeakHoldTime>
<PeakFallTime>50</PeakFallTime>
<PeakFallStep>2</PeakFallStep>
<Connection>
<ConfigKey><Variable name="group"/>,VuMeter</ConfigKey>
</Connection>
</VuMeter>
</Children>
</WidgetGroup>
</Children>
</WidgetGroup><!-- SamplerVUMeter -->
<WidgetGroup>
Expand Down
2 changes: 2 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#include <QTextCodec>
#include <QThread>
#include <QtDebug>
#include <cstdio>
#include <stdexcept>

#include "errordialoghandler.h"
#include "mixxx.h"
Expand Down
Loading

0 comments on commit a0ffb6b

Please sign in to comment.