aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop/qmpplugin.cpp
AgeCommit message (Collapse)Author
2020-12-14Add unified interface for retrieving playback status.Gravatar Chris Xiong
This should make several methods obsolete, however I'm too lazy to migrate them right now. So one more item on the todo list I guess.
2020-11-11Don't spam qmpmidioutfluid everywhere.Gravatar Chris Xiong
Also stop using stuff removed from Qt 6 (not yet done).
2020-05-12Format EVERYTHING.Gravatar Chris Xiong
Hopefully this will make the source code less horrendous and actually readable. The command used was: ``` astyle --suffix=none --style=allman --attach-extern-c --attach-closing-while --indent-switches --indent-after-parens --pad-oper --pad-header --unpad-paren --align-pointer=name --recursive './*.cpp,*.hpp' ```
2020-04-30Add visualization renderer.Gravatar Chris Xiong
Add API for getting raw pitch bend values. Fix non-compliant RPN handling. The visualization renderer is still at the "proof-of-concept" stage. It's not very usable (yet).
2020-04-29Make all methods in the API pure virtual.Gravatar Chris Xiong
Finally, creating multiple implementations of the API is now much easier.
2020-04-29Decouple CMidiPlayer and qmpMidiOutFluid.Gravatar Chris Xiong
Visualization renderer should no longer depend on the fluidsynth library. Reworked the "wait voice" option: now it only takes effect if an automatic track switch happens. Actually process events while waiting for async operation to finish.
2020-04-19Legacy code massacre!Gravatar Chris Xiong
Complete reconstruction of the settings infrastructure. All options are now registered using a revamped option API. Legacy configuration files are no longer compatible. Please make a backup.
2020-01-16Seeking while paused no longer breaks playback completely.Gravatar Chris Xiong
"main.seek" callbacks are now invoked after the player has done seeking, fixing incorrect channel info in simple visualization after seeking. Use QT_STRINGIFY.
2020-01-11Bring back i18n support.Gravatar Chris Xiong
Address compiler warnings in QDialSkualptureStyle. Introduced build BUILD_PORTABLE, replacing QMP_BUILD_MODE in the QMake project. The QMake project is now fully covered by the CMake project and officially deprecated.
2019-12-04Do not crash if midi device is disconnected during the playback.Gravatar Chris Xiong
Linux build no longer searches working directory for plugins. Instead it should search the plugin folder in the executable directory. Documentation update.
2019-11-02Keyboard plugin: show additional information on the side.Gravatar Chris Xiong
qmpPluginAPI::registerEventHandler now accepts an optional argument that determines whether the handler is called prior to or after an event is sent.
2019-10-06Fix build failure ...?Gravatar Chris Xiong
2019-10-06I love Windows.Gravatar Chris Xiong
New build instructions using cmake. Fixed Windows version of qmpPluginManager::scanPlugins. Fixed wrong linking order (?).
2019-09-16Use QCommandLineParser to parse arguments.Gravatar Chris Xiong
New argument for loading plugins from given files. Use functor whenever possible in QObject::connect. A little bit of code cleanups.
2019-06-16Inital implementation of the device properties API.Gravatar Chris Xiong
Added new interfaces to qmpMidiOutDevice. Implemented the new interfaces for qmpMidiOutFluid. Initial infra for device initialization file parsing. Move to the new interfaces for getting list of presets. Use DevIL instead of CxImage. External output devices are broken now but that is for another commit.
2019-05-25Massive code refactor en cours!Gravatar Chris Xiong
Less complain from compilers: - use nullptr instead of NULL - use types for event fields - explicit type casting added Stop saving parameters of meta events in p1/p2 fields of SEvent. callback_t now uses std::function, deprecating ICallback. Not recommended for daily usage, or even testing: the code refactor is still a work in progress.
2019-01-25Fixed a crash caused by improper preset probing.Gravatar Chris Xiong
Further ensure CC#8 is initialized correctly. Minor string table update.
2017-10-18Fix inconsistency and build errors.Gravatar Chris Xiong
2017-10-18API changes and crash fixes.Gravatar Chris Xiong
Details in the changelog.
2017-08-10Windows of several main functionalities are no longerGravatar Chris Xiong
QDialogs. Fixed unexpected behavior. Now visualization window can be closed by sending it a close signal. Trying a solution to address the problem that prevents plugins from being loaded correctly in Windows if the path contains Chinese characters. Not even tried to build in Windows though.
2017-06-21Complete rewrite of the MIDI mapper.Gravatar Chris Xiong
Enforces single fluidsynth instance. Documentation update. Minor changes to make lite version work.
2017-02-14Scan for plugins in the executable directory instead of the workingGravatar Chris Xiong
directory.
2017-02-13Fix pitch bend range handling.Gravatar Chris Xiong
Allow registering a string option as file path. Provide an easier way to set path values in options. Revert to old geometry storage mechanism and improved it. Hope this one will work on Windows. Make the time slider less ugly.
2017-02-12UI revolution cont'd. Powered by @BLumia.Gravatar Chris Xiong
Expose new APIs to plugin developer. Use svg icons.
2017-02-12New functionality API. Port built-in features to the new API.Gravatar Chris Xiong
Start the revamp of the main Window. Credit of the new design goes to @BLumia.
2017-02-10Road to standardize: use two parameters for pitchbend.Gravatar Chris Xiong
Documentation. Minor bug fix.
2017-02-10Fix building on Windows.Gravatar Chris Xiong
Behavior changes: 1. DnD into the main window now causes the dropped file to play. 2. Switch back to w32usleep to increase bpm accuracy. 3. Scan for plugins in application folder (in Windows), not in the working directory.
2017-02-09Add extra midi formats support via the file reader API.Gravatar Chris Xiong
Fix note counting.
2017-02-08Add API version verification. This breaks compatibilityGravatar Chris Xiong
with old versions of plugins. Add RIFF MIDI support to the SMF reader. Documentation.
2017-02-08First steps for the file reader API.Gravatar Chris Xiong
API additions and changes. Fixed wrong button shown when started from file.
2017-01-02Can show measure indicators now.Gravatar Chris Xiong
Added new options to specify custom fonts. Added a new handler API. Minor rework on handler calling.
2016-09-15Add a new visualization mode. Fix minor behavioral bugs.Gravatar Chris Xiong
2016-06-02Add option to change note colors.Gravatar Chris Xiong
2016-06-01Initial event modifier and event filter stub.Gravatar Chris Xiong
2016-05-24Add seeking with arrow buttons in visualization.Gravatar Chris Xiong
2016-05-21Use QDirIterator instead, fixing plugin loading problems in Windows.Gravatar Chris Xiong
Also scale UI elements.
2016-05-20Scale GUI correctly on a high DPI device.Gravatar Chris Xiong
Fix building for Windows. RC-bugs still exist.
2016-05-19Added a sample plugin as a template.Gravatar Chris Xiong
Implemented scanPlugin for Windows.
2016-05-18Finally finish the particle system integration.Gravatar Chris Xiong
Add std::wstring version APIs to avoid wrong encoding. Update documentation.
2016-05-15Initial stubs for the particle system.Gravatar Chris Xiong
Use layouts in the effects window.
2016-05-13Added enumerate integer options support.Gravatar Chris Xiong
Workaroud for different fonts locations in arch linux.
2016-05-11Fixed a crash caused by the visualization plugin.Gravatar Chris Xiong
Fixed a bug when piano is hidden but the option "arrange channels on a stair" is enabled. Add channel label display. However it's still buggy so it's currently disabled.
2016-05-06Use new SMELT rendering API for notes drawing.Gravatar Chris Xiong
Deinitialize classes in a correct order to avoid crashes. Add background image option. Add FPS-related options. Use QLineEdit instead of QPlainTextEdit for strings.
2016-05-03Finish option proxying for all types.Gravatar Chris Xiong
Add more options for the visualization plugin. Bump version to 0.8.0. Package the visualization plugin for debian.
2016-05-02Finally finished the option proxying infrastructure...Gravatar Chris Xiong
2016-05-01Give the visualization a clearer look...Gravatar Chris Xiong
Now highlights playing notes. Avoid a crash in file reading.
2016-04-30Fixed a bug in RPN handling.Gravatar Chris Xiong
2016-04-29Update documentation.Gravatar Chris Xiong
2016-04-28Now it is possible to disable plugins in the plugin list.Gravatar Chris Xiong
2016-04-27Handle pitch bend in visualization.Gravatar Chris Xiong
Handle mute and solo in the default visualization. Show file name in window title. A little plugin sdk documentaion... Remove stupid things.