Skip to content

Commit

Permalink
release 1.5.1 preparations
Browse files Browse the repository at this point in the history
* reporting sonivox version
* Qt6 building by default
* Copyright years updated
  • Loading branch information
pedrolcl committed Sep 24, 2024
1 parent 0f029d9 commit f1ce43a
Show file tree
Hide file tree
Showing 16 changed files with 90 additions and 47 deletions.
21 changes: 7 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,38 +1,31 @@
cmake_minimum_required(VERSION 3.9)
project( EASSynth
VERSION 1.5.0
VERSION 1.5.1
DESCRIPTION "Sonivox EAS for Linux and Qt" )

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

option(USE_QT "Choose which Qt major version (5 or 6) to prefer. By default uses whatever is found")
option(USE_QT5 "Choose Qt5 instead of Qt6. By default uses Qt6")

include(GNUInstallDirs)

if (USE_QT)
if (NOT (USE_QT EQUAL 5 OR USE_QT EQUAL 6))
message(FATAL_ERROR "Wrong Qt major version. Only 5 and 6 are valid options")
endif()
endif()

if (USE_QT EQUAL 5)
if (USE_QT5)
find_package(QT NAMES Qt5)
elseif (USE_QT EQUAL 6)
find_package(QT NAMES Qt6)
else()
find_package(QT NAMES Qt5 Qt6)
find_package(QT NAMES Qt6)
endif()

find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets REQUIRED)
find_package(Drumstick 2.7 COMPONENTS ALSA REQUIRED)
find_package(Drumstick 2.9 COMPONENTS ALSA REQUIRED)
message(STATUS "Using Drumstick version: ${Drumstick_VERSION}")
find_package(PkgConfig REQUIRED)
pkg_check_modules(PULSE REQUIRED IMPORTED_TARGET libpulse-simple)

find_package(sonivox 3.6.12 CONFIG)
find_package(sonivox 3.6.13 CONFIG)
if (NOT sonivox_FOUND)
message(FATAL_ERROR "Sonivox library not found")
#alternative: use sonivox as a git submodule:
#add_subdirectory(sonivox)
endif()
message(STATUS "Using Sonivox version: ${sonivox_VERSION}")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ To build, test and debug you may also find QtCreator interesting. You may also u
Licenses
--------

Copyright (C) 2016-2023 Pedro López-Cabanillas.
Copyright (C) 2016-2024 Pedro López-Cabanillas.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion cmdlnsynth/main.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion guisynth/main.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
4 changes: 3 additions & 1 deletion guisynth/mainwindow.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -44,6 +44,8 @@ MainWindow::MainWindow(QWidget *parent) :
ui->combo_Chorus->addItem(QStringLiteral("None"), -1);
ui->combo_Chorus->setCurrentIndex(4);

ui->libSonivoxVersion->setText(m_synth->renderer()->libVersion());

