-
Notifications
You must be signed in to change notification settings - Fork 71
/
ChangeLog
5866 lines (5791 loc) · 369 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
06.01.2015:
- MusE 2.2 release (rj)
02.01.2015:
- Moved LV2 effects to own submenu when adding in arranger,
same solution as for Windows VST synths, a bit hacky (rj)
01.01.2015:
- Calculate filenames when duplicate tracks improved (rj)
- fixed two crash bugs when instantiating plugins did not succeed (rj)
- Added LV2_PATH info in help (rj)
28.12.2014:
- Some more features to metronome, click selection etc,
needs some more testing (rj)
27.12.2014:
- Pretty print customData in song file for lv2 plugins (rj)
- Added progress dialog to midi filter execution (rj)
22.12.2014:
- MusE 2.2beta2 release (danvd)
21.12.2014:
- Added support for LV2 path MAP and MAKE extensions (danvd)
- Added support for LV2 LOG extension (danvd)
- Revorked synths menu popup (added scroll ability) (danvd)
- Improved lv2 synth programs popup (added bank submenus) (danvd)
19.12.2014:
- Added support for CV type lv2 ports (danvd)
- Implemented Atom_Event_Transfer support for plugin<->UI communication (danvd)
- Plugins with unknown port types are skipped properly now (danvd)
- Absent default plugin values are initizlized to zero now (danvd)
- Improved UI resize callback (some X11 uis were cropped) (danvd)
05.12.2014:
- added LV2 host support (danvd)
- MusE 2.2beta1 testing release. Mainly for lv2 host testing and feedback (danvd)
08.11.2014:
- Readded plugin parameters persistence in the plugin dialog (rj)
19.10.2014:
- Moved Wine VST synths to separate sub menu (rj)
- Allow unselecting default midi output port (rj)
- Fixed value update of pitch knob in SimpleDrums plugin (rj)
15.10.2014:
- Fixed crash bug iterating through events in script executor (rj)
- Added script RemoveAftertouch (rj)
12.10.2014:
- Reworked the PluginDialog to use a ui file and give more filter possibilities (rj)
- Added [HOME] button to file open dialog (rj)
- Added QMessageBox warning about missing synths (rj)
10.10.2014:
- Don't allow changing the port of a soft synth, it makes no sense (rj)
07.10.2014:
- Changed detection of liblo to make it a strict requirement as the code would not
build without it when DSSI was enabled (rj)
27.09.2014:
- Added QMessageBox warning about missing plugins (rj)
- Ignore undo/redo while recording (rj)
01.09.2014:
- Fix crash reported by LakeIshikawa: Pressing delete while clicking or dragging events or parts. (Tim)
Ignore commands (like del) in each editor's ::cmd() handler if current canvas drag mode is not DRAG_OFF.
- Added Arranger menu item Edit -> Delete, does same thing as pressing delete, either parts or tracks.
- Added new SongChanged flags: SC_PART_SELECTION SC_TRACK_SELECTION, to distinguish from events SC_SELECTION.
- Fixed copy/paste problem: Paste copies not clones, if the original parts/tracks have been deleted.
Added 'bool ClonePart::is_deleted', set/cleared when parts/tracks deleted/added. Checked in Part::readFromXml().
16.06.2014:
- Transformation to non-shared event lists (started by Florian) is virtually complete. (Tim)
Events have an ID now, shared among clone parts.
New: Fast pending operations lists: They replace RT "execute/revert ops stage-2".
- A few more commands support Undo/Redo now, like setting global tempo.
- Handful of (un)related fixes along the way.
29.04.2014:
- Added more hints to DidYouKnow dialog (rj)
- Improved README.txt for share/scripts (rj)
- Improved scripting interface, picks time signature from the start of the
part, with -D argument extra debug info is written and the data file
used for data transfer isn't removed. (rj)
- Added new midi script TempoDelay (rj)
- Improved swedish translation (rj)
- Changed behaviour of selecting midi device for new midi tracks. Now there
is no default set, instead the most recent midi device is selected. Though
if a default midi channel is selected this will take precedence (rj)
-
28.04.2014:
- Fixed issue #350 (rj)
11.01.2014:
- Fix song not 'dirty' on most operations (close was not prompting to save). (Tim)
Added 'emit sigDirty()' at end of Song::executeOperationGroup3() and ::revertOperationGroup3()
if operations list not empty.
10.01.2014:
- Instrument Editor now basically complete: Added Initialization Sequence editor. (Tim)
Initialization sequence sysex's can be entered manually or chosen from pre-defined list
using sysex event editor.
- Sysex event editor now allows selection from pre-defined Instrument Sysex list.
- Revised and edited Roland SD-50.idf by Patrick (split into GM2/nonGM2).
- Fixed GM2.idf file prog numbers wrong.
- MusE now imports GM2 midi files. (Properly selects GM2 instrument.)
- Fixed several build-system ordering problems. Also some code cleanups, tweaks.
06.01.2014:
- Midi instrument can now be changed from midi track info panel. (Tim)
- Some minor code tweaks, code cleanup in mtrackinfo.cpp, confmport.cpp.
06.01.2014:
- Added (and fixed) Roland SD-50 .idf file by Patrick. Needs more work: split in two .idfs (Tim)
- Added GM2 .idf file created by me Tim.
- Fixed a couple of improper "&apos" xml substitutions in xml.cpp
17.10.2013:
- Fixed drag&drop plugins sometimes not working when built with optimize (rj)
10.10.2013:
- Added a visual metronome to Bigtime (rj)
09.10.2013:
- Changed track dragging to move instead of swap (rj)
- Removed projects from 'recent' menu if they no longer exist (rj)
08.10.2013:
- Added line drawing of tempo in graphical master track editor (rj)
- Fixed bug (issue #342 Moving Aux sends crashes muse) (rj)
03.10.2013:
- Added keyboard shortcuts in midi editors for functions, Step record, Midi input,
Play events, Inc/Dec velocity (rj)
28.09.2013:
- Changed default shortcut in PianoRoll for moving to current position from C to I
the former was conflicting with the default global shortcut for metronome (rj)
27.09.2013:
- Changed beat lines to a darker shade (rj)
02.09.2013:
- Display git hash and date in the about box instead of svn revision (Orcan)
- Bumped the year string to 2013 in the about box
01.09.2013:
- Mods/fixes to Midi Input Transformator plugin: (Tim)
Fixed some bugs when reading procVal2Op from song.
'Program' is now allowed 'Event type' selection.
'Toggle' is a new Processing Value#2 Operation. It toggles between Value#1 and Value#2.
This means for example a standard midi foot controller (which only sends program changes)
can now be used to send TOGGLED midi CC values, say back to an effects unit
thus the foot controller becomes like regular 'chained' stomp boxes, operating
upon individual effects.
14.05.2013:
- When midi in is enabled in drum editor the selected track is moved along with
the triggered key (rj)
12.05.2013:
- Fixed bug with playback of drums clicking on notes in the new drum editor,
it was playing the wrong instrument (rj)
08.05.2013:
- Yet another MAJOR audio engine and plugin/synth process chain re-write. (Tim...)
- Track controllers (vol, pan) now sample-accurate.
- Track controllers (vol, pan) slope limited for near-noiseless operation. TODO: User settings.
- Fixed: "Duplicate Selected Tracks" crashes. Also now copies plugins and synths too.
- DSSI + Native VST: Fixed not remembering generic/native GUI pos/size. TODO: DSSI native GUI.
- Fixed regression by flo: Sliders were recording multiple automation points at same value.
- Fixed canvases not remembering position/zoom - everything reopens at exact same pos/zoom now.
- Fixed automatable audio GUI controls 'jumpy' in TOUCH mode if heavy graphics causing slowdowns.
When pressed, any control now truly 'disengages' from competing/intefering controller stream.
- Improved audio automation modes, + READ mode can now be interrupted by GUI or ext control.
- MESS synths (esp Deicsonze): Controls (like Track Info program) and synth controls now mirror
each other, both ways.
- Deicsonze softsynth: Fixed several problems: Not remembering settings + ladspa plugin settings,
midi controllers were in wrong domain - moved to NRPN14 type. TODO: Fix 'biased' midi controllers
like pan and detune etc.
- Native VST: Call idle periodically. Makes some plugins like Glitch work, as per LAD mail.
05.04.2013:
- Change window title when there are unsaved changes (rj)
- Add auto-save feature, when enabled tries to save after 5 minutes
when there has been changes, unless transport is running (rj)
04.04.2013:
- Added pitch control to SimpleDrums, first version (rj)
- Fixed Ctrl+arrows in the arranger so the track list is scrolled (rj)
29.03.2013:
- MusE 2.1.2 released! (rj)
28.03.2013:
- Allow reading old drummaps for new style drumtracks (rj)
- Added metronome icon in main window (rj)
27.03.2013:
- Fixed moving events with keyboard in Drum editor (rj)
10.03.2013:
- Added color settings for: midi events in arranger,wave events in arranger, wave events in wave editor (rj)
05.03.2013:
- Added shortcut printout of tools in tool menu (rj)
03.02.2013:
- Generalized theming somewhat more and added a basic Ardour complementary theme (rj)
28.02.2013:
- Wave Editor: Fixed some painting problems. Optimizations, speed boosts. (Tim)
24.02.2013:
- Improved dark theme, midi editors now set background color, the current part of the ruler is darker.
Theme setting separated from the regular Ok button in the Appearance settings. Also fixed the color
viewer in the color selector when using the dark theme. (rj)
23.02.2013:
- Added missing line draw shortcut (F) to drum editor. (Tim)
22.02.2013:
* New: Install pre-built PDF + single/split HMTL docs. Separate devel docs. Added build script. (Tim)
Build script is /doc/build_docs.sh You'll want to use it or a variant to get the HTML .aux files.
Fixed table in my Appendix in tex file so it works with HTML.
- For now, I've changed F1 help to open PDF, if not found fallback to HTML.
I've #define MUSE_USE_PDF_HELP_FILE in help.cpp. Undefine for HTML only.
May at least need to keep track of viewer process (don't open copies), also try context-sensitive help.
Help opener always been LANG ready (looks for _xx) but this new build script is not 'automatic'.
- TODO: For some reason the generated HTML developer docs contain nonsense. (Unknown formatters?)
- Added new french translation from Yann Collette (rj)
21.02.2013:
- Fixed: Multiple label warnings in the LaTeX doc. Reference and formatting fixes. (Orcan)
- Improved: Table of contents and hyperrefs in te LaTeX doc. (Orcan)
19.02.2013
* MASSIVE FIXES: MANY editor, usability, operation fixes and changes. (Tim...)
- Please see the files README.usage and README.shortcuts for general changes.
- Added: Pan and Zoom tools to editors. P + Z shortcuts. Added a Settings item for alternate behaviour.
- Fixed: MAJOR Canvas class re-writes/simplifications!
- Fixed: ALL auto-scrolling. Was 'drifting' while scrolling. Accuracy is solid now.
- Fixed: Moving/new parts now fit into the tracks they are hovering over.
- Improved: "Velocity per-note" is now per-graph. Also does not cause main window to activate (w/ Robert's new styles).
- Fixed: Pianoroll and Drum Editor 'Snap' boxes not remembering 1st or 3rd columns.
- Fixed: Arranger 'Snap' was not stored or remembered.
- Fixed: Accelerator buttons shift/ctrl/alt for moving/copying/cloning / restricting movement.
- Fixed: Shift key restricting movement: Ignore snap setting now.
- Fixed: Resize shift key ignore snap setting now.
- Fixed: Draw new item shift key ignore snap setting now.
- Fixed: Shift key was not snapping to vertical.
- Fixed/changed: Drum velocity level hot-keys/order. LV3 is default now. Re-ordered all MusE drum maps' LV3/LV4.
- Fixed: Open Wave Editor shortcut changed from Ctrl-W to Ctrl-Y due to ambiguity with MDI 'Close Window'.
- Fixed: ALL 'Speaker' related playing of notes. Works with new notes, moving notes, piano press etc.
- Fixed: ALL 'Speaker' related notes now send true note-offs instead of zero-velocity note-ons.
- Fixed: Drum 'Cursor' mode was playing double notes.
- Fixed: New Drums 'Cursor' mode and instrument up/down movement was broken, jumping all over the place.
- Fixed: Drum 'Cursor' mode was not working if no controller graphs were shown. (Silly error.)
- Improved: Shortcut listings: Added Wave/Score categories. Re-categorized several keys. Updated README.shortcuts
- Fixed: Memory leaks in CtrlEdit class (ownerships).
- Fixed: Drum Editor not saving tool state.
- Improved: Right-click menus expanded. Now also shows 'Tools' menu when clicked on parts.
17.02.2013
- Added patch from Willy Foobar to remove warnings from compilation (rj)
13.02.2013:
* Added basic theme support selection, currently two themes selectable, light and dark (rj)
07.02.2013:
* Feature: choice of new metronome with different sounds and adjustable volume.
Also has additional ticks before each standard tick. The idea is to improve timing.
Still needs some work, especially buggy for large time signatures, e.g. 3/16 (rj)
04.02.2013:
- Fixed gain adjustment with 'Other' choice in wave editor, it was reversed (rj)
02.02.2013:
* Solved: "Old style" Drums: Track channel/port re-enabled, drum list columns default to them. (Tim...)
The drum list port and channel columns are now blank by default until overriden by user.
When blank they default to the track port and channel.
Internally, -1 is now an acceptable value for members DrumMap::port and ::channel, meaning default to track.
All built-in drum maps have been changed, as well as the initial and blank DrumMap structures.
- Since Old Style Drum and New Style Drum had the same icon, and the only way to tell the difference between them
was the port and channel columns, and that difference is now gone, this required some icon and colour changes.
- Fixed Old Style Drum lockup: Certain item channel overrides caused infinite loop in Audio::processMidi().
28.01.2013:
- MusE 2.1.1 released!
- Added setting for default track height (rj)
27.01.2013:
* Feature: Shortcuts dialog modeless + has default global shortcut Ctl+Shift+F1 + "Printable file" button. (Tim)
- Memory leaks! Many widgets and dialogs had no parent and were not deleted! (Tim)
Including several top-level editors such as LMaster, MasterEdit, ListEdit, and WaveEditor!
Created MusE::deleteParentlessDialogs(), call it from MusE::closeEvent() to delete all parentless dialogs:
appearance, metronomeConfig, shortcutConfig, midiSyncConfig, midiFileConfig, globalSettingsConfig,
mitPluginTranspose, midiInputTransform, midiFilterConfig, midiRemoteConfig, midiRhythmGenerator, midiTransformerDialog.
Also moved call of destroy_function_dialogs() into it instead of at end of main. (Consolidation.)
Verified that all destructors were being called.
25.01.2013:
* Feature/fix: Zoom at cursor! Zoom Ctl+PgUp/PgDown (defaults) and Ctl+MouseWheel now zoom about cursor. (Tim)
Eliminated redundant call in ScrollScale::setMag(), by blocking signals.
Consolidated all HorizontalZoomIn and HorizontalZoomOut functions into a single HorizontalZoom.
Added eight more 'quick zoom' levels to class ScrollScale.
Modified all HorizontalZoom functions to pass cursor offset, and use it in ScrollScale::setScale().
19.01.2013:
- Fixed confused controllers on seek with multiple muted/off midi tracks/parts on same port/channel. (Tim)
In MidiDevice::handleSeek(): Re-wrote controller value sending section - fixed obeying mute/off section.
17.01.2013:
- Fixed song length way too big after recorded wave is added. (Tim)
Was a simple regression in Song::cmdAddRecordedWave back when tempo recording was added.
15.01.2013:
- Reinstate old Arranger "Paste to track" (Ctl+Shift+V) and "Paste clone to track" (Ctl+Shift+B). (Tim...)
- Changed default shortcut of Arranger "Paste clone" to Ctl+B.
- Changed default shortcut of Arranger "Paste (show dialog)" to Ctl+G.
- Removed Arranger "Paste clone with dialog". Instead, paste dialog now remembers 'clone' checkbox setting.
- Fixed Pianoroll/Drum Ctl+V paste bug was pasting into other parts: Always paste into current part.
TODO: Score Editor still not working because there never seems to be a current part! Must ask Florian...
- Fixed Pr/Dr Function dialogs bring main window to front: Don't give them a parent, add destroy_function_dialogs().
- Fixed "Duplicate Track" feature: If selected 'copy parts', it was quietly cloning. Re-wrote ASSIGN_PARTS sections.
Now it copies both clone and non-clone parts. Tests OK but needs a good workout. (Maybe push Parts to Undo list?)
TODO: Found C.O.W. bug when de-cloning a part on a duplicated Wave Track - it's still a clone. Investigating...
- Fixed Old-style Drum Editor: Was not playing new notes as they were drawn. Re-wrote a DrumCanvas::newItem(),
and eliminated dynamic_casts.
- Don't play midi parts if track is off.
13.01.2013:
- remote should depend on widgets through #including app.h otherwise Python bindings don't compile (Orcan)
06.01.2013:
- MusE 2.1 released!
03.01.2013:
- Fixed SimpleDrums GUI issues on AVLinux (and supposedly other debian based distros) (rj)
01.01.2013: Happy new year!
- Fixed playback of drumsounds during editing for new type drum editor (rj)
29.12.2012:
- Added clear automation to automation menu
- Changed automation color selection to hopefully make more sense with styles that
don't explicitly show an unchecked visual, color is shown in first menu also and
automation is enabled when color is selected in the color menu (rj)
18.12.2012
- Enable fluidsynth and simpledrums to search for missing sounds in project dir if
the path was missing. (rj)
- Added change-dir to project dir when saving or loading songs, it needs to be
researched a bit if this has any drawbacks. The idea is that if plugins or
whatever wants to write to disk it should happen in the project dir. (rj)
14.12.2012:
- Made simpledrums ask to load another sample if a sample wasn't found during loading (rj)
- when dragging multiple notes in editors they are not played, to avoid hanging notes (rj)
12.12.2012:
- Fixed some vst controls stuck. (Tim)
- Added vst master timebase (sequencers should work now). WIP Not quite finished. (Tim)
- Fixed weird QString bug causing some patch names to appear with garbage characters. (Tim)
11.12.2012:
- Fix native vst path (VST_NATIVE_PATH, VST_PATH, then preset). Also ladspa, dssi paths. Added -help text. (Tim)
10.12.2012:
- Changed versions to rc2
- Changed name of SimpleSynth to original name SimpleDrums, this
does affect loading of songs using SimpleSynth. Open the song file
in a text editor and change the name of all SimpleSynth to SimpleDrums
and all should be ok. (rj)
09.12.2012:
- Fix VST names: Use filename if effect name or product name blank. (Tim)
- Fix bug 3594221: End-to-end midi notes don't retrigger. My bad. (Tim)
In MEvent::sortingWeight(): Note-ons with zero velocity are really note-offs.
08.12.2012:
- Native VST fixes and changes. (Tim)
Redid cmake options. Please do 'prune' and carefully reconfigure.
Fixed track info banks and patch popup list bank issues.
Fixed plugins such as NoizeMaker: Kill harmful redundancies - call getParameter before setParameter.
Fixed crash reloading song with huge-chunk plugin like NoizeMaker: Stack overflow in processEvent().
TODO: Fix all other such sysex stack buffer usages like possibly in DSSI.
07.12.2012:
* Feature: Native VST instruments support. Best results are from compiling with the vst sdk. (Tim)
Featuring: True sample-accurate parameter automation, full native GUI support for TOUCH, WRITE modes.
New cmake options for enabling native vst, enabling true sdk support, and the vst header path.
Plugins environment variable is currently VST_NATIVE_PATH else "/usr/lib/vst:/usr/local/lib/vst".
TODOs: Parameter ranges: fixed at linear 0.0 - 1.0 for now. Program categories.
Dynamic port changes. Plugins correct path and env var? No rack effect plugins yet.
25.11.2012:
- Changed playback of midi in editors to default to on (rj)
21.11.2012:
* Fixed: Markers and synth windows don't open at all on some desktops like Lubuntu. (Tim)
Solution was combination of REMOVAL of fix for "bug: 2811156 Softsynth GUI unclosable..."
(of which said removal BY ITSELF DID NOT FIX this problem) AND removal of some superfluous show()s.
Tested OK with Lubuntu and XFCE (which the original fix was for).
Thanx to knowledgable tester who told us to remove that bugfix.
20.11.2012:
- Fixed audio stuttering loud annoying repeated segments upon seek. (Tim)
Slight readjustment of audio prefetch and midi thread priority (-5 and -1 instead of +1 and +2).
17.11.2012:
* Improved: Deicsonze soft synthesizer: Fixed crash, bugs, added ladspa plugins. (Tim)
TODO: No plugin control automation. Some oddities with log slider/entry ranges. Maybe add delay wet/dry.
* Added: Request from forums: Auto-start Jack upon MusE startup. Command-line disable switch -J added. (Tim)
* "widgets" depend on "instruments". (Orcan)
15.11.2012:
* Improved: Popup menus: Auto-breakup too-wide menus in class PopupMenu. (Tim)
In some cases X/Qt was giving up if too wide AND/OR too many columns, menu would not appear.
Tested OK with Deicsonze track info patch popup, and a synth plugin with > 2000 automation controls.
13.11.2012:
- Fix init of gain for duplicated audiotracks (rj)
12.11.2012:
- Added aftertouch controllers to all relevant remaining instrument files. (Tim)
- Synths: Added aftertouch controller to fluidsynth, and aftertouch/poly-aftertouch to DSSI. (Tim)
11.11.2012:
- Finished Aftertouch controllers: Removed PAfter and CAfter Event types. Quietly convert such
events in old songs into the new controllers. Converted midi input (hopefully). (Tim)
Updated README.instruments.
* Feature: Piano KB and drum list show coloured dots when per-pitch controllers exist or have data. (Tim)
03.11.2012:
* Improved: Instrument Editor (controller tab): Redesigned. Fixed MANY bugs. Should be SOLID now. (Tim)
Two new columns: "Show in midi tracks" and "Show in drum tracks".
* Improved: Midi controller graph 'Ctrl' popup menus now unified (cascading). (Tim)
'Edit Instrument' menu item now takes you right to the instrument and controllers tab.
* Feature request: Aftertouch and PolyAftertouch (channel/key pressure) are true MusE controllers now. (Tim)
Now FULLY supported in controller graphs AND in the improved Instrument Editor / Definition Files.
- Midi controller stuff: Fixed some bugs, added some methods and improvements.
28.10.2012:
* Improved: Eliminated copious unrequired "controller" sections from songs and templates. (Tim)
These controllers such as volume, pan are already always added, so it's useless to store them when "Off".
Added midiport.cpp:defaultManagedMidiController, populated and used in init, also used when saving song
to look up these controllers and ignore them if "Off".
- Eliminated ALL "controller" sections from built-in templates, which were already over-populated.
- Also eliminated ALL "midiport" sections from buit-in templates, so that they don't touch existing setups.
- Also, specifically for the "synth.med", changed synth ports to 198 and 199 so that it is (almost)
guaranteed not to touch existing used ports with the synths.
* Improved: Also, wrote mechanism allowing track port/channel = -1 in templates, so that it uses your
chosen default output port/channel from the midi ports setup dialog. Try midiGM.med template for example.
27.10.2012:
* Improved: Velocity graphs. Icon for showing per-note or all velocities. Also found in Settings. (Tim)
* Improved: Piano KB has current selected note (yellow). For velocity/polyaftertouch/other per-note ctrls. (Tim)
- Bad timing warning now has "don't show again". (Tim)
- Added 'speaker' icon to drum edit. And drum list and piano keyboard now obey the 'speaker' icon. (Tim)
22.10.2012:
- Oops, fixed regression: Re-add default managed controllers to midi ports at Song::clear. (Tim)
- W.I.P. Preparations for Aftertouch and Poly Aftertouch (channel and key pressure) graph editing. (Tim)
21.10.2012:
- Slight changes to midi track info hbank/lbank/program dblclick on/off behaviour. (Tim)
TODO Need to improve by having separate 'last valid hbank/lbank/program' instead of single 'last valid value'.
20.10.2012:
- In MidiEventBase::read() Repair controllers saved with lo byte 0xff. (Tim)
No such control. It was supposed to be 0x00. It's an error caused by a previous bug, fixed now.
19.10.2012:
* Improved: Midi initializations. New settings options, can be 'quiet'. Complete rewrite of initializations coding. (Tim)
* Improved: Midi controller graphs: Control selector 'S' popup now stay-open, AND NOW with multi-coloured dots:
Blank: Controller has no current 'manual' value (it is 'Off'), and no stored automation values.
Blue: Controller has a current 'manual' value (it is not 'Off'), but no stored automation values.
Green: Controller has no current 'manual' value, but does have stored automation values.
Gold: Controller has a current 'manual' value AND has stored automation values.
Bonus! Pianoroll and drum edit 'Ctrl' buttons ALSO now popup this very same menu. No more clumsy
adding of controllers - now just hold the ctrl key and select away and... "bing bing bing 1 2 3". (Tim)
* Improved: 'Old' drum track 'drum controllers' display and operation: Fixed several problems: Incorrect mapping to drum map etc. (Tim)
Now if more than one drum is pointing to the same 'anote', the others are overlaid as grey slivers. (TODO Not quite done.)
TODO: Although THESE "drum controllers" are improved, there are conceptual problems with NON-drum controllers old drum map:
If a NON-drum controller such as pan is adjusted, what then? If the drum map contains more than one port/channel/anote
it should be sent to ALL of them BUT we would like a 'track override' which when turned off, 'pan' could be locally
adjusted for EACH drum having different ports/channels/anotes. (So in theory drum track channel should be reinstated.)
09.10.2012:
- Fixed old fluidsynth bug: Drum patch numbers incorrect. (Tim)
Confusion due to special fluidsynth drum bank = 129. Changed FluidSynth::getFirstPatch,
::getNextPatch, and CTRL_PROGRAM section of ::setController.
- Midi track info patches popup menu: Don't display category if empty. (Tim)
08.10.2012:
* !!! Song type is now removed !!! : (Tim)
TODO: Instrument init sequences. Need some kind of editor. Need timing mechanism while in 'stop' mode.
Was thinking these events should be in FRAMES or real time - not affected by tempo. Jack slow sync
callback might help. (Also try to re-enable metronome precount - similar concept here!)
* Improved: Multi-port (aka multi-channel) midi import and export, via Device Name, Port, or Instrument metas. (Tim)
- MusE can now export a midi file and re-import exactly as it was, all ports + devices + instruments incl.
- Extra options for import/export added.
- Import midi now passes 'unabsorbed' meta events on to the track. They were discarded before - lost forever.
- Solved: Export midi now stores an instrument's Init sequence, instead of the old song type sysexes.
- MPEventList now has highly customized same-time sorting, helps 'cement' import/export events in place, such
as controllers or program changes before notes, instrument metas before mode sysexes. (EventList NOT done.)
- Old bug: Fixed superfluous NULLS in meta texts in midi export.
- Old bug, annoying: Midi Import: parts are too short and 'events past end' indicator is on.
- TODO: Bug: Deicsonze: Midi track info patch popup: Screen all black until esc or click.
04.10.2012:
- Added Gain knob on channel strip for audio tracks (rj)
- Added descriptive tooltips for midi parameters in midi track info (rj)
03.10.2012:
- Changed WaveTrack and AudioInput to create mono tracks, AudioInputs
are also no longer muted upon creation (rj)
02.10.2012:
- Added descriptive tooltip to cursor mode in drum editor (rj)
01.10.2012:
- Fixed Step shortcuts 0,9 in drum editor so they actually update
the step size and fixed update of controller view when stepping
up and down (rj)
30.09.2012:
- Added part creation from wave editor - to make this really usable
more functions to set tempo etc, are needed (rj)
- Fixed name length of Aux ports and added index (rj)
- Fixed issue with moving aux:es in the track list causing the auxes
to be mixed up (rj)
29.09.2012:
- Added handling of missing soundfonts in fluidsynth load so
a dialog asking for replacement soundfont pops up (rj)
17.09.2012:
* Introducing: Copy On Write for waves. (Tim)
It asks to copy, to the Project Directory, any wave to be modified which is either
not writable or is shared with another independent (non-clone) wave event.
TODO: Improve by asking even for writable waves outside the Project Directory
(add a 'copy' checkbox column to the dialog, settable only under certain conditions).
* Added: Informative text on Undo/Redo buttons/menu text/tooltips ("Undo AddTrack" etc). (Tim)
In cases of multiple items in one operation, the first is shown, with ", .." ("Undo AddTrack, ..").
16.09.2012:
- Fixed allocation error with drag&drop of plugins (rj)
- Fixed close menu alternative in Instrument editor (rj)
- Changed Aux name on strips to reflect the actual Aux strip name (rj)
- Fixed CR:3567893 Play Event on note creation (rj)
- Removed 'fluid' from the list of built synths, it is inferior to fluidsynth
and causes confusion (rj)
09.09.2012:
- Added instructions on how to record audio with MusE to the new manual (rj)
08.09.2012:
- Follow up to Improved Wave Editor: Added Edit -> Adjust Wave Offset. Helps compensate for latency. (Tim)
FIXME: Respect clones! If operating on two selected clones of the same part, an extra event is created.
May not be this code's problem but seems like it, other operations like moving an event seem OK.
07.09.2012:
- Bug 3555569, 3555572: New informative ERROR, WARNING and HINT messages in cmake build script. (Tim)
Also, detect and report missing Doxygen executable.
06.09.2012:
- Bug 3555581: No synths listed in Edit menu: main.cpp: Move initMidiSynth() ahead of MusE. (Tim)
- Unrelated simple change: Privatize Arranger::parentWin. (Tim)
- Feature request 3565102: FLAC audio file import. (Tim)
04.09.2012:
- Fix for forum topic "Ordering of simultaneous events". (Tim)
Methods EventList::add() and ::move() now sort all same-time notes AFTER controllers.
03.09.2012: summer sleep is over! plugins can now be grouped (flo)
14.08.2012:
* Introducing: Improved Wave Editor. (Tim)
Class WaveView is replaced by WaveCanvas.
Wave Events can be selected, added, moved and deleted.
TODO: Bunch o' stuff, but currently it should be as good or better than the old editor.
04.08.2012:
* Introducing: More bits for Song Changed SC_* flags. (Tim)
Added MusECore::SongChangedFlags_t (in new type_defs.h file). Declared as int64 type.
All Song Changed parameters, handlers, connections, calls, colateral operations etc. now use
this new SongChangedFlags_t.
All the handlers are now ready for the code bodies to accept any extra flags, devs need not
do anything more than define new SC_* flags and write support inside the handlers.
Please beware these possible extra flags when writing songChanged handlers and setting updateFlags.
04.08.2012:
- Optimizations: Added Master::songChanged and ArrangerView::songChanged to filter some SCs. (Tim)
01.08.2012:
- Finished the Sysex Editor in the Instrument Editor. (Tim)
Create, delete, save named instrument sysexes. Does nothing more than that for now.
29.07.2012:
- Tweaked drum editor zooming to give correct initial zoom (rj)
12.07.2012:
- Fixed controllers go wacky after moving effects rack plugins up/down. My bad! (Tim)
Rewrote CtrlList::operator= and several others. Tested OK.
- Also fixed existing problem: After moving rack plugins up/down, graphs disappear. (Tim)
Simple oversight in AudioTrack::swapControllerIDX: New members 'color', 'visible',
and 'don't show' weren't being copied.
- Documentation: Some contributions to the documentation.tex file. (Tim)
08.07.2012:
- Changed naming convention for recorded wave files to include track name and it's
take number. (rj)
- added a warning dialog for the delete track key shortcut. (rj)
- Use cmake's own FindPythonLibs module instead of pkgconfig to detect Python (Orcan)
06.07.2012:
- Updated Czech translation from Pavel Fric (rj)
- Some strings that were not translatable are now (as reported by Pavel Fric) (rj)
- Updated translation files, and started completing swedish translation a bit (rj)
- increased zoom range in arranger, reversed zoom in wave editor (rj)
04.07.2012:
- added inc/dec tick for events in the list editor (rj)
03.07.2012:
- Fixed new drum parts disappear as sson as they're drawn. (Tim)
30.06.2012:
=======================================
* 2.0 tagged (rj)
=======================================
- Emergency crash fix: In automation popup midi control 'Clear' item. (Tim)
Cannot delete any actions from menu due to recent December PopupMenu fixes.
29.06.2012:
- Fixed file dialog: disable 'read configuration' for midi files. (Tim)
- Updated swedish translation (rj)
- reworked the REC button somewhat (rj)
28.06.2012:
- External sync fixes: Now have user-selectable of clock filtering and quantization. (Tim)
- Fixed clicking tempo master does not update wave parts. Allow SC_MASTER to call canvas->partsChanged. (Tim)
- Fixed problems with recorded wave part and event sizes, and 'past end' indicator. (Tim)
- Don't resize or destroy wave events upon part resize. (Tim)
- Init support for controlling midi engine from Jack timebase master. Completely disabled for now. (Tim)
26.06.2012:
- Added updated Czech translation from Pavel Fric[[email protected]] (rj)
23.06.2012:
- automation graphs: deletion with middle-click, fixed automation (flo93)
editing.
18.06.2012:
- Removed printouts about no longer supported VST implementation,
use DSSI implementation instead (rj)
- Some preparations for 2.0 (rj)
16.06.2012:
- MusE as Jack Timebase master: Corrected ticks_per_beat and bar_start_tick fields. (Tim)
- Fixed bug by Geoff B and Flo: Changing a midi port device: We are only interested in altering
tracks using the port being changed in the midi port list. And don't change channel. (Tim)
15.06.2012:
* Sync fix: MusE now records tempo changes from externally clocked midi. (Tim)
Still experimental but non-intrusive: You will be asked at the end of recording if you
want to transfer the recorded tempos to the master tempo graph.
Tested OK so far with ALSA and Jack midi. Best results ATM may be when recording from
position 0, not 'continuing' a recording or skipping 'fwd' or 'rew'.
TODO: Record Jack timebase changes! Find patch someone sent years ago, likely still useful...
11.06.2012:
- Finally! Audio controller playback has smooooth frame resolution even with large audio buffers. (Tim)
CtrlList::value() now accepts a nextFrame*, filled with next event frame, which the
plugin and dssi process use to determine the run sizes.
Bonus! This processing is now guaranteed to be ALIGNED with user's chosen minimum control processing
period in Settings. Before, it was occasionally going to 1, 2, 4 frame runs etc., was not good.
TODO: Sorry, track audio/pan have no 'variable run length' support yet. Choppy with large buffers.
Tip: If a ping-pong effect is desired, try a plugin for now!
- Increased default minimum controller period from 64 to 256. Tests showed 256 is just fine, smooth.
10.06.2012:
- Add midi-to-audio control popups to right-click automation menus. (Tim)
- Track list audio automation popup now can stay open, for colour and 'clear' items. (Tim)
08.06.2012:
* Merge: From branch r2_0_extra. (Tim)
- More automation fixes. In AudioTrack::processAutomationEvents, optimize integer, bool,
discrete controller types to avoid multiple dots on flat straight-line graph segments. (Tim)
- Replaced Song::controllerChange() with a lower-level
CtrlList::guiUpdatePending()/clearGuiUpdatePending(). Checked and cleared in
Song::beat() at the nice slow heartbeat rate instead of direct calls to QWidget::update().
This means ALL controls should update their graphs now, and at a more reasonable rate. (Tim)
- ARVT_STOP automation events are also recorded now
- When clicking sliders in the plugin's native GUIs or the
mixer with SHIFT held down, straight lines are drawn (no
intermediate control points are recorded)
TODO: does not yet work for muse-native, but customized GUIs (flo)
07.06.2012:
- More automation fixes. (Tim)
06.06.2012:
- Another midi-to-audio mapper classes rewrite. (Tim)
05.06.2012:
- Rewrote midi-to-audio control mapper classes. (Tim...)
- Added save and load midi-to-audio settings.
- Remap or remove mappers when rack items moved or removed.
04.06.2012:
- Side branch r2_0_extra, copied from release_2_0:
* Feature: Midi control of audio paramters. (Tim)
- More important timing, accuracy fixes.
03.06.2012:
- Merged documentation from local source to repository LaTeX document, 80% done (rj)
27.05.2012:
* Timing, resolution, accuracy, and automation fixes: (Tim)
- Ask audio driver for 'its' current system time instead of wallclock in utils.cpp:curTime().
Reason: Jack's clock source can be wallclock, cycle counter, HPET etc.
TODO: Try more Jack time functions for accuracy in Audio::framesSinceCycleStart etc.
- Fixed automation 'manual' slider values: Update them from automation values at the current time
when switching to automation OFF. After some recent changes by me, the 'manual' values were
left 'independent' of the automation values. While this had interesting effects, the value
would 'jump' back to the manual value when switching to OFF, which became disconcerting.
The best solution, in muse_evolution (from where I adopted the previous changes), was to
continuously update the manual values during process, but there may be too many controllers,
so this was the other lesser option.
- All audio/plugin GENERIC gui controls now record their automation at FRAME resolution.
Previously the timestamps were ticks converted to frames (lossy). Now they are true frames.
This means these recorded graphs can be much denser with vertices now, if needed.
- Querying of plugin controller values in DssiSynthIF::getData, PluginI::apply, and volume/pan
controllers in AudioTrack::copyData/addData is now done at a more proper and accurate
frame time instead of wallclock-based queries via AudioTrack::volume/pan/pluginCtrlVal.
(Sorry, this does not mean frame accuracy on playback yet.)
- Menu 'Take automation snapshot' now operates with frame resolution. Added a warning message as well.
- Menu 'Clear automation' enabled and implemented. Added a warning message as well.
- DSSI synths: Fixed errors with Pitch controller on playback. Removed AND'ing of 0x3FFF in
CTRL_PITCH section of DssiSynthIF::processEvent.
20.05.2012:
- MusE can now compile with clang/llvm via -DCMAKE_CXX_COMPILER=clang++ flag to cmake. (Orcan)
- Update some URLs in README. (Orcan)
18.05.2012:
- Added Czech translation by Pavel Fric[[email protected]] (rj)
- fixed native GUIs not updating (flo93)
- removed _guiUpdate{Program,Control[]}
- OscIF now stores the native GUI's state
- OscIF doesn't send control changes if they don't differ from the
native GUI's state (until enforced)
08.05.2012:
- ladspa/dssi/simplesynth controls: Fixed logarithmic defaults. (Tim)
Use log not log10 in plugin.cpp:ladspaDefaultValue().
- ladspa/dssi/simplesynth controls: A better default than 1.0 if none found, compute from upper/lower. (Tim)
In plugin.cpp:ladspaDefaultValue(). TODO: simplesynth controls still wrong.
- ladspa: TAP Reverberator built-in MusE GUI: Fixed wet/dry infinity display "---". (Tim)
Added DoubleLabel 'offValue' Qt property. Set in file 2142.ui
07.05.2012:
- DSSI: Fixed second of two crashes when operating controls while playing notes. (Tim)
Just ignore rare out-of-order events.
06.05.2012:
- Added automation right-click remove point and printout with current value, also started
working towards editing multiple points (rj)
- Fixed crash bug in pianoroll when using arrow keys on an empty part (rj)
- DSSI: Fixed one of two crashes when operating controls while playing notes. WIP on other (rarer) crash. (Tim)
05.05.2012:
* Updated .ts translation files in repository. Updated with -no-obsolete to
trim away lots of unused strings (rj)
04.05.2012:
*Added: -A switch: "Force inclusion of ALSA midi even if using Jack". (Tim...)
- Fixed intermittent Jack crash at startup with jack <= 1.9.8. Fixed in Jack 1.9.9
- Rearranged main.cpp, moved a few init items into it from app.cpp
- Fixed "Jack calling while audio disconnected" errors at startup.
- Fixed LASH leak: Added lash_args_destroy().
- Fixed icons leak: Destroy all icons.
- Fixed function dialogs leak: Created with NULL parent.
- Removed QApplication::setColorSpec() call. Caused "pixmap is not an X11 class pixmap" errors.
- Fixed style changing problems (transparent MDI windows, other artifacts). Requires restart!
03.05.2012:
- Fixed crash bug with coloring of iR button on aux strip (it does not have one) (rj)
24.04.2012:
- Changed automation drawing in arranger to be more forgiving
shift no longer needed and it's not needed to be too close
to the line. TODO: some cleanup (rj)
23.04.2012:
- Global Settings: Start song: Changed to allow other templates. (Tim)
* Please revisit this setting or start with clean config so MusE can
initialize the box with the global default.med file.
22.04.2012:
- Duplicate Tracks: Fixed routing bug. (Tim)
In tracks' ::internal_assign(), don't call msgAddRoute, push_back the route node,
because caller later calls msgAddTrack which 'mirrors' that single routing node.
Exception: Audio Input and Output still need to call msgAddRoute which connects to Jack.
May still cause audio processing problems ?
- Added colorhints to iR and oR routing buttons (rj)
21.04.2012:
- Templates: File dialog: Added 'read Midi Port Configuration' box. (Tim)
- File dialog: Unset 'read Midi Port Configuration' box for Global folder, set for others. (Tim)
- File dialog: Made side bar buttons auto-exclusive. Some fixes, cleanups. (Tim)
19.04.2012:
- Reverted yesterdays description change, now shows label again (rj)
- Added tooltips to trackInfo which shows additional info for synths (rj)
- Fixed focus for tempo and signature widgets and patch selector in midi track info (rj)
- Fixed RJ's focus fixes. Now tempo/sig toolbar has proper Smart Focus and works in all related windows. (Tim)
- Removed Smart Focus restart requirement in Settings. Rewrote some silly signal connects. (Tim)
18.04.2012:
- Prefer native GUI for plugins when double clicking in the rack (rj)
- Prefer description instead of label in synth name in track list, it's more descriptive (rj)
- Grayed out "copy plugins" in duplicate track dialog since it's not finished (rj)
17.04.2012:
- Added gcc4.7 patch from Matthias Klose <[email protected]> (rj)
- Added -Werror=format-security from Alessio Treglia <[email protected]> (rj)
16.04.2012:
- Fixed some bugs in swedish translation (rj)
14.04.2012:
- Optimize some QByteArray usages and use length() instead of taking strlen(). (Tim)
12.04.2012:
- Add new 'type' column to LADSPA browser, add tooltips to AO, AI CO, CI, IP, ID columns. (Tim)
09.04.2012:
- Feature request: Allow loading of DSSI synths (those with a run*_synth* function) in LADSPA browser. (Tim)
07.04.2012:
- Fixed bug with drawing of song position toolbar (rj)
25.03.2012:
- Added "beautifying" frame to the song position toolbar, hope that looks nicer
for all :) (rj)
24.03.2012:
- Fixed memory leaks in the undo system. Removed unused ModifyTrack action (flo93)
- Swapped usage of oPart and nPart in the undo system. this was completely
braindead: oPart was assigned the nPart_-ctor-parameter and vice versa (flo93)
- Removed unused UndoOp-ctors (flo93)
- Code cleanups in undo.cpp (flo93)
- changed some sharing-menu-debug-messages from debugMsg to heavyDebugMsg (flo93)
- added a copy-ctor to Part which increases the eventlist's refcounter (flo93)
- NPart stores serial number (flo93)
- Changed locale loading to use system setting instead of keyboard setting (rj)
23.03.2012:
- Changed file loading to use .toLocal8Bit instead of .toAscii seems to
fix issues to load files with local chars like åäö in the name (rj)
- Fixed invalid reads/writes/deletes when having the cliplist editor open:
there was a funny mixture of reference-counting smartpointers and normal,
"dumb" pointers, and some pieces of the code relies on the smartpointers
to delete stuff automatically (which was correct), other pieces just deleted
stuff, regardless of the refcount.
now everything using SndFile uses refcounting. HOWEVER this created a MEMORY
LEAK: when recording to a wave track (this creates a SndFile, refcount=1),
then undoing this (this doesn't delete, but only stashes away the part and
so the smart pointer), then opening a new song (this doesn't delete the stashed
away part and so the smart pointer, so refcount never drops to zero) the SndFile
is never deleted. (flo93)
- Made the DidYouKnow dialog actually work, add lines to share/didyouknow.txt (rj)
20.03.2012:
- arranger's part canvas now doesn't display thin slivers for
parts of hidden tracks (flo93)
- Header::write/readStatus now uses the save/restoreState functions,
simplifying the code and storing column widths as well (flo93)
- removed unused and non-working updateTListHeader function (flo93)
- PixmapButton (red LEDs, and Delta Mode): Eat up context menu events. (Tim)
- Class SpinBox, DoubleSpinBox, Dentry: Change to consistent "ctrl-double-click on/off". (Tim)
19.03.2012:
- column state is now stored into the global config, not
into the song file (flo93)
- Song load: Arranger MDI window: Fixed size restoration. (Tim)
In TopWin::readStatus(), if mdisubwin is maximized, restore it before setting pos and height.
- Changed reporting of bad timing a bit to possibly make it clearer what the problem is
and what to do about it (rj)
18.03.2012:
- Delta/absolute mode button: Improved behaviour. (Tim)
- Transport and NoteInfo toolbar positional editors: Fixed not updating when tempo or sig changed. (Tim)
In PosEdit::setValue(), checking different value is not enough. Must check whether resultant msf or mbt values changed.
TODO: updateValue() is now public so it can be called externally but it is not used yet - make NoteInfo and Transport
use it instead of setValue().
17.03.2012:
- Custom columns can now either affect tick0 or song->cpos() (flo)
- hopefully fixed a bug in the custom columns dialog (flo)
16.03.2012:
- Custom columns now send their controller changes to the device
automatically if appropriate (flo)
- Drum editor: Added missing multiple-note editing. (Tim...)
- Midi editors: Don't allow notes to be added before part. (Caused crash in Drum editor, odd behaviour in Pianoroll.)
- Midi editors: Added "Delta Mode" button to Note Info toolbar.
- Code cleanups in Pianoroll, Drum editor.
15.03.2012:
- Updated swedish translation with help from Cristian Ramos (rj)
10.03.2012:
- Track routing: Fixed duplicate routes: Reverted usage of operation group in Song::addTrack. (Tim)
- Templates: Default routing: Restored default Jack out/in routes in audio.med, synti.med, default.med, monorecord.med. (Tim)
- Switch from LIB_PATH_SUFFIX to LIB_SUFFIX, and from CMAKE_INSTALL_LIBDIR to LIB_INSTALL_DIR in CMakeLists.txt. Still fall
back to CMAKE_INSTALL_LIBDIR if it is specified explicitly instead of LIB_INSTALL_DIR. (Orcan)
- Fix cmake warning in simpledrums when CMAKE_BUILD_TYPE is not set. (Orcan)
09.03.2012:
- Track list: Popup editors: Pre-select text. (Tim)
- Track list channel popup editor: Eat up dbl-clcks if already open. Caused pseudo 'wrapping' if disabled arrows dbl-clicked. (Tim)
08.03.2012:
* Comprehensive focus fixes: (Tim...)
* New: Gui behaviour option: "Smart Focus": All toolbar boxes give focus back to respective canvases.
(Most boxes except Score Velo On/Off changed to StrongFocus, for non-focused wheel support.)
- Focusing + tabbing fixes: Exclusions, tightening of tab sequences.
- !! Most spinboxes now wait until return pressed !! For example the Song Length box.
- PianoRoll toolbar: Fixed auto-repeats - optimized NoteInfo::setDeltaMode().
- Midi boxes: Fixed Ctrl-click on/off.
- Master Editor: Fixed can't edit if not enabled. Also Transport sig box.
- TracK Info panel: Fixed Scrolling. TODO: Make step sizes reasonable, same as Pianoroll ScrollBox.
TODO: Scroll when tabbing among the Track Info controls !
- Track List key handling: Fixed TList::moveSelection().
- Visible Tracks: Drums and Synths: Fixed Track::isVisible().
- Track List, and Master Editor: Fixed popup editors. Sizing fixes. Use no frames.
- Event List Editor: Fixed not updating when parts modified.
- Pianoroll and Drum Editor: Fixed not updating sometimes ex. moving part past end of song.
(Was returning prematurely from songChanged() coding if they got SC_SOLO.)
23.02.2012:
- Compile fix in pyapi.cpp (Orcan)
- Don't optimize debug builds of simpledrums (Orcan)
14.02.2012:
- added customizable columns to the arranger (flo93)
13.02.2012:
- CMake build system: Added cached variable LIB_PATH_SUFFIX, may be set to 64 so that installed library path is lib64 or whatever. (Tim)
12.02.2012:
- Midi: Force events in play event list to be sent when playing, even if redundant. TODO: Fix sending controllers during seek. (By Tim...)
- Midi revert: MidiPort::setMidiDevice(): Send controllers in song to synths. Synths were not restoring vol for ex. My old bad.
- Fluid: Fixed pitch input: Add 8192.
- Fluid + Fluidsynth + SimpleDrums: ::processEvent(): Don't return true for controllers (why?). Was causing multiple send attempts.
- SimpleDrums: Fixed too-short plugin chooser: In ctor SS_PluginGui rem'd a couple of height-fixing lines. Hm, FIXME - was OK before.
- Midi ports config window: Allow default output channel column to unselect all channels ie. no default output channels at all.
31.01.2012:
- Jack Midi: Added missing midi sync output functions start/stop/SPP etc. (By Tim...)
TODO: Give its own clock, currently it's driven by ALSA clock. TODO: ALSA clock out seems badly broken.
- Jack Midi: Fixed Song Position Pointer sync input larger than 10 bars.
- ALSA: Seek sends wrong CCs. putMidiEvent() not respecting CTRL_PROGRAM and CTRL_PITCH. (Thanks to Dennis Schulmeister).
- Routing popup: Fixed crash with empty ports.
- Jack Midi: Fixed crashes/lockups when 'Use Jack Transport' off. Completely re-wrote Jack dummy tranport sync to behave like Jack.
- Midi:Increased MIDI_FIFO_SIZE to 4096 and MIDI_REC_FIFO_SIZE to 256.
- Midi: Sustain: Fixed inhibit/re-enable on stop/play. Also added during seek to quiet things down.
- Midi: Don't send controllers during seek if part or track muted or off.
- Midi: Send controllers during seek only if a change occurred - but force sending if at position 0, or value exists at current position.
- ALSA Revert: Removed recent MidiAlsaDevice::playEventFifo. Hm, too cautious?
- Midi sync: Removed redundant and too-early 'continue' commands. Audio::startRolling already properly does this when sync 'ready to roll'.
- Midi: Fixed timing error. MEvent::operator<() Put same-time note-ons after controllers so that program comes before notes! (For example).
- Jack Midi: Fixed timing error: Reserve multi-events at same frame-time, NOT at successive frames. (Otherwise nightmare to sort stuff.)
- Midi Revert: Re-installed ALSA sequencer thread SEQM_SEEK and SEQM_STOP, and revert code to call them from audio thread.
TODO: Option "Don't use ALSA midi". Midi thread gets in the way of Jack. But ironically ALSA + long-period Audio timing currently best!
- Midi sync: Song saving: Fixed slight typo saving MMC sync: Was using MRT not MMC.
26.01.2012:
- Fixed crash with drag/drop copying plugins when their gui was open (rj)
- Fixed mid clicking to change aux value (rj)
25.01.2012:
- Fixed some focus stealing that prevented shortcuts from working for Snap dialog and Plugin rack (rj)
24.01.2012:
- Removed QT_USE_QTNSPLUGIN from CMakeLists.txt (rj)
15.01.2012:
- Added instrument definitions for "KORG microSTATION" sent
in by Marko Nikolic (flo)
14.01.2012:
- Added "write topwin state" checkbox (flo)
12.01.2012:
- Added Czech translation from Pavel Fric (rj)
11.01.2012:
- Complain more if timing source isn't good enough (rj)
10.01.2012:
- Store default style so we can do an immediate recall when setting 'keep system style' (rj)
07.01.2012:
- Added choice to keep system GUI style (rj)
07.01.2012:
- Fixed compile errors if not configured for OSC or DSSI. (Tim)
07.01.2012:
- MusE 2.0 release candidate 2 released (rj)
06.01.2012:
- added super-glue feature (flo)
03.01.2012:
- ADDED NEW STYLE DRUM TRACKS: (flo93)
multiple tracks can be displayed in one editor
their drum sound columns can be reordered, mixed up, hidden.
drumtracks can be grouped by channel, not at all, or maximally
each track owns its own drummap
added drummap-definitions to instrument files (gs and xg.idf)
drumtracks' drummap can be automatically set according to
the currently used patch/program/bank
new-style-drumtracks can ignore muted, hidden or both sounds when
recording
KNOWN ISSUES: when having multiple drumeditors open, the mute-column
may not work, because another editor is overriding this.
this is not a bug.
- Global Cut: Fixed crashes with markers. Re-did marker section in structure.cpp:adjustGlobalLists(). (Tim)
TODO: Still get tempo, key, and sig not found warnings.
02.01.2012:
- Fixed drag and drop cloning parts - bad reference count in PartCanvas::moveItem(). (Tim)
- File Open dialog: Start with song data and configuration.
- Don't auto-open ALSA Midi Through device. Fixes "midi write error: Resource temporarily unavailable".
31.12.2011:
- 'Duplicate tracks' route copying now works, including Audio Input/Output Jack routes. (Tim)
30.12.2011:
- Added 'Duplicate tracks' Edit action, and dialog. Post-cleanups. TODO: Copy plugins, fix copying parts. (Tim)
Class Track, and some of it descendants, have fixed copy constructors, and a new assign() method.
Tested copy constructors and the new assign() method using the new duplicate tracks feature: Good so far, + undo/redo.
- Fixed compile errors when configured without OSC. Tested OK. Reported by Philippe Macaire. (Tim)
27.12.2011:
- Fixed some undo/redo/close crashes. TODO Global cut crashes from null Marker. (Tim. All marked p4.0.46)
Fixed some issues with track list and popup 'name edit' and 'channel spinbox'. Added to audio tracks.
REPLACED Undo type ModifyTrack: Two simpler 'ModifyTrackName', 'ModifyTrackChannels' type/struct/functions.
Some work was done in undo/redo and a couple of slight apparent leaks were fixed in evdata.h
21.12.2011:
- Fixed some mixer issues: Very slow updating with large mixer when setting visible tracks for example: Set and check
Style() object name in MusE::loadTheme() so that slow mixer ScrollArea::viewportEvent() is not called every time. (Tim...)
Split strips and amixer into configChanged() and songChanged() handling. Do not fully rebuild mixers upon configChanged().
Fixed mixer windows raising above others, even briefly: Do not raise mixer windows in MusE::focusInEvent().
- Fixed bigtime leak: Not destroyed. Give it a parent in MusE::showBigtime().
20.12.2011:
- Litle break for some polish. Route button icons. Rebuild midi track info ui file - was 3 columns not 2. (Tim)
* Fixed: Hopefully, finally: Non-appearing track info scroll bar. (Tim)
Simple movement of recursive call of sb->setVisible() to end of TLLayout::setGeometry().
- Audio strip prefader now controls audio. (Tim)
18.12.2011:
* Fixed: Annoying ladspa browser issues. Leak: Dialog was not destroyed. Sorting. Save complete state. (Tim)
17.12.2011:
- Fixed long-time graphics corruption issue: Large areas of desktop erased to background. (Tim...)
Fixed class RoutePopupMenu. Now a subclass of PopupMenu. Changed all usages to 'short-lived' ::exe(),
no more single 'long-life' pointer in class MusE. That should allow multiple instances, using ::popup().
Also fixed class PopupMenu. Tested all submenu and item destructors - OK, everything destroyed on close.
- Fixed TList::ColorMenu parenting. Pass it a parent from TList::mousePressEvent.
- If Jack is running but no Jack midi devices were found at start, auto-fill with ALSA just to give something.
* Fixed: Some relief from mixer strip and midi track info bloated size. (Tim)
Changed default strip font size from 8 to 7. Changed icon sizing - just let strip layout do its thing, instead of forcing size.
Changed default style sheet to blank. Was causing problems with track info font size.
Fixed mixer: Rebuild mixer upon config font changes.
Re-arranged some font usages. Updated descriptive tooltips on font entry boxes.
Re-claimed font#5 as a 'small bold' font for things like markers.
16.12.2011:
* New: Midi routing matrix! No more clumsy routing menu items. Currently for Midi Track iR and Audio Input iR solo routes. (Tim)
14.12.2011:
- Corrected FSF address in ladspa.h and vam/COPYING. (Orcan)
12.12.2011:
* Improved: Midi ports list now fills automatically at start. (Marked as p4.0.41 Tim...)
An effort to help new users and others. If auto-filling the mid ports proves too much or unpopular, a simple change
will keep them out of the list, yet still auto-create and auto-connect Jack midi devices, which is still better than before.
Even if and when 'set and forget' configuration is added, this initial filling step may be welcome for new users.
NOTE: Virtually impossible to 'auto-pair' together Jack midi inputs and outputs. But I'm working on it, some code in there...
- When opening a song, choosing only 'Song data', without configuration, now does not upset the midi configuration at all,
yet controller data was attempted to be kept - may need to remove that effort.
- Moved start song loading into main.cpp, with helper in app.cpp. Disabled Florian's 'hackish loader', may be fixed now - TO BE TESTED!.
- List only writeable ports in track list output port column and midi track info combo box.
- Jack midi devices now save an additional required rwFlags xml tag.
- ALSA Midi fixes: (Un)subscription errors. Delete our simple port! Unsubscribe from announce port. Ignore SND_SEQ_PORT_CAP_NO_EXPORT
ports like 'qjackctrl' or 'port'. TODO: Possibly auto-assign newly discovered devices to available midi ports, in alsaScanMidiPorts().
- Hack: "Midi Through" ALSA and Jack devices pushed to end of list, and list sorted, so useful outputs appear first.
- Stopped our own ALSA client from appearing as Jack midi alsa_pcm device.
10.12.2011:
- More improvements to project save dialog. And tries to suggest parent folder if saving existing project. (Tim...)
- Midi ports dialog: Auto dis/connect the stated default channels when selecting a device.
09.12.2011:
- Fixed popup menu behaviour with (nonstandard!) checkable submenus (flo)
- Fixed wrong START_DRAG when clicking on popup-columns (flo)
06.12.2011:
- Fixed drawing of logarithmic values (god how I hate these conversions!..!$%) hopefully...
should be improved by precalulating max and min values (rj)
05.12.2011:
- Complete Spanish translation from Cristian Ramos (rj)
03.12.2011:
* Improved: Project save dialog: Now has quick save as Template. Separate project/result paths shown. Editable project folder. (Tim...)
* Added: Project directory in global settings dialog.
* Added: Untitled project unique names.
- Fixed bug saving compressed files with spaces in name, in filedialog.cpp fileOpen().
More work in progress...
02.12.2011:
* Added: Project creation dialog now has file type combobox (.med, .med.gz, .med.bz2) (Tim)
* Fixed: Remaining bugs with Header saving and loading (ex track, drum list header). (Tim)
Made two slight fixes in Header::writeStatus and readStatus. Tested thoroughly OK.
01.12.2011:
- Removed global settings User Instruments dir. Now fixed to muse config. Support for old files included. (Tim...)
- Changed: In File Dialog, 'User' initial prepend path changed to muse ./config path. So user files + templates are shown.
- Fixed: Template directory changed from /home/templates to muse config directory. Support for old files included.
- Moved QSocketNotifier from Audio::Audio into MusE::MusE.
- Fixed mixer and main geometry restoration. Moved ahead of doReadGlobalConfig check.
- Work In Progress! More to follow...
28.11.2011:
*Fixed: DSSI synth audio inputs. This means dssi vocoders, samplers etc. should work now. (Tim...)
*Re-write: Fixed audio mixing, meter processing. Audio, and meters, for all mono <-> stereo route combinations work sensibly now.
- Do not apply the track pan or volume to extra synth channels above 2.
- (Re-)fixed valgrind 'invalid read size' in node.cpp, my very-old bad. Moved temp stack buffers to top. (Thnx to Flo)
- Window titles of ladspa and dssi plugins now have track name prefix to help identify them.
- Added "Unused Devices" menu to the arranger's port popupmenu for rapid device selection (flo)
28.11.2011:
- MusE 2.0 release candidate 1 released (rj)
27.11.2011:
- fixed invalid read problem in node.cpp: replaced the (ab-)use
of a temporary stacked buffer (which was deleted too soon)
by the use of a temporary heap buffer (new[]) (flo)
26.11.2011:
- Added config properties for add-track menu, show all, show only visible and property for making visible what you add (rj)
- Split behaviour and style configuration to two tabs (rj)
- Adding invisible tracks no longer update track-info in arranger (rj)
- clicking the background in tracklist and arranger no longer clear focus (rj)
- moved configuration items for track visibility to global config (rj)
- Added right click quit to channel strips (rj)
25.11.2011:
- fixed segfault when closing and SndFileList had more than 1 entry (flo)
- fixed some mismatched deletes (delete vs delete[]) (flo)
24.11.2011:
- Fixed: xml song loading ignores very large text such as with Hexter-DSSI. Reported by jphaenlin. (Tim)
Changed all local buffers to QByteArray (for unlimited size). Test OK loading/saving large songs + Hexter-DSSI.
- Fixed "Invalid Read/Write"-bug with moving parts past the song's end or past the last track. (flo93)
The problem was: when the song was automatically enlargened / a new track has automatically been
created, the song was update()d, and thus songChanged() was called. Within
songChanged(), the PartCanvas clearDelete()d its items list, deleting every
data pointed to by that list. However, right after that, the current loop's
CItem* is still used (which has just been deleted, that is, invalidated.).
In case the loop will go on, there would be even more similar errors.
Solution: - Added UndoOp::ModifySongLen-action, and used that one for altering song length.
- changed Song::addTrack() to write into operation groups.
adapted all code using Song::addTrack() accordingly
- changed PartCanvas::moveItem() to support whole lists of operations.
- Fixed a small unused-parameter warning (flo)
- Updated broken (but unused) UndoOp::typeName() function (flo)
23.11.2011:
- Fundamental audio engine fixes/changes together with a variety of other fixes. (Tim...)
- Process track and plugin dssi controls always now, even if off. Fixed problems adjusting/saving gui values. TODO: Dssi when off.
- User is now forbidden to do circular routing. Routing menu items are now disabled according to whether they would cause a loop.
Installed anti-circular routing mechanism, allows processing should a circular route actually exist (old files, bugs, deliberate? etc).