Cleanups and renamings

This commit is contained in:
2022-12-28 00:17:01 +01:00
parent 5613fc553b
commit 55377730ae
10 changed files with 121 additions and 122 deletions

View File

@ -31,14 +31,14 @@ SOURCES += \
synthisizer.cpp \ synthisizer.cpp \
treetotableproxymodel.cpp \ treetotableproxymodel.cpp \
widgets/djwidget.cpp \ widgets/djwidget.cpp \
widgets/drumpadsampleswidget.cpp \
widgets/drumpadsamplewidget.cpp \
widgets/drumpadwidget.cpp \ widgets/drumpadwidget.cpp \
widgets/loopstationwidget.cpp \ widgets/loopstationwidget.cpp \
widgets/mainwindow.cpp \ widgets/mainwindow.cpp \
widgets/midibutton.cpp \ widgets/midibutton.cpp \
widgets/presetdetailwidget.cpp \ widgets/presetdetailwidget.cpp \
widgets/previewwidget.cpp \ widgets/previewwidget.cpp \
widgets/sampleswidget.cpp \
widgets/samplewidget.cpp \
widgets/scratchwidget.cpp \ widgets/scratchwidget.cpp \
widgets/sequencerwidget.cpp \ widgets/sequencerwidget.cpp \
widgets/settingsdialog.cpp \ widgets/settingsdialog.cpp \
@ -65,14 +65,14 @@ HEADERS += \
synthisizer.h \ synthisizer.h \
treetotableproxymodel.h \ treetotableproxymodel.h \
widgets/djwidget.h \ widgets/djwidget.h \
widgets/drumpadsampleswidget.h \
widgets/drumpadsamplewidget.h \
widgets/drumpadwidget.h \ widgets/drumpadwidget.h \
widgets/loopstationwidget.h \ widgets/loopstationwidget.h \
widgets/mainwindow.h \ widgets/mainwindow.h \
widgets/midibutton.h \ widgets/midibutton.h \
widgets/presetdetailwidget.h \ widgets/presetdetailwidget.h \
widgets/previewwidget.h \ widgets/previewwidget.h \
widgets/sampleswidget.h \
widgets/samplewidget.h \
widgets/scratchwidget.h \ widgets/scratchwidget.h \
widgets/sequencerwidget.h \ widgets/sequencerwidget.h \
widgets/settingsdialog.h \ widgets/settingsdialog.h \
@ -81,12 +81,12 @@ HEADERS += \
FORMS += \ FORMS += \
widgets/djwidget.ui \ widgets/djwidget.ui \
widgets/drumpadsampleswidget.ui \
widgets/drumpadsamplewidget.ui \
widgets/drumpadwidget.ui \ widgets/drumpadwidget.ui \
widgets/loopstationwidget.ui \ widgets/loopstationwidget.ui \
widgets/mainwindow.ui \ widgets/mainwindow.ui \
widgets/presetdetailwidget.ui \ widgets/presetdetailwidget.ui \
widgets/sampleswidget.ui \
widgets/samplewidget.ui \
widgets/sequencerwidget.ui \ widgets/sequencerwidget.ui \
widgets/settingsdialog.ui \ widgets/settingsdialog.ui \
widgets/synthisizerwidget.ui \ widgets/synthisizerwidget.ui \

View File

