aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop/qmpmainwindow.cpp
AgeCommit message (Collapse)Author
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-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-20Move Gain to the FluidSynth section.Gravatar Chris Xiong
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.
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-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-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-05Replaced the option "default output device" with a more powerful one.Gravatar Chris Xiong
Old code for default output device completely removed.
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-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-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.
2019-01-25Fixed a crash caused by improper preset probing.Gravatar Chris Xiong
Further ensure CC#8 is initialized correctly. Minor string table update.
2019-01-24Migrated to fluidsynth 2.x.Gravatar Chris Xiong
Moved to mxe for Windows build. Fixed default value for CC#8.
2018-03-19Unified meta event reading code, fixing #6.Gravatar Chris Xiong
Fixed playlist dialog behaving oddly.
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-22Windows type of functionality windows is now Qt::Dialog.Gravatar Chris Xiong
Initialization fluidsynth asynchronously. Minor documentation update.
2017-06-22Minor bug fixes.Gravatar Chris Xiong
SMF reader finally takes chunk length into account. Do not prepend sysex header to F0h sysex. Let the readers do it. File readers code cleanups and refined error messages.
2017-06-21Fixed FTBFS on Windows.Gravatar Chris Xiong
Fixed the default output device option. Seeking now restores CC values correctly.
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-06-16Code refactoring and fix to memory leaks.Gravatar Chris Xiong
2017-02-13Minor bug fixes. #4 is now addressed.Gravatar Chris Xiong
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-08First steps for the file reader API.Gravatar Chris Xiong
API additions and changes. Fixed wrong button shown when started from file.
2016-09-23Add a set of icons for dark themes and a option to change the icon theme.Gravatar Chris Xiong
2016-06-03Add the "restart fluidsynth" action.Gravatar Chris Xiong
2016-05-29Allow disabling soundfonts in the soundfont setting tab.Gravatar Chris Xiong
2016-05-24Correct return result of API functions when text encoding is set to Unicode.Gravatar Chris Xiong
Use QPointer to store pointer to dialogs to avoid crashes. (However crashes related to dbus are still not resolved.)
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-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-12Now channel labels are displayed correctly.Gravatar Chris Xiong
Add an option to change the tint of the chequer board. Show unsigned integer options in hexadecimal format. Fixed a crash caused by attemting seeking when no file is being played.
2016-05-07Added two new options.Gravatar Chris Xiong
Fixed several crashes related to options without a description. Sanitise deinitialize order again. Fixed several memory leaks.
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-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.
2016-04-26The visualization plugin is usable now...Gravatar Chris Xiong