forked from mywave82/opencubicplayer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog
1191 lines (675 loc) · 48.1 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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 <[email protected]>
2008-06-29: Makefile.in: relative symlink on ocp-suffix instead of absolute, thanks to Chuck Anderson <[email protected]>
2008-06-29: Makefile.in ocp.spec: move documentation stuff into prefix/doc/ocp-version instead of prefix/share/ocp-version, Chuck Anderson <[email protected]>
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 <[email protected]>
2008-06-24: devp/devpalsa: Various updates: "default" mixer device, bugfix for the ALSA PulseAudio plugin, thanks to Chuck Anderson <[email protected]>
2008-06-24: desktop/opencubicplayer.desktop.in: Changed encoding to UTF-8, thanks to Adam Sampson <[email protected]>
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
2006-12-18: configure.ac goodies/helpc/*: Make the help compiler work with efence/duma, and clean up memory when done
2006-12-18: */*: dirdb implementation and update, part 1
2006-12-18: playmp2/mpptype.c: detection of mp3files where broken
2006-12-14: VERSION 0.1.12
2006-12-14: help/*: endian updates
2006-12-14: */*: Make volumebars endian aware
2006-12-14: goodies/helpc/ocphhc.c: Make it endian-aware
2006-12-14: Fixed xmlmod.c to handle endians better
2006-12-14: Fix endian in x11 output
2006-12-14: remove endian-mess in devposs
2006-12-14: Updates for dirdb
2006-12-14: VERSION 0.1.11
2006-12-14: We just confirmed that OCP runs on sparc (32bit)
2006-12-14: playmp2/mpptype: fix dectection for systems that needs proper alignment
2006-12-14: filesel/*: Made the databases more endian aware, and alignment friendly
2006-12-13: filesel/*: Started to implement the new directory database scheme
2006-12-13: cpiface/cpiface.c: Display height above 99 with 3 digits
2006-12-12: boot/kickload.c: Don't try to dump regs on non-x86 arcs running linux
2006-12-12: VERSION 0.1.10
2006-12-08: Add big_endian fixes (don't use htons/htonl)
2006-12-08: devp/devpalsa.c: Try to set the bufferspace to 0.5 secs
2006-12-03: stuff/poutput-x11.c: Added some caching in the text routines
2006-12-03: filesel/pfilesel.c: Fixed file: to use RegisterDrive, and not to manipulate dmDrives. It messed up when cleaning up
2006-12-03: stuff/poutput-curses.c stuff/poutput-x11.c config.h.in: Fixed ALT_S and disabled keys that are not used/defined
2006-12-01: stuff/poutput.c: Endian introduced a signed error, causing character >=0x80 causing white cells
2006-12-01: devp/devwmixf.c: Don't implement minimum buffersize. Fixes the problem with devpdisk.dev hanging
2006-12-01: Added -p flag, that causes ocp to quit when playlist reaches empty (or when hitting f for filebrowser).
2006-12-01: playmp2/mpplay.c: Memory leak fixed
2006-12-01: filesel/pfilesel.c: Small memoryleak when exiting ocp fixed
2006-12-01: boot/psetting.c: Storing ocp.ini didn't flush/close itself, corrupting the ini file for next time you ran ocp
2006-11-30: It compiles on darwin. Don't know if it works as excepted though
2006-11-29: Fixed a buffer-error in boot/psetting.c when saving settings
2006-11-29: Fixed a crash in .xm loader that was introduced in 0.1.10_rc9
2006-11-28: VERSION 0.1.10_rc9
2006-11-28: Fix recursive add files
2006-11-28: Allow to use modes that aren't supported in fullscreen when we are in a window.
2006-11-28: Fix noise when starting to play streams
2006-11-28: Always display filter to off on streams
If non-scramle and no-remove, the cursor in playlist will step down as you play the list
If non-scramle, the the cursor tells the next song to play
If scramble/random, you see no difference.
2006-11-26: New logic in playlist:
2006-11-25: Lots up endian updates (and some other minor updates along the same run)
Renamed cp.hlp to ocp.hlp
2006-11.18: Renamed cp.pak to ocp.pak
2006-11-16: devwmix and devwmixq without assembler now works
2006-11-14: Various assembler->C updates
2006-11-14: boot/kickload.c: fix stderr for reset
2006-11-08: VERSION 0.1.10-rc8
2006-11-07: configure.ac: Detect broken signed char to signed int conversions (gcc 4.1.1. with -O or higher bug)
a sign error in volume, causing ticking sounds
compiler barrier for the "thread" lock
2006-11-04: devw/devwmix.c:
2006-11-01: VERSION 0.1.10-rc7
2006-11-01: devw/devwmixf.c: -fstrict-aliasing fix for gcc 4.x
2006-10-30: *: Try to use pkg-config for ogg, vorbis and vorbisfile
2006-10-30: *: Try to use pkg-config for id3tag and mad
2006-10-30: *: Try to use pkg-config for adplug (version 2.x and above has this)
2006-10-29: *: Detect broken adplug installations (it doesn't have correct path for libbinio)
2006-08-25: cpiface/cpitrack: Remove some small bugs/graphical issues
2006-08-25: filesel/arczip.c zip file support (read-only and deflate only)
2006-08-25: */type*: make opltype work in detection
2006-08-08: filesel/gendir.c: Use a tempbuffer, to avoid strcpy with same source and dest. Valgrind complained on those
2006-08-08: playmp2/mpptype.c: Removed a buffer overrun (buffer was from heap)
2006-08-08: filesel/pfilesel.c: Removed a memory-leak
2006-08-02: VERSION 0.1.10-rc6
2006-08-02: Some trackers sets unused samples to strange values, and OCP sent them to adlib, when they shouldn't have been
2006-08-02: Thanks to Luigi Auriemma for reporting some overflow issues. Fixed a bunch of overflows like these.
2006-07-23: *: Changed some paths in the configure/build system, so some files might have moved around
2006-06-20: filesel/fstypes.c: Handle headerless pls and m3u files
2006-05-20: playgmd/gmdptype.c: Send adlib s3mfiles to adplug, and length check all buffers
2006-05-18: filesel/pfilesel.c: Add a filetype editor and color-editor
2006-04-28: devp/devpalsa.c: Don't crash if alsa is not available
2006-04-28: dev/devi*.c: Handle failure of the first init call (check if *curdev is valid)
2006-04-28: cfStoreConfig, can be called from ALT_C dialog
2006-04-28: Improve the ocp.ini parser, and some minor updates from cp.ini=>ocp.ini
2006-01-01: Better handling of paths in kickload
2005-12-18: VERSION 0.1.10-rc5
2005-12-31: Write .pls files
2005-12-31: Read .m3u and .pls files
2005-12-29: cdrom updates
2005-12-18: VERSION 0.1.10-rc4
2005-12-18: ALSA Buffer underruns are now handled
2005-12-18: Make it possible to browse files by long filenames
2005-12-18: VERSION 0.1.10-rc3
2005-12-18: alsa initial support
2005-12-06: configure.ac: -ldl fix
2005-12-06: VERSION 0.1.10-rc2
2005-12-06: -ldl must be checked without altered CFLAGS, since some libs might link -ldl
2005-12-02: VERSION 0.1.10-rc1
2005-12-02: Putting myself as author (of this fork)
2005-12-02: Various crash-fixes
2005-12-02: X11 crash-fix
2005-12-02: Don't crash after ALT-C if in graphical mode
2005-12-02: Aylet support
2005-07-11: Make sure all x11_init() are inside HAVE_X11 defines
2005-06-09: VERSION 0.1.9
2005-06-08: filesel/cdrom.c: strncpy instead strncmp doesn't really work as expected
2005-06-08: Some gcc 4.x fixes and a adplug get-extention buffer-overflow
2005-06-07: Don't crash when using curses and x11 is present
2005-05-05: Don't crash loading modules after playopl has been used
2005-06-01: VERSION 0.1.8
2005-06-01: playopl/* adplug support (beta)
2005-06-01: playmp2/*: Scan file-length, since VBR files are ... vbr in time
2005-05-31: filesel/pfilesel.c: Changing directory, places to marker at the directory you came from
2005-05-31: filesel/*: bufferchecks in arctar, and made adb take 127 chars names instead of 63
2005-05-28: filesel/pfilsel.c: RD_PUTDSUBS, recursive directory adding
2005-05-18: filesel/adb.c filesel/mdb.c medialib/medialib.c: More verbose init to tell user what ocp does
2005-05-13: filesel/pfilesel.c parse ocp.ini before adding drives, init rootfs etc
2005-05-13: configure.ac set LIBDIR very wrong when using --libdir= or --with-dir-suffix=
2005-05-10: Handle curses/vcsa key-throttles better
2005-05-10: X11 and DGA tries to respect rootwindow changes more.
2005-05-10: Let console-drivers take-over keyboard interface completley when they are used
2005-05-10: Compile-issue with dev/mixasm.c and -fPIC solved
2005-05-10: Updated freedesktop.org files
2005-05-10: Removed not-used code-paths in console-driver
2005-05-10: Removed lrmi
2005-05-10: Makefile.in update to respect ./configure paths
2005-05-09: Make cpi-anal sample enough data for it's output to avoid random-noise
2005-05-04: VERSION 0.1.7
2005-05-04: playtimidity/*: freepats and timidity should somewhat work (note= and other parameters aren't interprated yet)
2005-05-04: Make private variables static in help/cphelper.c medialib/medialib.c
2005-05-04: Let fileselector and player use same screen-resolution
2005-05-04: Documentation converted into texinfo
2005-05-04: Update freedesktop.org files.
2005-05-04: Fix wurfel and picture loading (make it more userfriendly)
2005-05-04: --with-debug in configure makes ocp drop optimizations, drop usage of SIGALRM, and enables kickloading of gdb
2005-05-04: Keyboard updates
2005-05-04: Redid loading-order of modules in ocp.ini