#
books

2.2.0

  • Updated to .NET 8.
  • Can now show sample information from TFMX modules. Because the TFMX format does not have a sample list structure like other module formats, it is hard to find out how many and where the samples are stored. Therefore sometimes you will see that a sample may be splitted into several samples or other small glitches.
  • SidPlay will now show the right number of channels used to play the module in Module Information window. Normally, this will be 3, but for multiple SID chips module, it will be higher.
  • Oktalyzer player will now convert 7-bit samples to 8-bit when loading a module.
  • Will now be able to start playing on systems which has more than 2 speakers setup. Thanks to Raph99-Thanys and 7zxkv for reporting this.
  • Removed the latency option again from the CoreAudio agent. It is now hardcoded to 200 ms, since it gave problems when it was too low when playing e.g. SidPlay modules.
  • The sample visualizers now show the whole buffer and not only the last 20 ms.
  • Now the module information updating also uses the mixer latency settings.
  • The module information window will not switch tab back to the default one anymore, when changing sub-song.
  • Added close button in message boxes.
  • It's now possible to press the F1 key in any window to open the relevant help page.
  • When you press the next module button, the end of module list settings will be used to find out what to do.
  • Updated mpg123 to version 1.32.4.
  • Updated SharpCompress to version 0.35.0.
  • Updated Krypton.Toolkit and Krypton.Navigator to version 80.23.11.321.
  • Updated libsidplayfp to version 2.6.0.
  • Renamed Atari Octalyser to just Octalyser.
  • Moved MultiTracker, FastTracker, Mod's Grave, Digital Tracker MOD and Octalyser formats from ModPlayer to Xmp.
  • Added new TakeTracker format, since LibXmp can detect the difference between FastTracker and TakeTracker.
  • Added Scream Tracker 3 MOD, OpenMPT MOD and FlexTrax formats.

2.1.0

  • Some synthesis sounds in StarTrekker did not play.
  • Made the SidSongLength reader in SidPlay more robust for syntax errors in the file.
  • When some agents was marked as disabled in the settings, they was not disabled again the next time NostalgicPlayer starts.
  • If double buffering is on and you have the settings open and showing either Formats or Players tab, then the previous module agents will not be black again when NostalgicPlayer automatically switch to the next module.
  • The sample visualizers, e.g. Oscilloscope and Spectrum Analyzer, only shows 20 ms of sample data each frame. The audio core output agent have a latency of 200 ms, which means the visualizers only show the last 20 ms. That could be visible sometimes, depending on the music playing. Now the audio core agent latency has been decreased to 20 ms, so all samples are visible in the visualizers now. If you experience that the sound stutters and you do not mind the scopes are not that precisely, you can try to increase the latency in the Core Audio settings.
  • Added new option in the Core Audio output agent to set the latency between 20 and 200 ms.
  • Can now show pictures if available in the module information window. The following formats supports this at the moment: MP3, Ogg Vorbis and FLAC.
  • Wrote my own control to display comments and lyrics in the module information window. Now each line is right under each other and special characters are displayed correctly. This makes graphics made in e.g. comments look as they should.
  • Moved some of the options in the settings window into its own Modules tab.
  • Added a new option telling the order on how to activate tabs in Module Information window.
  • Updated libFLAC to version 1.4.3, which now support 32-bit formats for both decoding and encoding.
  • Updated Ancient to version 2.1.1.
  • Updated NAudio to version 2.2.0.
  • Updated SharpCompress to version 0.34.0.
  • Added these new module formats: Audio Sculpture and OggMod.
  • Added Xmp player, which uses the libXmp library. Then moved these formats from MikMod to Xmp, which should play them more correctly: Asylum, Composer 669, Digital Sound And Music Interface, Digital Sound Interface Kit, Farandole Composer, FastTracker II, General DigiMusic, Imago Orpheus, Impulse Tracker, Scream Tracker 2, Scream Tracker 3, Scream Tracker Music Interface Kit, UltraTracker, Unis 669 and Unreal Music File.
  • Renamed Asylum to Asylum Music Format.
  • Renamed Unreal Music File to Epic Games UMX.
  • Renamed Digital Sound Interface Kit to Digital Sound Interface Kit RIFF.
  • Removed MikMod converter and player. This also removes support for UniMod modules. They couldn't be played correctly anyway, so I guess no harm is done by that.

2.0.1

  • Made Future Composer player more robust for empty modules.
  • If you have set up Windows to use more than 2 channels, NostalgicPlayer crashed when trying to play a module. Big thanks to Robert Konrad (RobDangerous) for the fix.
  • If the very first line is selected in the module list, then the page-down key didn't work.
  • In some rare situations the Piano visualizer crashes when fast-forwarding with an invalid argument error.
  • Some mp3 files was not recognized as so.
  • Fixed different bugs when double-clicking a file to open it in NostalgicPlayer.

2.0.0

  • Updated to .NET 7.
  • Updated SharpCompress to version 0.33.0.
  • The different players return a list of frequencies for each note. This is used by the Piano visual to show which note is playing. Each player support different number of octaves, and before, they was centered in the middle of the piano. This has been changed, so the same note (same frequency) is shown on the same key for every players.
  • Added tool tip in the Module Information window for Module format and active player. The tool tips show the description of the format/player.
  • Fixed a bug, which made some MED modules that contains multiple octave samples fail to load.
  • Improved the AHX player to use channel mode instead of its own mixer. This makes the Piano and Spinning Square visualizers to work with these modules.
  • Made a big change on how the song position is shown and navigated. Before, the position reflects the players position list and which position in this list is currently being played. This may cause some confusion, specially with players which has position loops like SoundMon and DigiBooster. This has now been changed, so the position reflects the time into the song. Each position is a 3 seconds step. This means, when moving the slider or pushing the rewind/forward buttons, you move in time and not the position list. To not remove the old information, it has been moved into the module information window. This has also been expanded with currently playing pattern/tracks.
  • Written my own control to handle the module list in main window. This make all the operations on the list a lot faster than before, special with big lists.
  • Now there won't be created an extra process for every file you double click on in File Explorer to add them into the module list. This fix also speed up the processing of the files, so they are added faster.
  • When adding a lot of files to the module list at once, e.g. the whole modland archive, it did take a loooooong time to process. This has been speeded up a lot, so all the in-deep scanning is done in a background thread if enabled in the settings.
  • Added new option to remove files from the module list which cannot be recognized.
  • Ported mpg123 to C# to get rid of the CPU dependencies. In the process, I also added support for the Free Format (rarely used, find examples on my webpage).
  • Fixed a bug that may cause the program to hang when closing down and a double-buffering module has been loaded.
  • Restricted the module length for 15-samples mod files to prevent false positives. Unfortunally, this change make a couple of modules on modland undetectable because they have a lot of extra data at the end. I have fixed those modules on my webpage, so if you find such modules, try to see if you can find the fixed version there.
  • Added support for ARM processors.
  • Updated libsidplayfp to version 2.5.0.
  • Renamed the MED format to MED 2.10 (MMD0).
  • Added these new module formats: DigiBooster Pro 2.x (with support of echo), DigiBooster 3.x, DigiBooster 1.x (with support of "robot" effect), MED 1.12, MED 2.00, MED 2.10 (MED4), David Whittaker.

1.9.0

  • Several players show 0 as volume in the Sample Information window instead of 256.
  • The sub-song detection change in last version contained several bugs. The module could stop too early if you changed the position. When looping is on and the module loops, if you then stop the loop, the module ended the next time it changed its position. Also some modules timed out when the duration was calculated. All this should be fixed now.
  • The Unreal Music File loader was broken by a change a couple of versions ago, so the modules could not be loaded.
  • The piano visual did not show anything when opened while a module is playing. It only worked if already opened when a module starts.
  • Fixed a critical bug in the Spinning Square visualizer. When stopping or switching modules, there was a potentical risk for memory leaks or even a crash.
  • Added tooltips to the sample information window, so it is now possible to see what the different icons means.
  • Updated Krypton.Toolkit and Krypton.Navigator to version 70.22.11.312.
  • Updated libsidplayfp to version 2.4.0.
  • Added these new module formats: Game Music Creator, Quadra Composer, Delta Music 1.0, Delta Music 2.0.

1.8.0

  • Improved the piano visualizer, so it is now easier to spot if the same note is retrigged + vibrato and slides are shown too.
  • Improved the sub-song detection for all players.
  • Updated SharpCompress to version 0.32.2.
  • Updated mpg123 to version 1.30.2.
  • Updated NVorbis to version 0.10.5.
  • Channel disabing didn't work for SidPlay modules.
  • Rewritten, so the master volume go through the output agent instead of the mixer. This means, the visualizers won't get effected when changing the volume.
  • Added ProWizard agent which make us reach the first mile stone of 100+ supported formats. It can convert these module formats: AC1D Packer, Ben Replay, Binary Packer, Channel Player 1, Channel Player 2, Channel Player 3, ChipTracker, Devils Replay, Digital Illusions, Eureka Packer, FC-M Packer, Fuchs Tracker, Fuzzac Packer, GnoiPacker, GnuPlayer, GPMO, HCD Protector, Heatseeker mc1.0, Hornet Packer, Kefrens Sound Machine, Laxity Tracker, Module-Patterncompressor, Module Protector, Mosh Player, Newtron Packer 1.0, Newtron Packer 2.0, NoisePacker 1, NoisePacker 2, NoisePacker 3, NoiseRunner, NoiseTracker Compressed, NovoTrade Packer, Perfect Song 1, Perfect Song 2, Pha Packer, Polka Packer, Power Music, Promizer 0.1, Promizer 1.0c, Promizer 1.8a, Promizer 2.0, Promizer 4.0, ProPacker 1.0, ProPacker 2.1, ProPacker 3.0, ProRunner 1, ProRunner 2, Pygmy Packer, SKYT Packer, StarTrekker Packer, STIM (Slam Tilt), The Dark Demon, The Player 2.2A, The Player 3.0A, The Player 4.0A, The Player 4.0B, The Player 4.1A, The Player 5.0A, The Player 6.0A, The Player 6.1A, Titanics Player, TMK Replay, Tracker Packer 1, Tracker Packer 2, Tracker Packer 3, Unic Tracker, Wanton Packer, Xann Packer and Zen Packer.

1.7.0

  • New option: You can now delay the update of the visuals, so they can be synched to what you actually hear when using Bluetooth speakers/headphones.
  • When saving modules to samples and double buffering is on, the saver locks when switching modules.
  • If a player fails while playing, the playing is stopped and the error message is shown.
  • Improved 15-samples mod files and MP3 files check against false positives.
  • Updated the font in all windows to use Lucida instead of several different fonts.
  • Added new piano visualizer, which will show the notes playing on a piano with different colors.
  • Updated NAudio package to 2.1.0.
  • Updated mpg123 to version 1.3.0.
  • Updated SharpCompress to version 0.32.1.
  • Updated Krypton.Toolkit and Krypton.Navigator to version 65.22.6.152.
  • Added these new decompressors: XPK (BZP2), XPK (BLZW), XPK (RAKE), XPK (SMPL), XPK (SHRI), XPK (LHLB), XPK (MASH) and Crunch-Mania.
  • Added these new sample formats: FLAC (both decoding and encoding).

1.6.0

  • Updated to .NET 6.
  • Added the favorite song system window. Here you can see all the modules you have heard and how often.
  • Now players that do they own mixing, can get the real output frequency and mix to that, instead of going through a resampler. This improves e.g. SID playing. Thanks to Wilfred Bos for telling me this. I don't know why I couldn't hear it myself :-(
  • SidPlay now output directly to Windows instead of going through my mixer. This increase the volume a little bit and also make the sound more accurate.
  • Added the Resampler mixing routine to SidPlay and added the option to choose between this one and the old Interpolate routine.
  • Fixed some bugs occurred while porting the libsidplayfp library to C#.
  • UMX modules no longer need to be from a known game before it is recognized.
  • When a big list is loaded and scanning is started to update the times and you meanwhile change the list, e.g. sorting, then some items will be skipped and not updated.
  • File scanning did not work for sample files.
  • If a module is stored in a folder inside an archive, it shows both the folder and file name in the module information window. Now only the file name is shown.
  • When saving a 16-bit sample from the Sample Information window, it didn't save it correctly.
  • Added these new module formats: AHX 1.x, AHX 2.x, His Master's Noise (Gnomie by Night), Fred Editor, Fred Editor (Final), MED, MED Packer, OctaMED, OctaMED Professional 3.00 - 4.xx, OctaMED Professional 5.00 - 6.xx and OctaMED Soundstudio.

1.5.1

  • When playing samples, e.g. MP3 and interpolation is enabled, some high peak samples may make some crunching noises.
  • Updated libsidplayfp to version 2.3.1.

1.5.0

  • The previous module button froze the player when used while playing samples.
  • The SidPlay has been upgraded to use libsidplayfp for the computer emulation. This improves the accuracy of the emulator, but support of old ancient file formats has been removed. At the same time, the reSID sound chip emulator has been upgraded to reSIDfp, which has a totally rewritten filter emulation and better support for mixed waveforms.
  • Improved the handling of envelopes for XM, IMF and IT modules, so there is taken care of the differences between the module formats.
  • Updated Asylum loader in MikMod with some extra sanity check and support restart byte and start speed.
  • Fixed a bug in the song-end detection in ModTracker, so Coffee Blues III works (used a lot of funny stuff like playing backwards).
  • Disk saver could save more music to the sample when the module ended in some occasions, specially short modules. Fixed now, but has this side-effect, that if loop is on, the module is paused when reached the end and nothing more is saved. I don't think that is too bad.
  • Fixed a lot of bugs in the Farandole Composer player, special with the tempo calculation.
  • If loop is on and either a one-pattern module loops or it loops on the same pattern, the time was not reset.
  • MOD Plugin Packed has been removed as a separate type, since in fact it is not. Most modules are FastTracker II modules with packed samples. However, it is still supported.
  • Added support for MOD Plugin Packed on ScreamTracker 3, ImpulseTracker and MOD files.
  • Fixed a signing bug in Impulse Tracker effect N, which made "A life in termoil.it" turn up the volume at the end when it shouldn't.
  • You can now use the keyboard key "1" to restart a sample.
  • Changed the Add modules button to show a menu, where you can select if you want to add files or a directory.
  • Added support for interpolation when playing sample files. Make sure to enable it when playing MP3 and Ogg Vorbis files.
  • Added these new decompressors: Music Module Compressor (MMCMP).
  • Added these new archive formats: Lzx and Lha.
  • Added these new module formats: MPEG 1.0, MPEG 2.0, MPEG 2.5, Ogg Vorbis and Digital Tracker MOD.

1.4.0

  • Visuals cleanup method was not called when closing its window.
  • When going from a normal module player to a sample module player when loading the next module in the list, e.g. ProTracker -> TFMX, and you have double buffering enabled, the Spinning Square visual did not get disabled.
  • If clicking next module, double buffer is enabled and the next module has been loaded while module information window is opened, NostalgicPlayer crashed.
  • If switching output device while playing, and the new device using a different frequency, the module was played with the wrong speed.
  • Added new spectrum analyzer scope, which shows how much of the different frequencies that are used currently.
  • Updated Krypton toolkit to Canary version 6.0.
  • Added new option, so modules which don't report a song length, can automatically load the next module in the playlist after a timeout.
  • Added some fixes to MikMod.
  • Added these new module formats: SidPlay, SoundFX 1.x, SoundFX 2.0 and MOD Plugin Packed.

1.3.0

  • Updated MikMod with newest changes.
  • The sample info window did not remember the last selected tab, when opening it.
  • If a load error occurred and you selected "skip and remove" in the error dialog, the module list counts wasn't updated.
  • Fixed ProTracker player to handle EFx and E6x effects on same line correctly.
  • Added support for packed files. Can unpack PowerPacker, XPK (SQSH), BZip2, GZip, LZip and Xz files.
  • Added support for archives. Can extract from Zip, 7-Zip, Tar and Rar.
  • Added these new module formats: Atari Octalyser, Sawteeth, Mod's Grave, Oktalyzer, TFMX 1.5, TFMX Professional, TFMX 7 voices, SoundMon 1.1 and SoundMon 2.2.

1.2.0

  • Added 64-bit mixers. Those are used on 64-bit environments, while the 32-bit mixers are used on 32-bit environments.
  • A bug was introduced in version 1.1.0, which made some SoundTracker modules to be recognized wrongly. In one case, the module was played with the wrong speed.
  • Spinning Squares crashed when switching module to one with more channels than the previous one and double buffering is enabled.
  • File associations now display the module type in file explorer instead of the generic "Audio file".
  • If a file in the playlist did not exist anymore, NostalgicPlayer crashed when trying to load it.
  • Can now handle mod files that have a song length bigger than 128, e.g. beatwave.mod.
  • If a module use 10 channels, then the Spinning Square scope only shows the first 9 channels.
  • Added the comment tab to the module information window, so modules holding a comment can be read.
  • The instrument tab is now hidden in sample info window if the playing module does not have any instruments.
  • Added new oscilloscope, which can show the sample data from the playing module in different ways.
  • Added Dolby Prologic surround support. A new mixer option has been added to enable/disable it.
  • Added two new options to control how the windows should act.
  • Changed the character encoder for PC formats from IBM 850 to IBM 865.
  • Updated the "New version" dialog, so it now shows this history list instead of an url.
  • Improved the help window, so it now shows the documentation in an embedded browser.
  • Added these new module formats: FastTracker II, Composer 669, Unis 669, Digital Sound and Music Interface (DSMI), Asylum, Digital Sound Interface Kit (DSIK), Farandole Composer, General DigiMusic, Imago Orpheus, Impulse Tracker, Scream Tracker 2, Scream Tracker 3, Scream Tracker Music Interface Kit (STMIK), UltraTracker, Unimod (MikMod) and Unreal Music File.

1.1.0

  • Supported file extensions are now associated with NostalgicPlayer, so it is possible to double-click module files to open them.
  • Added new options tab in the settings window. This comes with a lot of new options to play with.
  • Added the swap speakers option in the mixer settings.
  • Some MP3 files was wrongly detected as SoundTracker modules. Improved the detection function.
  • For new installations, the "new version" dialog will not be shown anymore.
  • Improved error message when failing to initialize a module, so it includes the exception message.
  • The total time in main window can now include days if needed.
  • Fixed High DPI settings, so the window/controls is not too small on a high DPI monitor.
  • You can now play along with your favorite module in the sample information window. Just select a sample and play on the keyboard.
  • It is possible to save samples from a module in the sample information window.
  • Added setting to the CoreAudio output agent, so you can select which device to use for playing.
  • Totally rewrote the time calculation in ModTracker. It could not handle when a module was playing a pattern backwards, like "Ode to Protracker.mod". Note that the module was played correctly, it was only the calculated length of the module that was wrong.
  • Setting speed to 0 was not handled correctly for all module types in ModTracker, e.g. "Angie S.mod" at position 27.
  • Added the sample player interface + created the new sample player. This player uses the sample converters available, so there has also been made a sample loader interface for that.
  • Disabling of agents didn't work properly in different parts of NostalgicPlayer.
  • Added these new sample formats: RIFF-WAVE (PCM), RIFF-WAVE (IEEE Float), RIFF-WAVE (ADPCM), IFF-8SVX (PCM), IFF-8SVX (Fibonacci), IFF-16SV (PCM) and AudioIFF.
  • Added these new module formats: Future Composer 1.0 - 1.3 and Future Composer 1.4.

1.0.1

  • Fixed a bug when trying to find the author of a module, which caused some modules could not be loaded.
  • When loading a module list, the counts etc. was not updated in the main window.
  • Sample information window was not updated, if opening while a module is playing.

1.0.0

  • This is the first release of the player.