Skip to content

Commit

Permalink
clean up and add until mark counter
Browse files Browse the repository at this point in the history
  • Loading branch information
acolombier committed Oct 20, 2024
1 parent 212769b commit 46c087f
Show file tree
Hide file tree
Showing 19 changed files with 260 additions and 588 deletions.
357 changes: 0 additions & 357 deletions .gitignore

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1502,6 +1502,7 @@ else()
)
endif()
if(QOPENGL)
target_compile_definitions(mixxx-lib PRIVATE __RENDERGRAPH_IS_OPENGL)
target_sources(mixxx-lib PRIVATE
src/shaders/endoftrackshader.cpp
src/shaders/slipmodeshader.cpp
Expand Down Expand Up @@ -2770,6 +2771,7 @@ if(QML)
)
target_link_libraries(mixxx-qml-lib PRIVATE mixxx-qml-mixxxcontrolsplugin)

target_compile_definitions(mixxx-qml-lib PRIVATE __RENDERGRAPH_IS_SCENEGRAPH)
target_sources(mixxx-qml-lib PRIVATE
src/qml/asyncimageprovider.cpp
src/qml/qmlapplication.cpp
Expand All @@ -2792,21 +2794,20 @@ if(QML)
src/qml/qmlwaveformdisplay.cpp
src/qml/qmlwaveformrenderer.cpp
src/waveform/renderers/waveformdisplayrange.cpp

src/waveform/renderers/allshader/digitsrenderer.cpp
src/waveform/renderers/allshader/waveformrenderbeat.cpp
src/waveform/renderers/allshader/waveformrenderer.cpp
src/waveform/renderers/allshader/waveformrendererendoftrack.cpp
# FIXME depends on rendergraph/openglnode.h
# src/waveform/renderers/allshader/waveformrendererslipmode.cpp
# src/waveform/renderers/allshader/waveformrendererfiltered.cpp
# src/waveform/renderers/allshader/waveformrendererhsv.cpp
src/waveform/renderers/allshader/waveformrendererpreroll.cpp
src/waveform/renderers/allshader/waveformrendererrgb.cpp
src/waveform/renderers/allshader/waveformrenderersignalbase.cpp
# src/waveform/renderers/allshader/waveformrenderersimple.cpp
src/waveform/renderers/allshader/waveformrendermark.cpp
src/waveform/renderers/allshader/waveformrendermarkrange.cpp
# FIXME depends on rendergraph/openglnode.h
# src/waveform/renderers/allshader/waveformrendererslipmode.cpp
# src/waveform/renderers/allshader/waveformrendererfiltered.cpp
# src/waveform/renderers/allshader/waveformrendererhsv.cpp
# src/waveform/renderers/allshader/waveformrenderersimple.cpp
# The following sources need to be in this target to get QML_ELEMENT properly interpreted
src/control/controlmodel.cpp
src/control/controlsortfiltermodel.cpp
Expand Down Expand Up @@ -3835,7 +3836,6 @@ add_subdirectory(src/rendergraph/opengl)
add_subdirectory(res/shaders/rendergraph)
target_link_libraries(mixxx-lib PUBLIC rendergraph_gl)
target_compile_definitions(mixxx-lib PRIVATE rendergraph=rendergraph_gl)
target_compile_definitions(mixxx-lib PRIVATE __RENDERGRAPH_OPENGL__)
target_compile_definitions(mixxx-lib PRIVATE allshader=allshader_gl)
if(QML)
add_subdirectory(src/rendergraph/scenegraph)
Expand Down
59 changes: 29 additions & 30 deletions res/qml/WaveformDisplay.qml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Item {
MixxxControls.WaveformDisplay {
anchors.fill: parent
group: root.group
zoom: zoomControl.value
backgroundColor: "#5e000000"

Mixxx.WaveformRendererEndOfTrack {
color: 'blue'
Expand All @@ -28,36 +30,34 @@ Item {
}

Mixxx.WaveformRendererMarkRange {
// // <!-- Loop -->
// <!-- Loop -->
Mixxx.WaveformMarkRange {
startControl: "loop_start_position"
endControl: "loop_end_position"
enabledControl: "loop_enabled"
color: 'LoopColor'
color: '#00b400'
opacity: 0.7
disabledColor: '#FFFFFF'
disabledOpacity: 0.6
}
// // <!-- Intro -->
// Mixxx.WaveformMarkRange {
// startControl: "intro_start_position"
// endControl: "intro_end_position"
// // visibilityControl: '[Skin],show_intro_outro_cues'
// color: 'IntroOutroColor'
// opacity: 0.6
// durationTextColor: '#ffffff'
// durationTextLocation: 'after'
// }
// // <!-- Outro -->
// Mixxx.WaveformMarkRange {
// startControl: "outro_start_position"
// endControl: "outro_end_position"
// // visibilityControl: '[Skin],show_intro_outro_cues'
// color: 'IntroOutroColor'
// opacity: 0.6
// durationTextColor: '#ffffff'
// durationTextLocation: 'before'
// }
// <!-- Intro -->
Mixxx.WaveformMarkRange {
startControl: "intro_start_position"
endControl: "intro_end_position"
color: '#2c5c9a'
opacity: 0.6
durationTextColor: '#ffffff'
durationTextLocation: 'after'
}
// <!-- Outro -->
Mixxx.WaveformMarkRange {
startControl: "outro_start_position"
endControl: "outro_end_position"
color: '#2c5c9a'
opacity: 0.6
durationTextColor: '#ffffff'
durationTextLocation: 'before'
}
}

Mixxx.WaveformRendererRGB {
Expand All @@ -80,6 +80,12 @@ Item {
textColor: "#FFFFFF"
text: " %1 "
}

untilMark.showTime: true
untilMark.showBeats: true
untilMark.align: WaveformUntilMark.AlignTop
untilMark.textSize: 20

Mixxx.WaveformMark {
control: "cue_point"
text: 'C'
Expand All @@ -89,46 +95,39 @@ Item {
}
Mixxx.WaveformMark {
control: "loop_start_position"
text: ';'
text: ''
align: 'top|left'
color: 'green'
textColor: '#FFFFFF'
}
Mixxx.WaveformMark {
control: "loop_end_position"
// visibilityControl: '<Variable name="'
// <!--Text>OUT</Text-->
align: 'bottom|right'
color: 'green'
textColor: '#FFFFFF'
// visibilityControl: '<Variable name="'
}
Mixxx.WaveformMark {
control: "intro_start_position"
// visibilityControl: '[Skin],show_intro_outro_cues'
align: 'top|right'
color: 'blue'
textColor: '#FFFFFF'
}
Mixxx.WaveformMark {
control: "intro_end_position"
// visibilityControl: '[Skin],show_intro_outro_cues'
text: ''
align: 'top|left'
color: 'blue'
textColor: '#FFFFFF'
}
Mixxx.WaveformMark {
control: "outro_start_position"
// visibilityControl: '[Skin],show_intro_outro_cues'
text: ''
align: 'top|right'
color: 'blue'
textColor: '#FFFFFF'
}
Mixxx.WaveformMark {
control: "outro_end_position"
// visibilityControl: '[Skin],show_intro_outro_cues'
align: 'top|left'
color: 'blue'
textColor: '#FFFFFF'
Expand Down
43 changes: 14 additions & 29 deletions res/qml/main.qml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ ApplicationWindow {
}
}

WaveformRow {
Skin.WaveformDisplay {
id: deck3waveform

group: "[Channel3]"
Expand All @@ -111,48 +111,33 @@ ApplicationWindow {
}
}

// WaveformRow {
// id: deck1waveform

// group: "[Channel1]"
// width: root.width
// height: 60
// visible: !root.maximizeLibrary

// FadeBehavior on visible {
// fadeTarget: deck1waveform
// }
// }

Skin.WaveformDisplay {
id: deck1waveform

group: "[Channel1]"
width: root.width
height: 60
group: "[Channel1]"
visible: !root.maximizeLibrary

FadeBehavior on visible {
fadeTarget: deck1waveform
}
}

Skin.WaveformDisplay {
id: deck2waveform

group: "[Channel2]"
width: root.width
height: 60
group: "[Channel2]"
visible: !root.maximizeLibrary

FadeBehavior on visible {
fadeTarget: deck2waveform
}
}

// WaveformRow {
// id: deck2waveform
//
// group: "[Channel2]"
// width: root.width
// height: 60
// visible: !root.maximizeLibrary
//
// FadeBehavior on visible {
// fadeTarget: deck2waveform
// }
// }
WaveformRow {
Skin.WaveformDisplay {
id: deck4waveform

group: "[Channel4]"
Expand Down
27 changes: 20 additions & 7 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <QtDebug>
#include <QtGlobal>
#include <cstdio>
#include <memory>
#include <stdexcept>

#include "config.h"
Expand All @@ -20,6 +21,7 @@
#include "waveform/guitick.h"
#include "waveform/visualsmanager.h"
#include "waveform/waveformwidgetfactory.h"
#include "mixer/playermanager.h"
#endif
#include "mixxxmainwindow.h"
#if defined(__WINDOWS__)
Expand Down Expand Up @@ -60,17 +62,28 @@ int runMixxx(MixxxApplication* pApp, const CmdlineArgs& args) {
int exitCode;
#ifdef MIXXX_USE_QML
if (args.isQml()) {
auto tick = new GuiTick();
auto visuals = new VisualsManager();
auto pTick = std::make_unique<GuiTick>();
auto pVisuals = std::make_unique<VisualsManager>();
WaveformWidgetFactory::createInstance(); // takes a long time
WaveformWidgetFactory::instance()->setConfig(pCoreServices->getSettings());
WaveformWidgetFactory::instance()->startVSync(tick, visuals);
WaveformWidgetFactory::instance()->startVSync(pTick.get(), pVisuals.get());
mixxx::qml::QmlApplication qmlApplication(pApp, pCoreServices);
visuals->addDeck("[Channel1]");
visuals->addDeck("[Channel2]");
visuals->addDeck("[Channel3]");
visuals->addDeck("[Channel4]");

const QStringList visualGroups = pCoreServices->getPlayerManager()->getVisualPlayerGroups();
for (const QString& group : visualGroups) {
pVisuals->addDeck(group);
}
pCoreServices->getPlayerManager()->connect(pCoreServices->getPlayerManager().get(),
&PlayerManager::numberOfDecksChanged,
&qmlApplication,
[&pVisuals](int decks) {
for (int i = 0; i < decks; ++i) {
QString group = PlayerManager::groupForDeck(i);
pVisuals->addDeckIfNotExist(group);
}
});
exitCode = pApp->exec();
WaveformWidgetFactory::destroy();
} else
#endif
{
Expand Down
Loading

0 comments on commit 46c087f

Please sign in to comment.