-
Notifications
You must be signed in to change notification settings - Fork 19
/
ChangeLog.muse
4218 lines (4154 loc) · 256 KB
/
ChangeLog.muse
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
26.01.2011:
- moved automation lines ontop of parts (rj)
- fixes to automation editing, still many bugs though (rj)
21.01.2011:
- Added: graphical editing of automation, also now stores which parameters are visible (rj)
Edit with new automation tool in arranger, to create new points hold down ctrl.
TODO: Easy selection of colors, create new points need improvement, and probably a
bunch of bugs, drawing does not always work for instance, and some cleaning
17.01.2011:
- fixed: panic button (rj)
- fixed: initialization crash when loading a new project (rj)
15.01.2011:
- fixed: bug were wave track appeared to be rec enabled but no file was created. (rj)
- made create project dialog optional, also some minor tweaks to the dialog (rj)
-
09.01.2011:
- These changes marked as p4.0.14:
- Applied aux send fix AudioTrack::writeProperties() by Remon. Thanks. (Tim)
- Fixed very slow midi trackinfo property adjustments with mixer shown. In AudioMixerApp::songChanged(). (Tim)
* Feature!: Complete soloing system (after 4 years). Support chaining Midi Port/Audio Out -> Audio In. (Tim)
Click on audio strip iR, or midi strip oR, or midi track info oR buttons to see new additions.
Tested thoroughly, but of course this major change needs wider testing.
TODO TODO: Fix trackinfo width (a minor button placement gui issue).
* Some tweaks for automation viewing, more to do. (rj)
04.01.2011:
- Added saving and restoring of pianoroll trackinfo h-splitter state. (Tim)
- Fixed multiple velocity controllers appearing on song reload. Tested OK. (Tim)
- Fixed arranger trackinfo widgets sizing - were allowed to shrink vertically. (Tim)
TODO: Fix trackinfo scrollbar not showing at right time.
- Replace all QWidget::setShown() calls with setVisible(). (Tim)
It's supposed to be a Qt3 function, but still supported.
- Enabled displaying of audio automation on tracks (rj)
- Added right-click on track ARM buttons, now enables/disables all tracks of it's kind (rj)
02.01.2011:
- Fixed arranger focussing problems again. (Tim)
Scratch setFocusProxy() fix of 31.12. Gave MusE a keyPress handler and pass it on to canvas.
- Fixed transport +/- position snapping. Works globally now too. (Tim)
Moves by, and snaps to, snap setting of either an editor, or globally to arranger by default.
- Added transport position "Shift + +/-" keys, for no snapping. (Tim)
- Removed (hopefully) the last bits of Qt3support functions from .ui files. (Orcan)
- fixed patch loading for deicsonze and reverted to it's standard colortheme (rj)
31.12.2010:
- Possible fix for arranger focussing problems. (Tim)
Added parent->setFocusProxy(canvas) just after canvas created.
Also added to pianoroll.
- Added shadow behind the wallpaper titles for easier read. (Orcan)
30.12.2010:
- Suggestion by OOM team: Add default velocity controllers to pianoroll and drum edit. (Tim)
*Feature: Appearance part color names now can now be edited. (Tim)
TODO: Add per-song settings and add toolbar with some colour goodies.
*Feature: Mixer label colours can now be edited in the appearance settings. (Tim)
TODO: Remix track icons using use alpha channel and special routine to mix in
these settable colours.
*Fixed: Appearance settings palette was broken. (Tim)
Note: A few odd Qt styles are wacky (Motif, Windows). Your mileage may vary.
- In ctrl canvas, draw the grid before anything else. (Orcan)
29.12.2010:
- Fixed Bigtime display when using a style sheet for MusE. (Tim)
Set window font using a style sheet. Bigtime used QFont::setPixelSize().
Application style sheets (even a blank one) override with the fixed application
font size (evidenced by adjusting MusE config font#0, then bigtime font size changed).
TODO: Darn, the tooltips fonts are as big as the labels! Must fix.
- Added 2 wallpapers from Geoff Beasly.
- Fixed focus stealing of transport (rj)
28.12.2010:
- Tweaked and added some delays during project load to counter threading
issues during loading of projects (rj)
- Commented out the comment placeholder text line in projectcreateimpl.cpp. It
broke the compilation against Qt-4.7. (Orcan)
- Fixed the shift modifier issue in renaming parts in the arranger. (Orcan)
- Fixed the 'no selected track' trackinfo background MusE logo display. (Tim)
It was a memory leak as well. Was a simple fix in Arranger::genTrackInfo().
27.12.2010:
- Added a first try at project creation dialog, we'll see how much territory
it covers, intentionally it's only used upon creation of a project, later 'Save As'
operations use the old dialog so multiple .med files can be saved for the
same project (rj)
- deferred creating *.wav files until the global record button is clicked,
if a project does not exist at that time, pop up the new project dialog (rj)
- changed 'new' project from listing PROJECT_VIEW to GLOBAL_VIEW where the
templates reside, an enhancement would be to list USER_VIEW if it's template
dir exists (rj)
- Added myself to the AUTHORS list. Oops. (Orcan)
- Added a mimetype file for *.med, *.med.gz, *.med.bz2 and associated MusE with this
mimetype (and also midi and xml mimetypes) in the .desktop file. (Orcan)
- Got manpages from Debian by Daniel Kobras, and updated them for MusE2. (Orcan)
- Remove rem'd preview code in filedialog.cpp. I reimplemented it in appearance.cpp. (Orcan)
- Remove the environment variables info from the usage output. (Orcan)
- midiedit links to ctrl. (Orcan)
- Merged changes from ccherrett into pianroll (h-splittter). (Tim)
- changed open dialog to view stored project directory for PROJECT_VIEW (rj)
- Fixed midi track info size issues. (Tim)
26.12.2010:
- Initial addition of midi track info to pianoroll. WORK IN PROGRESS. (Tim)
TODO: Just to get off the hard drive. A few things still need to be linked up!
And we really need icons to replace those 'T' 'C' 'S' 'X' buttons.
- Fix minor issues that surfaced when I built an RPM for the alpha release (Orcan):
o Added missing AudioVideo category to the .desktop file.
o Fixed the executable name in the .desktop file.
o Converted README.softsynth, synti/vam/README, README.de, SECURITY to UTF8.
o Made the default MusE_DOC_DIR consistent with other default definitions.
o Removed explicit rpath to ${QT_LIBRARY_DIR}. cmake should add it automatically
if there's need.
o Removed unnecessary linkage to libQtSvg.
o utils are installed with executable permissons.
25.12.2010:
- Added fancy background selection widget with live preview to Appearance Settings. (Orcan)
- Applied Geoff King's second capitalization patch.
23.12.2010:
- MidiTrackInfo is now self-contained. (Tim)
Moved all of its members from Arranger into MidiTrackInfo. Removed trackinfo.cpp
23.12.2010:
- MusE 2.0alpha released! (rj)
22.12.2010:
- Capitalizations in the menus thanks to Geoff King (gsking1->gmail. com)
- Added some comments in app.cpp that I've been willing to include for a while. (Orcan)
- Added a line to CMakeLists to install the splash image. Commented out for now. (Orcan)
- added new-user help dialog for Input button on midi track-info (rj)
- Fixed *some* gui drawing speed issues. (Tim)
Use Qt::WA_OpaquePaintEvent for windows we fully draw on, like part canvas, track list, meter.
In PartCanvas::drawItem(), ignore null intersect of item bbox + rect.
TODO: Other windows like Slider and Knob could probably use this. And with many parts,
drawing is still slow (esp waves), possibly because of alpha blending.
21.12.2010:
- Moved all the config files "~/.musePrj, ~/.MusE, ~/.deicsonze.dco" into ~/.config/MusE/
and renamed them as "projects, MusE.cfg, deicsonze.dco", respectively. (Orcan)
- User instruments path is made user configurable with default location in
~/.config/MusE/instruments
- In simpledrums2, set the 64bit ladpsa plugin paths. (Orcan)
- Fix: gensetbase was opening in the last tab instead of the first. (Orcan)
- Eliminated environment variables usage (MUSE, MUSEHOME, MUSEINSTRUMENTS). (Orcan)
20.12.2010:
- Fixed arranger grid h-line drawing, track, and part drawing alignment, border issues. (Tim)
- To open help pages, use the default browser of the system via QDeskopServices. Removed
the configuration option to select the browser. (Orcan)
- Added some groupboxes and layouts to Global Settings to make it look more uniform. (Orcan)
- Don't pack the binary and subversion directories when doing "make package_source". (Orcan)
- Updated the Russian translation again thanks to Alex, alex54m -> mail.ru
- Fix a typo in awl/CMakeLists.txt that disabled the translations for awl. (Orcan)
- Updated all the .ts files with the latest strings. Made sure that share/locale/CMakeLists
is scanned last so that all the translations are collected before coming to that. (Orcan)
- Fix: cliplist target should depend on widgets target. (Orcan)
19.12.2010:
- Fixed not saving part colours and part canvas background appearance settings. (Tim)
*Feature: Added 'global opaqueness' (transparency) appearance setting. (Tim)
Currently only affects part colours.
TODO: Fix the darn black rectangle drawing. Apply the opaqueness to some other things.
- Fixed arranger part drawing borders. Used QPen::setCosmetic(true) when drawing. (Tim)
- Individual parts are now built as shared libraries. (Orcan)
- Moved main() and first degree relatives into main.cpp (Orcan)
- Fixed bad link in README. Updated German README. (Orcan)
- Major clean-up in all CMakeLists.txt files. Hopefully, this will be the last time.
Unified their notation. Added copyright notices to those which were missing.
- Defined MusE_SHARE_DIR and MusE_LIB_DIR in config.h.in so that these directories
can be accessed conveniently in the code. (Orcan)
- Install documentation files to the standard docdir specified by FHS. (Orcan)
18.12.2010:
- Fixed transport shortcuts not working in some windows or situations. (Tim)
Added event->ignore to PartCanvas::keyPress. Added setFocusPolicy() to WaveView, Master.
Added (canvas or view)->setFocus() to WaveEdit, MasterEdit. Test OK.
- Fixed rack drag'n drop. Added individual tooltips for effects since the astrip might
be too narrow. (Orcan)
17.12.2010:
- Fixed crash with song loaded then File->New. Marker view had non-existent items from cleared marker list. (Tim)
- Some memory leak cleanups. Delete midiInstruments and midiDevices. (Tim)
TODO: Many more leaks to fix.
16.12.2010:
- Fixed track list track moving/resizing - added ev->buttons() check to mouseMoveEvent(). (Tim)
- Fixed meter drawing (speed) - removed double buffer pixmap. Test OK. (Tim)
15.12.2010:
- Major cleanup in the #includes. Emptied all.ha nnd moved its contents to individual files.
The build is roughly 20% faster now. (Orcan)
- Fixed track list drawing - removed double buffer pixmap. Test OK. (Tim)
14.12.2010:
- Fixed corruption on track info instrument patch button due to latin1() conversions. (Tim)
Changed MidiInstrument::getPatchName() and EditInstrument::getPatchName() to return QString.
13.12.2010:
- List the available locales in the --help output. (Orcan)
- Fixed audio/midi control right-click automation popups were greyed out due to typo. (Tim)
- Fixed some QMenu usages without parent and/or delete. (Tim)
- DeicsOnze: Fixed: Crash in ctor, _preset not init. by time loadConfiguration called. Re-arranged.
And 3 popup QMenu usages without delete. Test OK. (Tim)
- Deicsonze: Fixed all missing icons throughout. Added qrc file, changed ui file. Looks nice now. (Tim)
12.12.2010:
- Integrated the translation system into cmake. Added a -DUPDATE_TRANSLATIONS flag to cmake
which will update the .ts files in the source tree with the newest strings. I used this to
update the existing translations. Also I removed the .qm files from the SVN, as they will
be now installed from the build tree. (Orcan)
- Added a -l flag to the muse executable to override the locale detection, mostly for testing
purposes. (Orcan)
- Updated the Russian translation thanks to Alex, alex54m -> mail.ru
- When updating the .ts files, by adding proper dependencies, make sure all targets are
scanned. Otherwise .ts files may miss some strings. (Orcan)
11.12.2010:
* Feature: Added default midi track in/out channels to midi ports list. (Tim)
- For now, the boxes use the old text channel strings ("1 3 5", "1-5", "all, "none" etc.)
* Changed: Experimental: Mid ports now default to 'GM' instrument. (Tim)
- Was stopping new users from seeing instrument patches etc.
- TODO: Overhaul instrument type, instrument sysexes, and song type.
* Changed: Audio groups and inputs no longer default connect to first audio out. (Tim)
- Find it tedious, once a song grows with groups and inputs, to keep disconnecting them from output.
- TODO: Add a better audio default routing system.
10.12.2010:
- More compiler and build warnings fixes. (Orcan)
- Restored the scripts menu and fixed scripts handling. Tested OK. (Orcan)
- Added left, right, up, down to shortcuts dialog. Test OK. (Tim)
- Fixed ctrl canvas not lining up in drumedit and pianoroll. (Orcan)
- Fix: Save project file dialog should have a "Save" button instead of "Open". (Orcan)
- Fix: Crash when Ok is clicked in the plugin selection dialog with no plugins
selected. Well, I fixed the crash, then I also disabled the Ok button until
a plugin is selected. (Orcan)
- Feature: Middle mouse button click on a plugin in the rack will (un)byass the
plugin. (Orcan)
- Actually, use Qt:MidButton instead of instead of Qt:MiddleButton in rack.cpp.
The latter is Qt >= 4.7 only.
09.12.2010:
- Fix: column orders mess up in the main window, and they do not save properly in
the .med files. (Orcan)
- Made MusE the owner of transport object so it's now deleted when MusE object is deleted. (Tim)
- Improved PosEdit class, supports undo/redo levels, focus-out + return pressed updating. (Tim)
This also fixes the Transport position boxes' sections jumping to last section.
TODO: There's still trouble editing with KB in Bar-Beat-Tick mode, the bar and beat being '1' based.
TODO: Fix SigEdit (the time Signature Editor boxes).
- Fix some build and compiler warnings. (Orcan)
- Fix the max slider value in the transport. This was a typo I made during conversion. (Orcan)
08.12.2010:
- Ported many more Qt3 methods to Qt4. (Orcan)
- Turned off Qt3Support. Muse2 is now a pure Qt4 application. (Orcan)
07.12.2010:
- Ported rack. TODO: Drag and drop needs a hand. It's not working. (Orcan)
- Converted various Qt3 support methods to Qt4 in many files. (Orcan)
- Includes cleanup in app.*. (Orcan)
- Converted all instances of latin1() and crossed my fingers. Initial tests OK. (Orcan)
06.12.2010
- Built Awl::posedit and Awl::sigedit, and replaced /widget versions and all usages. (Tim)
TODO: Awl::sigedit has no returnPressed signal, for lmaster.
TODO: Transport position posedits jump to sub-ticks sections - can't auto-inc other sections.
- Reverted class SpinBox to previous revision. Test OK. (Tim)
05.12.2010
- Completed porting of dlist module (the drum list). Test OK. (Tim)
- Ported sigedit and posedit. Used SpinBox in place of Q3SpinWidget. TODO: Needs some work on
locating the arrows of the SpinBox accurately. Maybe we need to implement another SpinBox
from scratch? (Orcan)
- Ported plugin.cpp. Both internal and LADSPA plugins tested okay. (Orcan)
- Trivial conversion of Qt3 support methods to Qt4 in some widgets: slider, sliderbase, knob,
ttoolbutton, mlabel. (Orcan)
04.12.2010
- Fix: Escape button does not exit track renaming editor. (Orcan)
- Fix: Midi ports config table items are editable when they are not supposed to. (Orcan)
- Ported scldiv. Things seem to work as before. Maybe needs more testing. (Orcan)
- Removed fontsel, and synthwizardbase from the project. (Orcan)
- Feature: In waveedit, the mousewheel controls the vertical slider. (Orcan)
- Completed porting shortcutcapturedialog, filedialog. Added paste clone, 2track, clone2track,
insert empty, insert, to configurable shortcuts. Changed all arr/pianoroll/drumedit hard-wired
keys to refer to shortcut table. (TODO: Other windows?) (Tim)
- Correction: Convert all state() to QInputEvent::modifiers() and stateAfter() to modifiers()
(I forced a downcast to QInputEvent if required). Is correct? QT Help says:
QInputEvent::modifiers() "Returns the keyb. mod. flags that existed imm. before the event occurred."
QKeyEvent::modifiers() "Returns the keyb. mod. flags that existed imm. after the event occurred."
03.12.2010
- Ported all copy/paste/drag/drop coding. Including pianoroll, drumedit, pcanvas, prcanvas, dcanvas,
and effect rack. Test OK cut, copy, paste, also drag n drop various files to arranger and rack. (Tim)
- Fixed arranger menu cut/copy enabling. Was never right before. Test OK cut and copy. (Tim)
- Completed port of MidiInstrument. Fixed its populatePatchPopup(), which fixes midi trackinfo
instrument selection not updating h-bank, l-bank, and prog spinboxes. (Tim)
- Some cleanups: Remove the old Header class. Rename HeaderNew to Header. (Orcan)
- Ported: osc, wave, dcanvas. (Orcan)
02.12.2010
- Ported alayout, tlist, arranger (Orcan)
- Minor tweak in the HeaderNew API to set column widths easier. Also commented out the
old Header class. We can probably remove it soon. (Orcan)
- Ported help.cpp as is. But maybe we should use QDesktopServices to open user's default browser
instead of the browser specified in a config option. (Orcan)
- Ported scrollscale and splitter (Orcan)
01.12.2010
- Ported listedit. (Orcan)
- I missed to port one action call in drumedit. Now it's (hopefully) done. (Orcan)
- Ported midiport. This also finishes the port of dlist. (Orcan)
30.11.2010
- Ported vscale and ctrledit. (Orcan)
29.11.2010
- In Mess::processEvent(), added ME_PITCHBEND case. For synths which don't override
processEvent (like Vam and Deicsonze). Pitchbend should work in them now. (Tim)
- Added a new HeaderNew (Qt4 based) class to be used instead of Header (Qt3 based). (Orcan)
- Ported drumedit except a Q3PopupMenu reference that needs to be ported in midiport.cpp.
This update restores the tooltips, adds icons to edit menu items in drumedit window. (Orcan)
28.11.2010
- Finished porting Marker View. (Orcan)
- Ported ctrlpanel. Needs some testing. I also removed usage of the Oxygen's "pen" icon
in place of the pencil. The pen looks bad in ctrlpanel. (Orcan)
- Deicsonze2 added (!!) Fresh re-import from evolution. Test OK. (Tim)
TODO: Plugin controllers disabled - we need the Ctrl class.
Restoring of state (that's a MusE problem I think).
Fix deicsonze.cpp:3612: warning: deprecated conversion from string constant to ‘char*’
- Ported Mastertrack list view. (Orcan)
- Finished porting of Canvas module. Should be done. Not sure about one mouse event buttons() usage. (Tim)
27.11.2010
- Completed porting pianoroll module including menus, shortcuts. Should be done. (Tim)
- Ported the following .ui widgets to Qt4: organguibase, gatetime, midisync,
routedialogbase, vamguibase, 1050, 2142. (Orcan)
- Fixed the whatsthis and tooltip bits of tho Midi Ports dialog. (Orcan)
- Ported Quant Config dialog. (Orcan)
- Ported the popup menus in the canvas. This should restore the color selection of tracks. (Orcan)
- Removed midiportroutebase.ui, fdialogbase.ui (the one from organ) (Orcan)
- Removed some unnecessary Q3* references. Converted popup menus in various places. (Orcan)
26.11.2010
- Fixed midi trackinfo growing size - set output device list box and instrument button
h-size policy to 'Ignore'. (Tim)
- Fixed trackinfo spinboxes only go to 99 - changed some trackinfo ui spinbox properties
(maxValue -> maximum, minValue -> minimum etc). (Tim)
- Fixed SpinBoxFP class. Was never right before. (Tim)
- Fixed transform and input transform ui files and dialogs - using the corrected SpinBoxFP. (Tim)
- Converted comboQuant widget to Qt4 (found in miditransform dialog).
TODO: Doesn't actually open - why? (Tim)
- Finished porting edit instrument dialog to Qt4. listitem.h is removed as it is no longer
needed. (Orcan)
- Added missing includes on comboQuant. The compilation was failing here. (Orcan)
25.11.2010
- Fixed column widths, alignments, device renaming and jack device creation issues in synthconfigbase.
Somehow the last changelog entry about this didn't get committed. That's added too. (Orcan)
24.11.2010
- Resinstated the Midi Transformer. Was left out when both TF and iTF were removed, and then I
asked for them to be put back. So yes, transformbase.ui is used now. (Tim)
- Completed conversion of waveedit(.cpp, h), including menus and shortcuts. Should be done. (Tim)
- Set undo/redo shortcuts on global undoAction/redoAction, instead of Q3Accel in each window. (Tim)
- Fixed some leftover setAccel()'s in app.cpp (Tim)
- Fixed delete shortcut key. Set in MusE constructor. (Tim)
- Reinstated special Toplevel::CLIPLIST case in MusE::toplevelDeleted(). Caused problems. (Tim)
TODO: Still not right with the menu checkmark...
- Ported rhythmbase, fluidsynthgui, fluidgui to Qt4 (Orcan)
- Removed patchbaybase from the project (Orcan)
- Added ENABLE_EXPERIMENTAL flag to cmake. Marked rhythmbase, s1 experimental (Orcan)
- Fixed a connection in miditransform (Orcan)
- Fixed crash in FluidSynthGui::channelItemClicked(): Use item->row() for the channel. Test OK. (Tim)
- Start porting synthconfigbase. It's mostly functional. TODO: Column widths and alignments,
renaming device name, port Q3WhatsThis bits (Orcan)
23.11.2010
- Added Track::cname(), applied to strip labels' object names, so they may be used in style sheets. (Tim)
- Added struct SysEx and some friends, to minstrument.h, prep. for the instrument editor. (Tim)
22.11.2010
- Oops, fixed regression, marker view and cliplist crashes, removed setAttribute(Qt::WA_DeleteOnClose)
from TopWin constructor, and added it to individual TopWin sub-classes (only MidiEditor needs it). (Tim)
- Final major leak fixed: We can now delete the main MusE object just before returning from main! (Tim)
Now that markerview, cliplist et. al. are also being deleted (verified, dtors called), I changed
MusE::startClipList() so the main MusE instance owns it like all the others. It deletes too, now.
Also removed odd special Toplevel::CLIPLIST case in MusE::toplevelDeleted(). Hope it works...
Tested closing complex song, with all windows open. Nice to see final Finished! message (new, with -D).
- Eliminated double-buffer pixmap in View class (not required in Qt4). TODO: install event handler. (Tim)
- Ported the following .ui widgets to Qt4: editgainbase, gensetbase (Orcan)
- Removed unused .ui widgets: wtrackinfo.ui, editctrl7dialogbase.ui, editmetadialogbase.ui (Orcan)
- Fixed remaining alignment issues in editors, using setSpacing(0). TODO Controller panels. (Tim)
21.11.2010
- All menus now use QActions. Some shortcuts are left to be assigned correctly (Orcan)
- Clean up: Remove submenu integer ids from the MusE class in favor of QActions (Orcan)
- Ported the following .ui widgets to Qt4: didyouknow, transposebase, cliplist,
configmidifilebase (Orcan)
- Ported View and MidiEditor classes. Fixed TopWin constructor. Test OK all editors. (Tim)
20.11.2010
- Remove most wrapper classes around .ui widgets. I was wrapping them too much. Some widgets
(e.g. songinfo) still need wrappers though. (Orcan)
- Ported the following .ui widgets to Qt4: appearancebase, mixdowndialogbase,
shortcutcapturedialogbase, shortcutconfigbase, aboutbox, editsysexdialogbase,
editnotedialogbase, editctrlbase (Orcan)
- Converted all of editevent.cpp to Qt4 (Orcan)
- Load default compiled-in style-sheet resource :/style.qss in main(). (Tim)
Added style sheet support to Appearance settings, with reset button.
19.11.2010
- Started some conversions of midieditor, pianoroll, drumedit, incl. their QGridLayouts. (Tim)
- More icon conversion work (Orcan)
- Move global, user, project .xpm files into the xpm/ directory. Handle them the same way in
filedialog.cpp as we handle other pixmaps elsewhere. (Orcan)
- Ported the following .ui widgets to Qt4: commentbase, metronomebase, mtrackinfobase,
midifilter (Orcan)
18.11.2010
- Updated build part README file - read it! Tell user to specify Release build type. (Tim)
- Added printout of build type in top level cmake. (Tim)
- Removed duplicate LASH detection in top level cmake. (Tim)
- Ported the following .ui widgets to Qt4: transformbase, itransformbase, mrconfigbase (Orcan)
- Finished remaining port work of mixer and strips. Should be all done now. (Tim)
- Modified icons.cpp to Use theme icons whenever possible. We now need to match muse
icons with the standard theme icon names (Orcan)
17.11.2010
- Removed a fix which cured graphic corruption for me in MusE-1. Not required now. (Tim)
- Small change to Orcan's filedialog, re-enabled global button. (Tim)
- Ported the following .ui widgets to Qt4: songinfo, mittransposebase, velocitybase (Orcan)
16.11.2010
- Fixed track info sizing problems. In Arranger::switchInfo() added tgrid->update(). (Tim)
QLayout::update() seems to be a new method, we needed to call it here.
- Fixed mixer maximum and minimum sizes. (Tim)
Bit of a tough hack. Is there a better way? Done by sub-classing QScrollArea and catching
LayoutRequest events, just before paint events when the window sizes are finally correct.
TODO: Still off by a few pixels when mixer first opened, because main window frameSize
is not set yet, by the time LayoutRequest is caught.
- Transformed file dialogs to Qt4. This was the first attempt to transform a .ui file to Qt4
as well. New .ui files do not store image information. Thus I moved the 3 icons from
qfiledialog.ui into their own files.
TODO: Qt4 does not support file preview in file dialogs yet. The relevant code (wallpaper
preview) is disabled. Now we either have to implement an image previewer, or forget about
this feature. (Orcan)
- Only try to use theme icons in file dialogs if Qt >= 4.6 (Orcan)
14.11.2010
- renamed deicsonze2 files and classes with '2' suffixes
- Applied patch by Orcan to convert populateAddSynth(). (Tim)
- Changed all setMargin() calls to setContentsMargins(). (setMargin() is obsoleted!) (Tim)
- Fixed crash in MusE::closeEvent() upon close: save, skip, abort? = abort. (Tim)
TODO: Some other suspicious looking closeEvent()s. May need to fix...
12.11.2010
- Fixed arranger alignment issues - set layout margins to zero. (Tim)
TODO: Track list items aligned to canvas tracks are still off by one lousy vertical pixel.
11.11.2010
- WIP: Mixer and strips re-designed to be theme/font friendly - no more fixed STRIP_WIDTH. (Tim)
- Fixed Slider, Knob and DoubleEntry classes. Knob anti-aliasing applied (where allowed).
- Transport handle colour fixed - added setAutoFillBackground(true).
10.11.2010
- Ported transport window to Qt4. The handle color needs a fix (Orcan)
09.11.2010
- Fixed audio and midi strips and converted to Qt4. Looks OK now, but will be better... (Tim)
TODO: Convert Slider, Knob, EffectRack, ComboBox classes etc. (After that the strips will be perfect.)
08.11.2010
- Add missing link to libdl.so. Caused bulid failure on Fedora 14 (Orcan)
- Fixed strip name label colours, also name label auto-font-sizing. (Tim)
- Updated some window flags (stay on top, delete on close...) (Tim)
07.11.2010
- Mixer is fixed and converted to QT4. (Tim)
- Conversion of TLLayout class to QT4.
- Conversion of TempoEdit class to QT4. Displays proper doubles now.
06.11.2010
- Yipee! De retour aux les popup menus 'stay-open'. (Tim)
- Fixed PopupMenu class. All routing popups done (midi trackinfo, midi strip, audio strip).
TODO: Fix midi 'toggle all'. Use routes as QVariant action user data (someone started this already)...
- Major cleanup of audio and midi strip comments, code. (A fresh start for your tired eyes, you guys...)
- Test OK so far with all track types.
04.11.2010
- Fixed LADSPA plugin dialog. TODO: fix sorting order. (Tim)
- Fixed MenuTitleItem class. Fixed some usages of it (Jack popup routes, midi cfg routes). (Tim)
02.11.2010
- Solved! All the MESS synths load now. Removed mpevent(.h, .cpp) and evdata.h from /libsynti,
conflicting with copies in /muse, causing crashes. Versions in /muse are newer.
Should only be one version. Whether we end up putting it in a library, or leaving it
in the main app as I have done here, it had to be moved one way or another.
If we really need 'reduced, simplified' functionality of the /libsynti mpevent versions,
then it should be a base/inherited class type of solution, not two different copies. (Tim)
02.11.2010
- Fluid, fluidsynth, simpledrums: Testing: For now, disable certain sendSysex() calls crashing. (Tim)
Marked as "MusE FIXME:". At least fluidsynth appears to be working now. Other two not so good.
01.11.2010
- Fixed all MESS plugins: compile with -fvisibility=hidden, to avoid namespace conflicts.
In particular, simplesynth was causing conflict with variable 'plugins' causing it to
be overwritten.
- So, this fixes LADSPA plugins not appearing in plugin list.
- Added simpledrums from muse_qt4_evolution, is called 'simpledrums2' and replaces the original.
31.10.2010
- Fixed Toolbar1 class. 'Snap', 'Quantize' combo boxes should work now. Thanks to Luis G. for help. (Tim)
30.10.2010
- Fixed Deicsonze crash and missing Organ. Both load now. (Tim.)
27.10.2010
- Fixed drawing of Slider widget and Meter widget (rj)
- Fixed keyboard shortcuts for tools on toolbar (rj)
- More conversions with windows done previously done, fixes. Marker, Master gui + List. (Tim)
Some new style header fixes here/there.
26.10.2010
- Fixed non-opening view menu windows (mixers, marker, bigtime etc). (Tim)
Found all the isItemChecked() returning opposite of before (for example in toggleBigTime()).
And yet the setItemChecked() remains unmodified and it works (for example in showBigtime()).
Not understood why - yet.
26.10.2010
- Applied large patch by Orcan to (start) converting to native QMainWindow and QToolBar. (Tim)
- Completed piano roll, drum edit, MusE app, and arranger toolbars.
24.10.2010
- Finds MESS synths now including fluid/fluidsynth, but all crash except Vam and S1. (Tim.)
22.10.2010
- cmake scripts changes thanks to Orcan Ogetbil oget.fedora > gmail.com (Tim.)
'make uninstall' facility added!
Drop our obsolete pkgconfig for newer native cmake pkgconfig.
LASH detection fixed.
Summary added.
Renamed installed executable 'muse' to 'muse2'.
Install /utils, /packaging, and /demos files.
Other minor changes.
21.10.2010
- Toolbar1 usage of Q3ListBox changed to QTableWidget. (p4.0.3 Tim)
- More Toolbar1 fixes. (p4.0.4 Tim)
- Fixed widgets/tools.cpp EditToolBar::EditToolBar connect Q3Action. (p4.0.5 Tim)
- Crashes: Removed all "undoRedo->removeFrom..." from destructors (~pianoroll() ~drumedit() etc.) (p4.0.6 Tim)
20.10.2010
* Fixed: cmake should work now. (T356)
- Changed the QT4_WRAP_UI3 macro to generate <filename>.h instead of ui_<filename>.h
- In /muse/CMakeLists.txt, included all the uic generated headers paths (the 'build' paths).
- Tested OK with fresh svn pull.
19.10.2010
* Fixed: Some missing files, errors with cmake build. (T356)
19.10.2010
* Changed: Build system changed to cmake. (T356)
- Some other suitable changes. p4.0.2
- WIP Need to fix a few placed in code with regards to installation search paths (MESS synths not found etc.)
- Choose suitable version number. Currently left at 2.0.1
- Maybe a few other things. Change name of prog so as not to conflict with existing muse installation? etc. etc.
- Default install location is /usr/local. Be careful not to overwrite an existing working muse-1 !
16.10.2010
* Fixed: Routing and popup menus should work now. Sorry, no 'stay-open' menus for now. (T356)
- p4.0.1 Reverted back to regular non-overloaded Q3PopupMenu behaviour (self-extinguishing) for PopupMenu class.
- Removed "gRoutingMenuMap.clear()" and "gRoutingPopupMenuMaster = 0" from MusE::routingPopupMenuAboutToHide().
Instead, added protection from non-visible menu in MusE::updateRouteMenus().
* Tested: Pianoroll, drums open but toolbars are very messed up. Marker, transport, bigtime, all others seem OK.
15.10.2010
* Feature: Unified Jack midi devices in midi ports list. Can be both input and output, just like ALSA devices. (T356)
- Marked as p3.3.55
* Corrected: Three things which did not compile in conversion to new muse-2: (T356)
- <string>true</string> -> <bool>true</bool> in mtrackinfobase.ui, for recEchoButton toggleButton property. (T356)
- Surround with QString(): "strerror(errno)" in MusE::save(), and "incstr" in MidiDeviceList::add(). (T356)
14.10.2010
=======================================
* muse2 branch (Conversion to QT4, QT3 compatibility mode for now) checked in (rj) (T356)
=======================================
09.10.2010
* Fixed: Gluing of midi track parts, over tempo changes, caused incorrect note times and lengths. (T356)
- Fixed Song::cmdGluePart().
08.10.2010
* Disabled: Precount does not work, disabled function in gui (rj)
=======================================
* 1.1 tagged (rj)
=======================================
* added: missing headerfile in dssihost.cpp, required for building on Ubuntu Maverick (rj)
21.09.2010
* Fixed: Mixers not restoring their size properly upon song load. (T356)
- Rearranged MusE::loadProjectFile1() slightly so mixer resizing done at end. Tested OK.
* Changed: Disabled some optimized code always enabled in Dsp::cpy(), for now, in case of 64-bit issues. (T356)
16.09.2010
* Created rc2 release for 1.1 (rj)
* Fixed: Delete track(s) not disconnecting track routes, causing routes to hang around and store in song file. (T356)
- Fixed major regressions (my fault) in Song::insertTrack2() and ::removeTrack2().
* Fixed: Dummy audio device: Crashes when Jack midi device created in device manager, or loaded from song. (T356)
- This allows to create Jack midi devices even when dummy audio driver is used.
- Tested OK loading complex Jack midi based songs with dummy audio driver.
* Fixed: AlsaTimer cannot start, with dummy audio device. (T356)
- Reverted: Back to default SND_TIMER_GLOBAL_SYSTEM in AlsaTimer, for now until a better fix.
- Also replaced pop-up warning in dummy loop with terminal output instead.
* Changed: MidiDevice <-> Track routes replaced with MidiPort <-> Track routes. (T356)
- This allows to change a port's device (even to <none> !) while keeping all the track channel routes.
* Changed: Single midi <-> track route with channel mask, instead of one route-per-channel. (T356)
- Potentially saving very many routes from memory and in song file.
10.09.2010
* Fixed: regression with oR routing for Aux strips (rj)
05.09.2010
* Fixed: shortcut for insert moved to Ctrl+Shift+X (rj)
* Added: Select all toggle for midi channels iR menu (rj)
* Added: Auto-route-connect old songs with obsolete midi input port/channel masks (before iR button added). (T356)
- Added MidiTrack::setInPortAndChannelMask() and called it from MidiTrack::read().
03.09.2010
* Changed: Updated German localizations muse_de.qm and muse_de.ts from <babarosa [at] gmx.at> (T356)
* Added: Instrument definitions and drum maps for Kurzweil SP2X, from <babarosa [at] gmx.at> (T356)
28.08.2010
* Created rc1 release for 1.1 (rj)
* Added: Instrument definitions for AKAI SG01 and Waldorf-microQ from <babarosa [at] gmx.at> (rj)
23.08.2010
* Added: Possibility to turn on/off move-armed-track with track selection in settings (rj)
21.08.2010
* Renamed: Soft synth configuration changed to Synth configuration, as per patch from Geoff King (rj)
* Fixed: Shortcuts with modifier keys wasn't working for global shortcuts, should be now (rj)
* Added: Shortcuts for changing len of events, default Ctrl+Shift+Left/Right (rj)
>>>>>>> .r459
10.08.2010
* Fixed/Changed: Grid reacts to midi resolution change (rj)
01.08.2010
* Added: Move track selection when part selection is moved, is this a good approach? (rj)
* Added: Backspace unarms all armed tracks (rj)
24.07.2010
* Feature: Audio and midi routing popup menus now stay open, for making rapid connections. (T356)
* Fixed: Delete some objects hanging around upon close like song, audio, midiSeq, and prefetch. (T356)
TODO: Find a way to delete the 'muse' object without causing problems like seg faults.
21.07.2010
* Improved: Note lanes in pianoroll and marking of C-notes (rj)
20.07.2010
* Fixed: illegal shortcut no longer reported on startup (rj)
18.07.2010
* Fixed: Handle errors during timer initialization more gracefully (rj)
15.07.2010
* Added: Volume control for audio metronome (rj)
12.07.2010
* Fixed: When wave files were edited allocation was on stack which caused crashes for larger selections, now done on heap (rj)
* Added: Print svn version in -v and About box. (rj)
* Fixed: Bug with RemoveShortEvents plugin script, would not remove anything due to index error (rj)
10.07.2010
* Added: Insert measure, inserts empty space and moves everything after playpointer to the right and
Part-insert, pastes parts and moves everything after the paste point to the right
it's currently not possible to change the shortcuts for these, wip (rj)
06.07.2010
* Added: Button in transport to enable/disable jack transport. (rj)
* Fixed: Dropdown Snap and Type in arranger toolbar no longer steal focus, annoyed the helloutame (rj)
* Fixed: Making edits to larger chunks in wave files no longer cause a crash, heap is used for allocation (rj)
* Improved: Part selection when navigating with keyboard, previously there was sometimes a need to use the mouse
to get a part selected, now the first one should be selected (rj)
* Added: some automation (very)wip stuff, not enabled, just to get it off my harddrive (rj)
22.06.2010
* Fixed: Crashes loading a song while another is loaded. Or worse, it loads but saving corrupts the file! (T356)
- Song::clear(): Clear all midi port devices. Delete Jack midi devices, and remove all ALSA midi device routes.
- Route::read() Ignore bogus midi routes in med file if the device they refer to is not in use by the song (port is -1).
- MidiJackDevice::writeRouting(), MidiAlsaDevice::writeRouting(): Ignore and do not write midi routes if the device
they refer to is not in use by the song (port is -1). This prevents bogus midi routes writing to med file.
- Fifo::~Fifo(): Free the buffers! Fifo::getWriteBuffer(), Fifo::put(): Verify allocation. Fifo::get(): Verify buffers.
15.06.2010
* Fixed: Jack midi output: Sent pitch bend and program values were incorrect, if coming from midi keyboard. (T356)
- Reported by Pieter while using Hurdy Gurdy vst under fst. Tests OK now, here.
* Fixed: Drum editor: Controller graph not in current tool mode (pencil, eraser etc.), when first opened. (T356)
- Call setTool() in DrumEdit::addCtrl().
* Fixing: Drum editor: Velocity controller graph showing incorrect for selected drum, or showing for all drums, when first opened. (T356)
- WIP. Still not quite correct, but at least now it doesn't show all drum velocities when first opened.
(This is interesting! I will try to allow 'no drum' list selection, to show all drum velocities at once, just like piano roll.)
13.06.2010
* Fixed: More fixes to marker list, selected item was still not right. (T356)
03.06.2010
* Fixed: Time signature editing problems in master track list and gui. (T356)
- Fixed SigEdit::outOfRange(). Added Sig::isValid(), and check it in LMaster::returnPressed() to fix crash with 0 n or z.
* Fixed: Marker/list problems. Double entries. Pianoroll/arranger timescale 'shift-left/right-click-to-add/del-marker' fixed.
Marker 'lock' (smpte/ticks) works now. Up/down buttons fixed. Marker list selection 'stays put' now
when adding or deleting markers. (T356)
* Fixed: Graphics corruption in arranger and track list when vertically scrolling. (T356)
- Changed rectangle to full w/h in 'shift down' section of View::setYPos() and TList::setYPos().
Should not have to do this, but it cured my problems. No noticable change in speed.
- Arranger corruption occured on more than one machine with xorg nv, ati drivers. More severe arranger AND track list
corruption occured with proprietary drivers. Corruption is also observed in several other windows (ex. ladspa browser)
but there's not much I can do, the corruption is found in ordinary usage of QListView for example.
* Changed: Increased arranger vertical scroll step, was too slow to scroll. (T356)
* Possible fix: Auto-scroll in pianoroll and arranger take waaay too long to stop scrolling. (T356)
- Increased timer timeout from 40 to 80 ms in Canvas::scrollTimerDone(). Helped for me, on a 1.6Ghz P4...
* Changed: Ladspa plugin guis now have scroll bars. Helps when there are many controls. (T356)
- Still toying with the code a bit, please bear with me while I try to get it right.
* Started: Addition of MusE-native ladspa guis for dssi synths. (T356)
- No visible changes yet, just under the hood. Added class PluginIBase which is inherited by
DssiSynthIF and PluginI. Changed class PluginGui and DssiSynthIF to fit.
07.05.2010
* Fixed: Xml file trouble: Tag attributes not storing xml-friendly entities, trouble reloading song. (T356)
- Fixed all usages of Xml::nput, ::put, ::tag, and ::etag. Discovered by Geoff B.
06.05.2010
* Fixed: Audio Input tracks: Loud noises or DC output with unconnected input routes. (T356)
- AudioInput::getData(): Do not get buffers of unconnected client ports. Causes repeating leftover data.
* Fixed: Audio Input tracks: Stereo processing not correct if both input routes connected to same port. (T356)
- AudioInput::getData(): Just copy the buffers always, don't set buffer pointer directly.
* Fixed: Effect rack plugins: Not saving correct number of plugin channels. Upon reload, channels are wrong. (T356)
- PluginI::writeConfiguration() and PluginI::readConfiguration(): Write and read the channels, not instances.
- Optimize TODO: Is xml plugin 'channel' really necessary? Well not now, but later if we optimize the effect rack
by not creating redundant plugin instances if the next plugin in the rack doesn't need them.
What I have changed is always make the number of plugin channels equal to the number of track channels.
PluginI::setChannels() and PluginI::initPluginInstance() then sort out the details of how many instances to create.
* Fixed: Effect rack plugins: Some plugins crash MusE, for example plugins with no audio outputs. (T356)
- PluginI::setChannels() and PluginI::initPluginInstance(): Be more aware of different audio ins and outs.
* Added: First draft help file README.effects-rack titled "Understanding the Effects Rack". (T356)
- Details how MusE uses plugins, especially now with these changes.
27.04.2010
* Changed: Building: Separate --enable-dssi --enable-osc configure options. (T356)
--enable-dssi (Enable dssi synths AND special handling of dssi-vst ladspa effect plugins. No guis if by itself.) and
--enable-osc (Enable dssi guis. Useless by itself at the moment).
Use both for best features.
* Feature: If dssi and osc support are enabled, audio track effects rack dssi-vst plugins can now show their NATIVE guis. (T356)
* Fixed: Storing dssi synth states. Remembers current program, all configure strings, and control settings - for current program ONLY. (T356)
- With dssi-vst synths, some better are than others at remembering program.
- Todo: Ignore unwanted dssi-vst config strings/values like "guiVisible" "<name-of-fifo-file>" (gives non-fatal error on reload).
* Fixed: Dssi native synths (hexter, LTS etc.) should actually work now. Their gui controls operate the sounds now. (T356)
- Todo: If using large audio buffers (Jack), my 'one-at-a-time-per-audio-process' osc control fifo streams kinda suck,
with a delay in their processing. Want to try MULTIPLE 'run's or 'run-multiple's PER audio process, for SAMPLE accuracy and
better quicker message processing. Just need to add a timestamp to my osc fifo items, then all forms of change - whether
control, midi event, or program - have a timestamp with which we can SPLIT UP the runs into 'runs between changes'.
* Tip: Currently a patch to dssi-vst is required for their guis to update properly. (For now, ask about this on our lists.)
21.04.2010
* Fixed: Shortcut for moving between tracks in arranger. Ctrl+Up/Down (rj)
19.04.2010
* Patch: Fix for libdir bug causing synths to not be available on some 64bit systems. By Orcan Ogetbil (rj)
* Fixed: Drawing of grid when snaping to less than measure (rj)
12.04.2010
* Fixed: LADSPA rack effects: Do not display LADSPA output controls (such as latency). (T356)
* Fixed: Bug when cancelling 'save as' operation, says 'file exists'. Caused by my earlier compressed save fixes. (T356)
11.04.2010
* Fixed: DSSI requested midi mapped controls were not correct. (T356)
* Changed: Working on controllers, and saving their state. Synths like Organ should remember their state now. (T356)
- Working on DSSI controls... Working on OSC stuff...
06.04.2010
* Fixed: Jack midi, and DSSI: Midi controller knobs, sliders, boxes etc. not updating with current values. (T356)
- Copied code in MidiPort::sendEvent() to JackMidi::processMidi() and DssiSynthIF::getData().
* Fixed: DSSI: Crashing with unkown controllers sent to synths. (T356)
- Ignore unkown controllers in DssiSynthIF::processEvent().
05.04.2010
* Added: Rec enabled track moved with selection when only one track is rec enabled (rj)
* Changed: Made canvas show grid the default (rj)
* Added: Jack midi ports can now be renamed in the ports list dialog, by clicking on the name. (T356)
- Also cleaned up ports list behaviour and added tooltips.
30.03.2010
* Major reworks: Jack midi, routing system, multichannel synth ins/outs, midi strips and trackinfo pane. (T356)
- WORK IN PROGRESS. Should be usable for current projects.
- ADVISORY: If opening current projects you are advised to "save as" or back up your med files (waves should be OK)
until all is deemed to be working OK. It is possible more changes to .med file structure are needed later.
- Some .med project file structures have CHANGED (like routing). I have tested opening large existing projects,
then re-saving them. OK so far.
However, I have not added importing code for the old midi trackinfo panel 'input port' and 'input channel' boxes (gone now).
If you want to wait, I am planning to do that, but later... Otherwise you must re-enter them with the new midi input routing.
- ** Multichannel synth inputs and outputs: Fairly satisfied with popup menus, hopefully no major reworks...
Routing system fully supports multichannel synth mono/stero paths but is NOT COMPLETE yet.
When changing a connected track from stereo to mono, there is no coding yet to ensure the existing stereo routes are
changed from stereo to mono (just like the audio input and output tracks have always done with Jack routes).
Also coding must be added to avoid simultaneous mono and stereo routes - make them mutually exclusive - although
there's nothing technically wrong with it, it's just not desirable.
- ** Jack midi: You now create your own Jack midi ports. I have not added any means to delete them yet, but I believe
if you 'unselect' them in the midi ports list so that they are not used, then the saved .med file will ignore them.
- Multi-instances of MusE should work OK now - all ports should hopefully have unique names.
- Number of midi ports increased from 32 to 128. It's a bit much for the ports list, was planning "create your own
midi port as needed" (like RG). Obstacles seem to have been cleared now, but it would be a big job (lots of places to change).
- Along the way various tweaks and fixes when I spotted them.
18.02.2010
* Added: Separate Jack midi client ports per MusE port. (T356)
- For now, you will have to manually add further connections to those ports if desired, each session.
- Tested OK rec/play so far.
* Fixed: Some inconsistencies in midi controller number decoding. (T356)
- Everything now references the values listed in midictrl.h
* Fixed: Some Jack code was not calling free after calling certain functions. (T356)
* Changed: Midi priority now deaults to audio priority +1. (T356)
- Thanks to RJ for the convincing argument.
14.02.2010
* Added: Jack midi input should be working now. Controllers, too. (T356)
- Tested with large 1024 frame buffer. Events are recorded with good sub-tick (frame) resolution,
as viewed in pianoroll with 64T snap grid.
13.02.2010
* Fixed: Jack midi output should now be frame-accurate, support variable length events (like sysex),
and most controllers should work. (T356)
- TODO: No record yet. Just playback.
- TODO: I have code in place for multiple device listing (like ALSA) with auto-connect,
instead of single 'jackmidi' device, but it doesn't seem to want to actually connect.
Simply enable the #define JACK_MIDI_SHOW_MULTIPLE_DEVICES in driver/jackmidi.h
and it will magically switch. Shows port names as their alias #1 (with a rem'able line to
revert to non-alias names - to be made configurable later). I swear it was working,
then intermittent, then not at all. Hmm...
06.02.2010
* Fixed: MusE hanging on close, with Jack driver. (T356)
- Unregister Jack midi ports on destruction of JackAudioDevice.
05.02.2010
* Fixed: Top level windows: Do not open if there are no parts. Case: bogus -1 top-level part index stored in med file. (T356)
- Changed MusE::readToplevels() and stuff in listedit.cpp
- Was causing crash of list editor upon loading a song saved with the list editor open.
Somehow a bogus -1 top-level part index can make it in to the .med file. Checking this...
* Changed: Preparations for audio processors: Moved stuff out of class Event and into class WavePart. (T356)
- WavePart needs a converter map to lookup events in the part's (shared) event list, in case clones exist !
Ughh, it's going to be tough to ensure the map is always correct because an event cannot tell what part owns it...
04.02.2010
* Improved: Grid handling in arranger improved, it should now be actually usable (rj)
01.02.2010
* Fixed: Jack midi output: Stuck or missing notes. (T356)
- Must only be one jack_midi_event_reserve() per event in handle_jack_midi_out_events().
31.01.2010
* Changed: Midi sync window: Clock is now seperated from other real time commands (play/stop etc). (T356)
31.01.2010
* Fixed: Midi sync in: Should be very solid and 'in time' now, play/stop/continue. (T356)
- Re-coded to begin incrementing immediately upon first-clock detection. Forbid MusE to send transport commands
while in external sync mode - our sync router handles that. Was causing problems.
- Tested OK: Ensoniq ESQ-1 KB (sends clocks ony between start and stop) and Roland TR-505 drums (clocks always running).
The measured general timings were quite different, but (thankfully) clocks and events were not.
- MusE responds better to the TR-505 than the ESQ-1 does with a direct midi cable connection! (ESQ gains ticks on continue).
* Added: Midi sync window: 'Rewind on start' column. (Also a 'Send first clock delay' box - not implemented yet). (T356)
29.01.2010
* Feature: Dummy audio driver: Added global settings for sample rate and period size. (T356)
- The period size affects midi resolution, and the default was just too long. So this was added.
27.01.2010
* Changed: Don't process audio prefetch, or getData() in Audio::copyData(), if track is 'Off'. (T356)
* Added: Arranger track list: Quick 'right-click' or 'ctrl-click' or 'ctrl-mouse-wheel' toggling of Track On/Off. (T356)
- Note this includes midi tracks now! Remains to be seen whether allowing midi off is useful and will work,
or should be filtered out. **TODO: Turn off remaining controls in midi strips, turn off actual midi playback and record.
* Feature: Initial Jack midi support. Imported from Larry Valkama's GIT repo. (T356)
26.01.2010
* Fixed: Import midi 'replace' broken last fixes. (T356)
* Fixed: External midi sync: Wait until first clock after start to start transport, and >= second clock to increment ticks. (T356)
24.01.2010
* Added: Midi sync: Added 'Jack timebase master' checkbox, removed requirement of MusE being tempo map master. (T356)
* Added: While on external sync and Jack timebase master, reports correct MusE BBT info to Jack. (Tempo not correct yet). (T356)
* Added: Midi import option: Whether to split imported tracks into multiple parts. (T356)
23.01.2010
* Fixed: External midi sync in: MusE transport not rewinding upon reception of start. (T356)
* Added: Midi sync: MusE now transmits and receives some MMC commands, and displays some MTC and SMTPE info. (T356)
- No transmit MTC or receive MTC syncing yet, just transport control stuff.
- Tested OK with Rosegarden and Ardour, but they do not seem to have an option to sync to the input midi clock,
only MTC or internally. Must test when MTC output added to MusE.
* Improved: Midi sync editor window: Shows MMC and MTC activity and works with them now. (T356)
21.01.2010
* Fixed: First tests: External midi sync in works now! Should be rock solid no matter what is thrown at it. (T356)
- All changes are labeled "p3.3.25"
- Switched to a 'direct drive' method instead of 'calculation of tempo' method.
Drift between source of master and slave is non-existant since the incoming midi clocks
drive the midi engine directly. This is at the expense of exact 64th note resolution.
At MusE's fixed 24 midi clocks per quarternote, triplet 32nd notes are resolved (32nd note divided by three).
MusE's default 'division' (ticks per quarternote) is 384. 384/24 gives a division of 16 MusE 'ticks' per midi clock.
- Normally when using the tempo map (external sync is off), device play event times are in frames,
because the tempo map provides for that kind of sub-tick frame resolution.
But now, during external sync, device play event times are in ticks, not frames.
Hence the compromise between exactness of note times, and master/slave drift.
- Tested heavily with a Roland TR-505 which has a variable 'analog' tempo knob.
Combined that with a complete midi song, and other test 'tick' tracks driving external synth KB,
was rock solid going 'absolutely nuts' with the tempo knob up to 260BPM, surprisingly good resolution.
- TODO: Check safety of 'midiExtSyncTicks = 0' inside audio thread while midi thread is counting it up.
Also fix seek operations and check for any more place needing these 'tick'frame' alterations.
* Changed: Some more changes for compressed files operations. (T356)
- More to be done, but tests OK so far.
19.01.2010
* Fixed: Saving/loading compressed .gz/.bz2 MusE .med files, + loading compressed .mid/.kar files (save broken, off for now). (T356)
- Changed filedialog.cpp:getSaveFileName() and MusE::loadProjectFile1.
- Added seperate save file dialog filters in globals.cpp.
- Disabled exporting of compressed midi/karaoke files (.mid/.kar) for now because
a compressed file is opened as a pipe, and pipes can't seek, resulting in a
corrupted midi file in MidiFile::writeTrack().
18.01.2010
* Added: Piano roll and drum editor edit menus: "Select prev/next part". With default hotkeys Alt+Left/Right. (T356)
- This is an easy way to switch parts when multiple part editing in one window (via Ctrl-E or Ctrl-D).
And it was absolutely essential, for multiple dedicated controller track editing since there are no notes,
and no (other) way to select another part to edit.
17.01.2010
* Feature: MusE now has two mixers, with selectable track type display. (T356)
- Changes to .med file were needed. Tested OK so far with old and new song files.
* Fixed: Builtin freeverb and TAP reverb ladspa GUIs, or custom user GUIs not showing controls. (T356)
- Broken since removal of musewidgetsplugin library months ago.
Added PluginWidgetFactory class to handle local creation of controls.
(Custom user GUIs must be done by hand since the removal of musewidgetsplugin library).
* Fixed: Appearance settings red colour adjustment larger than others. (T356)
* Changed: Default controller graph foreground colour from blue to medium orange. (T356)
- Avoid clash with blue colour used by left and right markers.
12.01.2010
* Release: 1.0.1 (rj)
10.01.2010
* Fixed: python detection exchanged for script from http://libvirt.org/ (rj)
09.01.2010
* Removed: Disabled watchdog thread. (T356)
- Tested OK (normally) without it, although behaviour needs to be tested if audio or midi thread
would stop unexpectedly.
* Changed/Fixed: Thread priorites: Added command line switches for audio (-P) and midi (-Y). (T356)
- Audio (-P) applies to dummy driver only. (Else audio priority is fixed by Jack).
- Also changed default settings so that no two threads have same priority. May fix problem reported
by user GB, concerning high midi latency.
* Added: Enable/disable LASH command line switch (-L), (if LASH support is compiled in). (T356)
- Helps prevent some issues like auto-starting Jack, or automatically routing midi to fluidsynth (observed).
07.01.2010
* Fixed: BUG ID: 2879426: *.med does not save meta event types. (T356)
- Changed midievent.cpp MidiEventBase::write(). Now saves value A, B, C and sysex/meta data. Tested OK.
* Fixed: Midi meters now show for each track even if they're all on same device and channel. (T356)
- Oversight, long overdue. The meters AND automation control needed to be 'per-track'.
* Applied: muse-destdir.patch Scripts and utils packaging fix submitted by Orcan Ogetbil. (T356)
06.01.2010
* Feature: Jack transport enable/disable in Midi Sync settings window. Stores setting per-song. (T356)
- Should be Ok to use and test. Needs a bit more work. See jack.cpp and jackaudio.h
* Fixed: Speedups of audio pre-fetch especially when moving the cursor around (seeking). (T356)
23.12.2009:
* Added: DeicsOnze2 initial import. (ng)
* Fix: deicsonzepreset.cpp for Xml muse 1 API
20.12.2009:
=======================================
* 1.0 tagged (rj)
=======================================
19.12.2009:
* Feature/Fix: Audio metronome: Send output tracks now selectable in Settings->Metronome. Also fixed bad noises.(T356)
15.12.2009:
* Patch: New patch for 64-bit memory issues, from Daniel Kobras (rj)
* Reworked: Output of configure script to point out deprecated stuff and list the interesting stuff (rj)
* Fixed: Old bug: WaveTrack muting slow to respond or odd behaviour. (T356)
- Removed track mute check in WaveTrack::fetchData(). Was causing 'delayed repeated muting' since the mute check is
done at a time when audio segments are fetched which are to played a few seconds into the future.
Tested OK so far, playing and bouncing wavetracks. Mute is now quick to respond and does not 'repeat' or 'delay'.
14.12.2009:
* Fixed: Overhauled AudioTrack processing. Fixes noises if multiple output routes exist. Eliminates costly redundant
processing of audio tracks, and their effects racks. Waves, groups, inputs, outputs, synths etc. (T356)
- Made better use of AudioTrack::outBuffers, as a 'post-effect/pre-volume' caching mechanism if the track has more than one
output route. WaveTrack was already using this scheme, but I moved it up 'higher' and now all tracks benefit from it.
- See AudioTrack::copyData() and ::addData(). Most changes there. (Comments included!)
* Fixed: Old songs made before recent synth changes were not loading their synths. (T356)
- In .med file, added synth 'label' tag to go with existing 'class' tag, to support synths like dssi-vst.
- Songs made recently after the changes might not load their synths and will simply have to be re loaded and re-saved.
07.12.2009:
* Fixed: Add Synth popup menu: Show names AND descriptions. Now sorted, too. Also separate MESS, DSSI, VST, and Other. (T356)
- Added app.cpp:populateAddSynth() function.
* Fixed: Increased buffers for reading xml. Song files with large patchdata from vstis caused crashes (rj)
* Fixed: Self inflicted bug with setting inital song loading in general configuration (rj)
06.12.2009:
* Fixed: List popup synths by description. Cleaned up soft synth main list. Added persistent names, descriptions, ver, etc. (T356)
05.12.2009:
* Fixed: ddsi synths: Ticking or crackling when more than one output route path. (T356)
- The synths were being run more than once per process cycle, due to multiple out routes eventually calling getData.
- ** Work in progress - must also do MESS synths and other track types which should only process once per cycle.
* Feature: SSE support configure build option and SSE enabled dsp routines added. (T356)
- Currently none of the routines are actually used, yet... Borrowed from MusE-2.
- They appear to only be enabled for 64-bit CPUs. Investigating why not 32-bit...
* Feature: i386 optimized dsp float buffer copy routines. (T356)
- Should work on all i386 compatible CPUs (uses asm movsl). Borrowed from MusE-2
- I couldn't bear to add yet another unoptimized memcpy usage, so I added this.
* Changed: All audio buffers now allocated with 'posix_memalign' instead of 'new'. (T356)
- Borrowed from MusE-2.
03.12.2009:
* Fixed: Support for initial vst chunk storage support if available in dssi-vst
requires a patch to dssi-vst.
* Fixed: Better cleanup on closing MusE. (T356)
- Added Song::cleanupForQuit called from Muse::closeEvent. Disconnect gracefully from LASH before app quit.
Clean up memory. Make vst synth processes which were in undo or redo list at close go away.
02.12.2009:
* Fixed: Do not send default midi values back to dssi synths. Let them handle their own default setting mechanisms. (T356)
- Also saves a bit of loading time for synths with hundreds of controls. See MidiPort::setMidiDevice().
02.12.2009:
* Fixed: dssi: Crashes when loading most vst synths. (T356)
- All ports must be connected even if not used.
Made sure all audio in/out and control in/out ports are connected,
including latency control out port. Test Ok.
30.11.2009:
* Added: Configuration option for vst plugin in-place processing, fixes ladspa vst plugins not working or loud feedback. (T356)
- Hmmm, they were working before when I upgraded OS. Now they're not. Extensive testing: It seems this is not MusE's fault.
- R.J. reports they weren't working too. Investigating...
29.11.2009:
* Fixed: dssi: Loading of synths with more than 2 out channels. (T356)
- Currently only the FIRST TWO channels of the synth will be used.
- Tested ok so far with A.D. drumkit.
28.11.2009:
* Fixed: dssi: List only synths found, not effect plugins. (T356)
- Does the exact opposite of what dssi-vst does for ladspa plugins,
therefore all plugins should be covered - effects will be listed
in ladspa effect dialog, while synths will be listed as synths.
27.11.2009:
* Fixed: dssi: Both native guis and vst guis should open now. Ooooh - pretty! (T356)
- ** But still: Keep an eye on your process list and manually kill any
synth instances lying around after exit. For now try to 'politely'
close dssi guis and delete any dssi synth tracks before exiting muse.
- Working on gui open-close-reopen-show-hide stuff. Kinda weird esp. with vsts right now...
26.11.2009:
* Fixed: Loading dssi crash bug. Should at least load them now. (T356)
- Also some controller functionality via track controllers...
25.11.2009:
* Feature: Dis.. Dis.. Disposable wha? (T356)
- dssi support. Work in progress.
- ** VERY IMPORTANT Currently you must manually 'kill' any synth instances lying around after exit !!!
- Should work OK for tests and fun...
22.11.2009:
* Added: Support for reading ogg files through libsndfile (rj)
18.11.2009:
* Fixed: Audio and synth tracks not processing when output path ultimately leads nowhere. (T356)
- ALL tracks now always animate meters, and process audio 'quietly', and synth tracks
process their gui messages, if output path leads nowhere.
- This fixes a few problems: For example fluidsynth was not allowing loading of soundfonts.
And synths would suddenly 'dump' any backlogged events when processing was turned back on.
And during play, when disconnecting and reconnecting the track outputs, the audio would be
out of sync because it was not processed during that time.
- See Audio::process1() to understand the changes more. Follow from there to SynthI, SynthIF etc.
* Fixed: Minor issue with port 0 display in track list port column for synths, from previous fix. (T356)
17.11.2009:
* Changed again: Arranger: Track list: Left click synth track's port column now lets you choose a port. (T356)
* Fixed: Do not list synths as instruments in ports/synths settings window. (T356)
16.11.2009:
* Added: Script functionality moved from PianoRoll to song class, available in main menu (under 'Midi')
and drum editor (mg)
* Added: 'Add synth' sub-menus now automatically assign the instance to a free midi port. (T356)
15.11.2009:
* Added: Added 'Add synth' sub-menu to main 'Edit menu' and Mixer 'Create' menu. (T356)
* Changed: All audio track types now start with two channels and 0db volume. (Input tracks remain muted as usual). (T356)
* Fixed: Organ synth: Drawbar harmonics and sustain midi controllers were not working. (T356)
- Applied auto-bias corrections.
14.11.2009:
* Added: DoubleSpeed plugin script for PianoRoll (mg)
* Fixed: Disable Python ifdefs (mg)
13.11.2009:
* Feature: Mixer labels: Auto-Font-Size(TM) using Appearance Settings font # 6. Word wrap (only with spaces) supported. (T356)
- The mixer labels will try to fit the text, trying font size from font #6 point size down to point size = 5.
* Feature: Arranger: Track list: Right-click 'Add ...' now lists soft synths ! (T356)
* Feature: Arranger: Track list: Left/right click synth track's output port column now shows synth gui ! (T356)
* Changed: Midi track info: Removed redundant track name box, changed label to behave like mixer strip. (T356)
* Fixed: Appearance Settings: Manual entry into font name boxes now works. (T356)
* Fixed: Appearance Settings: Added tooltips to font #0 - #6. Explains which font does what. (T356)
12.11.2009:
* Fixes: Some Python API refcount code added (mg)
10.11.2009:
* Added: Effect disable/enable + add/remove track to Python API (mg)
09.11.2009:
* Feature: Added 'Echo recording to output' button to midi track info panel. (T356)
- Turns on or off echoing of incoming record events to output device.
* Fixed: Midi tracks not recording when no output device selected. (T356)
- Now tracks will record with no output device selected.
* Fixed: Problems since increasing number of midi ports from 16 to 32 several months ago. (T356)
- Added Xml::parseUInt() and ::uintTag(), utils.cpp:u32bitmap2String() and string2u32bitmap().
- Fixed saving and loading of input port mask in med files.
- Fixed display of input port mask in track info panel.
08.11.2009:
* Added: First test shot at part managing app in Python (mg)
* Added: Python api functions for selected track + import of part file (mg)
06.11.2009
* Fixed: Python configure.ac problems. (T356)
* Removed: musewidgetsplugin (QT3 Designer widgets plugin) which may cause CVS build to fail with libtool2. (T356)
- Infamous '-o' trick no longer required to build from CVS. Removed until further notice.
04.11.2009
* Added: Shortcuts to drumeditor + pianoroll: goto current pos, scroll left + right (mg)
* Fixed: Added command line switch (-y) for enabling Python control - disabled as default (mg)
* Added: Shortcut keys added to pianoroll and drumeditor (mg)
* Added: Startup dialog showing 'good to know' info, can be disabled (rj)
* Added: Song info dialog, can be used to record song related arbitrary text information (rj)
* Changed: the output limiter is now configurale, and by default off (rj)
* Fixed: Midi loop recording now honours the transport cycle record mode setting. (T356)
- Cycle mode REPLACE: Only record notes in current loop. Erase any previous loop notes from rec stop pos to loop end.
- Cycle mode NORMAL: Same as REPLACE, but don't erase any previous loop notes from rec stop pos to loop end.
- Cycle mode MIX: Keep all recorded notes from all loops.
- Use the transport record mode OVERDUB or REPLACE as usual to either mix with or replace existing track notes.
* Fixed: Midi record (incl. new part, looping, part auto-extend) now honours the arranger snap selection. (T356)
- Previously the left and right ends of the part would always be 'snapped' to bars, and any new notes recorded
past the end would not snap the part.
* Changed: muse/mpevent.h: Changed MREL list from using audioRTalloc to midiRTalloc. (T356)