-
Notifications
You must be signed in to change notification settings - Fork 19
/
Changelog
1444 lines (907 loc) · 62.4 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
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
2009-07-20: playit/itptrack.c: track-visualizer didn't show SBx commands (now appears like plx - pattern loop)
2009-07-20: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pattern_loop
2009-07-20: platit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Out-of-range_note_delays
2009-07-20: configure.ac: missing AC_DEFINE, made compiling on ubuntu flash a lot of warnings due to we not knowing about some header files
2009-07-19: dev/smpman.c: x86_64 crashed when expanding loops
2009-06-29: devpcoreaudio didn't compile on darwin
2009-06-27: VERSION 0.1.17
2009-06-15: boot/kickload.c playmp2/charset.c: getenv() pointers are safe to keep for long. Also added some more constraints (const, etc).
2009-06-04: playit/itload.c playxm/xmload.c: (debug) printf format string warnings on 64 hosts fixed
2009-06-04: playflac/flacplay.c: wrong footprint on a callback (visible on 64bit hosts)
2009-06-04: dev/player.*: Fixed issues regarding x86_64 (segfaulting). Mixing 64bit unsigned and 32bit signed variables doing simple + math can lead to undefined behaviour.
2009-06-04: dev/mix.c: typecast pointers via long int, and not just uint32_t when you want to do shifting on them (even though other arcs not using x86 assembler inlines doesn't use the variables, but we still want it beeing sane)
2009-06-04: doc/texi/Makefile: Don't fail if install-info isn't available
2009-05-12: playtimidity/timidityload.c: Fixed a small possible buffer overflow (readonly while parsing) that could lead to SEGFAULT on broken midi files. Also removed a optimization that were broken (only some gcc setups hit it in a wrong maner)
2009-04-24: boot/plinkman* cpiface/cpilink.c: Added backend support for static plugins, however it is not used yet
2009-03-28: playopl/oplplay.cpp: big-endian hosts didn't play right.
2009-02-13: design change: remove interface= and preprocess= away from dllinfo, and let plugins call apropriate register/unregister instead.
2009-02-11: binfile/*: removed support for ocp.pak. We only had one file left in it, and we don't bother if ocp spans of multiple files either any more (dlopen() is more easy to use when you don't use an archieve aswell)
2009-02-09: filesel/pfilesel.c: playlist now cover entire screen when selected. Pressing INSERT while in playlist now also works as expected
2009-02-08: boot/pmain.c: auto-update ocp.ini from earlier versions of ocp
2009-02-08: remove autoload away from ocp.ini (no need to have it there, since it will change for each version of OCP. OCP should know this statically, based on where it found libocp.so
2009-02-01: devp/devpcoreaudio.c: Re-arranged code a bit, made x11 support work-aswell (no idea why that bOrked before)
2009-01-02: playgmd/gmdlokt.c: endian-issue made the file fail to load on little-endian (x86) hosts.
2008-12-31: VERSION 0.1.16
2008-12-31: cpiface/cpikube.c: Fixed some segfaults
2008-12-30: updated gnulib
2008-12-30: playit/itload.c: don't fail to load .it files without instruments
2008-12-30: playxm/xmload.c: try to load even more module files correct
2008-12-30: stuff/poutput-x11.c configure.ac: Add icons on x11 window (Adds libXpm dependency)
2008-12-05: filesel/fsmain.c: increased the intelligence of esc-handling, fileselector interaction and broken files handling (several freeze conditions)
2008-11-25: Added fnmatch from gnulib, so that OS-X can compile without patches, and behave the same (other issues remain on OS-X however).
2008-11-22: *: Add support for "previous" in playlist (see ALT-K for keys CTRL-J and CTRL-K). Keys make even more sense if you disable "remove from playlist" on ALT-C setup screen
2008-11-21: pfilesel/modlist.c: playing the last song on a playlist would cause strange behaviour and random crashes
2008-11-21: filesel/pfilsel.c: KEY_PPAGE/KEY_UP would cause wrap-around, now all UP/DOWN movements are boundary checked
2008-11-21: config.h.in playmp2/mpptype.c: Added debug-info and fixed a minor parsing bug (could cause random data at end of strings)
2008-11-17: *: use autoload feature in boot/plinkman.c; This makes it possible to have filesupport in different packages without regenerating ocp.ini
2008-11-16: cpiface/cpimvol.c: One of the volumebars were insymetrical.
2008-11-16: help/cphelper.c: KEY_UP was broken, and rendering errors on big-screens
2008-11-16: configure.ac install-sh config.sub config.guess: Enabled cross-compiling (and added needed files from automake 1.10)
2008-11-16: stuff/poutput-x11.c Redid resolution and fullscreen handling
2008-11-06: ocp.ini.in: renamed [x11]:framebuffer to [x11]:autodetect and added [x11]:font
2008-11-06: */*: Various small array underflow/overflow warnings were fixed (non-fatal all of them)
2008-08-03: playxm/xmplay: Fixed a crash bug when playing certain files.
2008-06-29: doc/texi/Makefile doc/texi/ocp.texi.in: Add ocp to the global info directory, thanks to Chuck Anderson <cra@WPI.EDU>
2008-06-29: Makefile.in: relative symlink on ocp-suffix instead of absolute, thanks to Chuck Anderson <cra@WPI.EDU>
2008-06-29: Makefile.in ocp.spec: move documentation stuff into prefix/doc/ocp-version instead of prefix/share/ocp-version, Chuck Anderson <cra@WPI.EDU>
2008-06-26: devw/dwmixa.c: Minor updates in the low-quality-mixer (both assembler and C versions)
2008-06-24: configure.ac: exec_prefix should now expand to prefix unless specicied with --exec-prefix=
2008-06-24: *: Make MAD (mpeg) support optional, thanks to Chuck Anderson <cra@WPI.EDU>
2008-06-24: devp/devpalsa: Various updates: "default" mixer device, bugfix for the ALSA PulseAudio plugin, thanks to Chuck Anderson <cra@WPI.EDU>
2008-06-24: desktop/opencubicplayer.desktop.in: Changed encoding to UTF-8, thanks to Adam Sampson <ats@offog.org>
2008-04-24: boot/* cpiface/cpikeyhelp.c stuff/*: Grey-out keys in the keyhelp that aren't available in the currently used consoledriver.
2008-03-30: ctrl+j and alt+enter was mapped to the same key id. Also added two missing key names in the keyhelp (alt+k window)
2008-03-20: filesel/pfilesel.c boot/psetting.c: Add support for @some.m3u support as stated on the help text.
2008-02-20: */*: Added KEY_CTRL_PGUP, KEY_CTRL_PGDN, KEY_CTRL_UP and KEY_CTRL_DOWN (not reachable from curses driver) and relevant code
2008-02-02: playxm/xmlmxm.c: Added a length-check constraint, fixes crash when loading broken MXM files (however, they are played wrong then)
2008-02-01: boot/plinkman.c: missing closedir() fixed
2008-01-29: */*: Removed the dependency on libid3tag (we only used one simple function from it)
2008-01-20: */*: Removed some overhead in `struct modlist` and fixed sorting logic when adding a directory to the playlist, and added recursivity to the logic when deleting a directory from the playlist aswell.
2008-01-14: VERSION 0.1.15
2008-01-04: stuff/poutput-x11.c cpiface/cpikeykelp.c: don't crash on wurfel-mode + ALT-K
2007-12-15: stuff/console.c and others: -dx11 -dcurses -dvcsa flag, to force display driver to use
2007-12-15: playxm/xmplay.c: Playing a note without a valid instrument/sample could cause a null-pointer dereference/segfault
2007-12-14: dev/smpman.c: boundarycheck loops properly
2007-12-13: devp/devpalsa.c (and some others): support for "default" and custom device strings
2007-12-13: medialib/medialib.c: buffer overflow when reading string from user
2007-11-18: playxm/xmload.c: support .xm files with truncated headers (and files with maleformed headers)
2007-11-18: playxm/xmload.c: more sanity-checks and an error in the endian-fixups
2007-11-17: filesel/arczip.c: Taking padding into account when calculating mmap length (crash bug)
2007-11-17: filesel/arczip.c: removed an invalid unlink() that tried to remove a tempfile no longer used in the code
2007-11-17: playxm/xmload.c: check if fread/fseek calls failes, and free memory properly when we abort to load
2007-11-16: configure.ac: detect libiconv if needed
2007-11-16: playmp2/mpptype.c: Mac OS X needs sys/types.h
2007-11-16: cpiface/cpitext.c: Don't send "focused" keyboard events to interfaces that no more is active
2007-11-16: cpiface/volctrl.c: Don't swallow key we didn't use it
2007-11-16: cpiface/cpigraph.c: palette updates for "palette2", replaceable with shift-tab (works in X11 atleast)
2007-11-11: playcda/*.c: Disk size is now correct (displayed on track to little), and removed a crash when you were done playing cd
2007-10-27: playtimidity/timiditytimidity.c: Now it should work with configs that has several search-dirs
2007-10-27: cpiface/cpiscope.c: Draw the entire background picture if present
2007-10-21: VERSION 0.1.14
2007-10-19: */*: ALT+R in the fileselector for rescanning the selected file.
2007-10-19: playmp2/mpptype.c: id3 v2.3/v.2.4 parser updates
2007-10-18: filesel/pfilesel.c: minor buffer-overflow by a byte in fsEditModType()
2007-10-15: Edit FPS from ALT-C setup window
2007-10-13: Support FLAC the "new" 1.1.3 API
2007-09-18: make FLAC support optional, and add some stuff to ocp.ini.in that was lost regarding FLAC support
2007-09-18: ALT-K updates (support for graphical modes)
2007-09-17: playmp2/mpptype.c playmp2/charset.*: id3 v2.x support (and some lame charset handling)
2007-07-22: devw/*: Some crash-fixes regarding 64bit archs (uint32_t/int32_t index behaves differently on 32bit and 64bit systems)
2007-07-13: cpiface: alt+k now displays some help about keys
2007-07-09: medialib: now somewhat works again
2007-06-20: Fix the support for compressed archieves again
2007-05-27: Add support for .flac files
2007-03-02: Internal changes: Remove a lot of symbol lookups for init/close stuff
2007-02-19: Updated the build system regarding "make install" and "make uninstall", and prepared the support for autoload a directory of plugins (so that we can start to strip down ocp.ini)
2007-02-10: Removed the old plSetGraphPage code. Since it sometimes where used wrong, and that all the current graphic drivers are linear, and not paged.
2007-02-10: Removed outdated DGA support
2007-02-05: VERSION 0.1.13
2007-02-04: cpiface/cpitrack.c: Increase intelligens of the renderer (to avoid crashes when viewing files with long patterns, and black lines on small ones)
2007-01-27: dev/dwmixfa.c: handle extreem loops better (and make some more code PIC)
2007-01-21: dev/mixer.c: gcc/binutils optimizes away $0 offset in data-addreses. It caused mp3 and wav files to crash on some hosts
2007-01-18: Don't fetch functionpointers directory from libs, use structs instead (removes warnings from gcc / makes compiling for embedded systems more possible)
2007-01-18: config.h playogg/*: Endian needs to be checked correctly
2007-01-17: boot/kickload.c: just look for sigcontext on linux (should fix building for solaris)
2007-01-01: playay/ayplay.c: don't import libmad header files
2006-12-24: */*: Endian updates and CoreAudio update
2006-12-22: */*: Coreaudio initial code
2006-12-19: */*: dirdb implementation and update, part 2
2006-12-18: poutput/x11-common.c: Close down xlib properly
2006-12-18: playsid/sidplay.c: Use the proper delete[] statement