@ -1,5 +1,5 @@
#include "sampleswidget.h" #include "drumpadsampleswidget.h"
#include "ui_sampleswidget.h" #include "ui_drumpadsampleswidget.h"
#include <iterator> #include <iterator>
@ -8,41 +8,41 @@
#include "audioformat.h" #include "audioformat.h"
#include "midicontainers.h" #include "midicontainers.h"
SamplesWidget::SamplesWidget(QWidget *parent) : DrumPadSamplesWidget::DrumPadSamplesWidget(QWidget *parent) :
QWidget{parent}, QWidget{parent},
m_ui{std::make_unique<Ui::SamplesWidget>()} m_ui{std::make_unique<Ui::DrumPadSamplesWidget>()}
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
connect(m_ui->checkBox, &QCheckBox::toggled, this, &SamplesWidget::updateWidgets); connect(m_ui->checkBox, &QCheckBox::toggled, this, &DrumPadSamplesWidget::updateWidgets);
connect(m_ui->pushButtonStopAll, &QAbstractButton::pressed, this, &SamplesWidget::stopAll); connect(m_ui->pushButtonStopAll, &QAbstractButton::pressed, this, &DrumPadSamplesWidget::stopAll);
quint8 padNr{}; quint8 padNr{};
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
{ {
widget.setPadNr(padNr++); widget.setPadNr(padNr++);
connect(&widget, &SampleWidget::chokeTriggered, this, &SamplesWidget::chokeTriggered); connect(&widget, &DrumPadSampleWidget::chokeTriggered, this, &DrumPadSamplesWidget::chokeTriggered);
connect(&widget, &SampleWidget::sendMidi, this, &SamplesWidget::sendMidi); connect(&widget, &DrumPadSampleWidget::sendMidi, this, &DrumPadSamplesWidget::sendMidi);
} }
} }
SamplesWidget::~SamplesWidget() = default; DrumPadSamplesWidget::~DrumPadSamplesWidget() = default;
void SamplesWidget::loadSettings(DrumMachineSettings &settings) void DrumPadSamplesWidget::loadSettings(DrumMachineSettings &settings)
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.loadSettings(settings); widget.loadSettings(settings);
} }
void SamplesWidget::setPreset(const drumpad_presets::Preset &preset) void DrumPadSamplesWidget::setPreset(const drumpad_presets::Preset &preset)
{ {
m_preset = preset; m_preset = preset;
updateWidgets(); updateWidgets();
} }
void SamplesWidget::midiReceived(const midi::MidiMessage &message) void DrumPadSamplesWidget::midiReceived(const midi::MidiMessage &message)
{ {
if (message == midi::MidiMessage{.channel=0,.cmd=midi::Command::ControlChange,.flag=true,.note=64,.velocity=127}) if (message == midi::MidiMessage{.channel=0,.cmd=midi::Command::ControlChange,.flag=true,.note=64,.velocity=127})
{ {
@ -53,7 +53,7 @@ void SamplesWidget::midiReceived(const midi::MidiMessage &message)
if (message.cmd != midi::Command::NoteOn && message.cmd != midi::Command::NoteOff) if (message.cmd != midi::Command::NoteOn && message.cmd != midi::Command::NoteOff)
return; return;
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
{ {
if (widget.isLearning()) if (widget.isLearning())
{ {
@ -69,37 +69,37 @@ void SamplesWidget::midiReceived(const midi::MidiMessage &message)
} }
} }
void SamplesWidget::writeSamples(frame_t *begin, frame_t *end) void DrumPadSamplesWidget::writeSamples(frame_t *begin, frame_t *end)
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.writeSamples(begin, end); widget.writeSamples(begin, end);
} }
void SamplesWidget::injectNetworkAccessManager(QNetworkAccessManager &networkAccessManager) void DrumPadSamplesWidget::injectNetworkAccessManager(QNetworkAccessManager &networkAccessManager)
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.injectNetworkAccessManager(networkAccessManager); widget.injectNetworkAccessManager(networkAccessManager);
} }
void SamplesWidget::injectDecodingThread(QThread &thread) void DrumPadSamplesWidget::injectDecodingThread(QThread &thread)
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.injectDecodingThread(thread); widget.injectDecodingThread(thread);
} }
void SamplesWidget::unsendColors() void DrumPadSamplesWidget::unsendColors()
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.unsendColor(); widget.unsendColor();
} }
void SamplesWidget::sendColors() void DrumPadSamplesWidget::sendColors()
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.sendColor(); widget.sendColor();
} }
void SamplesWidget::sequencerTriggerSample(int index) void DrumPadSamplesWidget::sequencerTriggerSample(int index)
{ {
const auto widgets = getWidgets(); const auto widgets = getWidgets();
if (index < 0 || index >= int(std::size(widgets))) if (index < 0 || index >= int(std::size(widgets)))
@ -110,9 +110,9 @@ void SamplesWidget::sequencerTriggerSample(int index)
widgets[index].get().pressed(127); widgets[index].get().pressed(127);
} }
void SamplesWidget::chokeTriggered(int choke) void DrumPadSamplesWidget::chokeTriggered(int choke)
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
{ {
if (&widget == sender()) if (&widget == sender())
continue; continue;
@ -122,7 +122,7 @@ void SamplesWidget::chokeTriggered(int choke)
} }
} }
void SamplesWidget::updateWidgets() void DrumPadSamplesWidget::updateWidgets()
{ {
const auto widgets = getWidgets(); const auto widgets = getWidgets();
@ -139,13 +139,13 @@ void SamplesWidget::updateWidgets()
widgetsIter->get().setFile(*m_preset.id, *filesIter); widgetsIter->get().setFile(*m_preset.id, *filesIter);
} }
void SamplesWidget::stopAll() void DrumPadSamplesWidget::stopAll()
{ {
for (SampleWidget &widget : getWidgets()) for (DrumPadSampleWidget &widget : getWidgets())
widget.forceStop(); widget.forceStop();
} }
std::array<std::reference_wrapper<SampleWidget>, 24> SamplesWidget::getWidgets() std::array<std::reference_wrapper<DrumPadSampleWidget>, 24> DrumPadSamplesWidget::getWidgets()
{ {
return { return {
std::ref(*m_ui->sampleWidget_1), std::ref(*m_ui->sampleWidget_1),

View File

@ -8,20 +8,20 @@
#include "drumpadpresets.h" #include "drumpadpresets.h"
namespace Ui { class SamplesWidget; } namespace Ui { class DrumPadSamplesWidget; }
namespace midi { struct MidiMessage; } namespace midi { struct MidiMessage; }
class QNetworkAccessManager; class QNetworkAccessManager;
class SampleWidget; class DrumPadSampleWidget;
class DrumMachineSettings; class DrumMachineSettings;
struct frame_t; struct frame_t;
class SamplesWidget : public QWidget class DrumPadSamplesWidget : public QWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit SamplesWidget(QWidget *parent = nullptr); explicit DrumPadSamplesWidget(QWidget *parent = nullptr);
~SamplesWidget() override; ~DrumPadSamplesWidget() override;
void loadSettings(DrumMachineSettings &settings); void loadSettings(DrumMachineSettings &settings);
@ -49,9 +49,9 @@ private slots:
void stopAll(); void stopAll();
private: private:
std::array<std::reference_wrapper<SampleWidget>, 24> getWidgets(); std::array<std::reference_wrapper<DrumPadSampleWidget>, 24> getWidgets();
const std::unique_ptr<Ui::SamplesWidget> m_ui; const std::unique_ptr<Ui::DrumPadSamplesWidget> m_ui;
drumpad_presets::Preset m_preset; drumpad_presets::Preset m_preset;
}; };

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>SamplesWidget</class> <class>DrumPadSamplesWidget</class>
<widget class="QWidget" name="SamplesWidget"> <widget class="QWidget" name="DrumPadSamplesWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
@ -12,22 +12,22 @@
</property> </property>
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0" columnstretch="0,0,0,0,0,0,0,0,0"> <layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0" columnstretch="0,0,0,0,0,0,0,0,0">
<item row="3" column="3"> <item row="3" column="3">
<widget class="SampleWidget" name="sampleWidget_9" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_9" native="true"/>
</item> </item>
<item row="4" column="3"> <item row="4" column="3">
<widget class="SampleWidget" name="sampleWidget_12" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_12" native="true"/>
</item> </item>
<item row="1" column="5"> <item row="1" column="5">
<widget class="SampleWidget" name="sampleWidget_13" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_13" native="true"/>
</item> </item>
<item row="1" column="7"> <item row="1" column="7">
<widget class="SampleWidget" name="sampleWidget_15" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_15" native="true"/>
</item> </item>
<item row="2" column="7"> <item row="2" column="7">
<widget class="SampleWidget" name="sampleWidget_18" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_18" native="true"/>
</item> </item>
<item row="4" column="6"> <item row="4" column="6">
<widget class="SampleWidget" name="sampleWidget_23" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_23" native="true"/>
</item> </item>
<item row="0" column="0" colspan="9"> <item row="0" column="0" colspan="9">
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
@ -74,10 +74,10 @@
</layout> </layout>
</item> </item>
<item row="3" column="2"> <item row="3" column="2">
<widget class="SampleWidget" name="sampleWidget_8" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_8" native="true"/>
</item> </item>
<item row="4" column="7"> <item row="4" column="7">
<widget class="SampleWidget" name="sampleWidget_24" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_24" native="true"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
@ -93,13 +93,13 @@
</spacer> </spacer>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="SampleWidget" name="sampleWidget_1" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_1" native="true"/>
</item> </item>
<item row="3" column="5"> <item row="3" column="5">
<widget class="SampleWidget" name="sampleWidget_19" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_19" native="true"/>
</item> </item>
<item row="3" column="7"> <item row="3" column="7">
<widget class="SampleWidget" name="sampleWidget_21" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_21" native="true"/>
</item> </item>
<item row="1" column="8"> <item row="1" column="8">
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
@ -115,16 +115,16 @@
</spacer> </spacer>
</item> </item>
<item row="2" column="2"> <item row="2" column="2">
<widget class="SampleWidget" name="sampleWidget_5" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_5" native="true"/>
</item> </item>
<item row="1" column="2"> <item row="1" column="2">
<widget class="SampleWidget" name="sampleWidget_2" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_2" native="true"/>
</item> </item>
<item row="2" column="6"> <item row="2" column="6">
<widget class="SampleWidget" name="sampleWidget_17" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_17" native="true"/>
</item> </item>
<item row="3" column="6"> <item row="3" column="6">
<widget class="SampleWidget" name="sampleWidget_20" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_20" native="true"/>
</item> </item>
<item row="1" column="4"> <item row="1" column="4">
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
@ -140,39 +140,39 @@
</spacer> </spacer>
</item> </item>
<item row="2" column="5"> <item row="2" column="5">
<widget class="SampleWidget" name="sampleWidget_16" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_16" native="true"/>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="SampleWidget" name="sampleWidget_4" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_4" native="true"/>
</item> </item>
<item row="4" column="5"> <item row="4" column="5">
<widget class="SampleWidget" name="sampleWidget_22" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_22" native="true"/>
</item> </item>
<item row="4" column="2"> <item row="4" column="2">
<widget class="SampleWidget" name="sampleWidget_11" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_11" native="true"/>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
<widget class="SampleWidget" name="sampleWidget_3" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_3" native="true"/>
</item> </item>
<item row="1" column="6"> <item row="1" column="6">
<widget class="SampleWidget" name="sampleWidget_14" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_14" native="true"/>
</item> </item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="SampleWidget" name="sampleWidget_10" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_10" native="true"/>
</item> </item>
<item row="2" column="3"> <item row="2" column="3">
<widget class="SampleWidget" name="sampleWidget_6" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_6" native="true"/>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="SampleWidget" name="sampleWidget_7" native="true"/> <widget class="DrumPadSampleWidget" name="sampleWidget_7" native="true"/>
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>SampleWidget</class> <class>DrumPadSampleWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>widgets/samplewidget.h</header> <header>widgets/drumpadsamplewidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </customwidgets>

View File

@ -1,5 +1,5 @@
#include "samplewidget.h" #include "drumpadsamplewidget.h"
#include "ui_samplewidget.h" #include "ui_drumpadsamplewidget.h"
#include <QAbstractEventDispatcher> #include <QAbstractEventDispatcher>
#include <QSoundEffect> #include <QSoundEffect>
@ -19,27 +19,27 @@ QString toString(int value) { return QString::number(value); }
QString toString(bool value) { return value?"true":"false"; } QString toString(bool value) { return value?"true":"false"; }
} }
SampleWidget::SampleWidget(QWidget *parent) : DrumPadSampleWidget::DrumPadSampleWidget(QWidget *parent) :
QFrame{parent}, QFrame{parent},
m_ui{std::make_unique<Ui::SampleWidget>()} m_ui{std::make_unique<Ui::DrumPadSampleWidget>()}
{ {
m_ui->setupUi(this); m_ui->setupUi(this);
connect(m_ui->dialSpeed, &QAbstractSlider::valueChanged, &m_player, [&player=m_player](int value){ player.setSpeed(float(value)/100.f); }); connect(m_ui->dialSpeed, &QAbstractSlider::valueChanged, &m_player, [&player=m_player](int value){ player.setSpeed(float(value)/100.f); });
connect(m_ui->dialVolume, &QAbstractSlider::valueChanged, &m_player, [&player=m_player](int value){ player.setVolume(float(value)/100.f); }); connect(m_ui->dialVolume, &QAbstractSlider::valueChanged, &m_player, [&player=m_player](int value){ player.setVolume(float(value)/100.f); });
connect(&m_player, &AudioPlayer::playingChanged, this, &SampleWidget::updateStatus); connect(&m_player, &AudioPlayer::playingChanged, this, &DrumPadSampleWidget::updateStatus);
connect(m_ui->pushButton, &QAbstractButton::pressed, this, [this](){ pressed(127); }); connect(m_ui->pushButton, &QAbstractButton::pressed, this, [this](){ pressed(127); });
connect(m_ui->pushButton, &QAbstractButton::released, this, &SampleWidget::released); connect(m_ui->pushButton, &QAbstractButton::released, this, &DrumPadSampleWidget::released);
connect(m_ui->toolButtonLearn, &QAbstractButton::pressed, this, &SampleWidget::learnPressed); connect(m_ui->toolButtonLearn, &QAbstractButton::pressed, this, &DrumPadSampleWidget::learnPressed);
updateStatus(); updateStatus();
} }
SampleWidget::~SampleWidget() = default; DrumPadSampleWidget::~DrumPadSampleWidget() = default;
void SampleWidget::loadSettings(DrumMachineSettings &settings) void DrumPadSampleWidget::loadSettings(DrumMachineSettings &settings)
{ {
m_ui->channelSpinBox->setValue(settings.drumpadChannel(m_padNr)); m_ui->channelSpinBox->setValue(settings.drumpadChannel(m_padNr));
m_ui->noteSpinBox->setValue(settings.drumpadNote(m_padNr)); m_ui->noteSpinBox->setValue(settings.drumpadNote(m_padNr));
@ -47,7 +47,7 @@ void SampleWidget::loadSettings(DrumMachineSettings &settings)
m_settings = &settings; m_settings = &settings;
} }
void SampleWidget::setFile(const QString &presetId, const drumpad_presets::File &file) void DrumPadSampleWidget::setFile(const QString &presetId, const drumpad_presets::File &file)
{ {
m_presetId = presetId; m_presetId = presetId;
m_file = file; m_file = file;
@ -80,12 +80,12 @@ void SampleWidget::setFile(const QString &presetId, const drumpad_presets::File
setupLabel(file.choke, m_ui->chokeLabel); setupLabel(file.choke, m_ui->chokeLabel);
} }
quint8 SampleWidget::channel() const quint8 DrumPadSampleWidget::channel() const
{ {
return m_ui->channelSpinBox->value(); return m_ui->channelSpinBox->value();
} }
void SampleWidget::setChannel(quint8 channel) void DrumPadSampleWidget::setChannel(quint8 channel)
{ {
m_ui->channelSpinBox->setValue(channel); m_ui->channelSpinBox->setValue(channel);
@ -95,12 +95,12 @@ void SampleWidget::setChannel(quint8 channel)
qWarning() << "no settings available"; qWarning() << "no settings available";
} }
quint8 SampleWidget::note() const quint8 DrumPadSampleWidget::note() const
{ {
return m_ui->noteSpinBox->value(); return m_ui->noteSpinBox->value();
} }
void SampleWidget::setNote(quint8 note) void DrumPadSampleWidget::setNote(quint8 note)
{ {
m_ui->noteSpinBox->setValue(note); m_ui->noteSpinBox->setValue(note);
@ -110,34 +110,34 @@ void SampleWidget::setNote(quint8 note)
qWarning() << "no settings available"; qWarning() << "no settings available";
} }
int SampleWidget::speed() const int DrumPadSampleWidget::speed() const
{ {
return m_ui->dialSpeed->value(); return m_ui->dialSpeed->value();
} }
void SampleWidget::setSpeed(int speed) void DrumPadSampleWidget::setSpeed(int speed)
{ {
m_ui->dialSpeed->setValue(speed); m_ui->dialSpeed->setValue(speed);
} }
int SampleWidget::volume() const int DrumPadSampleWidget::volume() const
{ {
return m_ui->dialVolume->value(); return m_ui->dialVolume->value();
} }
void SampleWidget::setVolume(int volume) void DrumPadSampleWidget::setVolume(int volume)
{ {
m_ui->dialVolume->setValue(volume); m_ui->dialVolume->setValue(volume);
} }
std::optional<int> SampleWidget::choke() const std::optional<int> DrumPadSampleWidget::choke() const
{ {
if (!m_file) if (!m_file)
return {}; return {};
return m_file->choke; return m_file->choke;
} }
void SampleWidget::pressed(quint8 velocity) void DrumPadSampleWidget::pressed(quint8 velocity)
{ {
Q_UNUSED(velocity) Q_UNUSED(velocity)
@ -147,39 +147,39 @@ void SampleWidget::pressed(quint8 velocity)
emit chokeTriggered(*m_file->choke); emit chokeTriggered(*m_file->choke);
} }
void SampleWidget::released() void DrumPadSampleWidget::released()
{ {
} }
void SampleWidget::forceStop() void DrumPadSampleWidget::forceStop()
{ {
m_player.setPlaying(false); m_player.setPlaying(false);
} }
void SampleWidget::injectNetworkAccessManager(QNetworkAccessManager &networkAccessManager) void DrumPadSampleWidget::injectNetworkAccessManager(QNetworkAccessManager &networkAccessManager)
{ {
m_networkAccessManager = &networkAccessManager; m_networkAccessManager = &networkAccessManager;
if (m_file) if (m_file)
startRequest(); startRequest();
} }
void SampleWidget::injectDecodingThread(QThread &thread) void DrumPadSampleWidget::injectDecodingThread(QThread &thread)
{ {
QMetaObject::invokeMethod(QAbstractEventDispatcher::instance(&thread), [this](){ QMetaObject::invokeMethod(QAbstractEventDispatcher::instance(&thread), [this](){
m_decoder = std::make_unique<AudioDecoder>(); m_decoder = std::make_unique<AudioDecoder>();
connect(this, &SampleWidget::startDecoding, m_decoder.get(), &AudioDecoder::startDecodingDevice); connect(this, &DrumPadSampleWidget::startDecoding, m_decoder.get(), &AudioDecoder::startDecodingDevice);
connect(m_decoder.get(), &AudioDecoder::decodingFinished, this, &SampleWidget::decodingFinished); connect(m_decoder.get(), &AudioDecoder::decodingFinished, this, &DrumPadSampleWidget::decodingFinished);
if (m_reply && m_reply->isFinished() && m_reply->error() == QNetworkReply::NoError) if (m_reply && m_reply->isFinished() && m_reply->error() == QNetworkReply::NoError)
m_decoder->startDecodingDevice(m_reply); m_decoder->startDecodingDevice(m_reply);
}); });
} }
void SampleWidget::writeSamples(frame_t *begin, frame_t *end) void DrumPadSampleWidget::writeSamples(frame_t *begin, frame_t *end)
{ {
m_player.writeSamples(begin, end); m_player.writeSamples(begin, end);
} }
void SampleWidget::learn(quint8 channel, quint8 note) void DrumPadSampleWidget::learn(quint8 channel, quint8 note)
{ {
setChannel(channel); setChannel(channel);
setNote(note); setNote(note);
@ -187,7 +187,7 @@ void SampleWidget::learn(quint8 channel, quint8 note)
learnPressed(); learnPressed();
} }
void SampleWidget::unsendColor() void DrumPadSampleWidget::unsendColor()
{ {
m_sendColors = false; m_sendColors = false;
midi::MidiMessage midiMsg; midi::MidiMessage midiMsg;
@ -201,7 +201,7 @@ void SampleWidget::unsendColor()
emit sendMidi(midiMsg); emit sendMidi(midiMsg);
} }
void SampleWidget::sendColor() void DrumPadSampleWidget::sendColor()
{ {
m_sendColors = true; m_sendColors = true;
midi::MidiMessage midiMsg; midi::MidiMessage midiMsg;
@ -236,7 +236,7 @@ void SampleWidget::sendColor()
emit sendMidi(midiMsg); emit sendMidi(midiMsg);
} }
void SampleWidget::updateStatus() void DrumPadSampleWidget::updateStatus()
{ {
QPalette pal; QPalette pal;
@ -289,7 +289,7 @@ void SampleWidget::updateStatus()
m_ui->statusLabel->setText(m_player.playing() ? tr("Playing") : tr("Ready")); m_ui->statusLabel->setText(m_player.playing() ? tr("Playing") : tr("Ready"));
} }
void SampleWidget::requestFinished() void DrumPadSampleWidget::requestFinished()
{ {
if (m_reply->error() == QNetworkReply::NoError) if (m_reply->error() == QNetworkReply::NoError)
{ {
@ -298,7 +298,7 @@ void SampleWidget::requestFinished()
updateStatus(); updateStatus();
} }
void SampleWidget::decodingFinished(const QAudioBuffer &buffer) void DrumPadSampleWidget::decodingFinished(const QAudioBuffer &buffer)
{ {
m_reply = nullptr; m_reply = nullptr;
m_player.setBuffer(buffer); m_player.setBuffer(buffer);
@ -307,7 +307,7 @@ void SampleWidget::decodingFinished(const QAudioBuffer &buffer)
updateStatus(); updateStatus();
} }
void SampleWidget::learnPressed() void DrumPadSampleWidget::learnPressed()
{ {
auto palette = m_ui->toolButtonLearn->palette(); auto palette = m_ui->toolButtonLearn->palette();
@ -328,7 +328,7 @@ void SampleWidget::learnPressed()
m_learning = !m_learning; m_learning = !m_learning;
} }
void SampleWidget::startRequest() void DrumPadSampleWidget::startRequest()
{ {
if (m_networkAccessManager && m_file->filename) if (m_networkAccessManager && m_file->filename)
{ {
@ -336,7 +336,7 @@ void SampleWidget::startRequest()
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
request.setAttribute(QNetworkRequest::CacheSaveControlAttribute, true); request.setAttribute(QNetworkRequest::CacheSaveControlAttribute, true);
m_reply = std::shared_ptr<QNetworkReply>{m_networkAccessManager->get(request)}; m_reply = std::shared_ptr<QNetworkReply>{m_networkAccessManager->get(request)};
connect(m_reply.get(), &QNetworkReply::finished, this, &SampleWidget::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &DrumPadSampleWidget::requestFinished);
} }
updateStatus(); updateStatus();

View File

@ -7,7 +7,7 @@
#include "drumpadpresets.h" #include "drumpadpresets.h"
#include "audioplayer.h" #include "audioplayer.h"
namespace Ui { class SampleWidget; } namespace Ui { class DrumPadSampleWidget; }
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class QAudioBuffer; class QAudioBuffer;
@ -16,13 +16,13 @@ class DrumMachineSettings;
namespace midi { struct MidiMessage; } namespace midi { struct MidiMessage; }
struct frame_t; struct frame_t;
class SampleWidget : public QFrame class DrumPadSampleWidget : public QFrame
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit SampleWidget(QWidget *parent = nullptr); explicit DrumPadSampleWidget(QWidget *parent = nullptr);
~SampleWidget() override; ~DrumPadSampleWidget() override;
quint8 padNr() const { return m_padNr; } quint8 padNr() const { return m_padNr; }
void setPadNr(quint8 padNr) { m_padNr = padNr; } void setPadNr(quint8 padNr) { m_padNr = padNr; }
@ -75,7 +75,7 @@ private slots:
private: private:
void startRequest(); void startRequest();
const std::unique_ptr<Ui::SampleWidget> m_ui; const std::unique_ptr<Ui::DrumPadSampleWidget> m_ui;
DrumMachineSettings *m_settings{}; DrumMachineSettings *m_settings{};

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>SampleWidget</class> <class>DrumPadSampleWidget</class>
<widget class="QFrame" name="SampleWidget"> <widget class="QFrame" name="DrumPadSampleWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>

View File

@ -23,9 +23,9 @@ DrumPadWidget::DrumPadWidget(QWidget *parent) :
connect(m_ui->pushButtonRefresh, &QAbstractButton::pressed, this, &DrumPadWidget::loadPresets); connect(m_ui->pushButtonRefresh, &QAbstractButton::pressed, this, &DrumPadWidget::loadPresets);
connect(m_ui->sequencerWidget, &SequencerWidget::sendMidi, this, &DrumPadWidget::sendMidi); connect(m_ui->sequencerWidget, &SequencerWidget::sendMidi, this, &DrumPadWidget::sendMidi);
connect(m_ui->samplesWidget, &SamplesWidget::sendMidi, this, &DrumPadWidget::sendMidi); connect(m_ui->samplesWidget, &DrumPadSamplesWidget::sendMidi, this, &DrumPadWidget::sendMidi);
connect(m_ui->sequencerWidget, &SequencerWidget::triggerSample, m_ui->samplesWidget, &SamplesWidget::sequencerTriggerSample); connect(m_ui->sequencerWidget, &SequencerWidget::triggerSample, m_ui->samplesWidget, &DrumPadSamplesWidget::sequencerTriggerSample);
m_presetsProxyModel.setFilterCaseSensitivity(Qt::CaseInsensitive); m_presetsProxyModel.setFilterCaseSensitivity(Qt::CaseInsensitive);
m_presetsProxyModel.setSortRole(Qt::EditRole); m_presetsProxyModel.setSortRole(Qt::EditRole);

View File

@ -9,7 +9,6 @@
#include "drumpadfilesmodel.h" #include "drumpadfilesmodel.h"
namespace Ui { class DrumPadWidget; } namespace Ui { class DrumPadWidget; }
class SamplesWidget;
class SequencerWidget; class SequencerWidget;
class QModelIndex; class QModelIndex;
class QNetworkAccessManager; class QNetworkAccessManager;

View File

@ -109,14 +109,14 @@
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<widget class="SequencerWidget" name="sequencerWidget" native="true"/> <widget class="SequencerWidget" name="sequencerWidget" native="true"/>
<widget class="SamplesWidget" name="samplesWidget" native="true"/> <widget class="DrumPadSamplesWidget" name="samplesWidget" native="true"/>
</widget> </widget>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>SamplesWidget</class> <class>DrumPadSamplesWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>widgets/sampleswidget.h</header> <header>widgets/drumpadsampleswidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>