Martchus
86ce9b0538
Configure breve boundary
2024-02-04 21:57:37 +01:00
Martchus
dfc69f143f
Show note length of all dotted notes
2024-01-24 01:17:30 +01:00
Martchus
514f6c1593
Update my copyright date
2024-01-23 00:37:08 +01:00
Martchus
4dc5d6c887
Show three-quater notes correctly when showing note lengths is enabled
...
Not sure how these kinds of notes are officially called; this change is
actually just using a dotted half-note. Note that without this change such
notes would actually be displayed as whole note which would be wrong.
2024-01-21 23:04:02 +01:00
Martchus
568ee40c1b
Make experimental feature to show note length configurable in settings
...
This makes testing easier and the feature doesn't look too bad at this
point.
2024-01-21 23:04:02 +01:00
Martchus
0183938e48
Log unknown MIDI events
2024-01-20 18:42:57 +01:00
Martchus
e248eeea24
Simplify code in `CNotation::findNoteSlots()`
2024-01-20 18:32:36 +01:00
Martchus
b9db475500
Mark getter functions in `CMidiEvent` const
2024-01-20 18:30:47 +01:00
Martchus
2ddf663237
Improve contrast of current note when stopped when using light theme
...
The contrast of the bright orange on the white background was not optimal.
The blue has a much better contrast and is in accordance with the playing
zone highlighting.
2024-01-20 15:58:25 +01:00
Martchus
b31b3e78ea
Fix typo in name of function for reading delta-time
2023-12-26 22:46:01 +01:00
Martchus
a8daa1bbff
Improve error handling in `CMidiTrack::readVarLen()`
...
* Always check `failed()` aber `readByte()` consistently
* Simplify coding style
2023-12-26 22:41:45 +01:00
Martchus
b3737c04c2
Improve logging when opening a MIDI file
...
* Flush debugging logs immediately after each message
* Print "Opening song" before the related log messages
2023-12-26 22:09:40 +01:00
Martchus
8b720e66e0
Allow configuring log level via environment variable
2023-12-26 22:02:37 +01:00
Martchus
d714ead991
Utilize pkg-config for finding FTGL also under Windows
...
The mingw-w64 FTGL package provided by MSYS2 is using the autotools build
script and therefore only contains the pkg-config file. This change allows
to build PianoBooster using MSYS2 packaging.
2023-12-26 21:35:32 +01:00
Martchus
2e860f6370
Fix warning in code for showing MIDI duration
2023-11-18 22:50:28 +01:00
Martchus
8c86ca05c0
Make side panel resizable and allow moving it to the other side
2023-10-27 18:25:40 +02:00
Martchus
d3e01264b9
Ensure key highlighting color is bright enough to not blend too much with black keys
2023-10-23 20:09:57 +02:00
Martchus
73c7b0502d
Use a bit more subtle colors for beat/bar markers
2023-10-14 22:27:34 +02:00
Martchus
6d917902da
Show timing markers simply when enabled and regardless of other settings
...
Not sure why these other constraints were added but they are rather
confusing leaving one wondering why timing markers are not shown despite
being enabled.
2023-10-14 22:01:17 +02:00
Martchus
f5674a4d1d
Fix alpha channel when clearing background
2023-10-14 21:45:26 +02:00
Martchus
cd5b89e4a0
Avoid crash on startup when MIDI input/output cannot be created
...
* Use RtMidi's error callback
* Keep printing warnings/errors to stderr for now (showing the error
somewhere in the UI would make much more sense)
2023-10-14 21:32:52 +02:00
Martchus
9287b9b7b5
Simplify code for dealing with RtMidi
2023-10-14 21:11:37 +02:00
Martchus
81069a98b2
Prevent app from being stuck when start bar selected
2023-09-10 14:47:03 +02:00
Martchus
71f64b391e
Avoid using `goto` and other cumbersome code in `CSong::task()`
2023-09-10 13:29:43 +02:00
Martchus
bd787d5ae5
Don't give up on loading files with weird time signatures
...
Displaying/handling those files might still need improvement but
the application should not frame those files as corrupted.
2023-09-10 13:23:45 +02:00
Martchus
35c86c5edf
Show logo in about dialog
2023-09-08 21:41:23 +02:00
Martchus
0a951c4554
Use the icon from logo folder for application itself
...
* Use the icon from the logo folder as application icon
* Add script to convert an SVG logo to icons in different sizes
suitable for various platforms
2023-09-08 21:26:35 +02:00
Martchus
4bb4d5e5a9
Add "About Qt" dialog
...
This is useful to see which version of Qt is currently used.
2023-08-20 14:16:26 +02:00
Martchus
bc56719e3f
Update the bundled RtMidi library to 6.0.0
2023-08-19 15:53:18 +02:00
Martchus
ea6e649a85
Don't treat warnings for RtMidi as fatal, even if we'd generally would
...
So one can build PianoBooster treating warnings as errors without having to
touch this 3rdparty code.
2023-08-19 15:51:52 +02:00
Martchus
2ed72c1439
Make color of timing markers themable
2023-07-03 23:04:43 +02:00
Martchus
4af7d8b55e
Improve code for initializing draw
...
* Use a simpel std::array instead of QStringList
* Use range-based for-loop
* Exit with a non-zero return code in case of an error
2023-07-03 22:58:09 +02:00
Martchus
927465954e
Apply scale factor when rendering note names using FTGL
2023-07-03 22:48:53 +02:00
Martchus
24b389a5ef
Improve code for rendering note names
...
* Use more compact coding style
* Use std::array
* Avoid temporary QString instances
2023-07-03 22:47:32 +02:00
Martchus
7a0990c433
Retranslate "Follow stop point" combo box
2023-07-03 01:08:39 +02:00
Martchus
7c9ea14a9e
Load translations of qtutilities
2023-07-02 01:16:02 +02:00
Martchus
300adc5001
Integrate preferences dialog into UI settings
...
These preferences are all about the UI so it makes sense to
integrate them into the UI settings.
This also reduces the amount of code a little bit as now certain
aspects are handled by `QtUtilities::SettingsDialog`.
2023-07-02 01:15:38 +02:00
Martchus
897b2486e1
Remove UI settings that don't make sense for PianoBooster
2023-07-02 00:18:27 +02:00
Martchus
3b703a6d48
Load translations via qtutilities
...
This reduces the amount of code in Piano Booster and ensures
that all kinds of translations can be built-in.
2023-07-02 00:10:22 +02:00
Martchus
464b49d086
Fix various compiler warnings
2023-07-02 00:06:13 +02:00
Martchus
ff76de974b
Improve string-literals
...
* Use `QStringLiteral()` for QString-literals
* Use `QString()` for constructing an empty QString
2023-06-27 20:46:13 +02:00
Martchus
cff96605ea
Avoid warning about unused variable by actually using the variable
2023-06-27 20:43:23 +02:00
Martchus
b61c600c76
Add icons from system icon theme
2023-06-27 20:36:28 +02:00
Martchus
17dad7dd20
Modernize icons
...
Replace icons with more modern-looking icons from the KDE/Breeze project
2023-06-27 20:10:57 +02:00
Martchus
54402c2483
Allow built-in translations via qtutilities
...
Allow bundling translations as resources by setting `BUILTIN_TRANSLATIONS`.
This is useful to create self-contained executables.
The code for this is already in qtutilities so we basically just need to
look within the resource root `:/` for translations as well and tweak the
build script a little.
With this change it is still possible to load translations separately from
the usual locations as it is only effective if `BUILTIN_TRANSLATIONS` is
set to a truthy value.
2023-06-27 19:58:10 +02:00
Martchus
0d8ebc6743
Add other authors as well to project meta-data
2023-06-26 20:53:50 +02:00
Martchus
bf288d0385
Update copyright notice date
2023-06-26 20:53:23 +02:00
Martchus
1801feadfd
Add license meta-data explicitly
...
Avoid warning from c++utilities' CMake module and have it
ready for an AppStream meta-data file.
2023-06-24 21:10:04 +02:00
Martchus
054179c2bc
Configure meta-data for Windows executable via c++utilities
...
This way the executable not only gets an icon but also an application name,
a description, an author and the version as meta-data - without any
additional CMake code in pianobooster itself.
2023-06-22 21:44:37 +02:00
Martchus
eedc6e50b8
Fix install directory of translations
...
Using `CMAKE_INSTALL_DATAROOTDIR` was not the best idea because it might be
empty. Let's just use hard-code `share/games` for now in accordance with
existing code.
2023-06-22 21:27:53 +02:00