-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathChangelog
More file actions
1663 lines (1092 loc) · 74.3 KB
/
Copy pathChangelog
File metadata and controls
1663 lines (1092 loc) · 74.3 KB
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
Version 3.3.1
=============
Bugfix release
[flac]
* Multiple metra-entries with same key caused crash.
[sndh]
* Add missing MIME type: audio/x-sndh
[hvl, ogg, timidity]
* Used plrDevAPI->Idle() that returns available free space, instead of plrDevAPI->GetStats() to retrieve the current audio-delay.
[timidity]
* Harden logic that delays events for UI.
Version 3.3.0
=============
Added support for *.sndh files using psgplay and bugfixes.
[SID]
* Update libsidplayfp to v3.0.0
* Update libresidfp to latest master
* Adjust keyboard repeat detection for accelerating adjusting the filters.
* enableOld6581caps option for C64 Assembly 326298
* Fix potential crashes in 'o' and 'b' modes.
[ULT]
* Adjust cmdVolSlide to be 4 times as powerful. Also add minor missing effects/commands.
[SNDH]
* Add support for SNDH files using psgplay
[XM]
* Give warning if tune contains non-standard non-supported ADPCM sample
* After a ECx, a note without an instrument should unmute the channel. (#176)
[HVL]
* Fix potential crashes in 'o' and 'b' modes.
[modland.com]
* no longer hosts playsid directory, and update the list of unknown directories
[channel viewer]
* a DC bias should not produce volume-bars active
[YM]
* Update register to frequency logic to match SNDH. (Fixes a bug where the HI part of the registers ended up being ignored)
[nCurses]
* Try to support rxvt styled terminals regarding SHIFT+F(n) keys.
* Do not purge keyboard input buffer on conRestore/conSave
* Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.
[X11]
* allow to enable/disable X11 SHM extension API during ./configure (for docker container)
* Do not purge keyboard input buffer on conRestore/conSave
* Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.
[SDL]
* With SDL3, scrollwheel now works as UP/DOWN keys - usefull in filebrowser.
* install icons when building with SDL3.
* Do not purge keyboard input buffer on conRestore/conSave
* Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.
[mingw]
* update support-libraries to latest versions.
* devpdisk, file-creation failed due to filename being in LFN syntax, but without any drive and directory.
[QOA]
* Update to latest git (no impact for OCP)
Version 3.2.0
=============
Bugfixes, add SDL3 support, custom file extensions for music files and major speeds-ups for directories, ZIP and TAR files with many files.
* [SDL] Add support for SDL3 (>= 3.2.0).
* [mingw] Update libpng to latest version (1.6.55), and SDL from 2.x.x to to latest version (3.4.2).
* Update libsidplayfp to latest version, includes a faster integer SID emulator crSID.
* [CDA]
* On Linux CDROM driver - silence two valgrind warnings (non-initialized fields in IOCTL, but they are output only fields)
* Do not assert (and exit program) if attempting to play a DATA-only CD.
* [ocp.ini]
* Add support for extra file extensions the file-browser accepts in addition to those provided by the plugins. This can be edited from ALT-C dialog, option E.
* Increase the line-buffer from 1024 bytes to 65536, and also allow for up to 64K bytes of string data.
* [M15,M31] adjust detection to not rely on filenames ending with .MOD, inspect instrument volumes and orderlength.
* [NCurses] Default to the cursor being hidden.
* Use strverscmp when sorting files in the file-browser
* [SDL2/SDL3 video] If 320x200 is streetched to 640x200, request 640x400 instead so we keep the original ratio.
* [wurfel animation and background pictures]
* Search in ZIP files
* Allow animations to end with .ANI
* File discovery message needs to use fwprintf() on Windows
* Filenames with extensions longer or fewer than 3 characters were blindly accepted instead of rejected as background picture
* .spec file now sources the historically files from https mirror instead ftp
* Include the historically files in the windows build.
* [ADPLUG, SID, YM, QOA, WAV, FLAC] Master balance was inverted
* [XM] Improve the loader when the files have incorrect instrument sizes / samples truncated.
* [IT]
* Allow to load files with does does not contain all the sample data.
* Remake tracker detection for the file comment in the file-browser - based on Schism tracker source code.
* [dirdb] Use sorted lists and binary search instead of single-linked lists; Speeds up operations on the tree a lot.
* [ZIP,TAR] Directory list is now stored in a sorted list instead of linked list - and searches are now performed with binary search.
* [SID, Windows]
* If browsing ROM files outside %APPDATA%OpenCubicPlayer/Data, the resulting path did not contain a drive and had slashes in the wrong direction.
* If ROM filepath contained any non-ASCII characters, they would fail to open for usage in playback.
* [CDFS] Protect against recursive directories and high directory depths.
* [Archive Cache Database] BinarySearch was done 32bit instead of 64bit, causing assertion on large files.
Version 3.1.3
=============
Bugfix release, and speed-up reading directories with many files
* [Windows] Update build dependencies to latest available releases
* utf8_casefold()
* Table for single- to single-point lookup is now done with a binarysearch, increasing the speed a lot when there are many files to add in the filebrowser view.
* Update tables to Unicode 17
* [zip] Remove void call to dirdbUnref()
* [X11,SDL,SDL2,curses]
* Unify the minimum text resolution to 80x20 (some had 80x25)
* Gracefully ignore the physical size can know achieve the text resolution, and use virtual resolution of 80x20
* Some few dialogs required 80x25, add scrolling
* [Textlayout] Do not lock-up if window grows to smaller size than supported (easily happens when running in ncurses)
* [DMF]
* Support sample-header for both file-version <8 and >=8
* Use correct buffer-size for input data if decompressing sample-data.
* Reject patterns with more than 512 rows (not valid in the real editor)
* When resizing order-list (splitting patterns with more than 256 rows into 2), malloc() a buffer that is larger. (Old code performed buffer overflow)
* Protect against buffer over/underflow when building the initial pattern-list
* [HVL] Muting single channels, while displaying channel information caused crash
* [669] Sample-looping did not work. Minor copy-paste error when the code was made endian-neutral.
Version 3.1.2
=============
Bugfix release
* [QOA] Failed to compile on some systems.
* [SID] Remove debug messages sent to the console
* [FontSize control logic]
* Was not consistent between SDL and X11 driver.
* Was not possible to change away from 8x16 if window could not grow and fit 16x32.
* Help screen would reset font-size on X11. Now help screen follow to global selected font size instead.
* [Windows]
* OCP.INI update Messages: Do not use escape codes, use correct wide-char path and refer to `del` instead of `rm`.
* Debug messages with paths for HomePath etc, now use wide-char paths.
* Use wide-char version of fopen() when opening OCP.INI (support international user-names)
* [MIDI]
* Font-browser dialog had minor hickup in scrolling, and incorrect highlight for "No soundfont found".
* When file wraps, do no free data and reload the file - reuse the already loaded data.
* Remove double free() when attempting to load an invalid MIDI fil
* [CURL]
* Mention CURL in README.md and ocp.spec
* Improve errors-messages if unable to launch the helper program
Version 3.1.1
=============
Bugfix release
* [MIDI] loading files would cause crash (null dereference) if ~/.timidity.cfg not present
* Avoid using extended SED syntax in stuff/Makefile
Version 3.1.0
=============
Highlighs are support for QOA files, a larger font and UTF-16 support in the Windows builds.
* Add 16x32 font, which is nice for high DPI screens. Access the setting via ALT-C.
* [QOA] Add support for "Quite OK Audio" files
* [IT]
* Files created with other trackers than Impulse Tracker, was not marked correctly by file-detection.
* Loading *.IT files with stereo samples caused random noise due to only reading one channel of the stereo sample causing multiple problems.
* [devw]
* Add support for playback of stereo-samples (instead of down-converting to mono)
* If same sample could both be looped, and unlooped; minor curruption of data just after the loop-end could occure under special occations.
* [S3M] commit 5732560 made stereo-commands pan aggressivly away from center (absolute + repeat relative) and "randomly" enable stereo if value was 1.
* [XM] Make it possible to load songs that are partially truncated, missing some of the sample-data.
* [modland.com] setup dialog:
* select mirror: the custom editfield did not 100% match position when entering edit-mode.
* cachedir: Add missing $ in the UI
* Multiple updates regarding graphical modes:
* Remove leftovers of "gdb-helpers"
* Attemping to enable graphic mode needs to be able to gracefully fail, even when announced present (and revert back to text)
* Changing fontsize, while graphical mode was enable did not have an impact on the textmodes.
* Saving `fontsize` from ALT+C dialog did not work as expected, due to `screentype` likely being another value than 8 in ocp.ini. Update `screentype` value too when in this dialog to the relevant value.
* SDL 1.x, enabling graphical mode two times in a row (and window size did not match from textmode), would cause the window to not resize correctly.
* Remove a possible occation of strcpy where dst == src, which causes undefined behaviour.
* [Windows]
* Use WideChar / UTF-16 interface version of Windows filesystem API calls. This should make it possible to view file names that are using non-ASCII characters.
* Make driver letters capital and sort them infront of the other protocols in the file browser.
* [Timidity] Setup dialog for soundfonts:
* When selecting soundfont / configfile, give hints in the bottom of the dialog about locations searched.
* On Windows, add "*" to the end of the path when performing directory listings, to be compliant with the windows APIs.
* On Windows, search $OCP\data for sf2 files.
* On Windows, timidityplay.c didn't follow the TiMidity windows search logic.
* If user-override only if found for timidity.cfg, relay this in the config dialog.
* Add file-browser in the config-dialog. Making it possible to select SF2 file outside the default search-scopes.
* [adplug] Update to current master
* [libsidplayfp] Update to current master
* [MOD] MOD (Amiga ProTracker 1.1b), MODd (Dual Module Player) and MODt (old Amiga ProTracker) now use 8287Hz as the base-freqeuncy for samples matching Amiga PAL machines, while MODf (Fast Tracker II) still use 8363Hz. If a song now plays the samples slightly too fast, they should be marked with MODf (press <ALT>+<E> in the filebrowser, move the cursor over to "type:" and press <ENTER>)
Version 3.0.1
=============
Bugfix release, with the exception of adplug adding support for "Palladix" files.
* Not all systems provide memrchr, example are some MacOS/OSX variants.
* [adplug] Update to latest master
* This adds support for "Palladix" files.
* HERAD files were not working as expected.
* [sidplay] Update libsidplayfp to latest git version.
* [modland.com] If waitpid() returns a fatal error, give up waiting.
* [HVL] multiple updates:
* files with size below 4096 were not able to be detected on modland.com virtual drive.
* instrument-viewer must fetch the instruments from index 1, not 0.
* track-viewer must fetch global commands from the actual number of channels in use.
* reset the channel-information-cache on file-load, else we might try to dereference pointers from the previous song played.
* [MDL] In loader, the calculation of two buffer-sizes were missing parentheses, causing incorrect calculation.
Version 3.0.0
=============
First major release. We skip version series 1.x.y and 2.x.y to avoid reusing version numbers from the original DOS version.
* Update external libraries for mingw build to latest versions.
* Add more magic numbers for up and comming version of ancient (decompression library for solid files).
* SetMode() did not have paremeters defined in the prototype, not all users had parameters defined. Caused crashes one some combination of mode changes.
* Update to latest version of libsidplayfp
* Update to latest version of adplug
* Add modland.com support directly from the file browser using a local copy of the file-list provided by modland.com.
* Speed up filebrowser if an earlier scanned .tar.gz now has unscanned modules. The archive is not persistent open due to caching.
* XM files would smash the stack on big-endian due to to loops had counter-limits in reverse order in endian-reversal code.
* MacOS/CoreAudio: Add missing mutex locking in two API functions.
* SDL/SDL2 audio: Add missing mutex locking in two API functions.
* SDL2 audio: Use SDL_LockAudioDevice, SDL_UnlockAudioDevice and SDL_CloseAudioDevice SDL 2.x functions instead of legacy 1.x functions.
* Do not attempt to divide by zero, if a song is reported as zero long.
* Logic for buffersize in playtimidity (MIDI files) was not working as expected, especially on Windows.
* If a file was unable to be accessed, pressing ENTER on it would cause a NULL-pointer dereference (Problem introduced in v0.2.102, adding support for ancient)
* Attempting to load a defective S3M file could trigger two different issues. Do not cal mcpSet(), since we have not initialized the mcp device yet, and the que variable was no reset on to NULL after free causing a double free in this special use case.
* When adding a directory-tree to the playlist, group the files by their owning directory, and sort each group of files alphabetically (strcasecmp).
* Detect Sidplayer files as playable.
* modland.com stores "Atari Digi-Mix" as *.mix instead of *.ym, so add that file-extension.
* Add FEST as a valid 4-channel signature
* Add "Atari STe/Falcon, Octalyser" CD61 and CD81 signatures
* Add "M&K!" as a valid MOD signature. These files are likely "His Master's Noise"
* Add support for Atari Falcon, Digital Tracker (MOD) files.
* Avoid double free(), could occure if trying to load an invalid MOD file
* Adjust MIME database, multiple of the magic searches were too aggressive.
* detecting .BAM files with .[0-9][0-9][0-9] filenames
* Remove adplugdb->wipe() call, it is not for freeing memory
Version 0.2.109
===============
This is a bugfix release
* Remove a gcc warning when compiling boot/psetting.c
* validate_xdg_dir_absolute() allocates a byte short when building the string buffer in one of the code-paths.
* mingw builds expects adplugdb to be located within OCP data directory, not in the same directory as OCP.EXE (initial mingw builds did not have a data directory)
Version 0.2.108
===============
This is a bugfix release
* When detecting C++ version, ] and ) was out of order in configure.ac. This only became problematic in autoconf 2.72.
* Playback via Game-Music-Emulator, the global loop module setting was not honored.
* Mono FLAC files would crash, buffer retrieval expected (atleast) two channels to be present.
* EOF detection got false positives in file-cache, FLAC files could fail to play
* Labels should not appear in front of variables, clang can be strict on this.
Version 0.2.107
===============
Highlights are increased speed in the filebrowser, and update of libsidplayfp and adplug.
* libsidplayfp:
* Make it possible to tune parameters in real-time.
* Update libsidplayfp to the latest master.
* Plugin had an extra dirdbUnref() that should not be there.
* adplug:
* Update adplug to latest master.
* Scrolling the channel viewer could crash the player due to read of out-of-bound memory.
* The wrapper OPL class OCP uses had some minor problems:
* In OPL3 mode, if a channel was in 4-OP mode, the second half would always muted.
* In OPL3 mode, if a channel was in 4-OP mode, you could mute the second half of the channel (in addition to the problem mentioned above).
* When a channel is going in/out of 4-OP mode, mute was not consistent.
* Refactor and use file-caching.
* Add compression hint to the fie API, solid files should be scanned directly.
* Differentiate unread (files not scanned) and files were the file content turned out to be unknown. Speeds up the file browser, especially if there are archives present.
* mingw:
* Latest version of packages OCP depends on.
* Enable optimization (needed for static inline functions to work as expected).
* Location of ocp.ini did not match the actual install.
* ISO/TOC - Audio CDs could be unable to play after being looked up in the online discid-database.
* Update libancient filter to match upto libancient master (needs matching support from host operating system for them to work).
* Add support for *.RPG archive file from "Official Hamster Republic Role Playing Game Construction Engine", and *.BAM that in game data files as stored as *.1 *.2 *.3 etc.
* Potential hang-bug in UDF (CDROM DVD image files) parser.
Version 0.2.106
===============
Highlights are support for libgme, newer version of libancient, unifont files can now be bundled using --with-unifont-relative and beta support for Windows.
* [IT] Increase the number of max-samples to match openMPT (it can export files with more samples that original tracker and Schism supports)
* [devpdisk] Reported time during playback was random
* [adplug] Add support for SudoMakers RetroWave OPL3 Express, please configure it in setup:/adplugconfig.dev
* [adplug] Make channel tracker aware of AM/FM modes so it more correctly can display visualization
* [adplug] Left/Right OPL3 logic was incorrect in the register-tracker
* [mingw] Initial support (BETA) for mingw, enables Windows support
* [libancient] Add more fingerprints for compression formats that v2.1.0 can decompress
* [Linux CDROM] Fix deadlock
* [configure] cleanup --bindir --libdir and --datadir, and new syntax to override post ocp suffixes: ./configure LIBDIROCP=/usr/lib/ocp DATADIROCP=/usr/data/ocp
* [configure] removed --with-dir-suffix
* [CDROM *.CUE] REM didn't work as expected
* [CDROM *.CUE] files didn't work if containing INDEX 00 (pregap)
* [CDROM *.CUE] BINARY keyword should be little endian, but there are tools that produce big-endian files without marking them correctly. So we need to detect the endian used.
* [CDROM *.CUE] files didn't include pregaps in the track table
* [CDROM *.TOC] files didn't split the logic for pregap and offset into the raw file
* [musicbrainz] Increase the buffersize, some data retrivals failed
* [global MIME database] Add adplug fileformats
* [global MIME database] Add Game Music Emulator fileformats
* [SDL2] if entering fullscreen while in graphical effect mode, it could not be exited without visiting a textmode resolution.
* [SDL2] Use SDL_OpenAudioDevice(), else the expected audio format between SDL2 and OCP might not be what we expect causing random noise to be played.
* [X11] non-Shm usage could fail to successfully create butter on window resize
* [X11] If background picture is loaded in GUI modes, it was not repainted on window-resize
* [unifont] Allow for unifont ttf/otf files to be placed in the datadir by using ./configure --with-unifont-relative (you still need to copy the files in)
* [*.VGZ] Silently convert them to *.VGM
* [GME] Add support for Game Music Emulator library (libgme) for playback of various retro console systems
Version 0.2.105
===============
* Avoid crash if attempting to access graphical viewer moder when running in
curses (text only).
Version 0.2.104
===============
* Update libsidplayfp
* Update adplug
* Latest version of the upstream version
* Adds support for *.PIS and *.MTR
* Reimplemented the OPL2/3 status viewer
* Buffer for compositing tracker data for music that supports this, was not
cleared between pattern loads. Causing visual data to be accumulated.
* OCP now supports multiple of the emulator implementations
* Default emulator to use has been changed
* Configuration dialog added into setup:
* Elapsed time is now based on played samples and not counting seconds passed
* Screen resizing should be more consistent on remembering settings
* Add support for 3-bytes-per-pixel in SDL 1.x
* Files that are detected as valid for libancient but fails decompression,
OCP failed to reset the filehandler read-position back to 0.
* Track viewer had some excessive CPU usage
* Analyzer viewer has the scale gain range increased, and the current gain is
visible in the header.
* Quick help documentation has been updated, with special focus on the keyboard
shortcuts.
Version 0.2.103
===============
* If an autoload plugin fails to load, do not hard fail if all the core plugins are statically linked in
* version 0.2.91 update missed setting the color for XM files in ocp.ini
* Fix logic for setting screenmode vs ocp.ini. This is now the scheme and default values that SDL, SDL2 and X11 drivers use:
[screen]
screentype=5 ; 0=80x25, 1=80x30, 2=80x50, 3=80x60, 4=132x25, 5=132x30, 6=132x50, 7=132x60, 8=custom
fontsize=1 ; if screentype=8: 0=8x8, 1=8x16
winwidth=1024 ; if screentype=8
winheight=768 ; if screentype=8
* insttype= setting in ocp.ini was no longer working and it was not maintained between songs.
* Remove more external symbols from the devp*.so and devw*.so files, and API updates
* setup:/devp/ and setup:/devw/ directories has been replaced with dialogs
* Detect that C++17 is available, needed due to libancient
* Failed detection of `update-mime-database` did not halt ./configure causing errors later during make instead
* Update libsidplayfp to the latest version
Version 0.2.102
===============
* IT files did not detect reverse jumps are song being looped
* IT playback plugin did not reset all state variables on load
* XDG Base Directory compliance
* Comply with both $XDG_CONFIG_HOME and $XDG_DATA_HOME
* Migrate $HOME/.ocp/
* Add support for files compressed on Amiga systems with the system built-in
compression routines using the library known as 'ancient'
* Updates for building on Haiku
* If iconv CP437 fails to load, fall back to CP850 and then ASCII
* Some few calls to iconv() were not protected against "NULL"
* Add MIME for entries missing in the freedesktop MIME database
* Update desktop file with additional MIME types
* Call update_mime_database and update_desktop_database
* Starting ocp with files as arguments stopped no loger was working
* If a file fails to load, display error message in the fileselector
* Replace setup:/alsa/*.dev files with a single setup:/alsaconfig.dev dialog
* nprintf() didn't limit UTF-8 strings correctly
* Only accept .TAR files that contains the ustar magic
* If playback plugin are not operational, multiple corner-case issues has now
been fixed
* When editing fixed UTF-8 text-fields, backspace / delete-key would not
unreserve the buffer-space, artificailly shrinking the available text until
a new edit was initialized
* Add the rReverb and iReverb plugins from the original DOS project, with some
additional fixes
* Show both panning/balance and chorus/reverb at the same time if they both can
be active and can fit on screen
Version 0.2.101
===============
* Update m4 macro files, configure.ac and Rules.make.in to latest versions
* Update adplug from upstream
* Update libsidplayfp from upstream
* Update hivelytracker from upstream
* Add support for textinfo v7.0 (documentation)
* Add karaoke support for timidity playback plugin
* Update .ym file detection to include compression header type 1
* Playback plugins no longer need external symbols from OCP
* SDL2 and X11: Delete key stopped working after support for international
characters was added
* MacOS build fixes
* Parallel build fixes
* VU right peek-meter was noisy
* S3M files that was flooded with global commands causes buffer-overflow
* Ctrl + C when ran in curses or linux vcsa console now does the same as
pressing ESC. It only does force kill if OCP is frozen and it is pressed
multiple times
Version 0.2.100
===============
* Former attempt at supporting plugins to be built-in ("static") has been
revived and is enabled by default. By now playback-plugins and
audio/wavetable drivers must be external still
* Unifont is transitioning from truetype to opentype and OCP is adapting the
change
./configure syntax has been changed to accomodate the changes:
If specify by directory, the options available are
--with-unifontdir-ttf=/path
--with-unifontdir-otf=/path
If specify by file (due to non-standard naming convensions and casing)
--with-unifont-ttf=/path
--with-unifont-csur-ttf=/path
--with-unifont-upper-ttf=/path
--with-unifont-otf=/path
--with-unifont-csur-otf=/path
--with-unifont-upper-otf=/path
* Many internal functions used by playback-plugins are now being forwarded from
core to plugins by API-tables
* Double-free in playopl (adplug playback) if file failed to load
* Move all file-type detection and type registration into each playback plugin,
and autoload all playback plugins
* In fileselector file-type-editor, selecting a blank file type (redetect
file-type), buffer overflowed and relied on that being blank
* Avoid crashing when opening a midi file due to missing parameter
* 16bit WAV files were probably not able to play on big-endian systems
* FLAC: avoid divide by zero error at end of tracks
* Timidity/MIDI: isolate all library globals into a session and partially
fixing channel muting
* Internal API changes
* ALSA: Make it possible to custom select with text input both PCM output
device and Mixer, and bring volume mixer back to life
* Information about selected channel disappeared from the screen when in scope,
phase and note dots view if you visited the file browser
* Add international keyboard support for SDL 1.x
* Add international keyboard support for X11
* quickfind now supports international characters
* cpiinst overshot memory when clearing unused space
* Quicksearch .. and other overriden filenames in filebrowser where not working
* Update libsidplayfp to lastest upstream master
Version 0.2.99
==============
* Specify branch for the adplug git submodule
* Minor error in the help text from the dumpmod utility
* playxm (XM playback engine): A delay FX command should use the last note
given in the channel, and not the last note that also had a delay.
* ALSA: On buffer underruns (most common happens during SDL2 recreating
windows and when debugging) the audio must be restarted.
* Going from wuerfel to text mode caused OCP to freeze.
* When running OCP in SDL/SDL2/X11 window and the user tries to close the
window, we no longer issue a single <esc> key, but recursivly insert <exit>
key until the program quits.
* FreeBSD and possible others need to poll Audio Drivers as 50+ FPS, so if
your screen FPS was set to 20, the audio would not be smooth. Added a second
timer for this use-case.
Version 0.2.98
==============
* MacOS updates:
* Not able to compile on newer versions
* Random lockups and crashes
* Compiling psetting.c on x86 with gcc generated a lot of warnings
* G++ 7.5.0 failed to compile one of the files
* Remove kickstarting GDB on crash when configured with --with-debug
* Remove usage of SIGALRM. This was only partially safe with native OSS and
ALSA drivers
* Update wurfel mode - search for animations in ~/.ocp aswell as the global
data directory
* playopl would fail to compile with clang
* Parsing RIFF files could randomly crash (MID, WAV and MP2 files are RIFF)
* MIDI playback could randomly assert on events-delay logic
Version 0.2.97
==============
* Two files still references the system adplug header files instead of the
built-in provided ones
Version 0.2.96
==============
* ./configure now default to have --with-dir-suffix= empty. This new default
value fits better for most packagers better. To get the previous default
behaviour, run configure like this:
./configure --with-dir-suffix='-$PACKAGE_VERSION'
* adplug and libbinio are now polled from GIT, we need access to some internal
data not available in system installed versions.
* adplug: music files that depend on external file resources didn't work as
expected (e.g. Sierra game music)
* plrGetMasterSample(): did not work as expected any more
* cdfs: fix link-error on BSD and MacOS
* *.AMS Extreme's Tracker files was parsed incorrectly
* libsidplayfp: update to latest upstream version
* 8x8 font: glyphs that are not present in OCP built-in font will now be scaled
down from unifont 8x16
* The fast low quality audio-mixer (devwmix) was updated
* API between playback plugins and audio drivers has been updated
Version 0.2.95
==============
* Add support for *.AMS Extreme's Tracker (v1.2 and v1.3)
* Add *.RSID as a recognized filename
* Created a setup-dialog for libsidplayfp (*.SID/*.RSID) playback plugin
* Do not require unifont-CSUR (not all distrubutions includes this part of
GNU unifont)
* Minor fix for *.STM files
* Fixed non-standard code that clang failed to compile
* MacOS/OSX: remove `-flat_namespace` usage
Version 0.2.94
==============
* Fix compiler-warnings
* Fileselector:
* make it possible to list all files, even if they are not audio/music files
* Add support for CUE/TOC/BIN/WAVE virtual CDROM support. Both CD-Audio,
ISO9660,Juliet,RockRidge and UDF parsing. Also includes
libdiscid/musicbrainz information lookup
* Add support for PAK files (Westwood and Quake style)
* Remove old i386 assembler code
* Remove old i386 asssembler emulator code
* SDL2: keyboard composition support (international characters etc)
* SDL1/SDL2: Interpolate the play position
* CDROM Audio Playback: Skipping previous tracks didn't work as expected
* ocp.ini fps=X variable was not honored
* Update libsidplayfp to latest upstream
* Finish keyboard update regarding CTRL+Fx and friends
* If libmad support is not detected, linker error occured at runtime - since we
still referenced the meta information from the plugin
* Some systems have different variations in the actual filenames for the
unifont ttf files. ./configure can now be instructed about these alternative
filenames
* Adplug playback now support subsongs using < and > keys
Version 0.2.93
==============
* Update the desktop icon
* Changing font-size from the ALT+C menu didn't work as expected
* SDL2 now sets the minimum window size for its text-mode operations
* Add Timidity configuration dialog
* Fix some spelling errors reported by Debian Lintian
* FileBrowser:
* Add editing of artist and album
* Add a 3rd width layout for the file-display (we now have >=80,
>=132 & >=180)
* Escape-button when editing UTF-8 text didn't work as expected
* Added special case for '00 being year 2000
* If cross-compiling, ./configure needs to blindly trust that the adplug
libraries are correct and that unifont files are present
* Starting OCP from a directory with compressed files could crash
* CDROM:
* include /dev/sr[0-9] when search from cdrom-drives
* readlink, if the link points to known devices, ignore the entry (this
resolves issues where /dev/cdrom is removed when no CDROM-disc is present)
* MusicBrainz:
* Used for lookup of CDROM track metadata (can be used in future .toc/.bin
support)
* Add cache-browser
* Make it possible to submit unknown discs
* Make it possible to refresh given entries
* Installing icons should not depend on X11 alone, but either/or X11, SDL or SDL2
* Building without X11 support didn't work as expected
Version 0.2.92
==============
* Add ocp.1 manpage
* Fixes for build-system regarding install and uninstall
* Refactored the ./configure script
* Update ocp -h help screen
* Add keywords to the ocp.desktop file
* Give hints about ALT-E key-combo in the filebrowser if you want to edit metadata
* Fix some common spelling mistakes
* Fix some minor resource-leaks found in an old static analysis report, and
unsafe use of strncpy
* In the fileselector, use right/left as alternative keys for insert/delete
These keys are for inserting/deleting songs from the playlist, and these keys
are lacking on some Macs
* OCP was unable to compile at big-endian systems
* cphelper.c was unable to compile on some systems
Version 0.2.91
==============
* Removed the 4x4 font, it was in most cases unreadably
* Editing filetype for a file in the filebrowser, not displays some information per filetype
* The current active playback plugin is now visible in the title bar
* Mac does not have a <INSERT> key, medialib was not usable without this key. Added alternative key <RIGHT>
* Better support for dynamic widths of the screen (playback header, filebrowser)
mdb (meta-database):
* Now uses UTF-8 instead of codepage 437, allowing all characters
playcda (CDROM):
* Code refactored / improved
playxm:
* stereo samples caused buffer-overflow
playogg:
* Was broken
playgmd:
* Updated the *.AMS loader
* Updated the *.MDL playback
* Updated the *.MTM loader
* Updated the *.ULT loader
playtimidity (MIDI):
* Minor improvements
playsid:
* Update to the latest version of libsidplayfp
Version 0.2.90
==============
configure:
* Do not block unknown compiler versions
File I/O:
* Support files larger than 4GB on 32bit systems
* Add a Virtual filesystem layer
* Re-implement .zip
* Re-implement .gz
* Re-implement .bzip2
* Re-implement .tar
* Add support for .Z
* medialib:/ has been overhauled
* MDB did not work correct when more than 65535 entries has been discovered (cache for file information)
playsid:
* Update code to latest version.
playgmd:
* Loading Ultimate Tracker files prior to version 1.3 did not work as expected
Version 0.2.2
=============
playay:
* Update code to latest version of StSound (v1.43).
playhvl:
* Protect against division by zero.
playmp2:
* EOF handling did not work as expected.
* Cover art in ID3 tags can now be displayed if render is graphical (SDL/SDL2/X11)
playogg:
* Cover art can now displayed if render is graphical (SDL/SDL2/X11)
playsid:
* Proper support for non-ASCII characters.
* Update code to latest version.
* Support global pitch bend.
playxm:
* Do handle E60 bug the same way as Fast Tracker ][
ncurses:
* improve UTF-8 handling.
OS-X:
* linking failed due to duplicate symbols.
ALT-K dialog:
* Handle window resizing
File Browser:
* Handle window resizing while editing texts
SDL/X11:
* Use unifont for rendering of text (we now support much more characters than just ISO-8859-1 and CP437
2019-12-02: Version 0.2.1
=========================
2019-12-02: When using X11 driver, the font setting was not pushed back to ocp.ini if changed (in the ALT-C menu)
2019-11-30: Compilation fixes
2019-11-26: VERSION 0.2.0
=========================
2019-11-16: M15 and M31 file-type detection depended on file ending in .MOD in upper-case. Also simplified the detection routing (logic is the same)
2019-11-09: Sync/Update the help-documentation
2019-11-01: Update the help-browser and support tools
2019-10-26: Make it possible to enable building and installing the dump-utilities with ./configure --with-dumptools
2019-10-26: playay/dumpay*.c: Add a tool for dumping content of a .AY file (wrote a long time ago)
2019-10-12: *: Add support for HVL/AHX via the brand new playhvl
2019-08-26: *: Add support for STM (Scream Tracker 2.x) files via playgmd
2019-07-26: playgmd/gmdptype.c: Try harder to detect OPL/Adlib enabled S3M files
2019-07-25: configure.ac: Added GCC 9.x and 10.x to the accepted list of compilers
2019-07-24: playopl/oplplay.cpp: do not create temporary files on file loads, but use a memoryobject instead (requires recent libbinio version)
2019-05-06: devp/devpalsa.c: Query ALSA about possible output devices, and list them under under the setup: filesystem
2019-04-**: *: Face out usage of PATH_MAX and friends. In OS they are defined, they are artificial limits that might not even be enforced
2019-03-09: devw/dwmixqa_x86.c devw/dwmixfa_8087.c devw/dwmixa_x86.c dev/mixasm.c devw/dwnone_asminc.c: add magic for making the assembler function appear as symbols in gdb, and generic assembler usage fixes
2019-03-06: desktop/opencubicplayer.desktop.in: merge in patch from the debian repo
2019-03-06: configure.ac: Added GCC 8.x to the accepted list of compilers
2019-02-21: devw/dwnone_asminc.c: GCC 7.3 on Haiku trigged an assembler usage error
2019-02-18: playay*: Track internal registers for UI usage
2018-11-30: *: Add support for SDL2 video and audio
2018-11-03: playit/itload.c: one malloc() call was assumed to give clear buffers, replaced with calloc()
2018-11-02: playay/*: Provide 4 channels of audio (some very few files utilize the speaker) and improve silence detections
2018-09-29: playwav/*: Use ringbuffer API
2018-09-29: playflac/flacplay.c: Seeking should be done at the right time in the libflac API
2018-09-29: configure.ac: Added GCC 7.x to the accepted list of compilers
2016-09-29: playflac/flacplay.c: Use ringbuffer API
2016-06-06: stuff/timer.c do not let the timer be reentrant
2016-05-12: playay/ayplay.c: Use ringbuffer API and add support pan and pitch control
2016-05-12: stuff/imsrtns.h: memsetd and memsetw macro expandion did not use () for the parameters
2016-05-10: playmp2/mppplay.c: Use ringbuffer API
2016-05-10: stuff/poutput-x11: Minor memory leak fixes
2016-05-10: devp/devpalsa.c: Minor memory leak fixes
2016-05-05: playogg/oggplay.c: Use ringbuffer API
2016-05-05: dev/ringbuffer.c dev/ringbuffer.h: Added a generic ringbuffer API
2016-03-21: configure.ac: Added GCC 6.x to the accepted list of compilers
2016-03-21: playit/itload.c: an off by one when parsing envelopes, causing a minor write outside allocated heap-buffer
2016-03-21: playit/itload.c playit/itplay.c playit/itplay.h: some of the names used conflicted with other symbols/macros (from ncurses)
2016-03-21: Rules.make.in config.h.in */*.c: Default to ncursesw instead of ncurses if available and added support for using UTF-8 on output, where internal OCP font can match unicode symbols
2016-03-21: playtimidity/* ocp.ini.in boot/pmain.c: Use Timidity instead of the previous internal engine for loading soundfonts and rendering of MIDI files.
2015-09-22: playym/stsoundlib/Ymload.cpp: All files where interprated as of type "Interleaved" do to a minor error.
2015-09-07: cpiface/cpitrack.c: Do a probe of what the default/ideal zoom level is, instead of using fixed defaults. This makes more sense when we have dynamic sized windows.
2015-09-05: playym/Makefile: missing depency when doing parallell build.
2015-09-05: playxm/xmlmod.c: If a .mod file has zero orders, it should fail to load, instead of crashes. (If loading a M15 as M31 fileformat is good example)
2015-02-25: filesel/pfilesel.c: dirdb reference counters was off
2015-02-25: playgmd/gmdlams.c: sizeof() was used a bit wrong, causing files with instrument names longer that 4/8 characters to fail.
2015-02-25: configure.ac: use $CC and not gcc when detecting compiler target/version.
2015-02-25: configure.ac: Verify that adplug is compiled with C++ that has the same ABI as the current C++ compiler. (Distroes with old binaries of adplug had random crashes)
2015-02-24: playtimidity/timiditytimidity.c: support for absolute path was not in the patch code path, only instrument
2015-02-09: configure.ac: Added GCC 5.x to the accepted list of compilers
2015-01-04: stuff/poutout-curses.c: workaround broken ncurses version (library did not take into acount that write() might not digest all data at first attempt. SIGALRM is a problem here)
2014-12-31: VERSION 0.1.22 (never officially released)
2014-12-26: boot/kickload.c: simplify logic somewhat
2014-12-26: playopl/oplplay.cpp: possible string overflow on load
2014-12-26: playit/*: overflow when initializing instruments on load
2014-12-26: boot/kickload.c: Haiku introduces non-standard directories. Use the actually directories in the error messages
2014-12-26: configure.ac: ultradir was set to non-versions ocp directory
2014-12-26: playtimidity/timiditytimitidy.c: Charles R. Anderson pointed out that absolute filenames did not work in timitidy instrument patches
2014-12-26: texi/Makefile: makeinfo did not run correctly if locales are set. Force LC_ALL=POSIX (Thanks to Francois Revol)
2014-12-26: *: Replace hardcoded data and doc dirs, and use --datadir and --docdir from configure (Thanks to Francois Revol)
2014-12-26: Makefile.in ocp.rdef: Icon for Haiku (Thanks to Francois Revol)
2014-12-26: Rules.make.in configure.ac: Set __HAIKU__ on Haiku systems (Thanks to Francois Revol)
2014-12-11: playtimidity/timiditytimidity.c: add string overflow protection in dir statement
2014-12-11: filesel/fsptype.c: check length before access memory
2012-01-10: stuff/poutput-sdl.c: Enabled auto-repeat for keyboard and added num-lock status into keyboard flags we ignore. (Thanks to Jester01)
2011-11-06: VERSION 0.1.21
2011-11-05: boot/psetting.c: ocp.ini upgrade code could crash due memmove moved too much memory
2011-11-04: playwav/wavpplay.c: pause on wave files caused crash. Also did some minor cleanups in pause-handling in other file-plugins aswell
2011-11-03: dev/mixclip.c: wav and sid files would crash on non-x86 platforms (optimization for assembler mixer in lookup-tables were fixed for 32bit pointers)
2011-11-03: playtimidity/timiditytimitidy.c: Updated against ubuntu 11.10 configfile structure, closing ticket #3
2011-10-21: playgmd/gmdl*.c: Removed a nested function (GCC on OS-X dislikes them)
2011-09-30: devp/devpcoreaudio.c: Didn't compile
2011-09-18: configure.ac: removed a warning visible when using autoconf >= 2.68
2011-09-18: devp/devpalsa: newer versions of libalsa does not need plughw syntax, and in some cases works better without
2011-09-05: configure.ac: AC_LINK_IFELSE for ADPLUG could fail if "ld --as-needed" was used
2011-07-13: devw/dwmixfa: 8087_asm_emu code made some annoying clicking sounds
2011-07-13: devw/dwmixfa: Added support for proper C verion of the FPU mixer (Thanks to Jindřich Makovička)
2011-07-11: devw/dwmixfa*: 8087 fpu version is now able to compile in PIC mode without use of text-rels.
2011-06-19: playmp2/charset.c: Detection of glibc bug 4936 alrways returned true (thanks to Jindrich Makovicka)
2011-06-08: playwav/wavplay.c: Race condition that caused some audio artifacts (some parts could be replayed randomly)
2011-06-01: play*/*: Some of the players didn't have volatile on the "timer" lock
2011-03-20: devpcoreaudio devpsdl: gettimer() didn't work as expected (needed by cpitrack.c)
2011-03-20: cpiface/cpilinks.c: crash-bug when resizing window while link viewer was active
2011-03-20: Added support for SDL audio
2011-03-19: Support getcwd() for retrieving current working directory
2011-03-19: configure.ac Makefile.in: Only link to pthread if on OS-X / CoreAudio
2011-03-19: config.guess, config.sub, install-sh: update to more recent versions (used the ones present in automake-1.11 in ubuntu 10.10)
2011-03-19: * */*: AC_STRUCT_DIRENT_D_TYPE; not all platforms has dirent.d_type
2011-03-19: configure.ac */*: -lm is not required on all platforms
2011-03-19: compat/stuff.*: strupr is actually implemented on some systems
2010-05-18: playgmd/gmdldmf.c: Remove a nested function
2010-05-18: VERSION 0.1.20
2010-05-18: ocp.ini boot/pmain.c: ocp.ini shipped with version 0.1.19 wasn't correct
2010-05-17: configure.ac: removed a syntax error
2010-05-16: Make it possible to disable 'desktop-file-install' (Fink needs this)
2010-05-15: VERSION 0.1.19
2010-05-14: playmp2/mppplay.c: RIFF contained files were unable to play (usually only used on MP2 files)
2010-05-12: cpiface/cpichan.c: Full-width view with width of 81..127 where drawn in 128 wide mode, causing non-visible-output.
2010-05-12: filesel/*: Split fileselector init into two separate parts. Starting ocp in a directory with uncached archieves caused a segfault due to usage of uninitalized modules.
2010-05-12: filesel/arczip.c: Compression method 0 didn't work as expected
2010-05-11: playym/*: First release of YM file support (Based on STYMulator)
2010-05-11: playopl/oplplay.c: Minor error could cause noise on high cpu-load
2010-05-19: playay/ayplay.c: pause made noise
2010-04-19: *: Specify GPLv2+ on all source files
2010-04-19: playay/sound.c: Update to aylet 5.0
2010-04-16: Removed gnulib (it violated the GPLv2+ license OCP is released under)
2010-04-15: devp/devpalsa.c: Try to compensate for pulseaudio returning a delay of zero samples
2010-04-01: playopl/oplplay.cpp: Disable endian swap for data that comes from adplug
2010-04-01: playxm/*.c: Accept .XM files with bogus header (no 0x1a mark at offset 37)
2010-03-31: playgmd/gmdlptm.c: One block of data-load wasn't endian-safe
2010-03-29: devw/*: Non-x86 now plays long samples correct (thanks to Chuck Anderson for bugreport)
2010-03-29: asm_emu/*: Added a x86-asm-emulator (used for debuging x86-assembler mixers)
2010-02-12: ocp.spec: Relax SELinux on x86 (we use textrels), and give install-info the correct flags
2010-02-12: stuff/poutput-x11.c stuff/poutput-sdl.c: Even better support for 24/32 bit resolutions
2010-02-12: devw/devwmix.c: Non x86 platforms would randomly crash when using effects like "b" and "o" views
2010-01-19: stuff/putput-x11.c: support for 24bit resolution (qemu uses this in virtual machines)
2010-01-10: ocp.spec: Major overhaul (partly tested on OpenSUSE only)
2010-01-10: dev/mixasm.c: Random crash that affects all non-x86 platforms.
2010-01-10: configure.ac, Makefile.in desktop/*: Use desktop-file-install, and remove the wmconfig stuff
2010-01-03: devw/dwmixqa.c [DEVWMIXQ.DEV]: Both assembler and non-assembler version updates (crash bug-fixes)
2009-12-26: VERSION 0.1.18
2009-12-26: playit/itload.c: Don't fail on loading samples with length set to zero, skip them instead
2009-12-25: *: medialib didn't handle archived files very well. This is now fixed, however, a rescan is needed in order to make them work (database didn't store archive data)
2009-11-18: configure.ac: AC_MSG_ERROR was used wrong some places
2009-09-25: Compiling SDL support without X11 gave a missing symbol
2009-09-24: ocp-*: Make even faster method for forcing SDL, etc video drivers
2009-09-24: dev*/dev*oss.c: Only warn if GET_VERSION fails (some BSDs fails on this)
2009-09-24: stuff/*: Added support for SDL video
2009-08-07: devp/devpcoreaudio.c: Major updates
2009-08-07: *: Remove the need for keep=1 on certain drivers. The drivers can tell themselfs if they need it.
2009-07-30: playit/itload.c: use Impulse Tracker 2.15 sample decompression, only when needed
2009-07-29: playtimidity/*: Added buffer overrun protection to the MIDI file parser
2009-07-28: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Portamento_and_pitch_slide
2009-07-26: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Portamento_with_no_note
2009-07-26: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Zero_value_for_note_cut_and_note_delay
2009-07-25: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pan_swing_and_set_panning_effect
2009-07-23: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Random_waveform
2009-07-23: stuff/poutput-x11.c: Added XSync() after resize-windows, else XGetImage sometimes fails, since local structure isn't ajour with server fast enough (window resize on remote X11 would sometime exit ocp with X11 error)
2009-07-23: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pattern_row_delay
2009-07-22: stuff/*x11*: Borrowed some code from mplayer (don't attemt to use SHM on network connected X11 servers)
2009-07-22: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Retrigger
2009-07-21: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Ping-pong_loop_and_sample_number
2009-07-21: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Tremor_effect
2009-07-20: *: use sysconf(_SC_PAGESIZE) if available, before trying to use PAGESIZE, and defaulting to 4096