connect(ui->combo_Reverb, SIGNAL(currentIndexChanged(int)), SLOT(reverbTypeChanged(int)));
connect(ui->combo_Chorus, SIGNAL(currentIndexChanged(int)), SLOT(chorusTypeChanged(int)));
connect(ui->dial_Reverb, &QDial::valueChanged, this, &MainWindow::reverbChanged);
Expand Down
2 changes: 1 addition & 1 deletion guisynth/mainwindow.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
48 changes: 39 additions & 9 deletions guisynth/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
<x>0</x>
<y>0</y>
<width>273</width>
<height>265</height>
<height>289</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>273</width>
<height>265</height>
<height>289</height>
</size>
</property>
<property name="windowTitle">
Expand All @@ -25,7 +25,37 @@
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="0">
<item row="3" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="lblVersion">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Sonivox Version:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="libSonivoxVersion">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lblReverb">
<property name="text">
<string>Reverb</string>
Expand All @@ -35,7 +65,7 @@
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
Expand All @@ -48,7 +78,7 @@
</property>
</spacer>
</item>
<item row="3" column="2">
<item row="4" column="2">
<widget class="QLabel" name="lblChorus">
<property name="text">
<string>Chorus</string>
Expand All @@ -58,24 +88,24 @@
</property>
</widget>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QDial" name="dial_Reverb">
<property name="maximum">
<number>32765</number>
</property>
</widget>
</item>
<item row="4" column="2">
<item row="5" column="2">
<widget class="QDial" name="dial_Chorus">
<property name="maximum">
<number>32765</number>
</property>
</widget>
</item>
<item row="5" column="0">
<item row="6" column="0">
<widget class="QComboBox" name="combo_Reverb"/>
</item>
<item row="5" column="2">
<item row="6" column="2">
<widget class="QComboBox" name="combo_Chorus"/>
</item>
<item row="0" column="0" colspan="3">
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/filewrapper.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/filewrapper.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/programsettings.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/programsettings.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/synthcontroller.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion libsvoxeas/synthcontroller.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
36 changes: 26 additions & 10 deletions libsvoxeas/synthrenderer.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -16,20 +16,23 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include <QCoreApplication>
#include <QObject>
#include <QReadLocker>
#include <QString>
#include <QCoreApplication>
#include <QTextStream>
#include <QtDebug>
#include <QReadLocker>
#include <QVersionNumber>
#include <QWriteLocker>
#include "eas_reverb.h"
#include "eas_chorus.h"
#include <pulse/simple.h>
#include <pulse/error.h>
#include <QtDebug>

#include <drumstick/sequencererror.h>
#include "synthrenderer.h"
#include <pulse/error.h>
#include <pulse/simple.h>

#include "eas_chorus.h"
#include "eas_reverb.h"
#include "filewrapper.h"
#include "synthrenderer.h"

using namespace drumstick::ALSA;

Expand Down Expand Up @@ -122,7 +125,9 @@ SynthRenderer::initEAS()
m_sampleRate = easConfig->sampleRate;
m_bufferSize = easConfig->mixBufferSize;
m_channels = easConfig->numChannels;
qDebug() << Q_FUNC_INFO << "EAS bufferSize=" << m_bufferSize << " sampleRate=" << m_sampleRate << " channels=" << m_channels;
m_libVersion = easConfig->libVersion;
qDebug() << Q_FUNC_INFO << "Sonivox library:" << libVersion() << "bufferSize:" << m_bufferSize
<< "sampleRate:" << m_sampleRate << "channels:" << m_channels;
}

void
Expand Down Expand Up @@ -197,6 +202,17 @@ void SynthRenderer::uninitPulse()
pa_simple_free(m_pulseHandle);
}

QString SynthRenderer::libVersion() const
{
quint8 v1, v2, v3, v4;
v1 = (m_libVersion >> 24) & 0xff;
v2 = (m_libVersion >> 16) & 0xff;
v3 = (m_libVersion >> 8) & 0xff;
v4 = m_libVersion & 0xff;
QVersionNumber vn{v1, v2, v3, v4};
return vn.toString();
}

SynthRenderer::~SynthRenderer()
{
uninitALSA();
Expand Down
6 changes: 4 additions & 2 deletions libsvoxeas/synthrenderer.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Sonivox EAS Synthesizer for Qt applications
Copyright (C) 2016-2023, Pedro Lopez-Cabanillas <[email protected]>
Copyright (C) 2016-2024, Pedro Lopez-Cabanillas <[email protected]>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -51,9 +51,10 @@ class SynthRenderer : public QObject
void stopPlayback();

void uninitALSA();

void uninitPulse();

QString libVersion() const;

private:
void initALSA();
void initEAS();
Expand Down Expand Up @@ -90,6 +91,7 @@ public slots:

/* SONiVOX EAS */
int m_sampleRate, m_bufferSize, m_channels;
uint m_libVersion;
EAS_DATA_HANDLE m_easData;
EAS_HANDLE m_streamHandle;
EAS_HANDLE m_midiFileHandle;
Expand Down

0 comments on commit f1ce43a

Please sign in to comment.