-
Notifications
You must be signed in to change notification settings - Fork 71
/
ChangeLog
8819 lines (8691 loc) · 551 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
24.09.2023
*** MusE 4.2.1 ***
23.09.2023
- Fix issue 1247: compilation only succeeds with MODULES_BUILD_STATIC=1 (Tim)
Five undefined symbols. Remove 'inline' from five functions in mididev.cpp
20.09.2023
- Fixed issue 1243 Slow startup: Always rescanning when file contains no plugins. (Tim)
File ladspa_dsp.so was causing rescanning all the time because it is normally empty
until a configuration file is hand-entered by the user.
- Fixed missing simpledrums MESS synth: Moved files automation_mode_toolbar.h/.cpp
from widgets folder to components folder because it contains icons, and simpledrums
uses our widgets library and it is not supposed to contain icons.
10.09.2023
*** MusE 4.2 ***
03.09.2023
- Fluidsynth MESS: Fixed deprecated function calls at version >= 2.2 (Tim)
31.08.2023
- Fixed issue 1106: Running scripts in midi editors takes waaay too long. (Tim)
In Scripts::executeScript(): Changed from applyOperation for each event
which is very slow, to applyOperationGroup just once for the whole lot.
30.08.2023
- Fixed issue 1238: Not responding to program MSB from inputs. (Tim)
Ancient bug, 20 years? Problem with Midi Filter and midiFilterCtrlxxx globals.
28.08.2023
* New: Midi remote control feature redesigned. (Tim)
Now with learning, port, channel, value type trigger/toggle/momentary, global/song settings.
- Also rewrote midi-to-audio controller assignment learning code, to follow these changes.
03.08.2023
- Fixed issue 1233: RtAudio 6 compatibility. (Tim)
Tested OK with RtAudio 6.0.1
31.07.2023
- Fixed midi remote control: Don't accept note-offs. (Tim)
Symptoms were: Double step-record entries, transport record toggling, double play etc.
- Changed all references to the app's url, help url etc. (Website has changed).
Created ORGANIZATION_URL, ORGANIZATION_HELP_URL, ORGANIZATION_CODE_REPO_URL in config.h.in
26.07.2023
- Fixed broken midi to logarithmic audio controller assignment, such as volume. (Tim)
06.07.2023
- Hexfloat values: Rework code with help from donarturo11. (Tim)
Avoid per-thread thread-safe locale calls (uselocale etc). Not available on mingw for ex.
17.06.2023
- Fixed: LV2 Synths like Odin-II not responding to automation since around 29.04.2023. (Tim)
15.06.2023
- Fixed issue 1121: Undefined symbol ipatch_close. (Tim)
ipatch_close was introduced in libinstpatch 1.1.0
- Changed: Midi export: Turn off 'export zero velocity note-offs' setting by default.
13.06.2023
- Fixed: File menu > close hanging. Further to 13.05.2023 (Tim)
Check if immediate deletions took place. Also, in track info panel, NULL the strip widgets
BEFORE deleting them, instead of deleting then nulling.
12.06.2023
- Oops. Fixed mistake at 15.05.2023: Link libinstpatch with 'muse' module, not 'core'. (Tim)
11.06.2023
- Fixed issue 1120 "Cannot clone parts". (Tim)
Several pieces of code were fixed, including one 10-year-old mistake.
Tested OK copy/paste/clone with several different tracks types.
29.05.2023
- Fixed: Still more crashes / bad behaviour on song (re)load. Further to 25.05.2023. (Tim)
Fix at 13.05.2023 (wait for top level widgets to be deleted before continuing with load) was good
but needed to include more than just the top levels. Child widget destructors are called AFTER
the parent. So there was no choice - add SOME of those widgets to the list of pending deletes.
Specifically, widgets connected to external signals heartBeat timer, songChanged, configChanged.
- Fixed: Another crash in Master Editor: Removed members 'hscroll' and 'vscroll' which were hiding
base MidiEditor versions causing crash. Also initialize base hscroll, vscroll, time to null.
26.05.2023
- Fixed: DSSI plugins: Crash with plugins that have run_multiple_synths(). (Tim)
The function was not being called correctly, valid arrays must be passed even if empty.
25.05.2023
- Fixed: More crashes / bad behaviour during song (re)loading. Further to 08.05.2023. (Tim)
Eliminated QPointer<MasterEdit> in class MusE. Bug was pre-existing (not me).
The pointer was failing to nullify itself soon enough, causing crashes and/or errors like:
"QMdiArea::setActiveSubWindow: window is not inside workspace" and "unknown tag <...> at line xxxx".
- Fixed: Rewrote several functions in class MusE for more safety. readToplevels() and accompanying
findOpenEditor(), startDrumEditor(), startMasterEditor(), startWaveEditor(), startPianoroll().
It was too easy for readToplevels() to mess up badly if it failed starting an editor.
- Fixed: Some, possibly all, ancient intermittent crashes when recording or playing wave tracks.
Our SndFile class used a reference counting system but it was non-atomic and not thread-safe.
Code disassembly revealed timing holes where other threads could wreak havoc.
Replaced with atomic reference counter and atomic pointer to SndFile.
Carefully rearranged and rewrote the reference counting system. Testing stable so far...
- Fixed: Transport completely unresponsive upon song load, intermittent. (My fault long ago).
Do not call audioPrefetch->msgSeek() in seqStart() since it's already initiated by audio start.
It was a non-no: Two different threads - gui and audio - had put seek messages into the prefetch
message pipe. The result was chaos with 'seekCount' on the prefetch end of the pipe.
Reset prefetch 'seekCount' to zero in AudioPrefetch::start(). In case 'seekCount' ever messes up
again, this allows simply reloading a song, or menu > 'Restart Audio', to fix the problem.
Disk prefetch thread is NO LONGER REALTIME! It is now a default NORMAL thread. (My fault long ago).
Rewrote MusE::seqStart() so prefetch is started before audio. Also, wait until prefetch is running!
TESTED OK playing and recording complex songs. The prefetch cache maintained a high fill level.
TODO: Now that disk prefetch thread is no longer realtime, replace its pthreads with QThread,
for easier cross-compatibility!
TO FIX: A small bug where the transport sometimes fails to return to the saved place on song load.
- Fixed: Subtle error: Editors wouldn't open multiple parts sometimes.
Failed if another editor contained the same number of parts AND at least one of the same parts.
It was a pre-existing bug in MusE::findOpenEditor() (not me).
17.05.2023
- Fixed serious typo at 13.05.2023: On load, midi config wasn't cleared, causing crashes. (Tim)
16.05.2023
- Fixed (maybe): LV2: Missing link with libserd. (Tim)
Found this at opensuse live build log/multimedia:proaudio/muse/openSUSE_Tumbleweed/x86_64:
"undefined reference to symbol 'serd_node_new_file_uri'"
Only one serd call was added in 2015 by danvd. A later neglect by me perhaps?
15.05.2023:
- Fixed: Crashes with certain plugins that use libinstpatch (Fluida lv2 etc). (Tim)
It was recommended to call ipatch_init() in the main app. This was added.
13.05.2023:
- Rewrite of 08.05.2023: Use alternate method for top level closing (wait for destroyed signals). (Tim)
Qt bug reports response told me not to do it the other way.
- Fixed: Pre-existing long-time crashes pressing Ctrl-N (New) -O (Open) etc. more than once rapidly.
Install mechanism to ignore such multiple actions while in the middle of clearing/loading a song.
09.05.2023:
- LV2: Slight tweak: When a control port's maximum is not specified, set to 1 instead of 0. (Tim)
TODO: It's likely intended to allow user settable min and max, but we have no mechanism to let them.
08.05.2023:
- Fixed: Ancient crashes when loading another song or file > new or file > close. (Tim)
In MusE::clearSong(), after calling close() on the windows (which may be marked as delete-on-close),
make freakin' sure to call "qApp->sendPostedEvents(nullptr, QEvent::DeferredDelete)".
It turns out that delete-on-close calls deleteLater() - NOT delete!
It also turns out that there's a kind of Qt bug where you cannot simply call sendPostedEvents(0, 0).
See comments in MusE::clearSong() about how difficult this was, and how the solution was found.
29.04.2023:
- Fixed: Synths/plugins: Crashes in getData()/apply(). Caused by 14.04 changes. (Tim)
Oops. Reinstate check for zero slice size in LV2 VST DSSI ::getData(), and PluginI::apply().
- Fixed: VST: Crashes revealed by Pianoteq 8. (Tim)
Remove idling code in audioMasterUpdateDisplay and move it to audioMasterIdle, in the callback.
In VstNativeEditor, add a close() function and call it from destructor. Remove code from closeEvent().
28.04.2023:
- Revert: Pull 1099: "Move event list editor from dock to window." (Tim)
This was kinda not good. The list editor really belongs in a dock beside the pr/drum editor
as a 'companion' since highlighting notes is supposed to work both ways. It is more
convenient to have the two editors side-by-side rather than having the event list editor
in a separate tab or floating. The pull code was kept. A define in cobject.h switches
between the pull being off or on. It is called MOVE_LISTEDIT_FROM_DOCK_TO_WINDOW_PULL1099.
- Fixed: Event List Editor: (When pull 1099 is applied) Added missing 'Display' menu. (Tim)
Allows to 'float' the event list editor window.
- Fixed issue 1119: Routing doesn't work with utf-8 symbols in names. (Tim)
Changed all QString::toLatin1()/tolocal8Bit() usages to QString::toUtf8() in the following files so far:
jack.cpp, jackmidi.cpp, route.cpp, routepopup.cpp.
TODO: CHECK: Likely (many) more to do, EXCEPT some parts like xml, where we want SOME latin1 compatibility.
25.04.2023:
- Follow-ups to 14.04.2023: More fixes/features. (Tim)
* NEW: Export midi: When exporting only selected parts, a new option in the import/export settings
dialog allows alignment of the exported parts to bar zero (removes unused space to the left).
- Fixed crashes: Certain operations, for example when turning off grid after markers added.
Lambda from MasterEdit.cpp was still active after MasterEdit closed and deleted!
connect(MusEGlobal::muse, &MusE::configChanged, [this]() { configChanged(); } );
Fixed all places using lambda connections from outside. Delete the connections in the destructors.
Qt docs warn that such connections are NOT automatically deleted.
- Fixed: Midi export: Old, slight timing mistake in 14-bit/(N)RPN/Patch controller event export times.
Was sending each component event at t, t + 1, t + 2 etc. All component events should be at the same time.
- Fixed: Midi playback and midi export: Some or all (N)RPN controller graph values were being discarded.
Was a problem with optimization in MPEventList::add(). Re-wrote to be less strictly optimizing.
- Fixed: Midi import, export, and recording: Channel-less event types were not sorted correctly in the event list.
In MEvent::operator<(), do not compare channels if either event is channel-less.
- Fixed: Midi import, export, and recording: Patch event types were not sorted correctly in the event list.
In MEvent::sortingWeight(), ensure high and low bank controller events come before program events.
- Fixed: Midi recording and midi import: Composite controllers like (N)RPN and Patch were mis-read as non-composite.
Re-wrote ending (optimizing) part of midi.cpp:buildMidiEventList(). Handle controllers separately than other events.
- Fixed: Midi export: Do not export events that are outside part borders.
- Refine spamatica's "Fixed compatibility with qt5.9.5" commit 489034a.
- Refine spamatica's "Fixed another qt5.9.5 compatibility issue" commit a335362.
- Refine spamatica's "fixed another compat build error" commit 3c6777f.
22.04.2023:
- Briefly show "Project saved." message on status bar after project has been saved (rj)
16.04.2023
- From 14.04: Old songs' automation values not loading correctly in locales other than 'C'. (Tim)
Oops, force c locale to 'C' in museStringFromDouble() and museStringToDouble().
Using a per-thread thread-safe technique with uselocale() et al.
15.04.2023
- From 14.04: Unable to enter values in entry boxes in locales other than 'C'. (Tim)
Oops, add locale in DoubleLabel::valueFromText(). Test OK with locale = fr.
14.04.2023
* Spring 2023 large fixes and features: (Tim)
* NEW: Soft bypass support for plugins.
Different types are supported: True soft bypass controller (LV2, future VST3),
soft bypass function with no controller (VST2), emulated bypass controller (TODO),
and regular emulated bypass with no controller (LADSPA, DSSI etc.).
When a plugin is soft bypassed we (must) let it run ALWAYS so that the plugin handles
all the bypassing itself (we trust - hope - it will be 'lighter' CPU usage).
The generic plugin UI 'Bypass' button overrides any soft bypass controller graph.
* NEW: Generic plugin UI 'Off' button. This completely bypasses the plugin even if
it has soft bypass. It is the ultimate 'turn off' mechanism, guaranteed to
bypass all processing, whereas 'Bypass' may still process if it's soft.
* NEW: Some entry boxes (log, linear) now support metric suffixes, where appropriate.
You can type "0.000001234" or "1.234u", and "12345" or "12.345K" for example.
* NEW: Value units. Where supported (LV2), units will be shown in the edit boxes
such as Hz, dB, ms etc. Don't be alarmed if you see things like "1.234K ms".
I just had to keep the units and the metric suffixes separate, it was the only way.
LV2 has unit conversions, but they were not quite robust enough to do what I wanted.
Plus when units change say from "s" to "min", then our slider/meter scales would show
wrong units and would have to dynamically change with the units. Very difficult.
* NEW: Hexadecimal floating point storage. Preserves 100% accuracy in song files.
Used where appropriate (too many decimal digits).
Both hex and decimal values can be mixed (manual decimal entry for example).
Applied to audio controller values and graphs for now. More later.
C/C++ have supported hex floats for many years. But Qt doesn't seem to natively.
* NEW: Export midi selected visible tracks only. In main app menu.
* NEW: Export midi selected parts on visible tracks only. In main app menu.
* NEW: LV2 midi-out support added. Supports things like midi arpeggiators, midi effects etc.
Fixed: VST midi-out: Recording times were way off. (Midi arpeggiators, midi effects etc.)
Added: Latency correction for VST midi-out.
Fixed: Crash in undo/redo system: Major regression several months ago.
For example delete a part or track, then undo redo etc. caused crash.
Rewrote undo's clearDelete() and deleteUndoOp() routines.
Fixed: Crash when removing or replacing plugins from rack.
Some heavy graphics moves were being done in realtime thread.
Fixed: Crash in track list TList::mouseReleaseEvent() when track is NULL.
Fixed: Crash in midi/synth configuration dialog when clicking on port device column.
Popup's action text was being read AFTER the popup was deleted.
Seems to be my fault from 2019 according to annotations?
Fixed: Crashes in remaining places calling wrong undo constructor. See 06.12.2022
Fixed: Occasional show-stopping glitch when recording or live-monitoring midi:
Notes would become badly timed, very old notes would play along with new ones in a
weird 'cycling' effect, requiring restart.
Replaced old class MidiRecFifo with more recent LockFreeMPSCRingBuffer<MidiRecordEvent>.
Caught old class skipping read position and mis-reporting the size, leaving a messed-up state.
It was concluded that this may have been an concurrency/atomic problem.
LockFreeMPSCRingBuffer was added few years ago. It has worked flawlessly so far.
Stack Exchange was consulted on the old class and whether the newer FIFO was really sound.
Old class agreed bad - use of 'volatile'. New class favourable but with TOC-TOU warnings.
Hopefully this cures the bug. Remains to be seen again - or not?
Fixed: Pianoroll and drum editor: Copy/paste broken:
Oops! Pasted from bar 0 instead of first copied note.
Rewrote pasting routines in functions.cpp
Fixed: When track off could not click on mixer strip expand arrow icon or double click name.
Don't disable the track mixer strip label.
Fixed: 'Fine' slider Shift key operation (was making it coarse not fine, and
plugin sliders were messed up - moving way too much when Shift held).
Fixed: Midi event buffers overflow when a synth track's synth is 'unavailable'.
Flush ring buffers and device event lists in SynthI::getData().
Fixed: Editors: Opening multiple parts in editor (via arranger right-click popup)
also caused track rename dialog to pop up.
Do not respond to actions that have no integer data value.
Fixed: Wave Editor: Could not open multiple parts (via arranger right-click popup).
Fixed: Audio track automation graphs: Copying+pasting points from multiple controllers:
Oops. They were accumulating in each target controller graph as paste progressed.
It was a problem in functions.cpp : readAudioAutomation().
Fixed: All places using MidiDevice::openFlags() to check if read/write is OK
have been changed to use MidiDevice::readEnable()/writeEnable().
This is because openFlags() are the DESIRED flags whereas readEnable()/writeEnable()
indicate whether the device was ACTUALLY successful in opening in read/write mode.
So it's more faithful to the read/write columns of Devices list in Midi Config dialog.
* Major plugin/controller/logarithmic/UI changes: (Tim)
Fixed broken plugin/synth logarithmic audio controls, edit boxes, and graphs.
Significant streamlining and redesign of classes Meter, Slider, DRange, DoubleLabel,
mixer strips AStrip and MStrip, generic plugin UI, and several others.
Support logarithmic and dB controller streams.
Previously mixer strips and generic plugin UI were responsible for all conversions
to and from log, dB, or integer values, to be shown in sliders, meters, and boxes.
Now all of these widgets operate independently and do all conversions themselves.
In other words they simply 'hook onto' a controller stream with no further work
required by the parent. That cleaned up strips and generic plugin UI code
A WHOLE LOT.
Significant speed optimizations: Classes Meter, Slider, DRange, and DoubleLabel
are now highly optimized for drawing. They use QRegion for fine-grained
updating and painting. Most paths and rectangles are pre-calculated in
resizeEvent() instead of paintEvent(). In particular, Meter is one of the
few large widgets that is constantly being animated, and it is very fast now.
Fixed weak support for rare 'reverse' controllers where minimum is greater than maximum.
(AlienWah plugin 'phase control' for example.)
When the minimum slider and minimum meter Global Settings differ, meter scales
are automatically shown. They MUST be shown to avoid the misconception
that the meter scale is the same as the slider scale, which it is not!
Replaced generic plugin UI meter output edit boxes (useless) with faster labels.
06.12.2022
* Fixed issue with wrong constructor being instantiated when clicking
rec-arm and input monitor when having multiple tracks selected (rj)
21.11.2022
* Reworded quit and load new dialogs to make it clearer that
data will be discarded (rj)
* Dirty flag was not kept when cancelling the load New operation (rj)
14.11.2022
- Automation READ mode: Play: Re-enable graph streams when controls released. (Tim)
Also re-enabe the streams if the graph is edited.
10.11.2022
- Fix issue 1088: Cannot copy/paste parts. Fix previous 9/24/22 fix. (Tim)
Was slight problem in parseArrangerPasteXml().
27.10.2022
* Fix open editor in tab or new window behavior
* Move List Editor from dock to window
23.10.2022
* Changed project create default to make a sub directory (rj)
10.07.2022
* Midi assign and mixer overhaul, fixes: (Tim)
* New: Midi control assignment: Mute and Solo buttons can now be assigned to.
Note this does NOT mean that Mute and Solo have actual controller graphs,
it was decided against that. (A request from forums.)
* New: Midi control assignment: Two assignment types now available in the
Midi Control dialog: Track, which dedicates assignments to a single track,
and Song which assigns to ANY tracks when they are selected.
Availability of this new option varies with selected target control,
for example only Volume and Pan audio controllers can be set to Song
assignment type because they are the only ones common to ALL audio tracks,
and other controllers mean different things to different tracks.
* New: Momentary Mute and Solo buttons! Enable them in Global Settings or via
the mixer or strip menus.
Mixer: Fixed bug: When empty would not add any new tracks.
Mixer: Ensure mixer is always large enough to show 'Create' and 'View' menus.
Mixer strips: Code cleanup: Replaced Strip::mousePress/Release/MoveEvent
with track name label handling and context event hadling because all the Qt
standard controls on the strip were passing events to the strip. Rewrote
strip popup menus, most stuff moved into the mixer View menu.
19.06.2022
* MORE Complete audio automation graphs redesign (Part 2): (Tim)
* New: Audio automation graphs: Choice of DISCRETE or INTERPOLATED points.
Buttons on toolbar select which mode to draw new points. Works per-point!
A context menu item allows to change mode of all selected points.
Role of 'interpolated' has been greatly reduced to that of just drawing,
and all control recording, including external midi, is DISCRETE now.
DISCRETE points are drawn as squares. INTERPOLATED points are drawn as circles.
Note, INTERPOLATED mode only works for controllers that support it, such as
non-integer or logarithmic. TODO: Make an integer interpolator so that
INTERPOLATED works even on DISCRETE graphs!
* New: LATCH automation mode, in addition to OFF, READ, TOUCH, WRITE modes.
* New: Audio automation graphs: "Align all selected to point" context menu item.
Vertically aligns selected points to the clicked point.
* New: Adjustable graph point size. In Global Settings > GUI tab.
* New: Buttons on toolbar turn the graph points on and off !
Allows to see the graphs more clearly.
* New: Toolbar button avoids redundant recorded straight line automation points.
- Reworked graph point hit detection and drawing. Precisely accurate now.
- Midi controller graphs: Controllers popup menu: Midi controllers that are
mapped to (synthesizer) audio control ports have their own heading now,
to make it much clearer that they exist and what they do.
- Fixed old bug in Audio::processMidi(): When a midi controller
was assigned to an audio controller, operating the midi control would
suddenly leave the audio controls inoperative. Likely happened years
ago when time-stamp mechanism changed, this area was neglected.
- Fixed Midi-to-Audio controller assignment not recording properly.
Recorded frames were way off. Likely same reason as above.
- Fixed audio automation 'WRITE' mode not storing initial value and not
disabling the controller streams, when going from stop to play.
Seems to have been broken for many years (since first github checkin?)
- Eliminated old ugly HACK in class CtrlList: Removed _guiUpdatePending and support.
Replaced (integrated) with an IPC mechanism.
- Switched all code from muse_val2dbr (rounded) to new muse_val2db (unrounded).
- Fixed some memory leaks in class UndoList when clearing the list. Allocated items
were not being deleted.
- As requested: Uncluttered the Arranger popup context menu by moving audio
automation items into a sub-menu.
- Bumped up songfile version number to ensure toolbars are updated correctly.
12.06.2022
- Fix clone parts not loading correctly. Oops, was a typo at 17.04.2022 (Tim)
04.05.2022
- Reverse script that reverses MIDI and DRUM parts incl controllers. (Staffan)
03.05.2022
- Reuploaded script (Fix issue 1037: Time stretching/shrinking for midi/drum parts.) (Staffan)
26.04.2022
- Added shortcut (meta+h) for toggling track height. If any track is larger
than minimum, the first press will minimize all tracks, second press will
expand all tracks to the alternate size, which is now settable in the
configuration (rj)
18.04.2022
- Fix issue 1022: Allow even more zoom out in piano roll. (StaffanMelin)
- Further to 17.04.2022: Added audio automation horizontal snap-to-grid. (Tim)
17.04.2022
* NEW Complete audio automation graphs redesign: (Tim)
- Multiple graph points can now be selected. Lasso works.
- Standard keys behaviour, same as found in parts, notes etc.
- Copy/cut/paste/del supported.
- Audio automation graphs can now be copied to other controller graphs.
See 'Paste' each controller's color popup menu.
- Points can be dragged past other points now.
- Three paste/drop existing points erase modes (see right-click menu):
Erase none, Erase (groups), Erase complete range.
- After dropping moved points, a 'move mode' coloured block is active until
blank space is clicked, which allows the points to be moved further,
exposing existing points that were erased when dropped upon.
- More colors and custom colors for audio automation graphs.
- Controller names have been removed from the controller graphs and
placed into the Track List 'Automation' column (expand to see more!).
- All plugin controllers now have different colors instead of all green.
Old green color scheme in old songs is detected by checking if two or more
plugin controllers are green and changing them.
* Other:
- Eliminated OLD UGLY HACK: The global cloneList in songfile.cpp.
Replaced with an informational structure passed among the functions.
08.04.2022
*** MusE 4.1 ***
04.04.2022
- Fix issue 1037: Time stretching/shrinking for midi/drum parts. (Staffan)
Solved by writing a Python MIDI script, SpeedChange. Fixed small bug i scripts.cpp.
25.01.2022
- Fix issue 1063: Wrong midiport.h file searched. (Tim)
Jack's midiport.h was being searched instead of our own.
Poster's jack.pc file was different than most, putting the full path to jack.
In our top cmake file, moved the include_directories statement that includes
our own directories, closer to the top of the cmake file, to take priority.
Poster reports this worked.
22.01.2022
- Instrument definition file Edirol-SD90.idf submitted by Stéphane Gagnon (rj)
19.12.2021
- Fixed build issue on Ubuntu 21.10 (g++ 11.2) in vamgui.cpp (rj)
- Fix issue 1060: remove unused peak file from file system when resampling (rj)
29.11.2021
- Metronome: Added possibilty to load metronome samples from local path
.config/MusE/MusE/metronome, this allows for changing metronome sounds while using
the AppImage (rj)
23.10.2021
- LV2: Support loadDefaultState feature. Tested OK with Exampler plugin for example. (Tim)
- LV2: Add initial support for requestValue feature. Unfinished - handled but ignored.
(Stops crash with Exampler plugin 'request' button.)
09.10.2021
- Fixed bug in script execution causing controllers to be reset, fixes bug
#1050 (rj)
03.10.2021
- Added instrument definition file for Roland SC55mkII created by FalCT60 (rj)
- Increased default volume in FluidSynth and added a label showing the
volume in numbers (rj)
28.06.2021
- New: Mixers can now be opened in a docked window (optionally).
When the mixer dock is floating, a top window title bar is added
so it's possible to minimize/maximize the window. (kybos)
- New: Custom themes (*.qss files) can be added to the HOME themes directory,
they will be displayed in the Appearance dialog theme selection. (kybos)
20.06.2021
- Fix crash 1028: Make effects rack 'move up/down' synchronized and real-time friendly. (Tim)
- Also fixed a few problems with effects rack context menu.
13.06.2021
- Fix 1002: Remove initial focus from mixer volume boxes. Fix related Smart Focus problems. (Tim)
05.06.2021
- Fix more issue 1021: Copying synth track does not copy synth controllers. (Tim)
02.06.2021
- Fix issue 1021: Copying synth track does not copy volume, pan. (Tim)
31.05.2021
- Fix conflicting shortcuts in Add track menu. (kybos)
29.05.2021
- Add: Global setting to enable LASH. Disabled by default. (kybos)
28.05.2021
- Change default to sliders instead of knobs in mixer etc. (kybos)
27.05.2021
- Fix: Dysfunctional duplicate shortcut for Push events. (kybos)
- Fix: Create customizable shortcut for Pull events. (kybos)
- Fix: Standardize shortcuts for Goto start/end, range start/end. (kybos)
- Add: Shortcut for Add track menu (default Insert). (kybos)
- Fix: Disallow Return and Escape as customizable keys to avoid conflicts. (kybos)
- Fix: Non-standard dropdowns in Midi config dialog. (kybos)
- Possible fix 1013 + fix related errors in config.h.in + headers ex. plugin_cache_writer.h etc. (Tim)
26.05.2021
- Add track menu: Move "Recently Used" to menu root.
Add key mnemonics for still faster access. (kybos)
- Enable polyphony for piano in pianoroll. (kybos)
- Fix: Step recording: Cursor not forwarded after chords. (kybos)
25.05.2021
- New #999: Midi editors: Play events when dragged with keyboard. (kybos)
21.05.2021
- Fix #1002 space stops working when opening mixer (rj)
- Fix #1003: Drum editor: Mouse drag event copy not working. (kybos)
20.05.2021
- Fix #998: Add dedicated keyboard shortcut for deleting tracks in Arranger. (kybos)
- Fix: Use proper widgets in midi sync and midi config dialogs. (kybos)
- Fix: Don't show (and loop over) up to 200 unused ports in midi sync dialog. (kybos)
- Fix: MMC fastforward/rewind functionality (issue #652) (rj)
- More to 16.05: Fix midi metronome w/ latency correction. And rewrite 'stuck notes' code. (Tim)
Class MidiPlayEvent now has a latency member. The 'stuck notes' code uses it for inclusion
when converting from stuck-note-off ticks to frames. Midi metronome timing was incorrect.
18.05.2021
- Synth selection dialog improvements: Current item is always preselected;
Info about multi-channel effects added; Better handling of Favorites (kybos)
- New submenus for Favorites and Recently used synths (kybos)
- Removed nested synth submenus (kybos)
16.05.2021
- Fix issue 779: Missing notes if too close together. Broken 29.06.2019. (Tim)
14.05.2021
- Added support for more MMC commands, including REC, Rewind, Forward (rj)
- Improved support for midi remote control, can now toggle REC enable for instance. (rj)
01.05.2021
- Update tool/lib versions to Ubuntu 18.04 LTS level. (kybos)
- Update c++ version to c++17. (kybos)
- Fix: Many clang errors/warnings. (kybos)
- Remove obsolete Qt switches, remove unused includes. (kybos)
- Update github actions to Ubuntu 18.04. (kybos)
30.04.2021
- Fix #986: Crash in lv2 plugins when removed while native GUI is open. (kybos)
29.04.2021
- Fix: Track list: "Move single armed track with selection" function trying to arm
invalid tracks. (kybos)
- Fix: Deactivate recording button when last armed track is deleted. (kybos)
28.04.2021
- Fix: Number of bars not updating when midi resolution is changed. (kybos)
27.04.2021
- Fix some memory leaks found by Valgrind. (kybos)
26.04.2021
- Added shortcut for RewindOnStop to menu item (rj)
24.04.2021
*** MusE 4.0 ***
- Fix: Drum list: Disable grouping options when no different tracks are involved. (kybos)
23.04.2021
- Part colours: Fixed 'live' recording virtual part overlay, and eventual created part. (Tim)
Both now obey the chosen current part colour on the Arranger toolbar.
Drawing of 'live' notes also fixed to obey dark/light inversion.
20.04.2021
- Fix neglect at 11.04.2021: No 'live' midi recording events drawn inside parts. (Tim)
17.04.2021
- Fix: Memory leak with Timeline toolbar. (kybos)
- Fix neglect at 11.04.2021: No editor events shown if any hidden events at left. (Tim)
16.04.2021
- Save recent list as soon as a new file has been opened, this to eliminate the possibility
that the update was lost incase MusE was not properly terminated (rj)
15.04.2021
- Looping: Fixed silent wave tracks when Jack transport off or non-Jack driver used. (Tim)
Each AudioDevice class gets a new transportRelocateOrPlayDelay() method. For Jack it is
2 * segment size and for other drivers such as as RT (Pulse) or dummy driver it is zero.
The looping code now uses this value to look ahead, it was a fixed value before.
TODO: This still does not fix looping the Jack audio driver with MusE latency correction
enabled, causing mis-aligned or silent playback. That bug fix is still WIP...
11.04.2021
* Reinstated part left border resizing: Further to 04.04.2021. (Tim)
Extensive re-writes and alterations of much code to support it.
Extensively tested with wave and midi parts.
Perhaps most important, class EL (EventList) is now sorted by signed integer.
ANY BUGS SHOULD only occur when there are left border hidden events, otherwise
it SHOULD behave normally.
Should be OK to use but still some areas need attention such as 'functions',
merging and splitting, and more.
- Wave Editor: Reinstated 'Next part' and 'Previous part'.
10.04.2021
- Fix: Drum list: Drag mode activated after field editing. (kybos)
- Fix: Drum list: Crash in tooltip display with some show/hide options. (kybos)
- Fix: Drum list: Crashes in Show used/named instruments display options. (kybos)
09.04.2021
- Fix: Drum list: Drag mode activated after every context menu call. (kybos)
07.04.2021
- Fix: Crash when MESS synth can't be instantiated. Now the (existing)
warning popup is displayed instead (as originally intended). (kybos)
06.04.2021
- Add: Many new vector icons as replacement for old pixel-based ones. (kybos)
- Fix: Improve visibility of custom drop-down triangles on dark background. (kybos)
05.04.2021
- Fix: Record button: Inconsistencies between button state and
internal record flag state in many situations. (kybos)
- Fix: Inconsistent state of (pseudo-)record-arm icon and mixer strip button in Audio
output tracks after loading of some files. (kybos)
- Fix #717: Record button mustn't be activated when no track is record-armed
(a warning message is displayed now).
Record button is automatically deactivated when no track is armed. (kybos)
- Fix: Don't allow deselecting all tracks, as this hides the mixer
strip which then can't receive events and gets out-of-sync. (kybos)
- Fix: Add own icon for Audio output Downmix trigger to avoid confusion
with the arm-record indicators. (kybos)
- Add: New vector icons. (kybos)
04.04.2021
- Part resizing and other fixes. (Tim)
Rewrite of part resizing routines, esp to the left.
No longer possible to have hidden events before left border,
would require integer negative event times. Too much work ATM.
When resizing, use Ctrl key to choose whether to 'drag' all
events along with the border.
- Midi controller cache: Fixed problems when parts or tracks muted,
or tracks off. Cache was not updated properly.
- Undo/Redo: Fixed a problem where the Redo list was cleared
and the Redo button was disabled even when only non-undoable
operations were executed, such as simply when stopping the
transport (which executes non-undoable EnableAllAudioControllers).
- Arranger and Wave Editor: Embellished wave drawing with dotted
event boundary lines and coloured wave boundary lines.
(Due to a Qt drawing bug, I had to break up long patterned lines!)
03.04.2021
- Fix: Appimage start time: Avoid updating plugin cache on every start. (kybos)
31.03.2021
- Fix: Don't load presets for lv2 plugins at program start
to reduce start-up time and save resources. (kybos)
25.03.2021
- Fix: Wrong radiobuttons in Visible audio effects submenu. (kybos)
20.03.2021
- Fix: Improve spacings in global settings dialog. (kybos)
- New: QSS properties for routing popup colors. (kybos)
17.03.2021
- Fix: Midi routes popup: Custom painted elements like checkboxes
and menu item highlighting ignored stylesheets. (kybos)
16.03.2021
- Advanced router: Added 'Unavailable' colour to Jack audio ports. (Tim)
15.03.2021
- Fixed advanced router 'Unavailable' item colour and restoration colour. (Tim)
13.03.2021
- Fix: Metronome accents list not showing highlighted items. (kybos)
12.03.2021
- New: Settings to set gradient strength for track list and parts. (kybos)
02.03.2021
- New: Option to hide beat numbers in the Time scale. (kybos)
28.02.2021
- Moved scrollscale.cpp/h and cpu_toolbar.cpp/h from widgets to components. (Tim)
They use our icon library, which cannot be allowed in the widgets module ATM.
- Removed unused Awl and AL linking from several CMakeLists text files.
26.02.2021
- New: Multi renaming for selected parts. (kybos)
25.02.2021
- New: Add zoom buttons to scroll bars. (kybos)
24.02.2021
- New: Ability to assign custom colors to individual tracks. (kybos)
- New: Part colors follow the track color if not overridden individually.
Old behaviour can be restored in Appearance->Arranger. (kybos)
- New: Part color toolbar. Drowdown to select current part color,
button to assign current color (or track color) to selected parts. (kybos)
- Fix: Parts created by double-click in range ignoring current part color. (kybos)
16.02.2021
- LinuxVST synths: Replaced songfile midistate with customData state block. (Tim)
Uses compressed base64 just like several of our other areas.
Old songs with midistate still load and are converted upon saving.
15.02.2021
*** MusE 4.0pre3 ***
- Fix: Consistent sorting and terminology of all Functions menus. (kybos)
- Fix: Dummy icon to work around Qt>5.12 menu styling bugs. (kybos)
- Fix: Script popup couldn't be cancelled. (kybos)
- Add: New vector icons for Quantize/Set range to selection. (kybos)
14.02.2021
- muse3 folder renamed to src for futureproofing (rj)
- Rework: Removed LastEditedEvent from configuration and added it (rj)
to the pianoroll specific edit menu instead + shortcut.
13.02.2021
- New: Menu option to Save As Template (rj)
12.02.2021
- Fix: Reworked Save As..., Project dialog and Save Revision. (rj)
Project dialog is now only used on the initial save, after that
the Save As dialog is used. For very quick Save As operation,
use the Save Revision alternative which will increase a number
at the end of the name to save a new version as quickly as possible.
- Fix #836: Don't play existing midi events in replace mode. (kybos)
11.02.2021
- Fixed wrong exclusive indicators (radiobuttons) in some submenus. (kybos)
08.02.2021
- Fix #959: Trim event length function in pianoroll not working. (kybos)
- Fix: Remove unused cutter tool from wave editor. (kybos)
- Fix: Automation menu icon drawing. (kybos)
- Fix #960: Wrong zoom level after track type change MIDI->Drum. (kybos)
02.02.2021
- Fix: Memory corruption by topwin toolbars. (kybos+rj)
- Fix: Clean up and encapsulate Edit Tools code. (kybos)
- Fix: Dark Flat theme: Improve visibility of checkboxes. (kybos)
- Fix #265: Midi device dlg: Native GUI led not reflecting the display state. (kybos)
25.01.2021
*** MusE 4.0pre2 ***
23.01.2021
- Fixed SimpleDrums not loading. Moved raster widgets into components folder. (Tim)
20.01.2021
- Fixed bug in Create Project dialog where it would disregard
the baseProject path. (rj)
- Added tooltips for the various non self evident buttons in
the Create Project dialog (rj)
- Added a new dialog 'Save New Revision...' (SHIFT+R) for
the case where you want to save but does not need the full
create project dialog (rj)
- Fixed keyboard track selection after duplicating tracks,
it didn't like that multiple tracks was selected, if track
up/down is done while multiple are selected it now picks the
first instead of nothing at all. The source track is also
deselected (rj)
- Fixed automation point value printing for logarithmic values (rj)
- Changed automation add events to place them on the automation
line instead of where the mouse is placed, which often is
slightly offset (rj)
- Added the ability to cache midi event length when adding events
with the mouse, this is to speed up adding similar events as
it now will default to this length. Idea from a discussion
on linuxmusicians forum (rj)
19.01.2021
- Add: Functions for moving multiple tracks in the track list (up,
down, top, bottom), incl. key shortcuts for each. (kybos)
16.01.2021
- Fix #933: Sort automation controls in menu. (kybos)
- Fix: Crash when changing volume/pan by keyboard shortcut for drum
tracks. (kybos)
- Fix: Changing volume/pan by keyboard shortcut also changed midi tracks
that were not selected. (kybos)
15.01.2021
- Fix #718: Missing strips/selections at first mixer display. (kybos)
- Fix: Missing simpledrums plugin, both normal build and AppImage. (kybos)
14.01.2021
- Add: Improve Key Shortcuts maintenance dialog. Add filter for shorcuts,
list contexts per shortcut. (kybos)
- Fix: HiDPI scaling for VST plugins. (kybos)
13.01.2021
- Add: Consistent shortcuts for Add track. Show shortcuts in menu. (kybos)
11.01.2021
- New: Selection dialog for Add synth track incl. favorites handling
in dialog and synth menu. (kybos)
06.01.2021
- Fix #940: Tool shortcuts not updating properly when changed. (kybos)
03.01.2021
- Fix #932: Add Show All with Events/Hide All to track automation menu.
Modify control icon so it's clear which controls contain events. (kybos)
02.01.2021
- Add: Enable CC events for MIDI remote control (#566). (kybos)
30.12.2020
- Fix issue #935: Track list toggling of solo/mute indicators. (kybos)
- Add: Resizing track height in track list now also works for
all/selected tracks (CTRL/SHIFT). (kybos)
28.12.2020
- Fix: Relative paths for temporary files didn't work from AppImage,
e.g. when calling external wave editor. (kybos)
26.12.2020
- New: Create generic LV2 UIs based on available plugin metadata. (kybos)
25.12.2020
- Added double click as a way to initiate changing shortcuts in the dialog (rj)
- Changed default shortcut for SOLO track to META-N (From META-S as the system eats it
on multiple systems)
23.12.2020
- New: Implement LV2 UI features FixedSize/NoUserResize. (kybos)
22.12.2020
- Update AppImage build scripts (AppImage is even ~8MB smaller now):
1. Build on Ubuntu 16.04 for better compatibility.
2. Include latest versions of lv2/lilv for better HiDPI support in LV2. (kybos)
21.12.2020
- Fix: Total number of bars not updated when signature has been changed. (kybos)
- For issue 920: More values (480-based) in global settings midi division list. (Tim)
20.12.2020
- Fix: Most plugin native UI windows now should behave sensibly out of the box
on HiDPI (of course plugins with no HiDPI/scaling support still look tiny,
but there should be no oversized or broken Qt windows around them).
Global setting for the HiDPI fix is now on by default, but is only active when
at least one Hi-Res screen is found. The container window should now also
adjust to specific screen in multi monitor setups. (kybos)
- Fix: More fixes for Surge and others on HiDPI. Native UI window now resizes
correctly when the zoom level in Surge itself is changed. (kybos)
19.12.2020
- Fix: More fixes for HiDPI withLV2 native UIs. Surge synth should now
display an adequately scaled UI and not misbehave on resizing any more.
Surge 1.7+ and liblv2 1.18 are required for scaling support. (kybos)
18.12.2020
- Fix: Improve handling of LV2 native UIs on HiDPI. (kybos)
15.12.2020
- Fix: Bug in Set range to selection, not always correctly set. (kybos)
- Fix: Set range to selection not working in wave editor. (kybos)
- Add: Menu item for Set range to selection in all relevant editors. (kybos)
- Add: Dynamic value tooltip in control canvas. (kybos)
14.12.2020
- Fix: Support both old and new shortcuts for setting range markers as a default.
Remove corresponding options from global settings. (kybos)
- Fix: Improve channels column shortcuts in track list, avoid dependency
on middle mouse button (add shift+RMB for decreasing values).
Wrap channel values around when increasing/decreasing. (kybos)
11.12.2020
- Fix: Clean up edit menu, move Structure submenu to Edit->Global. (kybos)
- Add: Add Duplicate track function to track context menu. (kybos)
- New: New vector icons for Duplicate track(s) menu items. (kybos)
10.12.2020
- Add: Storing missing slider and other settings in MESS fluidsynth. (kybos)
07.12.2020
- Fix: Standardize Track list as far as possible. Use left mouse consistently
for (multi)selecting tracks (except for flags/indicators columns).
Use right mouse button for context menus where appropriate.
Use double-click for text editing and access to frequently used items.
Improve consistency when applying functions to multiple tracks. (kybos)
- New: Add context menu to audio output track type column for downmixing. (kybos)
16.11.2020
- Fix: Initialize all fonts with the current system font family on first run,
to avoid ugly looking sans-serif default on desktops like KDE. (kybos)
15.11.2020
*** MusE 4.0pre1 ***
12.11.2020
- New: Replace non-standard widgets in the mixer strip by standard and
customizable ones where possible. Make the layout more symmetric
and clear. (kybos)
- New: New mixer strip and track list icons for the Deep Ocean theme. (kybos)
09.11.2020
- Fix: Issues with saving window geometry/state. (kybos)
07.11.2020
- Fix: Complete theme specific internal color handling.
Colors are not saved in the central config file any more,
but in theme specific config files. (kybos)
02.11.2020
- Add: Refresh function for the midi Scripts menu.
Scripts can be re-read from dics without restarting MusE.
Revise scripts code, put everything in one central class. (kybos)
01.11.2020
- Fixed bug 853: Crash in infinite loop in latency code. (Tim)
Don't examine things connected TO a device if examining its 'capture' part.
- Latency code: Optimization of most loops, should be a bit faster now, depending.
31.10.2020
- Add: Optional display of ticks/frames in the position toolbar. (kybos)
- Add: Draw marker/position symbols as labels in the position toolbar. (kybos)
29.10.2020
- New: Color range between markers in the timeline ruler. (kybos)
- Fix: Fix huge tooltips in bigtime window. (kybos)
- Fix: Fix non-standard button in tempo toolbar. (kybos)
28.10.2020
- New: Add new toolbars to replace the separate transport window.
The old behaviour is still available - the new toolbars can be hidden
and the transport window shown. Display state of all windows/toolbars
is saved when MusE is restarted. (kybos)
- Add: Show index of active part in title bar/tab in multi-part editors. (kybos)
- Fix: Move Plugins submenu (contaning global/user Python scripts) from global
Midi menu to Arranger scope Functions menu, as it's only relevant for
the Arranger.
Fix scripts being applied to wrong (non-midi) parts.
Check for active part selection before executing scripts.
Rename relevant Plugin menus to Scripts to avoid confusion with all the other
plugin types. (kybos)
27.10.2020
- Fix: Tap button - flash when waiting for input, reset timeout after each click. (kybos)
24.10.2020
- New: Proper settings dialog for plugins. (kybos)
23.10.2020
- Fix: Many bugs and crashes in the mastertrack list editor. (kybos)
21.10.2020
- New: Context sensitive help for many widgets and dialogs. (kybos)
- Add more status tips. (kybos)
20.10.2020
- Fix: Resolve key shortcut conflicts in docks. (kybos)
- Add: Add new shortcuts in docks (List master editor, Event list). (kybos)
- Add: Outline focused widget in dock. (kybos)
- Fix: Redesign marker dock for better usability. (kybos)
- Add: Key shortcut hints for edit toolbar. (kybos)
19.10.2020
- New: Create new SVG icons for tracks. (kybos)
14.10.2020
- New: Replace marker pixmaps by vector drawing. (kybos)
- New: Customizable colours for all markers. (kybos)
10.10.2020
- Fix: Change key modifiers for opening part in new window to Ctrl+Alt,
because Shift always selects all parts of a track. So now even
Ctrl+Shift+Alt works, opening all track parts in a new window. (kybos)
- New: Added status bar. Can be optionally hidden in GUI settings.
Moved CPU load display to status bar, xruns > 1 displayed in red (reset
by doubleclick). CPU toolbar remains available but is hidden by default.
Status bar is mainly used for context-sensitive help, to improve
usability for new users. Many status tips created, more to come.
Default status text shows audio driver and related data. (kybos)
- Fix: Make sure current splitter sizes are saved on application quit. (kybos)
06.10.2020
- Fix: Replace marker icons by SVG. (kybos)
- Theme: Color tab text (active/hover) for better visibility. (kybos)
02.10.2020
- Add: Show number of opened parts per editor in title bar/tab. (kybos)
- New: Don't open new editor windows when the same part(s) is/are already opened.
The existing editor window is activated instead.
It's still possible to open duplicate windows by holding Shift when
double-clicking the part or clicking the corresponding menu entry.
Added a new submenu to open editors in new windows.
Added new keyboard shortcuts for that. (kybos)
- Fix: MDI subwindows not destroyed properly when part was deleted. (kybos)
- Fix: No icons for submenus (well, almost). (kybos)
- Add: Keyboard shortcut to jump to Arranger window. (kybos)
01.10.2020
- More vector icons (view menu). (kybos)
29.09.2020
- Replace global settings and midi port icons by vector ones. (kybos)
26.09.2020
- Replace editor icons by new vector ones. (kybos)
24.09.2020
- Add key shortcuts and context menu for tools in mastertrack editor. (kybos)
23.09.2020
- Fix mouse wheel steps for audio volume slider. (kybos)
21.09.2020
- Add centered mode for pan sliders. (kybos)
18.09.2020
- Change default theme to Dark Flat. (kybos)
- Remove system styles selection, default to Fusion. It's still possible
to force a different style by specifying it on the command line. (kybos)
14.09.2020
- Improve dock positioning/sizing. (kybos)
- Save geometry of external windows automatically,
remove redundant (and buggy) geometry settings. (kybos)
13.09.2020
- Add Event list menu/shortcut to midi editors for easy access to the event list dock. (kybos)
- Clean up topwin/subwin parenting. (kybos)
11.09.2020
- Master track graphic editor doesn't open multiple windows any more. (kybos)
- Fixed several colour issues in score editor. (kybos)
10.09.2020
- Add editor specific icons to subwindows for better recognizability. (kybos)
09.09.2020
- Allow only one instance of master list editor dock. (kybos)
- Add menu item (View) and shortcut (F7) to show/hide all active docks. (kybos)
- Fix docks behaviour when editor windows are switched. (kybos)
- Fix potential resizing artefacts when loading older files into new tabbed GUI. (kybos)
08.09.2020
- Settings > Midi Division fixes: Full re-work of grid raster and snap system (Tim):
- Replaced INCORRECT hard-coded snap/raster fixed-value tables throughout,
with new class MusEGui::Rasterizer, provides CORRECT dynamic raster tables
that change values, and dimensions, when global Midi Divison changes.
There is one single global instance of this new class.
- New class MusEGui::RasterizerModel works with class Rasterizer to provide a
Qt model for use with combo boxes for example. Specific columns and maximum
number of rows can be specified. Model is specially designed for rasters
(for ex. in pianoroll the first row is three columns wide and says 'off').
- New class RasterLabelCombo replaces hard-coded raster snap combo boxes.
Works with class RasterizerModel. With a high Midi Division more rows appear,
meaning HIGH-RESOLUTION editing is possible, rivaling that of frames.
New classes RasterizerListView, RasterizerTableView, and RasterizerTreeView
provide three types of views for RasterLabelCombo.
- Wave Editor: Added a 'Snap' combo box (RasterLabelCombo).
- Grid lines: Fixed problems with unwanted red grid line colours.
- Removed never-used GUI Division from Settings.
- Canvases: Area before bar # 1 now FIXED WIDTH regardless of Midi Division
or magnification, by rearranging xorg/yorg origin stuff in class View,
ie. origin is no longer magnified.
04.09.2020
- New streamlined GUI:
Tabbed MDI as default, with the option to detach/float the graphical editor
windows, per preset or dynamically (mainly for use with multi-monitor setups).
List based editors (markers, clips, master list, midi events) changed to docks.
Arranger as the central point is fixed to the main window,
not longer detachable/closeable. (kybos)
- Reused snap/quantize shortcuts in midieditors (1-6) as snap shortcuts in arranger
as I discovered it was missing, and it's pretty much the same thing. Also
added a shortcut for setting quantize to off (8). Execution slightly
annoying as changing the quantize in the midi editors after having it
at off will always give triplets (which can be turned of by pressing T).
Fixing that would require a more extensive rewrite. (rj)
03.09.2020
- Fixed crash in #842 extending parts to the left often caused a crash (rj)
14.08.2020
- Fix MusE hanging when calling the color dialog. There is now an option
in Appearance->Style to disable native dialogs. (kybos)
13.08.2020
- Fix horizontal slider groove length. (kybos)
11.08.2020
- Implement theme specific icon overrides, both global and user level. (kybos)
09.08.2020
- More styling options for knobs. (kybos)
08.08.2020
- Piano: Reimplemented drawing, changed from pixmaps puzzle to vector-based drawing. (kybos)
- Piano: Separated key selection from playback. Made markers/selections better visible
and independent of each other. (kybos)
- Piano: Made selection/current/pressed marker colors customizable. (kybos)
- Piano: Made piano width changeable from stylesheet. (kybos)
- Piano: Added tooltip showing current playback velocity. (kybos)
- Fixed dark text on dark background in midi control canvas. (kybos)
- Create new theme - Deep Ocean. (kybos)
30.07.2020
- Moved rewind on stop shortcut from arranger to global, fixes issue #839 (rj)
29.07.2020
- Midi export: Format 1: First track must have only timing/marker events etc, no notes. (Tim)
- Midi import: Don't create a first track if no events left once stripped of recognized/absorbed
events. In format 1, first file track is supposed to be reserved for timing/markers.
- Midi import/export: New! Key signatures supported - supports 'minor' keys as well.
- Score editor: New! Key signature names shown at top of staff. Minor keys supported.
25.07.2020
- Midi import: Fixed importation of SMPTE/MTC division midi files. (Tim)
Converts linear time to ticks. Ignores existing MusE tempo map so that
it plays at original speed - this allows the tempo map to be set up beforehand
without actually affecting the song.
16.07.2020
*** MusE 3.1.1 ***
27.06.2020
- Midi patch popup menu: Include patch number in the items' text. (Tim)
- Mixer strip labels: Added popup 'expand' button, to expand/close the strips.
26.06.2020
- Fixed bug left over from 21.01.2019: Midi controller graphs: Drag n drop broken. (Tim)
Items were wrongly being erased after dropping.
- Fixed issue 830: Wave Editor: Copy-on-write always triggered. Error from 01.01.2020
- Fixed issue 831: Compressed song files (.gz,.bz2): Blank song on load. Error from 01.01.2020
25.06.2020
- Some rework of mixer strip shortcuts. They now work in both Arranger and Mixer.
Default shortcuts are Alt + Arrow keys to affect selected strip(s) (rj)
22.06.2020
- Fix slider/meter groove misalignment in mixer strip. (kybos)
20.06.2020
- Cmake option changes (Tim): Removed ancient ENABLE_VST and ENABLE_EXPERIMENTAL,
and dangerous ENABLE_LV2_MAKE_PATH, and enabled ENABLE_PYTHON by default since
it has been thoroughly updated. No code removed. PLEASE REBUILD your MusE !
19.06.2020
- Fixed long-time meter and slider scale mis-alignment. New stylesheet property meterSpacing. (Tim)
- Midi controller graphs: Fixed no repaint when adjusting vertical splitters.
Clear WA_StaticContents in CtrlCanvas ctor - need full update because contents scale.
- Midi controller graphs: Moved 'Add ctrl' button from bottom area to menu and toolbar as well.
18.06.2020
- Mixer + strips: Replace hard-coded shortcuts with configurable ones. Several weren't working. (Tim)
New mixer shortcut category.
- Updated Simpledrums so all parameters update a status field, previously
it was impossible to know what the dials were set to. Changing the look