Skip to content

Commit

Permalink
Some general fixes
Browse files Browse the repository at this point in the history
* documentation: readme updated
* fixed underlinking guisynth
* show dependency versions at configuration time
* fixed program icon in KDE+Wayland
  • Loading branch information
pedrolcl committed Sep 3, 2022
1 parent 7d802ab commit ae678f7
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 6 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Expand Up @@ -26,13 +26,15 @@ endif()

find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets REQUIRED)
find_package(Drumstick 2.0 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 CONFIG)
if (NOT sonivox_FOUND)
add_subdirectory(sonivox)
endif()
message(STATUS "Using Sonivox version: ${sonivox_VERSION}")
add_subdirectory(libsvoxeas)
add_subdirectory(cmdlnsynth)
add_subdirectory(guisynth)
12 changes: 6 additions & 6 deletions README.md
Expand Up @@ -10,25 +10,25 @@ it may be indicated in Linux projects for small embedded devices.
A multiplatform alternative fork of this project can be found here: [multiplatform-sonivoxeas](https://github.com/pedrolcl/multiplatform-sonivoxeas).

The library uses ALSA Sequencer MIDI input and PulseAudio output. Complete compile-time dependencies are:
* Qt5, http://www.qt.io/
* Qt5, http://www.qt.io/ (Qt6 works too, but it is still experimental)
* Drumstick 2, for ALSA MIDI input. http://sourceforge.net/projects/drumstick/
* PulseAudio, for audio output. http://www.freedesktop.org/wiki/Software/PulseAudio/

Just to clarify the Drumstick dependency: this project requires Drumstick::ALSA, but Drumstick does not depend on this project at all. There is a Drumstick::RT backend that includes the Sonivox synth as well, but both projects are independent regarding this synthesizer.

The project directory contains:
* cmdlnsynth: Command line sample program using the synthesizer library
* guisynth: GUI sample program using the synthesizer library
* libsvoxeas: The Linux synthesizer shared library, using ALSA Sequencer and PulseAudio
* cmdlnsynth: Command line sample program using the synthesizer library.
* guisynth: GUI sample program using the synthesizer library. See the screenshot above.
* libsvoxeas: The Linux synthesizer shared library, using ALSA Sequencer and PulseAudio.
* sonivox: The sonivox synth library, forked from the AOSP source files, as a git submodule. It is used as a fallback if the sonivox library external dependency is not found at configuration time.

Hacking
-------

Remember to use `git clone --recurse-submodules` when cloning the repository to populate the working copy with all the sources, including the submodule's. If you forgot to do that, then you may need to `git submodule update --init --recursive` afterwards.
Remember to use `git clone --recurse-submodules` when cloning the repository to populate the working copy with all the sources, including the submodule's. If you forgot to do that, then you may need to `git submodule update --init --recursive` afterwards. This is only for people cloning the GitHub repository, because the submodule is not included in the released tarballs.

Use your favorite IDE or text editor with the source files. My preference is QtCreator: https://www.qt.io/ide/
To build, test and debug you may also find QtCreator interesting. You may also use CMake (>= 3.0) to build the project instead of qmake.
To build, test and debug you may also find QtCreator interesting. You may also use CMake (>= 3.9) to build the project instead of qmake.

Licenses
--------
Expand Down
2 changes: 2 additions & 0 deletions guisynth/CMakeLists.txt
Expand Up @@ -20,6 +20,8 @@ get_target_property( SONIVOX_HEADERS sonivox::sonivox INTERFACE_INCLUDE_DIRECTOR
target_include_directories( guisynth PRIVATE ${SONIVOX_HEADERS} )

target_link_libraries( guisynth
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Widgets
Drumstick::ALSA
svoxeas
Expand Down
1 change: 1 addition & 0 deletions guisynth/main.cpp
Expand Up @@ -30,6 +30,7 @@ int main(int argc, char *argv[])
QApplication::setOrganizationName("LinuxEASSynth");
QApplication::setApplicationName("GUISynth");
QApplication::setApplicationVersion(TOSTRING(VERSION));
QApplication::setDesktopFileName("sonivoxeas");
QCommandLineParser parser;
parser.setApplicationDescription("GUI MIDI Synthesizer and Player");
parser.addVersionOption();
Expand Down

0 comments on commit ae678f7

Please sign in to comment.