-
Notifications
You must be signed in to change notification settings - Fork 8
/
ChangeLog
1693 lines (1124 loc) · 57.1 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
2012-08-06 James Morris <james@jwm-art.net>
* patch_set_and_get.c, lfopar_from_id: found nasty side
effect where an lfo id was calculated from a modulation
source id from within an assert... eeek!
* gui/mod_section.[ch]: remove mod_section_set_list_*
these two functions were unused.
* midi.c: replace some debug with errmsg.
* patch_private/ move initialization of adsr parameters
from within patch_data.c to patch_voice.c
* make building of "sandbox test code" into an option
no longer dependant on debug build.
2012-08-05 James Morris <james@jwm-art.net>
* only get port data when auto-connect, plus
free data obtained.
* don't resample audio files when JACK is not
running (for debug/test).
* remove MODAL property from audio-settings
dialog.
* #define NDEBUG so assert are disabled when
building for release.
2012-08-02 James Morris <james@jwm-art.net>
* dish_file.c: call xmlFreeDoc on sucessful read.
* dish_file.c: free str from xmlGetProp.
* patch_voice.c: free voice data.
* patch_data.c: call lfo_free on glfos.
* patch_data.c: call sample_free.
* patch_get_name return const char*.
2012-08-02 James Morris <james@jwm-art.net>
* Petri-Foo 0.1.86
* Always create session dir for new sessions.
* Right justify help menu.
2012-07-29 James Morris <james@jwm-art.net>
* Petri-Foo 0.1.85
* Again, more information is available by looking at
commit message history than reading this file.
* Non Session Manager support (provided optional
dependency on liblo is met).
* "Full Save" for a more archive friendly save. Saves
the .petri-foo dish file under a folder and creates
symlinks to external samples.
* Cleanup of cmake listfiles (CMakeLists.txt).
* Re-instated gui/log_display.[ch] and made it perhaps
more useful but only just.
2012-07-07 James Morris <james@jwm-art.net>
* dish_file_read no longer destroys existing patches
(it's now a decision for the (G)UI to make).
* usage of patch_set_mark_frame and/or
patch_set_mark_frame_expand by dish_file_read_sample
was broken as these functions sanitize the input
against existing input. the fix is to only sanitize
the values once all are known, sanitize_sample_points
does this. patch_sample_set_points then sets all the
points in one go to avoid the checks (which could
wrongly fail) performed by patch_set_mark_frame*.
* fix minor msg_log problems
* file menu sensitive to session management
* fix update of mark position in sample-point-editor
when switching between patches.
2012-07-06 James Morris <james@jwm-art.net>
***** Non Session Manager preliminary support *****
* shed load of changes look in the diff on github ;-P
* added signal handlers for clean exit
* a mist of tweaks
2012-07-02 James Morris <james@jwm-art.net>
* 0.1.6
* Sync to JACK setting is now persistant, saved
in global settings (~/.config/petri-foo/rc.xml)
* Use jackdriver_set_session_cb rather than declare
a GUI function extern in jackdriver.c
* Fix false debug report of failed left port connect.
* Global LFOs are now synced (when appropriate) rather
than merely having their parameters updated.
2012-06-29 James Morris <james@jwm-art.net>
* Changed alsa midi port name from instance name to
"midi_input".
* Tell jack session when --name command option is
used.
* Change get_instance_name to only return something
when --name command option used.
* fix issue with influence of --name argument over
config directory by hardcoding string literal
"petri-foo" instead of using g_get_prgname().
* fix issue where --name argument prevented loading
of command line specified dish file (due to gtk
modifying argc when it recognizes and processes
an option).
2012-06-29 Kaspa Bumke <kaspar.bumke@gmail.com>
* Documented -U option in --help (for the case of
accidental discovery by user).
* Fixed --unconnected option to not take argument.
2012-06-28 James Morris <james@jwm-art.net>
* Fixed dish-file load of a bank containing a patch
without a sample file specified.
* Change status from error to warning for "Failed to
parse" message.
* Add check for sandbox directory for debug build.
2012-06-27 James Morris <james@jwm-art.net>
* Fixed build for older Cairo versions which do
not support CAIRO_OPERATOR_HSL_LUMINOSITY.
* Fixed build for older JACK versions without
session support.
* Fixed a few uninitialized warnings.
2012-06-22 James Morris <james@jwm-art.net>
* Restored sliders visual aspect to pre-cairo days.
* Fixed bug in vertical slider mark drawing.
2012-06-21 James Morris <james@jwm-art.net>
* not kept up with the ChangeLog as usual...
2012-06-15 James Morris <james@jwm-art.net>
* gui/mod_section.c: prevent change of env mod source
in amp tab from causing gtk critical console messages.
* gui/global_settings.c: free new sample_file_filter str.
2012-06-11 James Morris <james@jwm-art.net>
Preparatory Work for 0.1.3 Release
==================================
* added dist target
* removed obsolete source files
* changed default build to release
* fixed some warnings caused by not-#defined debug
* fixed some warnings about unused variables/parameters
(grep why is this still here)
2012-06-09 James Morris <james@jwm-art.net>
* libpetrifoo/patch_private/patch_data.c, patch_copy:
add call to lfo_update_params for GLFOs (VLFOs are
updated on voice trigger).
2012-06-08 James Morris <james@jwm-art.net>
* libpetrifoo/patch_set_and_get.c: fix assertion
range check for envelope key tracking.
* libpetriui/dish_file.c: fix saving of LFO sync
setting.
* libpetrifoo/pf_error.c: add missing enum cases
to switch, modify handling of unacknowledged
errors to be more informative.
* gui/lfotab.c: only sensitize relevant widgets when
changing LFO between tempo-synced frequency and
non-synced frequency.
* gui/lfotab.c: finish dynamically sensitizing LFO
amount sliders (this time for when switching between
different LFOs).
* gui/idselector.c: change debug statement to output
BEFORE signal emmission.
2012-06-07 James Morris <james@jwm-art.net>
* gui/sampletab.c, fix for play mode assertion failure.
Fixed logic for handling play modes where the to-end
checkbox should sometimes be ignored.
* fixed "program returns random data in a function".
(oops added an unneeded return statement).
* dynamically set LFO amount sliders sensitivity to reflect
state of appropriate modulation source.
* remove ***IS*** textview message
2012-06-06 James Morris <james@jwm-art.net>
* sample-selector auto-preview fixes
2011-08-06 Brendan Jones <brendan.jones.it@gmail.com>
* gui/global_settings.[ch]
Stores last-used sample and bank directories into
XDG_CONFIG_HOME/petri-foo/rc.xml
2011-08-06 James Morris <james@jwm-art.net>
* New zoom-in, zoom-out, zoom-fit, and zoom-1:1 buttons
these buttons replace the cruddy oldspin button previously
used for zooming and which the values of were meaningless.
* Mouse-wheel zooming.
Moving the mouse-wheel down will zoom in to wherever the
pointer is pointing in the waveform.
* Probably stuff which I've forgotten and not added into
this Changelog.
* PHIN fan sliders have fans disabled by default.
the fans of the fan sliders require desktop compositing
so are disabled by default.
* PHIN fan slider setting stored via global_settings
* sample.c: Fixed raw/headerless sample loading
* float_section.c: Fixed portamento time setting.
2011-07-26 James Morris <james@jwm-art.net>
* new build system using cmake. alter dir structures.
* include subset of PHAT in build and call it phin.
2011-07-23 James Morris <james@jwm-art.net>
* patch_util.c, new function: patch_get_samplerate(void)
* dish_file.c: current samplerate is written into the
dish_file within the "Master" node. This means that if the
bank is loaded at a later date and JACK is running at a
different samplerate, the values for the play+loop points
can be adjusted accordingly for the resampled audio-data.
* sample.[ch]: removed resample_ratio from struct _Sample.
the resample_ratio member was added in the previous commit
and removed again due to the dish_file being responsible
for calculating differences in play+loop points when
JACK samplerate changes (between instances, not during a
single instance).
* sample.c, sample_default: scaled output of LFO.
scale output of LFO to prevent the default sample having
samples exceeding the range -1.0 to +1.0.
2011-07-20 James Morris <james@jwm-art.net>
* dish_file.c: fix/restore read/write of Portamento/Legato
* sample.[ch]: added sample_get_resampled_size
this function provides a means to get the size the
sample will use once loaded. this is required for when
soft-limits to the size of samples petri-foo will load
is implemented.
* sample.[ch]: addition and usage of MAX_SAMPLE_FRAMES
enumeration MAX_SAMPLE_FRAMES = INT32_MAX; replaces
previous detection of overly-large samples by casting
sf_count_t variables to int and noticing difference.
* patch_util.c, patch_sample_load: scale loop points.
loop points of the default sample are now scaled to
the global sample rate as they should.
2011-07-19 James Morris <james@jwm-art.net>
* Minimum and maximum Velocity value specification
for patche to allow velocity layering of patches.
Thanks to Brendan Jones for submitting patch.
* mod_section.c: fix bug in amplitude modulation amount
Finally fixed this bug by the removal of a dangerously
misplaced else.
* --unconnected command line option to not auto-connect
JACK ports. This is required for JACK Session to work
properly.
* patch.c, patch_set_and_get.c, mod_section.c:
inverted velocity mapping
Allows negative setting of velocity sensitivity. Means
you can cause low velocity to have the effect of high
velocity and vice-versa.
2011-07-14 James Morris <james@jwm-art.net>
* Auto preview toggle added to the sample selector
dialog so that samples automatically play without
loading.
* Added keyboard shortcut for 'Loa_d' in sample selector.
Thanks to Brendan Jones for submitting these additions.
2011-06-30 James Morris <james@jwm-art.net>
* added gpl header to all source files
* PETRI-FOO_ORIGINAL_FILES
new file listing files i consider to be original
to petri-foo and my own work.
* removed gui/amptab.[ch]
* removed gui/pitchtab.[ch]
both pairs of files were not used and had been
obsoleted by gui/paramtab.[ch].
2011-06-28 James Morris <james@jwm-art.net>
* sample.c: fix bug caused by neglecting to set correct
frame count after resampling.
2011-06-27 James Morris <james@jwm-art.net>
* gui.c: menu item generalization function
* gui.c, patchlist.c: add default patch menu item.
* patch_util.c, patch_private/patch_data.c:
duplication of patches working, i claim with
93.76% certainty.
* sample.[ch]: addition of sample_deep_copy function.
********
probably still very much mostly likely:
some testing required.
2011-06-26 James Morris <james@jwm-art.net>
* patchlist.c: my beloved context menu is back.
* gui.[ch]: made the patch list menu callbacks
non-static and declared them in the header so
patchlist.c's context menu can use them.
* <<<< MOD3 branch merged yesterday >>>>
2011-06-22 James Morris <james@jwm-art.net>
* envtab.c: cleaner GUI labels when EGs turned on/off.
title is packed into main box rather than the table
and the table is sensitized to take care of labels.
* lfotab.c: cleaner GUI labels when LFOs turned on/off.
similar process to envtab.c, but required an additional
box for packing (lfotab has different orientation).
* dishfile.c: add envelope key tracking.
2011-06-?? James Morris <james@jwm-art.net>
* adsr.[ch]: added key tracking, added params init.
* dish_file.c: load/save of LFO amplitude modulation
* envtab.c: added key tracking
* patch.c: handles MIDI CC again, but in the better way.
* patch_set_and_get.[ch]: added envelope key tracking.
2011-06-10 James Morris <james@jwm-art.net>
* lfotab.c: add statements to handle modification of
amplitude modulation amounts.
* lfotab.c: reduce highest rate of LFO from 250 hrtz
down to 50.0 hrtz.
* midi_control.h: add macro to define a static inline
function to be used by jackdriver.c and midi.c for
mapping MIDI CC values where balance and pan are mapped
between -1.0 and +1.0 while all else mapped between
0.0 and +1.0 (pitch wheel is handled separately).
2011-06-09 James Morris <james@jwm-art.net>
* lfo.[ch], gui/lfotab.c, patch_set_and_get.[ch], etc
Changes to add two amplitude modulation sources to
the LFOs. This was necessary for functionality such
as using the modwheel controller to adjust the amount
of modulation an lfo gives. See ML for notes.
2011-06-08 James Morris <james@jwm-art.net>
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * MIDI CC as Modulation Sources * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* MIDI CC numbers/names can now be chosen as modulation
sources within. lots of things have changed to accomplish
this.
* Removal of hard-coded MIDI CC effects on pitch, amplitude,
filter cutoff, filter resonance, and panning.
* "Default" sample is no longer a sine wave but a triangle wave.
Triangle chosen over sine as there's not much to filter out of
a sine wave.
* "Default" sample now generated by an LFO and consequently
has better accuracy with regard to looping
2011-06-06 James Morris <james@jwm-art.net>
* gui/mod_section.c: refresh
now calls mod_section_set_patch to blanket update entire
mod section widget (ie, parameter, sources, amounts, etc).
2011-06-05 James Morris <james@jwm-art.net>
* control.h: addition of new enumerations for midi cc.
* removal of LASH support.
* patch_macros.h: INLINE_PATCH_TRIGGER_GLOBAL_LFO_DEF
fixed global lfo modulation settings by adding call to
lfo_rigger.
* jackdriver.c: process
fixed handling of pitch bend wheel data so that resting
position is zero.
* jackdriver.c: map_control
addition of new midi cc enumerations
* gui/mod_section.c: mod_section_set_param
modified so a timeout to call refresh is added for every
parameter type.
* gui/mod_section.c: refresh
modified so parameter changes via midi cc are reflected
in the gui.
2011-05-THIRTEEN James Morris <james@jwm-art.net>
* simplified mono+legato voice operation
after removing half the logic which was ignored, it only left
logic which could be easily simplified. that's what i've done.
* oh yes and i forgot to mention yesterday that i'd rejiggled
a load of the patch_private goings on, too. made that directory
build as a static lib. there was some rationale there at some
point for doing it. honest.
2011-05-12 James Morris <james@jwm-art.net>
* This is a release of major code tweakery under the hood.
* LFO is now an opaque data type
* ADSR is now an opaque data type
* Patch and PatchVoice now allocated from heap.
* scrapped passing around of lfo and envelope array indices
from public patch functions.
* naming and id, names.h/names.c +mod_src.h/mod_src.c
*** previously, lfo and eg names were seperate entities, and their
*** IDs were simply index numbers of an array.
*** now however, modulation source names and modulation source IDs
*** are used instead.
*** this has required some changes into how modulation source IDs
*** work. the IDS now have 4 categories, MISC, EG, VLFO, and GLFO
*** which have ID values of 0x10, 0x20, 0x40, and 0x80 respectively.
*** So if an EG is expected, just (expected_eg_id & MOD_SRC_EG) to
*** discover if the ID is an EG ID.
*** these ID values are now passed around where the old lfo/eg index
*** values were.
*** example IDs:
*** name:"VLFO1" id:MOD_SRC_VLFO
*** name:"VLFO3" id:MOD_SRC_VLFO + 2
*** name:"Key" id:MOD_SRC_KEY
*** ...see patch.h for more.
*** it should be noted, that src/gui/mod_src.[ch] have been renamed
*** as src/gui/mod_src_gui.[ch] so as not to conflict with the newly
*** created mod_src.[ch]
2011-04-18 James Morris <james@jwm-art.net>
* fixed seg-fault when sample-selector was opened on
an empty bank.
* make repetitions of sample-editor play button turn off
previously triggered playing sample before playing again.
* give voice lfos sensible starting frequency.
2011-04-17 James Morris <james@jwm-art.net>
* really can't remember much at all, this is the best
i've got:
* added ability to load raw/headerless samples
* cleaned up sample-selector gtkfilechooser code
* fixed loop/xfade bug/glitch/badcrash resulting
from setting xfade after setting loop points
derived from sample length and xfade length
when loading sample.
* lots of meaningless-to-user modifications
2011-04-10 James Morris <james@jwm-art.net>
* forgotten all sorts of much more important changes than:
* added -DGSEAL_ENABLE for aid gtk3 transition at some
point in the future.
* removed patch_set/get_range and range gboolean from
patch_data. basically range = (lower note == upper note).
2011-03-14 James Morris <james@jwm-art.net>
* yeah like i remember ffs, b!
* implemented sampler x-fades
* implemented sampler fade-in/outs
* tweaked mono+legato code
* tweaked adsr attack for when using mono+legato
2011-03-04 James Morris <james@jwm-art.net>
* another hopelessy out-of-date Changelog entry
* removed specific patch_set/patch_get methods for
play/loop start/stop points.
* replaced above with patch_set_mark and patch_get_mark
* replaced naming of sample_start sample_stop with
play_start and play_stop to reflect naming conventions
i'd already started.
2011-02-26 James Morris <james@jwm-art.net>
* gui/voicetab.c - set portamento time slider range
from 0.25 seconds to 1.0 seconds to reflect the range
allowed for MIDI control changes (see midi.c map_control).
* gui/*.[ch] changed almost all custom widgets (most of
which don't need to be widgets at all) so their
implementation data is private to the implementation.
* gui/*.c replaced *_get_type(void) and other *_class_init
declarations with G_DEFINE_TYPE.
* gui/*.c removed ->destroy methods as a) they were misused
and b) they were n't doing anything which wasn't done
anyway. see: http://mail.gnome.org/archives/gtk-app-devel-list/2011-February/msg00189.html
* gui/waveform.c replace waveform_destroy with waveform_dispose
(see above link). This though, means using GObject instead
of GtkObject for the ->dispose method.
2011-02-23 James Morris <james@jwm-art.net>
! sorry no real right and proper changelog entries
* removed alsa driver
* mixer no longer uses gettimeofday
* removed support for JACK versions < 0.116.0
* --enable-debug now enables the following options:
-O0 -std=gnu99 -ggdb -Wextra
-DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED
* thanks to above options more deprecated GTK/GDK code
replaced.
* moved GUI code from src/jackdriver.c src/audio_settings.c
2011-02-17 James Morris <james@jwm-art.net>
* bisected the monolithic patch.[ch] to form patch_util.[ch].
within patch.[ch], all the setters and getters have gone,
along with a few functions necessary for them.
unfortunately, this means some variables are no longer static
to patch.c and are declared extern in private/patch_data.h.
such is the cost of bisecting 3000 lines of code of one file
to form two files.
* lots of other changes probably more exciting than this have
not of course been added to the changelog :-P
2011-02-13 James Morris <james@jwm-art.net>
* house keeping: transferred patch_*_names functions into
mod_src_*_names functions.
2011-02-09 James Morris <james@jwm-art.net>
* fixed bug caused by usage of wrong patch_* function for tuning
steps.
* fixed GLFO output lists to only consist of global (ie non-voice)
outputs (ie only GLFO outputs can modulate GLFOs, which is as it
should be).
2011-02-06 James Morris <james@jwm-art.net>
* removed amptab.[ch] and pitchtab.[ch] replaced with paramtab.[ch]
which can be used to generate the amplitude, pitch, and filter
tabs via mod_section.[ch].
2011-02-05 James Morris <james@jwm-art.net>
* changed all occurrences of volume with amplitude. Includes
capitalized variants. using sed.
* Slowly working on GUI. Removing Pitch/Amplitude (formerly volume)
from patchsection into dedicated pitch and amp tabs. Patchsection
will now only contain the tabbed pages.
2011-02-02 James Morris <james@jwm-art.net>
* yeah right like I remember: forked and made independant LFOs and
ADSRs...
------------------------------------------------------------------------------
2007-09-06 Juuso Alasuutari <juuso.alasuutari@gmail.com>
* src/gui/patchlist.c: Fixed regression introduced in rev 42 which
made the patch list unscrollable, forcing the window height to
grow as new patches were added.
* src/specimen.c: Unified code formatting.
* configure.ac: Removed -Werror from SPECIMEN_CFLAGS because it breaks
compile with GCC 4.2. The warning comes from the ALSA library and
is beyond our reach. Debian also implements the same fix in their
latest specimen package. (Note to self: Request the Debian devel to
also post any fixes upstream from now on.)
* src/specimen.c: Modified help text and changed client_name var to
instance_name.
* src/instance.c, src/instance.h, src/Makefile.am: Added to introduce
get_instance_name().
* src/jackdriver.c, src/driver.c, src/driver.h,
src/gui/audio-settings.c, src/specimen.c, src/specimen.h: Changed
DEFAULT_INSTANCE_NAME references in audio driver code to
get_instance_name().
* src/lashdriver.c, src/specimen.c: Changed lash_init() to register
client name from get_instance_name().
* src/gui/gui.c, src/specimen.c: Add instance name to window title
if it's supplied.
* src/midi.c: Get sequencer client name from get_instance_name().
2007-01-30 Eric Dantan Rzewnicki <eric@zhevny.com>
* added specimen.desktop for gnome/kde users.
* change to jackdriver.c for jack midi api update.
* changed jackdriver.c to use jack_client_open() instead of
jack_client_new(). This allows multiple specimen instances.
* added command line options for bank to load and jack client name
as submitted by Daniele Torelli <me@danieletorelli.net>.
2006-08-11 Eric Dantan Rzewnicki <eric@zhevny.com>
* configure.ac, Makefile.am, src/Makefile.am, src/gui/Makefile.am,
pixmaps/Makefile.am, bootstrap, autogen.sh (symlink to bootstrap),
specimen.spec.in: changes merged from "0.5.1.1" branch
representing paugh's reworking of the build system.
* configure.ac: changed phat check to version 0.3.1. Need to check
with paugh about why this was changed from -devel tarball.
* src/jackdriver.c, src/mixer.h, src/mixer.c: applied jack-midi
patch from Lars Luthman. NOTE: this should probably be made
conditional on a check for a jack version with jack-midi support.
* src/lfo.h, src/driver.h, src/lashdriver.c, src/specimen.c,
src/gui/Makefile.in, src/gui/patchlist.h, src/gui/Makefile.am,
src/gui/gui.h, src/patch.h, src/lashdriver.h, src/specimen.h,
src/Makefile.am, configure.ac: applied specimen-lash.patch from
drobilla (I think ... or was it Loki? need to clarify this). The
pertinent changes are in lashdriver.[ch], specimen.c and the build
system. The other changes are all cosmetic. There may be some
slight confusion with the build system since this patch was made
before paugh's build system rework.
2005-09-14 Pete Bessman <ninjadroid@gazuga.net>
* src/midi.c (open_seq): Renamed sequencer client to "specimen" to
match up with the JACK client name. Removed old LADCCA stuff that
was lying around.
2005-08-06 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/gui.c (create_about): Fixed the author entry for me in
the about box. It was missing the trailing >. Chris thinks this
is a very big problem, and was quite concerned, and had a
discussion with me at great length on the matter. This lead into
a speech about my direction in life, and his fear that my aimless
maunderings will find me a whisky drenched hobo in orleans. So I
stabbed him. That's OK. He's fat, and fat people don't have the
same rights as you and I. In fact, I propose using fat people as
an alternative fuel source. Think about it. We can have
concentration camps to make the authoritarians happy, and we can
burn the fat people to make the nanny staters happy, and we have a
sustainable and relatively clean (or at least, amusing) source of
energy to please the hippies. Plus, we eliminate the need for any
sort of relations with despotic middle eastern countries. Which
pretty much means that the next time johnny jihad bombs something,
the leftists are going to implode because they simply will not be
able to fashion any sort of apologia for our assailants that even
an autistic monkey could be persuaded to accept as plausible.
...
I fucked your mom last night.
2005-08-02 Pete Bessman <ninjadroid@gazuga.net>
* src/mixer.c (preview_render): use DEFAULT_VOLUME
* src/gui/sample-editor.c (cb_play): replace horribly broken velocity of 127 with 1.0
* src/patch.c: fixed cuts (they got broken when I fixed envelope
noteoffs for singleshots)
2005-07-31 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/gui.c: added an about dialog.
2005-07-27 Pete Bessman <ninjadroid@gazuga.net>
* src/patch.c: fixed so that singleshot patches will still release
any envelopes they have turned on.
2005-07-23 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/gui.c (cb_menu_patch_add): new patches now have same
channel as current one.
* src/gui/midisection.c (midi_section_set_patch): added code to
center keyboard around root note.
2005-07-18 Pete Bessman <ninjadroid@gazuga.net>
* src/beef.c (beef_write): added a missing cast for xmlChar (once
again, thanks to Suva)
* configure.ac: added libgnomecanvas-2.0 check for
pkg-config (thanks to Suva for pointing out it's abscence!)
2005-07-12 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/patchsection.c: yanked out play and panic buttons.
* src/gui/gui.c: added a help menu and put the panic button (STFU!) in there.
2005-07-09 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/channelsection.c, channelsection.h: split out from the
midisection for GUI alignment.
* README: updated to reflect new stuff.
* src/patch.c (patch_dump): changed sorting to go by channels and then note.
* src/gui/patchlist.c (patch_list_update): can now select either
by index or patch id; updated invocations to reflect change.
2005-07-08 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/midisection.c: added code for setting root note and range through keyboard.
2005-07-06 Pete Bessman <ninjadroid@gazuga.net>
* src/patch.c (patch_trigger_with_id): verify note is in range before accepting.
* src/gui/midisection.c, midisection.h, gui.c: added new section for setting midi params.
2005-07-03 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/patchsection.c: changed default title to the more appropriate "empty bank."
* src/gui/gui.c (gui_refresh): added function.
* src/specimen.c (main): added ability to load bank from cmdline.
2005-06-17 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/patchsection.c, voicetab.c, filtertab.c: use
g_timeout_add() instead of g_idle_add() for refresh functions, and
set to newly defined GUI_REFRESH_TIMEOUT interval created in gui.h
2005-06-04 Pete Bessman <ninjadroid@gazuga.net>
* src/patch.c (filter): convert freso to logreso via lin_to_log() and apply.
(patch_create): use DEFAULT_VOLUME for new patch volumes.
* src/specimen.h (DEFAULT_VOLUME): renamed DEFVOL to
DEFAULT_VOLUME and modified source tree to reflect change.
* src/mixer.c (mixer_mixdown): convert 'volume' to 'logvol' via lin_to_log()
and apply that to samples.
* src/patch.c (gain): convert 'vol' to 'logvol' via lin_to_log()
and apply that to samples.
* src/mixer.c (mixer_init): set volume to DEFAULT_VOLUME.
(mixer_mixdown): renamed 'offset' to 'write' for clarity.
(mixer_flush): added code to clear preview.
* src/maths.c: added lin_to_log() and log_to_lin() to convert back
and forth between linear and logarithmic volumes.
2004-11-30 Pete Bessman <ninjadroid@gazuga.net>
* src/patch.c (prepare_pitch): fixed a bug which prevented
portamento from working properly when a sample had been tuned.
2004-11-22 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/patchsection.c (play_cb): fixed play button to use
velocity of 1.0, not 127.
2004-10-09 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/mastersection.c (master_section_init): added a bit of
vertical padding between the section and the contents beneath it.
2004-10-08 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/lfotab.c (lfo_tab_init): set lower value of sync
sliderbutton to .25.
* src/gui/*: updated to reflect
adjustments to PhatSliderButton API change.
2004-10-06 Pete Bessman <ninjadroid@gazuga.net>
* applied c0ffs patches to move jitter correction code to mixer
2004-10-03 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/envelopetab.c: Fixed locking of amount fan for volume
envelope.
* src/gui/patchsection.c: Added patch title display and panic button.
* src/gui/gui.c: Use PatchList to control our current patch now.
* src/gui/patchlist.c: Created the PatchList widget, a better way
to keep track of patches.
* src/gui/patchsection.c: Replaced patch_section_update() with
patch_section_set_patch().
* src/beef.c: Account for monophonic and legato properties.
* src/gui/voicetab.c: Implemented legato switch.
* src/patch.c: Implemented legato
2004-10-02 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/voicetab.c: Implemented monophonic switch.
* src/gui/waveform.c: Now use an orange color to draw loop points.
* src/patch.c: Implemented manual declicking for patches without
volume envelopes. Modified to handle LFO and Envelope switching.
Implemented monophonic patches.
* src/gui/lfotab.c: Implemented switch.
* src/gui/envelopetab.c: Implemented switch.
* src/gui/envelopetab.c, envelopetab.h: Adopt same behavior as
LfoTab when adjusting pitch modulation. Enable the on/off check
box.
* src/beef.c: Added pitch_steps and monophonic properties.
2004-10-01 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/gui.c (gui_init): Added (...) to end of Add, Rename, and
Settings menu entries.
* src/gui/filtertab.c (filter_tab_destroy): remove refresh() from idle loop
* src/gui/voicetab.c (voice_tab_destroy): remove refresh() from idle loop
* src/gui/patchsection.c (play_cb): changed to handle [button|key]-press-event
(stop_cb): changed to handle [button|key]-press-event
(connect): changed to connect [play|stop]_cb to [button|key]-press-event
(patch_section_destroy): remove refresh() from idle loop
2004-09-30 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/voicetab.c, patchsection.c, filtertab.c (refresh): added
simple redisplay code so you can see the effects of MIDI CCs.
* src/patch.c, patch.h, control.h (new), midi.c, mixer.c mixer.h:
merged in c0ff's MIDI CC patch.
* src/midi.c (calc_bpm): use errmsg() to print cop-out message
* src/Makefile.am (specimen_SOURCES): added control.h
2004-09-29 Pete Bessman <ninjadroid@gazuga.net>
* src/patch.c (patch_duplicate): added code to store/restore lfo
tables
* src/gui/*: removed all old and unused files, finished up new interface.
wootzor to the max0r!
2004-09-28 Pete Bessman <ninjadroid@gazuga.net>
* src/gui/*: added hooks to new gui elements to read parameters
from the engine
2004-09-27 Pete Bessman <ninjadroid@gazuga.net>
* configure.ac: removed checks for ladcca and gtk-2.4, and removed
their use throughout the code
* gui.c: removed bank builder and piano, added calls for new GUI
components.
* bank-builder.*, piano.*, leash.*: DELETED!
* *tab.*, *secion.*: created new GUI components. Not hooked up
yet.
2004-08-06 Pete Bessman <ninjadroid@gazuga.net>
* beef.c: pitch is now saved/loaded, thanks to Rocco
(linuxmedia4@netscape.com) for pointing out that it wasn't
previously.
2004-07-22 Pete Bessman <ninjadroid@gazuga.net>
* beef.c: committed changed version by Sacha Berger
(sacha@woanders.de) which accounts for new patch parameters.
2004-07-01 Pete Bessman <ninjadroid@gazuga.net>
* waveform.c: fixed the drawing to use the same concept behind
Brensenham's algorithm for better accuracy, optimized and cleaned
a bit.
2004-06-28 Pete Bessman <ninjadroid@gazuga.net>
* ROADMAP: updated to reflect Thorsten's GUI contributions; 0.9.X
is now an audit/pre-release phase.
2004-06-21 Pete Bessman <ninjadroid@gazuga.net>
* lfo.c: restructured as a general class, share LFO tables now for
more memory efficiency. Added "positive" attribute, which
constrains output from [0, 1] as opposed to [-1, 1] when set.
* patch.c: added lfos at the voice level and global level on a
per-parameter basis. Added special handlers for LFO and ADSR
amount setters for pitch, and added necessary code to advance(),