aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop
AgeCommit message (Collapse)Author
2020-11-11setMargin() disappeared?Gravatar Chris Xiong
2020-11-11Don't spam qmpmidioutfluid everywhere.Gravatar Chris Xiong
Also stop using stuff removed from Qt 6 (not yet done).
2020-11-10fix: missing link libraries path for windows buildGravatar Gary Wang
2020-10-14fix: windows buildGravatar Gary Wang
2020-08-05I can still code!Gravatar Chris Xiong
Next / Prev track is now selected based on the current track being played rather than the selected track in the playlist window. Also fixed stupid a mistype.
2020-05-12Stop using a dumber version of QRect().Gravatar Chris Xiong
This is going to break old configuration, so bump QMP_CONFIGURATION_FILE_REV.
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-20Remove now unused callback.Gravatar Chris Xiong
2020-04-20Move Gain to the FluidSynth section.Gravatar Chris Xiong
2020-04-19Add configuration file revision checking.Gravatar Chris Xiong
Upgrading should be less dangerous now.
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-02-15Make resource files for Windows actually work.0.8.7-1Gravatar Chris Xiong
2020-02-15No more version numbers scattered through the files.Gravatar Chris Xiong
Added a debug screen for the visualization, which can be toggled by pressing B. Added version information for binaries for Windows.
2020-01-31Simple visualization now reflects changes made in preset selection and ↵0.8.7-0Gravatar Chris Xiong
channel editor dialog. Documentation update.
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-11Code refactoring for qmpChannelEditor.Gravatar Chris Xiong
Do not crash if preset selection dialog is closed with no preset selected. More translatable strings in qmpChannelEditor.
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-12-02No more creepy blank action buttons that cause crashes if clicked.Gravatar Chris Xiong
If a plugin has been removed and the toolbar is reconfigured afterwards, a blank button will appear in the toolbar, which will cause a crash when clicked.
2019-12-02Add a stack trace printer for the beloved operating system.Gravatar Chris Xiong
2019-11-16Guessworks trying to make it install and produce packages again.Gravatar Chris Xiong
(which it won't, because Debian still doesn't have fluidsynth >= 2.0) Also lite version is currently out of scope.
2019-11-16Even more fixes for Microsoft(R) Windows(R) operating system.Gravatar Chris Xiong
Device initalization file dialog doesn't work correctly on Windows. Make hiding console an option on Windows. For some dumb reason preset selection dialog refuses to work if no soundfont is selected.
2019-11-14Windows is such a brilliant operating system.Gravatar Chris Xiong
2019-11-11New UI hook "main.seek". Fix SysExc. message sending. API documentation update.Gravatar Chris Xiong
Simple visualization no longer have notes stuck after seeking. System exclusive messages longer than 256 bytes are now sent correctly.
2019-11-11Partially revert 78ba2cf1 "MessageBox show at center of the current monitor".Gravatar Chris Xiong
QDesktopWidget is obsolete. Also when built against recent Qt versions, this bug can't be reproduced with the commit reverted.
2019-11-08Documentation update time!Gravatar Chris Xiong
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-16Some dumb style plugins assume a parameter that defaults to null to be non-null.Gravatar Chris Xiong
2019-10-08Eliminated the last use of widgets in QTableWidget.Gravatar Chris Xiong
2019-10-08Continue reducing usage of widgets in QTableWidget.Gravatar Chris Xiong
2019-10-07A less stupid way to save the soundfont list.Gravatar Chris Xiong
Old soundfont list will be ignored. Stop using widgets in the soundfont table. The soundfont table is no longer exposed.
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-10-05Replaced the option "default output device" with a more powerful one.Gravatar Chris Xiong
Old code for default output device completely removed.
2019-09-25Use QStandardPaths.Gravatar Chris Xiong
RIP Windows users.
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-09-13CMake. It's happening.Gravatar Chris Xiong
Added a new build system based on CMake. Minor code cleanups. This probably breaks building with QMake on multiple platforms. And of course the new CMake support isn't tested thoroughly. But it's finally happening.
2019-09-10We refactorin', eh? Hell yeah.Gravatar Chris Xiong
(Almost) Completely rewritten qmpChannelsWindow, one of the oldest component, now with a dedicated data model. Removed dumb design (CMidiPlayer::getChstates). Now QMidiPlayer requires C++14 to build. More refactoring like this coming up soon.
2019-07-10Should no longer freeze at end of playback.Gravatar Chris Xiong
2019-07-01Actually send initialization sequence to external devices.Gravatar Chris Xiong
Replace hardcoded initial CC values with values from device property API.
2019-07-01Use splitter in preset selection dialog.Gravatar Chris Xiong
Device initialization settings are no longer lost if QMidiPlayer starts with the device disconnected.
2019-06-18Device initialization file implementation (part 1).Gravatar Chris Xiong
Added UI for external device configuration. Instrument mapping portion of the device intialization file is now working. Fixed a few spots where return value of getChannelPreset() is ignored. Fixed layout of the preset selection dialog.
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-26Major code refactor continued and (mostly) concluded.Gravatar Chris Xiong
Removed all references to ICallback in official plugins. New flag field in SEvent. Further type usage corrections.
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-04-22New development cycle!Gravatar Chris Xiong
Partially reintroduce High DPI handling. Pressing enter when a preset is focused now opens the preset selection dialog. Close all functionality windows before shutting down. Temporary fix for switching all channels of an external synth to mono mode unintentionally. And the most important one of them all: simple visualization! I'm ditching the 0.8.6 cycle because there was no clear goal for that release now (as the OPL3 emulation is now delayed indefinitely). In contrast, the 0.8.7 release has a pretty good-looking feature set mainly focused on improving support for external synthesizers: - Per-device initialization profile. - Instrument mapping files. - And a simple visualization ~~for showing off your external synthesizers~~. As always no ETA is set, nor will I promise the implementaion of all the features listed above.
2019-03-13Set preset bank correctly in XG mode.Gravatar Chris Xiong
Removed High DPI handling code. Good luck to Windows users out there. Skulpture style: dials are no longer blurred if scaled.