-
Notifications
You must be signed in to change notification settings - Fork 71
/
Copy pathChangeLog
6420 lines (6329 loc) · 403 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
29.09.2016:
*** MusE 3.0.0pre2 ***
Second prerelease of MusE 3.0.0
- Bug #526 by jphaenlin: Crash on cut with scissors while master open. (Tim)
Seems old: In class MidiEditor: _pl (parts list) can be NULL, so protect the rest of the code.
28.09.2016:
- Completed Robert's mixer strip selection + keyboard navigation features. (Tim)
Now works in BOTH mixers A and B. Tested OK all functions.
Use the arrow keys and ctrl and shift to navigate strips and adjust volume and pan.
25.09.2016:
- Midi ports/synths configuration dialog: Allow multiple selections in device list. (Tim)
24.09.2016:
- Anti-alias the small routing channel circles. (Tim)
23.09.2016:
* Revenge of the knobs!:
- Complete re-design of mixer strips, reinstating knobs but much smaller and compact. (Tim)
- Switchable between knobs and sliders, via Global Settings or via right clicking any mixer strip. (Tim)
- Also switchable value display, to minimize clutter.
- Replaced clumsy three-slider midi patch editor with single-line custom LCD editor. (Tim)
17.08.2016:
- Bug by Martin Drautzburg: ALSA Midi controllers not working. (Tim)
- Bugs by Michael Oswald: Change 3 delete to delete[]. In LV2Synth ctor, free _nPname later. (Tim)
03.08.2016:
- Merged fix for bug where configuration storage had stopped working, from AndreeeCZ (rj)
- Updated templates to 3.0 (rj)
- Fixed color-theme switching no longer working (rj)
- Added another idf from Dennis Schulmeister, for Yamaha Motif XS (rj)
27.06.2016:
- Added instrument definition files from Dennis Schulmeister for:
* Korg Krome (Bank Map KORG).idf
* Korg Krome (Bank Map GM2).idf
* Roland-MT32.idf
* Lexicon-MX200.idf
* Yamaha-Rex50.idf
20.06.2016:
- Added connection between arranger and mixer so selecting a track carries over to the
mixer. Mostly a visual queue but some keyboard navigation and editing is possible (rj)
19.06.2016:
- Removed XML printout that warned of malformed xml, mostly due to the parser being
incomplete, still prints the warning when debug is enabled and when we are reasonably
sure it's wrong. (rj)
- Added keyboard navigation between strips in mixer. Ctrl+left/right to move between
strips. Up/Down to change volume slider (TODO add pan left/right) (rj)
- Strips can also be selected with clicking and ctrl+clicking to select more than
one. (TODO select strips from arranger too and allow to move all selected strips)(rj)
16.06.2016:
- Removed the ability to delete strips from the mixer, atleast temporarily, as it was
crashing (rj)
02.06.2016:
- Rolled back transport icons to previous version (the new version looked bad with some themes)
and made a new rec icon (rj)
30.05.2016:
- LV2: Fix playback crash with certain midi event times, in LV2SynthIF::getData(). (Tim)
- Midi file export: Added missing Aftertouch, PolyAftertouch support! (Tim)
28.05.2016:
- LV2, LinuxVST: Fixed Aftertouch, PolyAftertouch, Pitch improper composition. (Tim)
- LV2: Fixed sending redundant program changes with every small seek. (Tim)
- LV2, DSSI: Support 16384 Banks, arranged as two 8-bit-wide, 7-bit High and Low Bank values. (Tim)
- Thanks to Will Godfrey for reporting and testing with yoshimi.
21.05.2016:
- Fixed bug with ctrl+rightclick resize of notes no longer working (rj)
- Fixed shortcut for Pointer tool in right click tool menu (rj)
20.05.2016:
- Fixed bug with reversed Input/Output hidden in mixer menu (rj)
19.05.2016:
- Upon startup, Jack midi inputs/outputs are (finally) now paired together
into single MidiDevices just like the ALSA MidiDevices. (Tim)
How it works: If the DIFFERENCE between two Jack midi port names are EXACTLY
the words "capture" and "playback", or "input" and "output", or "in" and "out",
or finally "c" and "p", then the ports are considered a matched pair.
(The best names or aliases are picked, "system:" are avoided, similar to our
persistent port routes feature.)
16.05.2016:
- Updated lv2Support tree to latest versions. (Tim)
Instructions on how to do future upgrades added to lv2Support/ChangeLog.
- Added new cmake option 'ENABLE_LV2_SUPPLIED', to use supplied vs. system
lv2 support libraries (lv2, lilv, serd, sord, sratom etc). Default off. (Tim)
- Removed pre-built lv2Gtk2Helper libraries and folder. (Tim)
Replaced with lv2Gtk2Support folder, always built by cmake.
* Thus, GTK2 dev packages gtkmm-2, gtk+-2 are now REQUIRED for LV2 Gtk2 UI support.
- Fix compile stoppage warning if using Jack-1. The very old 'case 4: hack' in
processSync and JackAudioDevice::getState(). (Tim)
- Suppress unwanted Jack info terminal output. (Tim)
13.05.2016:
- Added instrument file for Classic Cantabile SP-250 / Medeli SP4200 from
Mariotte91 at fontenay.tk (rj)
29.04.2016:
*Important bug fix: About two dozen CORRUPT usages of QByteArray::constData(). (Tim)
In: routepopup.cpp lv2host.cpp helper.cpp dssihost.cpp jackmidi.cpp conf.cpp
vst_native.cpp minstrument.cpp
Symptoms could vary wildly. On my system MusE refused to load the config file.
- Fixed compile stoppage due to latest Jack obsoleting jack_port_set_name(). (Tim)
Created 'dlopen' function pointers for jack_port_set_name() and the brand new
jack_port_rename(), and arbitrated between them.
- Disable ElidedLabel auto-font size for now (midi strip instrument/patch labels). (Tim)
22,04.2016:
*** MusE 3.0.0pre1 ***
First prerelease of MusE 3.0.0
21.04.2016:
- New: Accu-Slider: All sliders support 'shift' control for single-stepping
even with thin sliders. (Tim)
The shift control changes from 'coarse' to 'fine' adjustment mode so
you can zero-in on an exact value even with very short sliders.
14.04.2016:
- Added missing Aux slider and Midi Program slider Appearance colours. (Tim)
- Complete rewrite of 13.04.2016. Non-modal colour chooser, fully interactive. (Tim)
- Do not save part colour names in colour configuration files. (Tim)
13.04.2016:
* New - Live colour editing and Colour Chooser Dialog in Appearance Settings: (Tim)
- All target colours are updated live in realtime. With functional Apply, Cancel, and OK.
12.04.2016:
- Implement meter colours from appearance settings. (Tim)
- Finish default colour scheme. (Tim)
- Fix obvious crash when loading another song: Do not connect songChanged()
directly to Arranger and Pianoroll trackinfo's Strips. Instead, the Strips'
songChanged() is called by Arranger and Pianoroll. (Tim)
11.04.2016:
(By Tim:)
- Completed (mostly) work on arranger, trackinfo, strip makeovers.
* New Appearance Settings:
- Several new 'Mixer' colour settings: Sliders, gain, pan, aux etc.
- New: Load and save colour settings. Share or backup your custom colours!
- New: Aliased small fonts for certain controls (brighter, sharper!),
with adjustable on/off size in Settings.
* New audio/midi mixer strip 'Component Rack' system, streamlined and unified:
- Configurable controllers, properties, and other selectable 'components'.
- Not quite ready yet, user-configurability hidden for now...
* New UI control functions:
- All descendants of SliderBase (Slider, CompactSlider, Knob, ThinSlider etc)
now support three adjustments 'modes':
Normal: Control moves with mouse.
Jump: Holding ctrl/middle mouse button jumps immediately to the value.
No-track: Holding meta changes the value only when mouse is released.
- Reworked automation rec/play functions to fully support these modes.
* Bug fixes:
- New: Discrete trackinfo panel parts have been replaced with a
unified class TrackInfoWidget, where classes WidgetStack, Scrollbar,
and TrackInfoLayout are combined into one widget.
Undesirable recursive things in the previous layout have been minimized
by using this container to hold everything.
- Full rework: Bottom area of arranger: Caused runaway width in some cases!
TODO: Drum editor has a similar sizing problem, difficult to shrink sometimes.
- Reworked Global and Appearance Settings dialogs to be smaller.
- Some other small fixes.
06.04.2016:
- Fixed show/hide menu choices in mixer for strips (rj)
- Remember last mixdown directory (rj)
24.03.2016:
- Changed lilv/lib.c: lilv_lib_open(): Added RTLD_DEEPBIND to dlopen() call. (Tim)
Fixes at least two Qt4-based external-ui synths (synthv1, drumk) crashing.
See corresponding UI dlopen call in LV2Synth::lv2ui_ShowNativeGui()
for a similar fix and test results (better but the UI still CRASHES here).
No other such plugins were found, in order to test this fix further...
- LV2: Fix very slow right-click synth 'presets' menu with many items (ex. amsynth). (Tim)
21.03.2016:
* New Plugin Path editor in Global Settings: (Tim)
The LADSPA_PATH DSSI_PATH VST_PATH LINUX_VST_PATH and LV2_PATH environment variables
are now read only ONCE upon first-time run, to fill the Global Settings boxes.
Afterwards these variables are SET (internally) by MusE at each startup, from the
paths in the Global Settings boxes, so that the various plugin systems can find plugins.
(Actually, LV2 /required/ setting LV2_PATH since we use the recommended lilv_world_load_all,
and there doesn't seem to be any other way to set the paths programmatically in that case.)
- Updated -h help text to reflect changes.
21.03.2016:
- LV2 fix: Support PowerOf2BlockLength - Was missing! Supports more plugins! (Tim)
- LV2 fix: Support FixedBlockLength - Our process routines weren't respecting this! (Tim)
If any controller input was adjusted, a plugin would 'gurgle' or might soon CRASH.
- LV2: Add debugging output (-D option) while discovering plugins. (Tim)
- LV2: Report if a plugin is ignored due to any unsupported 'required feature'. (Tim)
Tested OK! With MOD Pitch Shifter series of plugins (they require fixed-block AND power-of-2).
At both 1024 and 128 block size, these plugins' controllers responded smoothly, both with
rapid manual adjustment and graphs, and did not 'gurgle' and did not crash after much abuse.
19.03.2016:
- Fix toolbars initial positions in all windows. They were all on one line. (Tim)
Our shared toolbar system can now use a toolbar's objectName to /replace/
an existing toolbar, in MusE::setCurrentMenuSharingTopwin().
This keeps common toolbars in-place (by default) in all the windows,
especially as applied to the Main Window and the Arranger.
- Rebuild Tempo Signature and CPU toolbars to allow shrinking. (Tim)
- Fix problems with arranger minimum size and saving/restoring window sizes. (Tim)
14.03.2016:
* Arranger Track Info panel makeover: (Tim)
- Add midi strip (finally!)
- Add splitter handle for resizing the panel (finally!)
- Add 'Alt' button to switch between midi strip and old midi track info.
- TODO: Splitter initial default sizing issues. Saving/reloading should be OK though.
Also maybe some crashes. Massive cleanups.
12.03.2016:
- Fix routing popup menus consuming all CPU power upon mouse movement. (Tim)
In RoutePopupMenu::event(), removed "case QEvent::MouseMove". Seems to test OK without it.
11.03.2016:
- Make it slightly easier to recompile lvGtk2Helper library: Separate 32/64 bit makefiles
and automatic cmake choosing of user-compiled over pre-built version. (Tim)
09.03.2016:
- Converted python scripts to python3 and explicitly launch with python3 (rj)
- Fixed focus issue with running scripts, if launched from an editor, the editor
would be pushed back behind the arranger (rj)
08.03.2016:
- Project dialog put focus on name (rj)
- Punch in recording now works better when recording is started after the punch point. Live wave recording doesn't seem
to work though. (rj)
07.03.2016:
- Pianoroll: Make midi strip vertical scrollbar appear to the RIGHT of the strip, not intrude into strip. (Tim)
Similar to how arranger trackinfo scrollbar works. Much harder than it sounds:
Added new custom trackinfo_layout module. Moved class ScrollBar into its own module. Added Splitter::setPosition().
- Fix regression in MusE::readPart() causing not to re-open saved open midi editors. (Tim)
01.03.2016:
- Fix remaining audio engine bug from 31.10.2015: Certain routing conditions produced garbage audio output,
and pinned channel meters. (Tim)
Fairly substantial re-write of AudioTrack::copyData(), ::getData() and variants, especially input routing.
Removed AudioTrack::addData(). Cleanups of massive comments etc. Test OK with many multi-channel scenarios.
26.02.2016:
- Save state of: Routing preferredRouteNameOrAlias and routerGroupingChannels,
and routing dialog button routerExpandVertically. (Tim)
25.02.2016:
Plugin generic UI fixes, new features: (Tim)
- New: Class Meter now has orientation: Horizontal or Vertical.
- New: Class Meter now has scale markings (just like class Slider).
- Fix bug #470: Built-in MusE UI (such as LADSPA TAP Reverberator) not responding to controls.
- Replaced plugin generic UI ThinSlider with Slider.
- New: Plugin generic UI sliders have scale markings.
- Fixed backwards plugin generic UI output meters: Replaced VerticalMeter with Meter,
and enabled meter scale markings.
- Removed class ThinSlider and VerticalMeter from cmake build (but not from project).
- Related: Mixer strip volume sliders: Reinstate a 'thumb' knob.
24.02.2016:
- Remember the state of ALSA button in Midi Configuration dialog. (Tim)
It is a global setting, not per-song.
22.02.2016:
Merge from midi_engine_fixes branch: (Tim)
- Added MidiTrack 'stuck notes' and 'stuck live notes' lists and support.
For better handling of stuck notes for example when muted or rec-arm turned off.
- Split 'stuck notes' handling between devices and tracks.
- Removed midi instruments 'null parameters' setting, moved into General Settings midi tab as
'Send null parameters' checkbox, default is off. Removed the setting from all .idf files.
- Added General Settings midi tab 'Optimize controllers' (don't send dupl params or values). Default off.
- Finished note-off / zero-velocity work of 13.01.2016 (it required the live stuck notes list above).
- Apply midi track velocity/compression settings (and drum volume) to note-offs, not just note-ons.
- Removed 'curProg' members from SynthI, and no longer read or saved in song.
Replaced with MidiOutputParams struct in class MidiDevice. It holds current banks and prog,
and current (N)RPN parameters and data, to faciltate the 'Optimize controllers' setting above.
The current program settings for all channels are still stored in the song's MidiPort controllers.
- Added class MidiEncoder to handle all midi controller input encoding. (WIP)
- Added more latency functions to track and effects rack. (WIP)
17.02.2016:
(By Tim)
- Audio automation graphs fixes:
- Greatly reduced CPU usage while playing and graph(s) showing.
(Update only required rectangles and paint only requested rectangles - not the whole darn window.)
- Fixed flickering when moving mouse.
- Added drawing layers: Draw lines, then vertices, then text. With moderate transparency.
- Added shaded box for text, to stand out better.
- Vertex selection: Guaranteed to be able to select a vertex even in densely crowded multiple graphs.
- New vertices: Guaranteed to be able to add vertices to lines even in densely crowded multiple graphs.
Note that preference is now given to selecting/moving existing vertices over adding new ones.
The vertex 'hit' zone is such that if you really wanted to add another vertex to an already dense
graph portion, then you should zoom in more.
- Undo system fix in Undo::merge_combo():
if (this->combobreaker || other.combobreaker) // Flawed?
if (other.combobreaker) // Changed. Test OK.
- Audio automation graphs: Added Undo support. Smart Undo support using the above Undo fix.
Dragging a vertex around makes only ONE Undo step.
This is the first real 'editing' usage of Smart Undo using Florian's combo/breaker system.
Score Editor uses it for undo-able note selection. But there was a bug where it required two undo clicks,
and the above Undo fix seems to cure it now, one click only.
Another good example of Smart Undo usage (TODO): Editing the Track List channel column.
12.02.2016:
- Added instrument definition for Yamaha S30/S80 made by Dennis Schulmeister (rj)
09.02.2016:
(By Tim)
- Non-shared event lists followup: Wave event sndfile handles are now truly
unique - overlapping multiple compressed audio file instances will play
now instead of halting MusE.
TODO: When a wave part is edited, ensure other instances' caches are updated.
Note: The master sndfile list is now meaningless. (It now allows MULTIPLE instances of SAME wave file.)
It will either soon be REMOVED, or embellished/re-purposed. As will the Clip List Editor.
It is kept for now, so that the Clip List Editor can help debug what is going on.
- Fixed crashes when using wave editing functions. Possibly fixes recording spikes too?
- Close or re-open sndfiles in deleted or undeleted wave tracks/parts/events.
- Fixed part copying in Duplicate Tracks function. Dialog added new modes.
- Revert old: Do not auto-snap newly recorded wave parts to the grid. (Importing never did this.)
- Streamlined some complex multi-cycle operations (stopRolling, recordStop, deleteTracks etc.)
into single undoable operation lists (one cycle).
- Eliminated the (very old) brief total audio dropout on transport stop or rec stop.
- Fixed the (very old) audio FIFO underrun copious errors, at song load then play.
- Added undo of recorded audio automation controller events.
- Good speed ups to midi sustain controller real-time stop/start disabling/reenabling loops.
(Rearranged the loops - it was iterating all 200 ports x 16 channels).
- Still some related finishing work to do...
07.02.2016:
- Added widgets dependency on instruments, liste and deicsonze targets (Orcan)
06.02.2016:
- Fixed wave writing corruption when realtime wavedrawing was enabled (rj)
- Arm all selected tracks in the arranger when clicking REC (rj)
29.01.2016:
- add shortcuts for mute tracks (SHIFT+m) and solo tracks (SHIFT+S) (rj)
28.01.2016:
- print DSP load in CPU toolbar
- allow gain in channelstrip to attenuate also (rj)
25.01.2016:
- added midi drum name to simpledrums sample config (rj)
22.01.2016:
- raise config dialogs after apply to keep them visible (rj)
- removed startSong from the config in the default case
as we already know what should be there (rj)
- Pianoroll/drum editor: Ensure new events are selected. (Tim)
- Refix: Midi import empty tracks: Small revert. Test OK with user-supplied broken/fixed .mid (Tim)
21.01.2016:
- Midi import: Ignore empty tracks with zero data. Fixed corruption if so. (Tim)
- Midi import/export: Delete allocated memory.
*New: Midi export now has 'Use running status', and the instr/mode + port/device
metas can now be turned off for a 'cleaner' file.
- New wavedrawing mode (set to default) with drawing only a tiny outline of the wave (rj)
- DidYouKnow dialog now allows multiline help texts (rj)
- Several of the colors written to the config were not properly read back, now fixed (rj)
- Fix drum editor: In Canvas::findCurrentItem: Selecting notes required 2 clicks,
this also fixes dragging of selected same-time notes not dragging correct notes. (Tim)
20.01.2016:
- Fixed mixer crash when deleting track in updateStripList. (Tim)
- Fixed audio rack plugin problems: From README.effects-rack:
"For mono tracks with plugins having more than one audio input or output,
MusE uses the first input or output and ignores the rest."
This was not happening. It was using the second output. Fixed.
Optimization: When changing track channels: Previously we deleted all rack plugin
instances and rebuilt them. Now it only deletes or rebuilds what is necessary.
Fixed: A good side effect of the above is that rack plugin GUIs no longer
disappear when changing track channels :-)
Fixed: Multiple-instance plugin GUIs were being updated from the last instance's
control values. Now they are updated from the first instance (ie. 'left').
- Arranger fixes: Fixed problems with channel unwanted double increments.
Fixed problems with popup editors, click/doubleclick passing to parent,
for example channel editor box causing 'track lock' column icon to light.
*Arranger Feature - Multiple selected tracks common property editing:
- You can now edit a property and it will change all the selected tracks.
Currently works for track channel column and midi output port.
18.01.2016:
- Strips are raised when dragged in mixer (they should also get a solid background)
- When sorting mixer as arranger moving strips in mixer affects arranger also (rj)
16.01.2016:
- Added ability to rearrange mixer A and/or sync it to the arranger look
Features:
- Traditional look
- Sync to arranger
- Manually rearrange mixer with drag and drop
- Allow individual strips to be hidden (reenable them from the view menu)
Still bugs to iron out and allow mixer B to also work (rj)
08.01.2016
- Fixed icon pos for transport toolbar (rj)
15.01.2016
- Routing popup menu: Fix stereo grouping mode not connecting both channels
if second channel is clicked. (Tim)
14.01.2016
By Tim:
- System-wide accuracy fixes, part 1:
Enforcement of audio controller double-precision floating point accuracy internally,
all the way up to the lowest-level structure Port (in plugin.h). Port now has a double value
besides the existing float value. All track, plugin, and synth code changed to use double-precision
wherever possible (only Track can take advantage of double - plugins/synths only use floats).
- Due to inaccuracy in log*() functions, muse_math.h was added where special macros are defined for:
muse_log10r() and muse_val2dbr() (round to the nearest .000001), and muse_db2val().
These use log10 and pow10. Some critical code will use the poor-accuracy fast_log*() functions
in fastlog.h for speed, while other code takes advatage of (requires) our more accurate macros.
- Audio strips: Ensured and verified accuracy and round-trip consistency of vol, aux, gain sliders
and labels, and their controllers.
Fixed strip slider problems honouring Settings 'Slider minimum value'.
This value now means 'off' or 'muted' (-inf dB), not some value below it like before. Test OK.
13.01.2016
By Tim:
- More note-off fixes related to 21.12.2015: Added Instrument Definition Files NoteOffMode attribute.
Enforcement of internal note-off velocity usage, and no internal midi Event zero note-on velocities.
- Fixed old -l locale switch problem by adding QLocale::setDefault();
12.01.2016
By Tim:
- Mixer makeover in progress:
- Replaced strip knobs with horizontal sliders.
- General redesign of strip look and sliders.
- Strips are expandable now with a right-edge 'handle'.
- Fixed old mixer problem with unpainted areas (solved by QWidget::setUpdatesEnabled()).
06.01.2016
- Added 'clipper led' to mixer's audio strips (danvd)
02.01.2016
- Added Native VST FX support (rack insert plugins) (danvd)
27.12.2015
- Midi Instrument Editor: Fixed errors from ancient missing Qt3 signals.
Fixed problems with instrument / patch / controller lists. Tests OK now. (Tim)
21.12.2015
- Rewrited midi events code for lv2 host. Fix for #435 (danvd)
13.12.2015
- Added support to resize notes and parts to the left with pencil tool (issue #292) (danvd)
11.12.2015
- Added LV2 UI open behavior (danvd)
06.12.2015
- Added live update of wave parts while recording (danvd)
03.12.2015
- Added Native VST shell plugins support (danvd)
03.12.2015
- Added non-discard restart recording function (a-la multi-take, SHIFT+space is default shortcut) (danvd)
01.12.2015
- Added recording restart function (CTRL+Space to activate while recording) (danvd)
21.11.2015:
- Auto resample imported wave files to project's sample rate (danvd)
18.11.2015:
- Added double click on Port column to open the gui of a synth (rj)
31.10.2015
By Tim E. Real:
* New routing capabilities:
- New: Persistent routes: If a device disappears (say USB Midi) we remember it.
Currently works for Jack audio and midi routes.
TODO: Expand concept to include persistent Synth Tracks, Rack Plugins and Tracks.
- New: Multi-channel Audio Track routing. Any channel to any channel.
Fully functional (although maybe a sound engine bug - an unconnected
channel may have repeating nonsense sound data.)
Audio tracks still only have up to two channels (or N synth audio channels),
but this feature may help later for true multi-channel Audio Tracks.
Users connect individual Audio or Midi channels with 'Channel Routes',
or all at once with 'Omni' Routes (similar to previous behaviour).
- New: Graphical Routing dialog redone and enhanced. Almost complete.
Added to routing popups as "Open Advanced Router".
Middle Connections View window, which can be scrolled.
Thick lines are Omni Routes and thin ones are Channel Routes.
Each pane's tree has textual Omni nodes, plus some have a
'Channel Bar' sub node (an array of connectable Channels).
All nodes are organized in 'Category' nodes.
Itemized Master Connection List synchronized with left and right panes.
Filter buttons: Show only selected nodes in left or right pane
Show only routeable nodes in the other (right or left) pane
Show all 200 Midi Ports (else it filters unused/unrouted ones)
- Routing popup menus redone. Test OK, some cosmetic tweaks aside.
Shows Channel Routing matrices, plus easy single-click Omni Routes.
Uniform audio and midi routing popup menus.
Full keyboard support.
- Note: Keyboard action activation for ALL popup menus, including routing,
has been changed from space bar to Enter. Hold ctrl to 'stay open'.
- New: Routing popup menus for Midi Tracks now allow you to do Jack Midi
routing from the menus! Like "Connect this Midi Track to Jack Midi port
XYZ via Midi Port 123:MyJackMidiDeviceName".
- Midi Track to Audio Input routing (for soloing chaining) greatly simplified.
Instead of a cumbersome dual system of Midi Track to Midi Port route and
Midi Port to Audio Input route PER track channel, now it is simply a more
direct Midi Track to Audio Input Omni Route. No 'channels' involved.
This behaviour is different than before, but should still serve the purpose
of soloing chaining.
- Instead of one route for all 16 Midi Track channels using a bit-wise mask for
the Route::channel member, it is now reverted back to one route per channel.
This makes all routing uniform (Route::channel now always means 'a channel'),
no special code for Midi Track routes.
(Applies only to Midi Track input routes for now.)
* File operations:
- A new system of warning users about loading older song file versions
is in place and operational. It uses the MusE File Version number
found in the xml module. Increment it wisely given these new warnings,
especially if 'auto-converters' are 'quietly' enacted while loading.
- Added conversion code to transform older loaded files into the format
which this verion currently stands at.
- Saving and loading tests OK so far but may need a few tweaks.
* Midi config dialog:
- New: Device List added, with 'Delete' button.
- New: Command-line flag disables startup 'midi auto-discover/fill devices/ports'.
- Default Jack Midi Device names have been changed.
Instead of 'mirroring' the long Jack Midi port names, helpful but NOT good - a
different Jack port or multiple ports can be connected making the name meaningless -
Midi Devices are now simply named like "Jack Midi 1".
- Fixed improper Native VST version number display in synth list.
23.10.2015
- Moving to 3.0.0 release (danvd)
23.09.2015
- New cpu usage metering algorithm without jack dependency (danvd)
01.07.2015
- Implemented "Normalize wave part" menu item for wave track parts (danvd)
24.06.2015:
- Added information in About box about supported plugins. Feel free to
add more status info! (rj)
30.05.2015:
- Patch from Michele Ballabio to compile muse without LV2 enabled added (rj)
15.05.2015
- Added some missing initializations for native VST synths (rj)
- Added some instructions for compiling with Steinberg VST SDK instead
of the bundled Vestige header (rj)
05.05.2015
- Added multichannel support for SimpleDrums (+routing ability) (danvd)
- Added channel meters for SimpleDrums (danvd)
- Updated SimpleDrums config to version 3 (added routing config saving/restoring) (danvd)
15.04.2015:
- Fixed bug #363, Len not initializing correctly when importing midi files (rj)
03.04.2015:
- Made raster colors in midi editor editable and section dividers in track list (rj)
15.03.2015:
- Changed string handling to allow international characters in fluid synth
as well as wave tracks, this has affected several parts of muse, not the
least undo/redo. Internally handling of strings have been changed to QString
instead of char * in several places. This to minimize conversions as this
is a big source of errors. String conversions from .toLatin1 have been changed
to toLocal8Bit and QString::fromLocal8Bit in many places. I think this is
right way but it needs more testing. Fixes bug #361 (rj)
02.03.2015:
- Slow motion moving of editing of automation with shift key (rj)
04.02.2015
- Added smooth transition from big to small meter value (danvd)
31.01.2015
- Load lv2 gtk2 ui helper on the first native gui call (danvd)
- Removed lots of warnings, tested both on clang and gcc (danvd)
- Added -Werror to DEBUG build type (danvd)
28.01.2015:
- MusE 2.2.1 release (rj)
- Optimizations to lv2 rtfifo class (danvd)
- Fix for potential crash on startup due to defaultStyle (danvd)
20.01.2015:
- Change toggle functions in track list to not include output tracks (rj)
- Added ability to change all midi tracks or all drum tracks to the same port with
control clicking on the output port name (rj)
18.01.2015:
- Added shortcut to edit track name, F2 (rj)
- Added multi toggle of mute, solo and midi track type.
If multiple tracks are selected and one of them is clicked they will all be affected by the operation
Additionally for solo and mute, if the Control key is used, ALL tracks will be toggled. (rj)
17.01.2015:
- Added link library sndfile for SimpleDrums (rj)
- typo with duplicate tracks shortcut fixed (rj)
15.01.2015:
- Ported code to Qt5. Port works rather stable - no crashes and artefacts
during 4 days testing (danvd)
- Added scrollable submenus option to global settings (danvd)
- Added CPU load toolbar (danvd)
- Optimized RT Fifo class used for lv2 plugin <-> UI communication.
This reduced CPU load by 1-2% :) (danvd)
- Integrated Presets submenu into midi track's programs menu for LV2 synths (danvd)
- Implemented presets saving and updating for LV2 synths/rack plugins (danvd)
- LV2 presets are stored in common format and can be
shared beetween lv2 hosts (danvd)
- Integrated lv2,lilv,sord,serd,sratom,zix libraries into MusE's source tree.
Now MusE can be compiled without external LV2 dependences at all (danvd)
- Reworked Appearance::defaultStyle static QString variable (static var init fiasco fix) (danvd)
15.01.2015:
- Fixed bug with setting name for dupliated tracks and reworked a bit (rj)
- Some shortcut changes (rj)
- Changed metronome accent to only affect offbeat (rj)
12.01.2015:
- Added new Czech translation from Pavel Fric (rj)
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: