Java Mod Player Changelog

What's new in Java Mod Player 3.7

Dec 12, 2023
  • NEW XMAS SPECIAL:
  • Enjoy some light bulbs on your desktop. You can enable it in the view
  • menu. Select the screen, you want to decorate and select the effects and
  • speed per screen.
  • Remark: it depends on the desktop render engine how transparent windows
  • are rendered and if a "click through" works. On Windows this works really
  • flawlessly, but on KDE it is either flickery or with opengl it inherits
  • the dim color of a window decoration under it.
  • NEW: Follow song in pattern dialog is now fun to watch:
  • - The arrangement is now scrolling to the activated pattern.
  • - In the pattern dialog horizontal scrolling by user is not reset by
  • caret anymore.
  • - no editing the caret (mark text) via mouse by user
  • - Rows and channels are fixed for scrolling - and added some color (yes,
  • a bit more gray)
  • - channel markers are buttons for muting and have a context menu to
  • select solo, mute and un-mute per channel
  • - resetting to normal mute will regard muted channels with ITs (if the
  • author wanted them to be muted)
  • - Added sample / panning representation in channel buttons based on
  • samples / volumes and panning in channel
  • - Coding of colored version was deleted... It is too slow anyways.
  • - Follow song can be switched off - however, this will only stop
  • automatic scrolling and pattern display. If the currently watched
  • pattern is played, the caret will fly by (though being of lightest
  • gray)
  • - display of current volume column effect and effect column effect
  • - No FollowSong while exporting - except for when doing play back while
  • exporting
  • - upper left corner shows pattern number
  • NEW: Pattern/Sample/Instrument dialogs will disappear when a file other than
  • a mod (e.g. mp3) is played - and reappear when a mod is played again
  • NEW: To make pattern sample/instrument data (hex values) fit to sample and
  • instrument dialog index, changed display there to hex as well
  • NEW: In the instrument dialog you can now hop over to the sample mapped. Just
  • click in the mapping rows on the sample of choice.
  • FIX: Look&Feel menu will now show active Look&Feel set
  • FIX: for the FIX of the FIX...
  • With PortaToNote we did things a bit too easy regarding an instrument
  • set. (BTW: The behavior of FT2, IT2.14, Schism and ModPlug is totally
  • different here, which values for volume and panning reset to use.)
  • Three things are now done:
  • - if the current instrument is a long player (i.e. has loops), we will
  • continue using that. If no instrument is playing, we will use the new
  • given instrument and switch to it
  • - but also safe the instrument set. Following notes (without instrument)
  • will use exactly that new one.
  • - reset panning and volume to the instrument chosen from above
  • Check with Airborn.xm and Anthem.mod
  • FIX: PatternBreak at end of Song: do a loop and start at given row, do a
  • fade-out if wished. Do not do so, if infinite loops are to be ignored.
  • (fixed spelling in GUI btw...)
  • FIX: XMs: if we have a note cut, we have to store the zero volume, so a new
  • note without an instrument set will not be audible.
  • FIX: Empty patterns with XMs and ITs are now recognized. Default empty pattern
  • is set for display (64 default rows with ITs)
  • FIX: After loading Impulse Tracker mods reduce Patterns to real amount of
  • channels (we reserved 64 channels in advance for filling)

New in Java Mod Player 3.2 (Jan 29, 2022)

  • Code Compliance Level: JDK 1.8
  • Build with openJDK 1.8 update 311
  • However: run with modern Java (openJDK >11, 64BIT) to gain full
  • Speed - 200+ NNAs are no problem then
  • Heap Size with JDK8 (default of 256M) not sufficient with bigger mods. Either
  • Set -Xmx1024m parameter or use newer JDK

New in Java Mod Player 3.1 (Jan 10, 2022)

  • It's primarily a bug fix.

New in Java Mod Player 3.0 (Oct 2, 2021)

  • New in Version 3.0:
  • IT set global volume: normalize to 0x80 for *non*-IT Mods
  • MP3 info panel: Label "Duration" is "Bit Rate"
  • Detailed progress bar while export did not restart properly
  • Exported MP3, FLAC, WAV,... in chunks -> did not stop exactly at end position but at end of chunk -> MP3: counting samples now, recalculating milliseconds from that (previously added milliseconds send to buffer, which is not accurate)
  • FIX: Export file name generation allowed illegal characters
  • UNFIX FIX: pattern break with row index stays in last pattern now, but only if "ignore loop" is not checked
  • Playlist numbering - amount of leading zeros
  • Display samples without SampleInterpolationLookAheads
  • SampleInterpolationLookAhead with stereo samples

New in Java Mod Player 2.9 (Nov 7, 2020)

  • FIX: saving a relativized path into a playlist failed on Linux. Here a file path is case sensitive!
  • FIX: some ROL songs did not load properly
  • FIX: Skipping at end of ROL leaded to mixed up mixers
  • FIX: loading a playlist of ROLs, last file in list was played, not the highlighted one
  • FIX: Technical song info for FLAC
  • FIX: APE TAG in Footer - loading failed due to wrong file pointer calculation
  • FIX: Pattern Delay and Tick Delay for IT fixed - no other effects are replayed in this combination. Schism 17.it did not test that
  • FIX: pattern break with row index stays in last pattern now, but only if "ignore loop" is not checked
  • FIX: Loading XMs with no samples for instruments, reset defaults than
  • FIX: Many wrong settings with S7x Effects - those need to be temporary! (Blue Flame.IT -- thanks for the hint, David)
  • Added technical song info for MP3 and APE
  • Optimized the ParentDialog setting for the mod info panel
  • Supporting OPL2, Dual OPL2 and OPL3 in DRO correctly now. Do not try OPL3 DRO with OPL2 Emulation - you will receive an error
  • Dual OPL2 and OPL3 work with Virtual Stereo now, no virtual stereo for mono OPL2
  • Supporting ProTracker STK file now - are like STM

New in Java Mod Player 2.8 (Aug 15, 2020)

  • Fixed NullPointer when deleting whole playlist and adding new entries
  • Clean Up:
  • Moved all mod constants from class Helper to new class ModConstants.
  • Unused conversion methods in class Helper were documented out
  • ModFileInputStream and RandomAccessStream cleaned up
  • Added OPL3 support:
  • Added OPL3.java from Robson Cozendey
  • Moved it to "de.quippy.opl3" package inside the project
  • Enabled reuse by removing statics - subclasses receive "their" own OPL3 instance
  • Added switch statement "case off" in getEnvelope
  • Volume of TomTom, Snare, Cymbals, high hats and base drum raised (dirty hack! Needs introspection!)
  • Added/removed FMOPL 0.37a from Tatsuyuki Satoh (Java-Port):
  • Updated to FMOPL 0.72 from Jarek Burczynski (& Tatsuyuki Satoh) from the M.A.M.E Project
  • No Y8950 support (yet)
  • No call back support for listeners - not needed here
  • Added support for rol, laa, cmf, dro, sci by migration of mid.cpp, dro[2].cpp
  • and rol.cpp from adplug project + effekter.c from own (very old) ROL project

New in Java Mod Player 2.3 (Jan 14, 2016)

  • Supported file types:
  • Mods (NST, MOD, WOW, XM, STM, S3M, IT, PowerPacker)
  • SID
  • MP3 (Files and Streams)
  • FLAC
  • APE (ape, apl, mac)
  • OGG/Vorbis (ogg, oga)
  • WAV, AU, AIFF
  • MIDI (MID, RMF, RMI)
  • Playlists PLS, M3U, M3U8, ZIP, CUE
  • New:
  • Pattern Pos Jump did not work if infinit loops are disabled
  • Furthermore Pattern Jump Position set is channel specific
  • treaming of OGG Streams works - sort of...
  • Saving radio / internet stream playlists works now
  • "All Playable files" is on top of selection now
  • TextAreaFont and DialogFont are not set as statics any more to prevent errors
  • when UI is not used and needed in server like environments

New in Java Mod Player 2.2 (Oct 25, 2013)

  • added internal mod buffer length in config dialog
  • Fixed a bug in ID3v2 Tag decoding with Strings and missing encoding
  • MP3 playback optimized, dropping zero padded samples
  • Fixed a Bug in central URL creation routine
  • Fixed playlist write conversion error (ISO-8859-1 - not UTF-8)
  • Added m3u8 for UTF-8 Playlists
  • reading pls files can handle empty lines and "NumberOfEntries" at end of file
  • drag&drop into playlist calculation of index fixed
  • Midi: a bug in playback was fixed. (simulation of played samples, correct close of all sound devices)
  • added support for SQSH packed mod files
  • fixed drawing issues in peak meters
  • added clipping to Graphical EQ calculations
  • removing illegal characters from Strings (

New in Java Mod Player 2.1 (Sep 3, 2012)

  • copy all files in a playlist to a certain directory - in playlist order
  • sometimes useful when creating music collections on USB sticks
  • deletion of elements in the playlists resets index
  • changed to UTF-8 - encoding for playlists is set to ISO-8859-1
  • dropped files into the playlist were not playable anymore - fixed
  • fixed mouse consume event when double clicks center sliders
  • fixed a runtime exception with corrupt mp3s
  • fixed a bug (AGAIN *grrr*) with privileged access to "user.home" in applets
  • changed logger
  • "Code too large" Error with NetBeans and IWave6581 and IWave8580
  • Eclipse uses its own compiler and will not create that error
  • JavaC and NetBeans nevertheless will
  • arrays are now loaded as a resource from files
  • SampleOffset now playes only with a note given

New in Java Mod Player 2.0 (Apr 9, 2012)

  • Needs Java 6 now
  • Tray Icon support added (--> JDK6)
  • Seeking speedup with FLAC, APE and wav
  • XM/IT:
  • added HighSampleOffset
  • added panbrello (was read with IT, effect never build...)
  • added fine pattern delay (# of ticks) to XM and fixed a potential bug here
  • fixed IT_AMIGA_TABLE: one octave too high
  • fixed Pattern Delay effects
  • Playists:
  • Saving playlist as m3u as default works now
  • still some problems with the caret when an entry was selected or moved
  • added Support for CUE-Sheets (read and write)
  • PitchShift: overSampling and FrameSize are editable
  • Flac uses vorbis comment now
  • MP3 info panel switches to ID3v2-Tab if id3v2-Tag exists
  • fixed the scrolly-problem, that chars "pop up" rightmost but not invisible
  • fixed a problem with converting local files to URLs
  • fixed a null byte flaw with C++ Strings and Unicode
  • fixed a thread problem when starting javamod ui with a playlist as a parameter
  • fixed a problem with converting absolute path entries in playlists to a relative path regarding the saving place of the playlist
  • fixed a problem with alt-tab usage that only popped up the playlist or info panel but not the main dialog
  • fixed a potential bug with comparing two URLs (does a dns lookup)

New in Java Mod Player 1.9.4.7 (Feb 6, 2012)

  • Export of whole playlist: if a playlist is present, all files of this list will be exported
  • reorganized the audio processor for DSP-visual effects. Samples only need to be send to the SoundOutputStream - audio processor converts by itself
  • visual: added more colors to the meters
  • DSP: added the graphics equalizer
  • DSP: added the pitch shift (change the pitch without tempo change)
  • Modplayer: loops can now be skipped (ignored, fadeout, keep endless loop)
  • Jump pattern effect did not work... (it has never so far actually...)
  • CAUTION: CHANGED COMMANDLINE AND APPLET VALUE FOR -l PARAMETER TO 0, 1, 2

New in Java Mod Player 1.9.4.6 (Feb 6, 2012)

  • many minor errors
  • SID Config:
  • Filter setting had no affect
  • added a scrollpane to enable scrolling
  • all elements can be changed during playback
  • changing virtual stereo does work
  • play and stop with SIDs does not automaticly increase song number anymore
  • changed listeners of checkboxes from ChangeListeners to ItemListeners
  • fixed several bugs with the playlist gui:
  • Editing entries produced encoded URL-Strings
  • Entries not found were set to NULL
  • saving playlists with NULL-Entries did not work
  • synchronizing methods to get parallel changes handled
  • active element is always visable now
  • moving entries in large lists works now
  • marking and demarking (i.e. ctrl-A) does not move the visiable rect anymore

New in Java Mod Player 1.9.4.5 (Feb 6, 2012)

  • added Playlist Repeat for GUI, commandline and applet. Use parameter "j" to set state
  • Config Panel is now using a tab panel to make all configs accessible
  • sid has a config panel now

New in Java Mod Player 1.9.4.4 (Oct 31, 2011)

  • Applets loading of Mods did not work any more
  • Initial Volume with applets or command line will work
  • Balance is now also set after loading (in GUI, like volume)
  • Midis with capturing will stop (draining a line from which is never read will lead into an endless loop!)

New in Java Mod Player 1.9.4.3 (Oct 31, 2011)

  • The applet JavaModApplet_OldSchoolDemo moved to a seperate project added public methods to the applet to allow applet control via javascript see also the applet test page on quippy.de
  • Saving a new playlist did not work anymore
  • Export to wave did not change name to lokal file pattern (utf-8)
  • Adding files into a cleaned playlist created a false index beeing too big
  • Calculation the length of wave files which need conversion did not work
  • Key support in playlists added
  • OGG did not work any more - correcting CRC determination back to original
  • Saving Playlist changes filenames relativ to playlist location
  • Dropping a folder into playlist will collect all Files getting found from there on
  • Working on MIDI capturing - hope it helps...

New in Java Mod Player 1.9.4.2 (Oct 31, 2011)

  • After correcting the file and url handling with applets, the local files and playlists did not work any more... fixed
  • --> never HTML-encode your playlists
  • --> it was found out that with streaming files to the applet
  • the webserver needs to provide a MIME-Type
  • New Applet: de.quippy.javamod.main.applet.JavaModApplet_OldSchoolDemo - try it out ;)
  • Reconstructing Applet class hierarchy

New in Java Mod Player 1.9.4.1 (Oct 31, 2011)

  • File-Handling with applets is somewhat difficult. The algorithem guessing the correct filename or url was improved. Relative URL / local files are allowed now and tried to be found using the URL of the playlist.
  • Masking of illegal character in URLs (like white spaces) is done automatically
  • MpP-streaming was recognized through HTTP / against FILE protocol. That is not correct - streaming is now recognized by contentlength==-1 (this might also fail though...)

New in Java Mod Player 1.9.4.0 (Oct 31, 2011)

  • After installing ape support, FLAC as the more widly spreaded codec needs
  • to be supported as well
  • Updated About-Dialog, mentioning all decoders and versions used
  • Implemented ZIP-Support by reorganising the IO classes
  • ZIP-Files are handled as playlists
  • A Path like "C:\Dir\Zipfile.zip\path\to\file.mp3 is now supported
  • Bug fix with XMs/ITs using empty noteIndex or SampleIndex-Arrays
  • GUI for PlayList implemented
  • - Droping files into playlist (at a position)
  • - moving files around
  • - reading file infos through thread (updating lists)
  • - saving pls or m3u
  • - editing of entries
  • Everything is handled through a playlist (even single files)
  • Enabled multi file selection in open dialog
  • #EXTINF and PLS: Infos are now read
  • Several BugFixes (due to findbug)
  • Version history dialog has now correct size again
  • Drag&Drop
  • - supports filelists as a playlist now
  • - Dropped Playlists are "unpacked"
  • - even combinations of Files and Playlists can be dropped, result is a new Playlist
  • - added Dropspace into the playlist
  • Implemented a GaplessSoundOutputStream so pieces with same output quality will get rendered directly into the same line - this results in gapless rendering as appreciated with e.g. audio books