GithubHelp home page GithubHelp logo

pedrolcl / drumstick Goto Github PK

View Code? Open in Web Editor NEW
12.0 5.0 3.0 4.59 MB

Drumstick Qt/C++ MIDI libraries (Mirror)

Home Page: https://sourceforge.net/projects/drumstick/

License: GNU General Public License v3.0

CMake 9.98% Shell 0.02% QMake 2.13% C++ 87.40% C 0.39% Objective-C++ 0.08%
midi qt qt5 smf wrk cakewalk linux windows macos

drumstick's People

Contributors

emuse avatar hycinth22 avatar pedrolcl avatar sbasalaev avatar vanferry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

drumstick's Issues

RT Backends: store configuration settings

The back-end plugins may have a function to store the settings, without needing the help of the configuration dialogs provided by drumstick::widgets. This is needed to store a full set of settings in RT projects, like VMPK.

public slot:
    void writeSettings(QSettings *settings);

This method would not be part of the interfaces before Drumstick-3, and could be called only by QMetaObject::invoke().

Release v2.9

  • Bump version
  • Update documentation
  • Update web site
  • Check backwards compatibility

Cannot compile with USE_QT=6: undefned references to BackendManager

I'm struggling to compile this on Arch Linux against Qt6. As soon as I run cmake with -DUSE_QT=6, make VERBOSE=1 fails with the following errors:

[ 38%] Linking CXX shared library libmp_svoxeas.so
cd /home/bevan/git/multiplatform-sonivoxeas/libsvoxeas && /usr/bin/cmake -E cmake_link_script CMakeFiles/mp_svoxeas.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -shared -Wl,-soname,libmp_svoxeas.so.2 -o libmp_svoxeas.so.2.1.0 CMakeFiles/mp_svoxeas.dir/mp_svoxeas_autogen/mocs_compilation.cpp.o CMakeFiles/mp_svoxeas.dir/programsettings.cpp.o CMakeFiles/mp_svoxeas.dir/synthcontroller.cpp.o CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o CMakeFiles/mp_svoxeas.dir/filewrapper.cpp.o  /usr/lib/libsonivox.so.3.6.12.0 /usr/lib/libQt6Multimedia.so.6.5.1 /usr/lib/libdrumstick-rt.so.2.7.2 /usr/lib/libQt6Gui.so.6.5.1 /usr/lib/libGLX.so /usr/lib/libOpenGL.so /usr/lib/libQt6Network.so.6.5.1 /usr/lib/libQt6Core.so.6.5.1 
/usr/bin/ld: CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o: warning: relocation against `_ZN9drumstick2rt9MIDIInput10midiNoteOnEiii' in read-only section `.text'
/usr/bin/ld: CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o: in function `SynthRenderer::SynthRenderer(QObject*)':
synthrenderer.cpp:(.text+0x6a): undefined reference to `drumstick::rt::BackendManager::BackendManager()'
/usr/bin/ld: synthrenderer.cpp:(.text+0x11b): undefined reference to `drumstick::rt::BackendManager::~BackendManager()'
/usr/bin/ld: CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o: in function `SynthRenderer::~SynthRenderer()':
synthrenderer.cpp:(.text+0xccb): undefined reference to `drumstick::rt::BackendManager::~BackendManager()'
/usr/bin/ld: CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o: in function `SynthRenderer::setMidiDriver(QString)':
synthrenderer.cpp:(.text+0x15ec): undefined reference to `drumstick::rt::BackendManager::inputBackendByName(QString)'
/usr/bin/ld: synthrenderer.cpp:(.text+0x162b): undefined reference to `drumstick::rt::MIDIInput::midiNoteOn(int, int, int)'
/usr/bin/ld: CMakeFiles/mp_svoxeas.dir/synthrenderer.cpp.o: relocation R_X86_64_PC32 against undefined protected symbol `_ZN9drumstick2rt9MIDIInput10midiNoteOnEiii' can not be used when making a shared object
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libsvoxeas/CMakeFiles/mp_svoxeas.dir/build.make:169: libsvoxeas/libmp_svoxeas.so.2.1.0] Error 1

Interestingly, version 2.0.0 with d2c95011c90ebacd168b74becf6c1ac83054f910 backported fails with the same error. In January, this built without problems on Arch. So I have a feeling that it could be related to the update to Qt 6.5.1. In January, this was still 6.4.1.

Do you have any idea what could cause this?

"Macro names must be identifiers" errors while building drumstick 2.8.0

While processing library/alsa stuff, new drumstick sources (2.8.0) fail to build here (gcc 11.2.0, x86_64), with multiple "macro names must be identifiers" errors (see attached full log of a failed build).
BuildError.txt.

By looking at one failed command line, I noticed a definition looking suspect ("-D-DRTKIT_SUPPORT"): it looks like a spurious "-"...
Indeed, changing the line 26 in the CMakeLists.txt file for library/alsa from "$<$BOOL:${HAVE_DBUS}:-DRTKIT_SUPPORT>" to "$<$BOOL:${HAVE_DBUS}:DRTKIT_SUPPORT>" (ie removing the stray "-" before DRKIT_SUPPORT) it completely fixes the issue.

Widgets: SettingsFactory class additional methods

While the SettingsFactory class has an static function SettingsFactory::setFileName(), it does not provide a SettingsFactory::fileName() function to read the static member. While we are on it, provide also a SettingsFactory::format() function as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.