Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
16031cc
converted wvumeter into a qglwidget and rendering it just like wspinny
m0dB Sep 11, 2022
ed12162
use parseVuMeter modeled after parseSpinny
m0dB Sep 12, 2022
28dca42
make sure we have renderered at least once before skipping rendering …
m0dB Sep 12, 2022
6ab425e
undo accidental formatting
m0dB Sep 12, 2022
7dd6cd3
Shade: Put all VU meters in a fixed size parent widget
daschuer Sep 13, 2022
3690186
Merge pull request #1 from daschuer/vumeter_qglwidget
m0dB Sep 13, 2022
ec81d43
set bg color from parent base color
m0dB Sep 13, 2022
6607cfc
unused variable
m0dB Sep 13, 2022
5f638a6
Merge branch '2.3' of github.com:mixxxdj/mixxx into vumeter_qglwidget
m0dB Sep 14, 2022
f2ebb93
set m_bHasRendered = false in paintEvent as suggested by @ronso0
m0dB Sep 14, 2022
3f31cce
added TODO
m0dB Sep 14, 2022
a39b7e2
Update src/widget/wvumeter.cpp
m0dB Sep 14, 2022
92be94a
remove unused var
m0dB Sep 14, 2022
bbb0b30
Merge branch 'vumeter_qglwidget' of github.com:m0dB/mixxx into vumete…
m0dB Sep 14, 2022
62a8001
moved findBaseColor to widgethelper
m0dB Sep 14, 2022
7971a40
Shade: fix layout for OpenGL VU meter
ronso0 Sep 13, 2022
ab5443e
Update src/widget/wvumeter.cpp
m0dB Sep 15, 2022
f94cc2a
Update src/skin/legacy/legacyskinparser.cpp
m0dB Sep 21, 2022
8071740
postpone deletion of vumeters, solves segfault on finalize but would …
m0dB Sep 23, 2022
f3f4ff8
Revert "postpone deletion of vumeters, solves segfault on finalize bu…
m0dB Sep 23, 2022
a075491
Merge branch '2.3' into vumeter_qglwidget
m0dB Sep 23, 2022
6bab4d6
renamed QGLWidget derived vu-meter to WVuMeterGL
m0dB Sep 23, 2022
0a94d09
added original wvumeter
m0dB Sep 23, 2022
bc38a88
added original wvumeter from 2.3
m0dB Sep 23, 2022
9d89947
Merge branch '2.3' into vumeter_qglwidget
m0dB Sep 23, 2022
a721a09
handle both WVuMeter and WVuMeterGL is WaveformWidgetFactory
m0dB Sep 23, 2022
dc8a7c8
not interesting in repaint or update calls
m0dB Sep 23, 2022
a562450
added command line argument to choose to use vumetergl or vumeter sta…
m0dB Sep 23, 2022
066bc57
formatting
m0dB Sep 23, 2022
ea1efd5
Update src/waveform/waveformwidgetfactory.cpp
m0dB Sep 25, 2022
3394ebe
WVuMeter/WVuMeterGL: remove unused includes
ronso0 Sep 24, 2022
3f8dfd2
Shade: remove redundant VU meter in sampler
ronso0 Sep 24, 2022
208ddb3
typo in comment
m0dB Sep 25, 2022
44aa76a
bringing command line parsing of --useVuMeterGL in line with parsing …
m0dB Sep 25, 2022
828b90d
use single timer (from vsyncthread) for all vumetergl updateState
m0dB Sep 25, 2022
4a1140e
removed unused member var m_timer and include correct header
m0dB Sep 25, 2022
785fd06
use <Layout>horizontal</Layout> in VU-Meter wrapper widgets
daschuer Sep 29, 2022
c9af1e0
Fix sefgault cause by a concurrent creation of platform windows.
daschuer Sep 29, 2022
0175001
Merge pull request #2 from daschuer/vumeter_qglwidget_2
m0dB Sep 29, 2022
ac80702
made vumetergl the default and simplified commandline option to disab…
m0dB Oct 3, 2022
b8dff32
Apply the GL widget workaround only for the x11 (xcb) platform
daschuer Oct 3, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1002,6 +1002,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