-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
1326 lines (666 loc) · 60.5 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
* Changes in version 0.8.9 *
Fixes for deprecation warnings in build system.
Fixed potentially corrupt loader shebang bug at the expense of versioning hardness.
Added extra dbus functions to replace old idjcctrl functionality.
Player speed pitch controls now display their speed value.
The button bar and background player can now be hidden.
Added new volume control for the VoIP level.
Added ability to change the recorder filename.
Added patch for playing effects to be listed on the effects tab when effects tab is not the one active.
Jingles tab renamed to effects tab.
Fixed binding for channel pan and added binding for channel level.
Added speed/pitch controls to the background tracks player.
Added binding to the VoIP mixback level.
Added VoIP level control with binding.
Added a command line server kick option and improved automatic connection.
Effects players now have a progress meter. (patch: bmillham)
Reduced border sizes in the main application window.
Fixes for directory choosers in the stream recorders and the "external playlist" playlist mode.
Each effects bank now has its own dedicated JACK output port.
Copying profiles now copies the port connections.
Playlist mode list in background tracks no longer shows unusable modes. This saves screen space.
Player mixer frame removed to save screen space.
Players now have renameable labels.
Fix for background tracks finish time not updating when not playing.
The player bindings now work for the background tracks volume control.
Added level controls for each bank of 12 effect buttons. Key bindings updated.
The DJ audio level control is now at the top of the Prefs->General page.
The DJ alarm now has a dedicated JACK port and level control.
Added support for R128_TRACK_GAIN tags.
Added Ogg/Opus streaming and recording support.
Added Ogg/Opus playback support.
Fixed mp3 seek accuracy bug.
Added cuesheet (.cue .txt) playback support. Multi-file cuesheets are treated as regular playlists.
Fix to pause feature when decoding audio using libavcodec.
IRC now supports manual connection starting as an option for when connecting at startup is undesirable.
Added optional song database tree heirarchy album - [disk number] - track.
Improved metadata cancellation for stopped players.
Fixed bug where repeated playing of the same song would only register in the Tracks Played as a single play.
Fixed bug where live metadata would not include the album metadata resulting in double counting of tracks in the tracks played window from standard unchained ogg files.
Rewrote p3db.py as songdb.py to fix a problem with connection timeouts and UI freeze during large database fetch operations.
Fixed bug where keyboard bindings would trigger when typing in the database filter boxes.
Merged in patch from Brian Millham adding Ampache music database support. Credit given.
Fixed bug triggered by playing ogg or mp3 files with chapter info with the effects player.
Mic preferences settings are restored to the backend when the backend is restored.
Pthreads now sleep when unused.
Fixed regression on recorder pause button.
Effects now have a repeat button.
Multiple effects can now play at once.
Background Tracks player can now be used as a main player for those that prefer to stay in the Jingles tab.
* Changes in version 0.8.8 *
Added a python module for monitoring IDJC (metadata and streams) to the HTML documentation.
The bootstrapping script env-up renamed to bootstrap.
New JACK freewheel mode front panel trigger button and matching preferences option to show this.
Recorder now compatible with JACK freewheel mode.
Fix to mp3 encoder which was dereferencing recently freed memory.
New jingles player. Renamed as Effects.
Player level smoothing and muting code moved from mixer.c into xlplayer.c.
Intra player mixing code moved into xlplayer.c.
Added a new interlude player which is nearly the equal of the main players. Renamed as Background Tracks.
Removed the 'Fastest' player resample option from the preferences due to its inferiority. The remaining items renamed in accordance with the stream encoder names for the same modes.
Fix to unhandled exceptions and bad behaviour in IRC code relating to the adding or removal of IRC servers during streaming.
Replaced libmad mp3 decoder with mpg123.
Added AAC and AAC Plus V2 streaming and recording support.
Run-time linking to libmad removed. This is a forced dependency now.
New dependency twolame adds official mp2 support for streaming, recording, playback, tagging.
Added a brand new encoder format selection user interface which eliminates the possiblity of the user to select bad encoder setting combinations. It also looks much better.
Decoder module avcodecdecode.c now requests audio in float format from libavcodec with theoretically better audio quality.
Fixed deprecation warnings from avcodecdecode.c.
Fix to vu_update in python/maingui.py to allow received values to contain = characters.
Added the ability to remove the main players' visibility. Useful for when using external players.
Added JACK audio routing for all players. This means that individual player audio effects or external players can be used.
Fixed a crash bug that would happen if a playlist control was dragged to the opposite playlist.
Merged the sourceclient and mixer modules.
Updated man pages.
Improved lockup handling code.
Lots of global variables in mixer declared static.
Recorders restart when sourceclient module goes down.
Improved restart for streams when sourceclient module goes down.
The 'Green Phone' VoIP mode now respects the 'In DJ's Mix' setting.
BSB compat fix. The runtime dynamic linking functions are in the C standard library in BSD.
Added ladish [L0] and [L1] support.
The main menu is the new method for connecting JACK ports and it can also be used to check the various connections.
The session is saved every minute. Users no longer need to close and restart to lock in settings in case IDJC freezes.
Added a main menu bar and removed obsolete menus.
* Changes in version 0.8.7 *
Added italian translation.
User interface tweaks for consistency including the greater use of GTK stock labels.
* Changes in version 0.8.6 *
Jingles player revamped.
Player headroom now also features in 'Green Phone' VoIP mode.
Resampling now defaults to 'Fast' mode. Fastest should never be used for sound quality reasons which made it a stupid default.
Added 'Random Hop' playlist mode.
Improvements to the end of track silence trimmer.
Merged the mic and aux audio features into the new concept of channel.
Bindings upper target limit values revised.
Window opener buttons replaced by a menu to save space.
Fixed double free and memory leak in audio_feed.c.
Album metadata is now logged in tracks played and history.log.
Added new Troubleshooting tab in server configuration. This includes the new ability to set the user agent string.
Added GNU gettext i18n.
Code refactored in c/audiofeed.c. No longer assumes both jack client IDs to be of the same length.
Changes made to the build system so that it now passes the "make distcheck" test.
Mouseover popup of the main media players now indicates the album if that metadata is available.
GUI remembers previous window maximized state as well as the unmaximised size.
Replaced XChat plugin with python-irclib based integrated IRC.
New profile manager.
Program launcher is now written in Python, replacing Bash.
Removed deprecated 'Application' category from the desktop file.
Fixed libavcodecdecode.c to work with libavcodec 0.7 (Obsolete macro updated) Patch: Jonathan Nieder <[email protected]>
Fixed a bashism in configure.ac which would prevent building with dash as the shell. Patch: Jonathan Nieder <[email protected]>
Visible state for per-server metadata.
* Changes in version 0.8.5 *
GUI for metadata in the Output window updated. Now has history on the custom metadata. The fallback tag text can be set.
Deleted cue sheets no longer hang around in the playlist - not that there is any proper support for these....
Changed the XChat message context menu to imitate that of the current XChat.
Fixed a metadata bug that would occur when the playing track was retagged using the integrated tagger.
Fixed a bug that was preventing key bindings from functioning properly upon keyboard focus loss. This was affecting the track metadata tagger.
Fixed a bug that was causing incorrect text on the server connection button.
Streams and recordings now support album metadata. New custom metadata formatting tags exist to support this change.
A new crossfader profile has been added which closely matches the inter track fade.
In playlist modes that don't suppport playlist controls a null control is rendered in the playlist instead of a blank space as was done previously.
Auto crossfade now takes into account the fade speed for timing.
New playlist mode 'Fade Over' does the same thing as the crossfade playlist control but for every track.
Sanitised the text inputs of the server dialog. Cleans off :// protocol prefixes and extra / characters on mount points.
The return of the main panel recording indicator(s) - missing since version 0.7.
Copyright year updated to 2011.
Fix to XChat plugin installer. Polished XChat file locking code.
Prokyon3 database settings recovered when saved in active mode. Hostname now saved as well.
Regression fix for player levels when a jingle is playing.
Mic icon flashes after a certain amount of time when a player is on.
Mic indicates on status by the addition of a halo around the microphone icon in the opener button.
Encoder ringbuffer size increased to accommodate really large JACK frame sizes.
Mic player headroom can be set far higher.
Glib added to dependencies. Handles hash table duties in agc code. Hash tables and other GLib features may be used internally to a greater degree as code gets rewritten.
Improvements to the front panel mic open button text. Alt text overrides the mic number, stereo mics are indicated.
Microphones can be made subordinates of a stereo pair. Mic 1 can be paired with 2, 2 with 1, 3 with 4. This achieves two things: 1. stereo mics can be configured with one set of settings; 2. the side-chains merge to facilitate a stable stereo image.
The number of available microphones, streamers, and recorders can be adjusted in Prefs->Feature set.
Prefs window can be expanded in size.
* Changes in version 0.8.4 *
Can now open multiple idjc instances on the same jack sound server using the
-e command line switch.
New server configuration dialog and notebook widget to replace the previous large scrolling window.
Added an empty uninstall target to libshout/Makefile.am to fix 'make uninstall' breakage.
New project website. See docsrc directory in Git source tree. Has a hand crafted Makefile not under GNU autotools control.
Added facility for entering a Shoutcast admin password for the master server.
Saved playlist in xspf format now saves playlist controls.
New playlist control for restarting the playlist from the top.
New env-up script to generate the up the ./configure file and html documentation. Both not to be found in the raw git source tree.
Merged in new midi and assignable keyboard shortcuts interface.
Cue sheets can now be added to the main player playlists. TODO: cuesheet playback.
Cue sheets now indicate type WAVE when making a cue sheet for a flac file and cue sheets now store sub-second time offset information.
The active record and stream tabs are now remembered across application restarts.
A new individual controls expander added to reduce clutter in the output window.
Reversed the hints on the Jingles player volume controls to match the main player volume control.
* Changes in version 0.8.3 *
Fixed a bug where the mp3 header was not captured resulting in corrupt vbr tags in recordings.
Fixed a frame length bug in mp3 vbr tagger in recorder. Would cause mpeg 2, mpeg 2.5 frames to overrun with their padding. This bug also appeared in the mp3tagread module and was fixed.
New feature to record FLAC files and metadata in an accompanying cue file. This does not use one of the server encoders.
New group controls feature in the output window allows operations on all server tabs simultaneously.
The listen URL now appears on the connect button.
Static metadata text now shows with the correct character encoding when streaming mp3 files.
Playlist and hostname/mountpoint info now shows with ellipses (...) when appropriate.
The metadata widget is now in each tab so that metadata formatting information can persist beyond application close.
Added an expander for server connection details which also resizes the window.
Added new kick feature widgets and rearranged the server connection buttons to be at the top of each stream tab.
Fixed a bug where the player freezes at the end of certain tracks when the player is started with the seek bar all the way to the right.
The 'Random' playlist mode now observes a pattern to eliminate repeat performance of tracks while still allowing a large element of randomness.
Track filenames are now stored when streaming or recording for use with Random playlist mode.
Renamed variable shutdown in the mixer to avoid a reported namespace collision.
* Changes in version 0.8.2 *
Fixed an out of bounds memory access in mixer.c.
Added an install button for the XChat plugin.
The stream peak meter has its audio source filtered of brief transients.
The 'Jack Ports' tab is renamed 'JACK ports' reflecting its acronym status. The aux ports are now grouped beneath the mic ports since they are both inputs, leaving output ports similarly grouped.
The advance button toggles microphones that are configured to automatically open.
The 'Player Stop' playlist control opens microphones that are configured to automatically open.
The JACK audio ports have been renamed and are listed as their true names in the Jack Ports tab in the preferences. VOIP users will need to update their .asoundrc file (the docs contain the new configuration).
Licensed as GPL2 again.
The two main window button frames at the bottom have been merged so the new mic button arrangement can scale nicely.
New mic open buttons in the main window. Only buttons for microphones currently set active are shown and the buttons indicate which microphone(s) they control. Freeform text can also be applied to the buttons.
The profile name now appears in the preferences, output, and jingles window titles (except when using the default profile where it is left blank). This reduces the ambiguity that arises when two instances of IDJC run in the same screen.
The server window is now called the output window because the user may just want to record without sending station output through a server.
The mic high pass filter now has a control to set the number of active stages.
Changes to the meters preferences. Now organised into two columns that can be switched in or out on a column by column basis. Option to hide all inactive mic meters.
The player volume control now has an inverted (for GTK) ascending level hint for GTK themes that show this.
Stream VU now appears in the stream indicators column. The mic VU meter is no more.
New microphone meters. A peak meter paired with a colour coded attenuation indicator to give a hint at the state of the mic signal processing.
Increased the number of handled microphones to four.
The microphone detail controls now have a greater degree of control and default to 0 for a flat frequency response.
The build system now recognizes python 2.6 as the minimum version.
./configure checks for the legacy location for libavcodec header files.
Automatic crossfader pass maximum time raised to 20 seconds.
Fixed an infinite loop bug in the Random playlist mode. Would occur when there was only one item in the playlist.
* Changes in version 0.8.1 *
Added the ability to drag and drop tracks from a directory's subdirectory. Two levels deep.
Added support for wma tagging and playlist metadata.
Improved transitioning of old playlist data from the 0.7 series.
Allows addition of mp3 files to the playlist when using old versions of mutagen.
* Changes in version 0.8.0 *
Altered some variable names in configure.in to produce better error messages.
Removed a namespace collision in embedded libshout.
Documentation updated.
MP3 playback can now be dithered. Option in the preferences. Default = on.
Added Replay Gain functionality.
Untagged tracks are now typically shown with the track number cleaned off (requires track number be on the left).
Untagged tracks are now shown with black text and a No Tag message alongside in dark red.
Code to restart the idjcsourceclient module when it crashes has been fixed.
IDJC now runs in the default MALLOC_CHECK_ mode.
Fixed a bug where idjcctrl could start an encoder with bad parameters and cause memory to be freed twice.
Fixed a race condition during encoder shutdown.
Fixed a file filter preselection bug in the 'Add music' file chooser dialog.
Added a precautionary recursion limit to oggscan_eos.
Fixed an Ogg parsing problem where failure to find a valid ogg page in the right hand side caused premature termination of the search.
Fixed a problem seeking files that are in their last ten seconds of playback. Broken since 0.7.17.
Fixed the metadata timing for mp3 recordings. A metadata segment of less than ten seconds could be skipped if it was at the end of a file. Broken since 0.7.17.
Fixed the metadata timing for Ogg recordings. Broken since 0.7.17.
Tracks with quiet endings are not ended early when a server disconnect is imminent or the playlist has nearly run its course. This is to assist server handovers.
A cue file is saved for each mp3 recording. Amarok can make use of these.
./configure stops if the mutagen dependency is not fulfilled.
Recording of mp3 is now possible when the server list is empty.
Players are restarted when the current song playing gets retagged (IDJC tagger only). This is to prevent playback failure.
Dependency list updated.
Added support for multiple metadata tags.
Added APEv2 tagging capability. Includes support for monkeys audio and musepack formats.
* Changes in version 0.7.19 *
Version bump because the Sourceforge file release system is being a pain.
* Changes in version 0.7.18a *
Workaround for a regression in mutagen-1.17. The mutagen.easyid3 module can't be pulled in without first pulling in mutagen.id3 or mutagen.mp3.
* Changes in version 0.7.18 *
Added support for m4b and m4p file extensions. Synonymous with mp4.
New media metadata tagger added, based on mutagen.
Dependency removed: libmp4v2
Dependency removed: eyeD3
Dependency added: mutagen. This covers the functionality of the removed dependencies.
ID3 chapter tags lacking null terminators on the TIT2 frame are handled properly.
Added some Mac portability fixes.
The advance button now works in accordance with the fade setting.
The partially working fade in simple mixer mode is now disabled. This is reflected in the fade selector which greys out.
* Changes in version 0.7.17 *
Fixed minor layout bug in the connection box.
Removed the forced inclusion of mp4.h in mp4tag.c.
MP4 tags API updated in mp4tag.c to prevent deprecation warnings.
The DJ alarm now triggers off a deeper inspection of playlist controls. This permits correct operation of the alarm when fading to an announcement.
The DJ alarm now sounds prior to announcements.
Added playlist controls for fading between tracks. These override the fade speed of the player and can be used to fade announcements.
Added a new fading-between-tracks in-the-same-playlist feature.
Fixed a bug where the player could freeze at the end of a track after a progress bar seek that left the bar at the far right hand size.
Jingles keyboard shortcuts now work when the announcement dialog is active. The shortcut to cancel the dialog (not in editing mode) is BACKSPACE since ESC is used to stop jingles.
Added record_start and record_stop commands to idcjctrl.
Prokyon 3 database parse optimisations. Approx 15% speedup.
Conditional inclusion of jack_set_info_function function call.
Fixes to catch exceptions when there are problems connecting to a song title database.
* Changes in version 0.7.16 *
The application icon and menu entry are now installed according to the ${prefix} value, so it is possible to install to ${HOME}/.local without being root.
When the prokyon 3 database is being indexed (for the tree view) a progress bar is shown. Also the GUI is not frozen during this time as was the case previously.
The password for the prokyon 3 database is now non visible.
When using the prokyon 3 database upon loading IDJC the correct database is now used rather than the default values.
Added Fkeys control of the jingles player. Escape key is used to stop.
The scrolled window in the connection pane now has a specified size
Fixed a segfault that would occur when the main window had focus and the F8 key was pressed.
* Changes in version 0.7.15 *
Uses avcodec_decode_audio3 for libavcodec audio decoding when available.
Fixed bug in avcodecdecode.c, the samples buffer is now aligned on 64 bytes which ensures best performance and the ability to decode formats for which libavcodec uses sse instructions.
Fixed bug in avcodecdecode.c where freed memory could continue to be used.
Added some minor fixes supplied by Andrew Suffield.
Removed the option to not keep passwords over application restarts. Given the extra mouseclicks now requried in order to enter the password and no visible cue to password absence, this feature has been dropped.
Added a new connection feature to the server window. This allows for listener stats to be gathered from a list of relays as well as the master server. Aslo, stats collection can be turned off on a per server basis.
Removed directory checks and conditional inclusion for ffmpeg header files to aid compilation on certain distibutions.
Version 0.7.15_pre1 released as 0.7.14a.
* Changes in version 0.7.14a *
Server stats are now obtained in a threaded manner to prevent the possibility of lockup.
Added a new admin password entry to the server window so that in instances where the Shoutcast server has an admin password applied the stats can still be obtained.
Added and option to turn off stats retrieval on a per server basis.
Stats are additionally now displayed on a per server basis in the server window.
* Changes in version 0.7.14 *
Added 'Alternate' playlist mode.
Added listener stats retrieval. Stats are now displayed below the stream status indicator.
Dynamic runtime linking supported for libmad. MP3 playback can no longer be completely disabled.
Added prefs for how to handle faulty server connections.
Dynamic runtime linking supported for libmp3lame. MP3 streaming can no longer be completely disabled.
Added audio dumping facility to avcodecdecode.c for removing seek noise.
Fixed a bug in avcodecdecode.c which was causing delayed stopping of ape tracks.
Added support for mpc files.
Added support for ape files.
Added an external playlist mode. This allows for extremely large playlists without cluttering the playlist box.
* Changes in version 0.7.13 *
Fixed behaviour when network congestion is encountered.
* Changes in version 0.7.12a *
Fixed beeping sound that was being triggered by a gtk.Entry being filled beyond it's specified character limit, specifically when playing a track with the progress counter in countdown mode.
Fixed multiple deprecation warnings for gtk.SpinButton caused by non zero page sizes in their respective gtk.Adjustment.
* Changes in version 0.7.12 *
Fixed a problem of idjcctrl being able to crash idjc through specifying a server tab number that does not exist.
Fixed a problem with the FLAC encoder not properly registering a bitrate resulting in an inability to stream.
The About pane now displays a list of contributors to IDJC.
Added code to prevent the DJ alarm triggering twice.
Playlist menu option Add To Jingles is now greyed out for playlist controls.
Playlist controls are now processed much more quickly.
Fixed a segfault in mp3dec.c. Older versions of JACK won't trigger this.
Added a new announcement feature on the player context menu that provides a dialog box for text prompts. It's also useful as an alternative to the stop-player control. It provides more of a cue that the DJ needs to talk (if the DJ alarm wasn't enough) and opens the mic for the DJ. The keyboard shortcut is U for no particular reason.
Comp meter updated to indicate noisegate and deess attenuation levels as distinct colours.
Recordings can now be started when the connection type is set to Shoutcast and the format is set to ogg with flac or speex.
Contains brand new microphone audio processing code contributed by Stefan Fendt.
Spacebar now shortcuts for the microphone.
Added new shortcuts V for VoIP and P for private VoIP.
Keyboard focus capability has been stripped from all but the playlists which means that whenever the main window has focus that the keyboard shortcuts mechanism will be functional.
The stream peak meter now red-lines at -2dB and the VU at -7 dB.
Added a new option to cap the maximum stream audio level at -2dB. This may improve the encoding quality. When active this change is reflected in the Str Peak and Str VU meters by the drawing of a line.
Tighter timings on the interlude player. Silence detection at the end of tracks is now more aggressive. Compensated for extended quiet intro songs by inhibiting silence detect on the first 15 seconds of any track.
Now using the python subprocess module for launching the mixer and sourceclient sub-processes to clear a deprecation warning.
Updated to work with the latest pygtk.
When LANG environment variable is not set exception TypeError is now caught for Python 2.6
The CRC is now checked on mp3 files, also sync errors and the like are checked for and not played. This prevents things like the sample rate from being misread.
Ogg/Vorbis can now be streamed at 8kbps.
* Changes in version 0.7.11a *
Added configure option --disable-static, which forces the use of shared libraries. Currently only libshout, which becomes a dependency when this option is specified.
* Changes in version 0.7.11 *
FLAC playback now requires version 1.1.3 or greater.
Configure will now warn on missing LAME dependency.
Added the capability to connect to a Prokyon3 database for the retrieval of detailed music collection metadata. Includes search/filter facility, drag and drop.
Configure options for dependencies are now forced when explicitly specified so --enable-speex="yes" will result in ./configure exiting with an error message if that dependency cannot be met.
The meter area now responds to a mouse right click by bringing up the application-wide context menu.
Added new configure options to prevent building against FLAC and speex libraries.
Added a stream status indicator to the main window.
Fixed a bug that was preventing certain session data from being saved.
Fixed a bug with regard to the requested initial state of the Monitor Mix Stream button which was causing a crash on program start.
Libshout dependency eliminated, linked statically.
Added shoutcast contact information IRC, AIM, ICQ.
* Changes in version 0.7.10 *
Reduced the size of the level meters and their text.
Changed the level meters to use the DrawingArea widget. This gives a more authentic meter appearance with the different colours on the scale but more importantly reduces CPU load massively when using certain GTK themes.
Labelled all the widgets in the crossfader bar.
Updated the Stream Mon. button to something a little less obtuse.
Added a new 'None' option to the Metadata Source chooser.
Fixed the media formats list to not show mp4/m4a when IDJC built without ffmpeg support.
Added new ./configure options to allow building without support for non-free formats:
--disable-mad
--disable-ffmpeg
--disable-mp4
--disable-lame
Removed unused JACK audio ports from the sourceclient.
Added a DSP interface via JACK which includes a bypass control.
* Changes in version 0.7.9 *
New dialog boxes control reconnecting to a server when the connection fails. Reconnection attempts will be made as many as three times after sensible time delays with the user given the option to trigger the reconnection attempt early or to cancel altogether.
Removed the faad2 dependency. AAC decoding to be done in future by ffmpeg instead. Tagging and metadata readout use libmp4v2.
Dependency include files avcodec.h and avformat.h have been moved to different directories. The build system now accounts for this.
Added a mid marker for the crossfader.
Added a selector for choosing the crossfader response curve.
Added new buttons for centering the crossfader.
Included a patch for a metadata source selector.
Improved the handling of poorly terminated Ogg streams.
Regression fix: IDJC is now capable of running when the LANG environment variable isn't set.
* Changes in version 0.7.8a *
Fixed oggdec.c to prevent infinite looping when files are added which contain unterminated streams.
Applied a patch which cleans up superfluous suggested tags in the ogg vorbis tagger when there is a case mismatch e.g. artist vs. ARTIST.
* Changes in version 0.7.8 *
Changed mp3 tab label text to upper case.
Fixed the Speex decoder so it cleanly rejects files that don't have frames_per_packet set to 1 or above.
Added a Speex encoder.
* Changes in version 0.7.7 *
Fixes to oggdec.c in the flac seek and tell callbacks. Fix to oggflacdec.c so that end of tracks are detected.
Added an OggFlac encoder. Triangular dither is applied when using 16 and 20 bit.
Fade in/out made consistent across all JACK sample rates for microphone headroom, mic and aux mute/unmute, player mute/unmute.
Track fadeout now works consistently for all JACK sample rates.
Increased media player watchdog timeout to 9 seconds to accomodate very large media files.
An english label on the compressor now reads Release, formerly Decay. Decay was used previously due it being only five letters long.
A number of compressor, noise gate, and normaliser control values have been changed to units expressed as times and time constants in milliseconds, formerly they were samples and fractions of movement per sample. The former scheme suffered from being dependent upon the JACK sample rate and also it did not follow the example of actual studio equipment.
Ogg file metadata updates occur instantaneously when using the seek bar.
Fixed oggscan_eos in oggdec.c so that all ogg/oga files should import correctly.
Added the keyword 'managed' to the Ogg/vorbis encoder configuration line for when in managed bitrate mode.
Added a new Ogg/vorbis streaming configurator. Upper and lower limits are now expressed as a percentage. Feature expansion is made possible for alternative types of Ogg stream by this new arrangement.
Default text in the jack ports tab now reads system instead of alsa_pcm - this is compatible across different jack back ends but only for recent versions of jack.
* Changes in version 0.7.6 *
The Radio Server window is now by default larger in order not to obscure the encoding format controls.
Removed the (mp3 only) text from the Shoutcast dropdown. When Shoutcast is unavailable due to non support of LAME mp3 encoding the Shoutcast dropdown item is set insensitive.
Builds of IDJC that lack mp3 streaming support now display an mp3 tab with a message where the configuration controls would otherwise be.
Support for Icecast version 1 servers has been dropped due to lack of support in recent versions of libshout.
STREAMERS and RECORDERS environment variables now affect ./configure and can be used to set the number of streamers and recorders that will be available.
The Add Files dialog now reports which media files are supported.
Removed the EXTM3U option from prefs. The current policy is to write m3u metadata when saving playlists and to ignore it on readback.
Extended m3u metadata is now Latin1 encoded.
Cleanups to the playlist populating code.
Added pls playlist support.
Single lined m3u files can now pull in directories.
Added xspf playlist support.
Added the ability to build with pmake, which is widely used on BSD systems.
Added file bsdcompat.c to include workalikes for GNU libc extensions with an aim to get IDJC working on BSD.
Stability fixes to oggdec.c to permit malformed ogg files without locking up.
Added support for the tagging of speex (.spx) files.
Removed a line of code that was causing a visual glitch on the play progress bar at the end of a track.
Added new command line options -m, -a, -t, -s. The man page has been updated to explain what they are for.
Added a speex audio decoder.
* Changes in version 0.7.5 *
Saved Ogg streams now have the oga file extension which is the correct one to use for chained Ogg files.
Added a FLAC decoder for OggFLAC audio files.
Added a vorbis decoder replacing the libvorbisfile decoder that was present previously.
Added support for the oga (Ogg audio) file extension which is the correct one to use for chained ogg audio files.
Added a general purpose Ogg audio decoder which serves as a base for launching decoders for chained Ogg files (oga). All streams in the file can be of a distinct format and samplerate. It also handles obtaining metadata for the playlist.
Fixed a regression introduced in 0.7.4 which prevented shoutcast connections from working due to a labelling change.
* Changes in version 0.7.4 *
Visual tweaks to Prefs->General.
Server connnect button will not grey out while streaming Ogg when Shoutcast is later selected.
Ogg stream serial numbers are now set to an initial random value.
Ogg streams are now guaranteed to contain at least five ogg page outputs per second. This will prevent listener clients from presuming the stream has gone dead and disconnecting. This means that to stream it is no longer necessary to set a minimum bitrate.
The record button is now greyed out when the recording directory is not writable due to file permissions etc.
Ogg recordings now have a meta-header.
It is now possible to run multiple instances of IDJC.
JACK server connection is achieved with jack_client_open instead of the deprecated jack_client_new function.
Minor tweaks to tooltips.
Connection type chooser now indicates mp3 only for Shoutcast.
Changes to the Update, Server Connect, and Record tool tip texts to indicate why one of these buttons might be greyed out.
Record button no longer greyed out when the server connect button is greyed on account of Ogg + Shoutcast widget combination.
File choosers replaced with their more modern versions.
Updated the realtime.html documentation page.
Changed the way command line parameters are handled. Added a new option for specifying which jack server to connect to.
Added code to clean up double bolding occurrences in the playlist.
Updated the idjc man page.
New translation en_US.
New module ln_text.py to facilitate multi language support, replaces langheader.py, includes maintenance features.
* Changes in version 0.7.3 *
Documentation on the website and in the doc folder has been updated.
Option --disable-tooltips has been added to ./configure
A window showing the GPL licence text is now included as part of the program.
Removed usage hint text from the gtk.Entry in the Prefs->Event tab. The tooltip should be sufficient.
The server connect/disconnect timers deactivate once they have performed their task. They now have a default text of 00:00.
The Ogg relative upper and lower bitrate spinbuttons are greyed out when deactivated.
Fixed a bug where mp3 files with a LAME gapless tag would not play if their sample rate differed from that of the the JACK sound server.
Added a great many tooltips.
Support for new GTK tooltips API. Tooltips require PyGTK version 2.12 or later.
Bits and bobs in Prefs->General has been retitled 'Miscellaneous Features' and the various options now have descriptive labels.
Dead code has been removed.
The space where the indicator box used to be is properly removed in Basic Streamer mode.
Reduced the microphone latency to the headphones when in VOIP mode. Direct mixing rather than a jack audio bridge.
Added the option to turn off microphone audio in the DJ headphones. This is a facility for those suffering with high audio latency.
Added support for upper and mixed case file extensions. Example: Mp3, oGg, FlAc are accepted into the playlist.
* Changes in version 0.7.2a *
Fix to a regression in file kvpparse.c (memory leak).
Deactivated the pointless watchdog code in idjcsourceclient.
* Changes in version 0.7.2 *
Added gapless mp3 playback.
IDJC now runs with environment variable MALLOC_CHECK_ set to 2. This prevents IDJC from crashing when minor heap corruption occurs.
Fixed uninitialised variables bug in the mixer (metadata packet type).
Fixed uninitialised variables bug in the mixer (fade index).
Removed obsolete code from the Ogg/vobis encoder.
* Changes in version 0.7.1a *
The pop-up window now has a border.
DJ aud level now works in 'Basic Streamer' mode.
Cosmetic change to stream normalizer in prefs.
Fix for the opening vu meters causing a crash bug.
Build system fix for Ubuntu 7.10 regarding problems detecting libmp3lame.
Removed the obsolete LED indicators from the main window.
* Changes in version 0.7.1 *
The idjcctrl program now has connect and disconnect commands to allow server connection/disconnection from the command line.
Added global exception handling to vu_update to ensure thread unlocking occurs.
Added a fallback mode for decoding m4a files using ffmpeg. FAAD2 versions 2.5 and up are not supported directly by IDJC.
Added handling for corrupt m4a files in mp4decode.c.
The update button causes server reconnection when streaming to shoutcast which ensures that shoutcast servers know the correct bit rate.
Bitrate, samplerate, and number of channels info is now set before the connection is made which should resolve some shoutcast issues.
* Changes in version 0.7.0c *
Fixed regression in the X-Chat announcer which would cause the application to lock up if used.
* Changes in version 0.7.0b *
Fixed a regression in the playlist controls 'Stop streaming' and 'Stop recording' which was causing a lock-up to occur.
* Changes in version 0.7.0a *
Updated ebuild.
Reinstated the MP3meta=utf-8 option.
Added a DJ audio output level control in the preferences.
Removed idjcskype and its man page which are obsolete and replaced it with new documentation in the VOIP tutorial. Skype is confirmed working within IDJC.
* Changes in version 0.7.0 *
Implemented a new, more powerful streaming architecture with multiple streams possible, greater control over quality settings, ability to change the bitrate live on air, and the ability to stream from a prerecorded file with the metadata preserved.
Removed the MP3=utf8 option. This option is now always turned on meaning that mp3 metadata is always encoded as utf-8.
In the mixer altered the way microphone signals are processed when the microphone buttons are muted. This greatly reduces the amount of CPU used since half of all CPU usage by the mixer was going into processing the microphone signal.
New license: GNU General Public Licence version *3*.
* Changes in version 0.6.12a *
Streaming can now be started automatically by timer.
* Changes in version 0.6.12 *
FLAC tags are now read regardless of case.
Added a decoder for wma files (requires libavcodec and libavformat from ffmpeg).
Underscores are now allowed in profiles.
Added a 'Switch To Aux' playlist control to allow the streaming of some defualt audio source via the aux input once the playlist has run its course.
Fixed end of track detection for right player when left player was playing.
Fixed metadata reading bug for flac files where lower case tags were not being read.
MP3 encodes with greater precision. No longer limited to 16 bits audio input.
Added new executable named idjcctrl to provide a feature that allows a remote application to append files to the playlist. m3u and pls files are allowed.
Added a control for player resampling quality.
Code cleanup in xlplayer. All decoders moved to own modules.
Ogg decodes to float instead of 16 bit integer.
Added mp3 playback using libmad - optional.
Added m4a playback support with faad2 - optional.
Support for FLAC-1.1.3 and beyond has been added - FLAC is now optional.
Fixed a couple of traceback/race conditions in mixprefs.py.
The playlist popup window now correctly reports which file is playing when there are untagged files in the playlist.
Improved handling of missing LAME mp3 encoder by adding a dialog informing the user if they need to install LAME.
Removed the xine-lib dependancy.
Timeout will no longer take JACK down with it.
* Changes in version 0.6.11 *
Added a tooltip style popup window to the playlists that shows a summary of the playlist contents and indicates the track which is playing (if any).
EyeD3 is now optional. This means that idjc packages can be made regardless of whether an eyeD3 package is available for that particular distro. Tagging functionality is disabled when eyeD3 is not present and id3 tag reading is performed instead by xine-lib.
Fixed a bug where xine would be used to read ID3 tags regardless of whether eyeD3 had already done so. This was causing problems with certain files that had id3 version 1 tags and contained accented characters. This bug has also been fixed. Any failure to decode from utf-8 on the tag info xine-lib provides will result in their being decoded from latin1 instead.
Code cleanup in the limiter.
* Changes in version 0.6.10 *
Added a bug workaround so that a seek to the last second of audio of a track when using the xine-lib decoder will not occur. This was added to prevent a mixer crash.
Added an event driven commands feature in the Prefs, mainly for controlling the mixer. Included tooltips.
Changed copyright message to read 2005-2007
Added a popup menu to the prefs, server, jingles, window open buttons that contains a close option.