Short: Updated HippoPlayer Author: kpk@iki.fi (K-P Koljonen) Uploader: kpk iki fi (K-P Koljonen) Type: mus/play Version: 2.59 Architecture: m68k-amigaos >= 1.2 Hello! Here you will find binaries with changes done after the original development stopped. To use, copy the files over the files that you have from an existing installation. Check out aminet for the original archive: https://aminet.net/mus/play/hippoplayer.lha Or, just copy HiP somewhere and "HippoPlayer.group" to S:, then run HiP. That should work if you have the "reqtools.library" installed. NOTE 1: The original archive is in its original state. There is no updated documentation. Please read the change history below. NOTE 2: Ensure that "HippoPlayer.group" gets updated, as old versions will not work. The default placement is the S: directory, which is a bit silly (location can be changed in Prefs). You can also place the file in the same directory with the HiP binary, too, if you're using kick2.0 or newer. Quick overview of major changes since v2.45 ------------------------------------------- - List mode toggle button to switch between the list modes - Main list - Favorites: your favorited modules - File browser: browse file system for modules - Search view: search internet sites, browse shared playlists - New Prefs options: - "Button tooltips": Hover mouse over gadgets to get help - "Favorites": Right click modules to favorite them - "Keep list on exit": Continue where you left off - "Big buttons": Larger buttons - "PlaySID mode": Enable reSID or SIDBlaster for PSID files - "MIDI mode": Select how to play MIDI files - "Enable xmaplay060": Enable a high quality XM replayer - "Enable MHI": Play MP3s with extenal hardware - "Position slider": For displaying and selecting position - Resizable main and info windows - Main window font can be changed to any font - Support for many new music formats, stereo SID support - Improved scopes: support for more music formats, multiple scopes, spectrum scope, patternscope with two sizes and up to 18 channels ("mini4" font needed for 8+ channel display) - Support for MP3 streaming, radio stations - "Add" button in file browser or search view: copy items to main list - Support for playlists of up to 131071 items. New keyboard shortcuts: - Favorite module: [CTRL+F] - Toggle list mode: [SHIFT+M] - Navigate to parent in file browser: [BACKSPACE] - Search modules: [CTRL+S] - Download file: [CTRL+G] ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.58 (22.6.2023) to v2.59 (29.11.2023) ## Fixes: - Patternscope and AHX modules: Fix bug which caused track 0 sometimes not being displayed. - Info window: Fix PSID song speed information sometimes showing wrong values. - Prevent jam when receiving no results from recent stations search. - Allow MS-DOS line changes in playlist/module program files. - Info window: Allow mousewheel to work with scrolling the content. - Commandline parameters: If started with "QUIT" and there is no existing HiP instance running, do not start a new one. - Keep list on exit: when starting HiP with commandline/icon modules as parameters do not lose the kept list, instead append to the end. ## New stuff: - Scopes: When paused display the paused contents instead of the Hippo gfx. - MED/OctaMED: Display song length and channel count for multichannel modules. - Patternscope now supports MED and OctaMED modules, up to 18 channels visible. "mini4" font is needed to display more than 8 channels as before. - STIL support added for use with the High Voltage Sid Collection. FAQ: "The SID Tune Information List (STIL) contains information about the SID tunes found in the HVSC beyond the standard TITLE, AUTHOR, and RELEASED information. STIL goes a little deeper listing SID tune information that only a true SID freak would enjoy. Such information listed in STIL includes cover information, interesting facts, useless trivia, comments on the tunes by the composers themselves, etc." Hippo is able to display this information in the info window if it detects the SID being played being a part of the HVSC hierarchy, by checking the file path or URL. For example, using the HVSC search or a local HVSC collection works. The file STIL.txt needs to be available in the Hippo directory, it can be found in https://www.hvsc.c64.org/downloads. During the first access a separate index file STIL.idx is created, this takes a while. On kick1.3 Hippo needs to be started using the Workbench icon or from shell in the same directory where the STIL.txt is for Hippo to be able to find it. - PSID improvements with the updated playsid.library v1.6: - SIDBlaster support upgraded by Erique, now faster and much less likely to cause jams. A 68020 should be enough for normal playback, previously a faster CPU was needed. - reSID mode now supports playsid-style digisamples, as heard for example in tunes like "Skate Or Die" and "Arkanoid". - "Prefs/Play-2/reSID boost" can be used to boost the volume in reSID mode. - The library also now works on kickstart 1.3 in the original playback mode, no need to have a separate kick1.3 lib version. - Improved configuration with environment variables, if not using with Hippo. - MIDI file playback support: - "Prefs/Play-2/MIDI mode" setting chooses which mode is active. - Serial output mode using Alastair M. Robinson's "delimidi" player. This will use MIDI equipment connected to the serial port for playing. - Paula/AHI output mode using either Timidity Amiga port by Philipp Grosswiler or GMPlay by Christian Buchner. - Timidity: Good quality, heavy CPU and FPU usage, 68060 tested to work. Unarchive https://aminet.net/mus/midi/AmiTiMiDity.lha and set an assign "timidity:" to the directory. - GMPlay: Not as good quality, lighter CPU load, 68020 should work. Install GMPlay from http://aminet.net/mus/midi/GMPlay13.lha and set an assign "gm:" to the directory (this is just for Hippo to find it). Also install Patrik's file driver into "gm:SoundDrivers", https://aminet.net/mus/misc/file.driver.lha - Scopes, song end detection, AHI output supported. - Console music playback support using the "vgm2wav" application: It uses the Game Music Emulator library for sound output. The following formats (and file extensions) are supported: - AY ZX Spectrum/Amstrad CPC - GBS Nintendo Game Boy - GYM Sega Genesis/Mega Drive - HES NEC TurboGrafx-16/PC Engine - KSS MSX Home Computer/other Z80 systems (doesn't support FM sound) - NSF/NSFE Nintendo NES/Famicom (with VRC 6, Namco 106, and FME-7 sound) - SAP Atari systems using POKEY sound chip (no digimusic support) - SPC Super Nintendo/Super Famicom - VGM/VGZ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro Download http://aminet.net/mus/misc/vgm2wav-gme.lha and place the binary into C: or Hippo directory. The CPU usage varies depending on the format being played. A 68060@50MHz might not be fast enough for SPC files, a 68020 can likely handle AY and SAP, for example. Vgz-files are gzipped, so you need to have a working gzip in C: too. Scopes, subsongs, song end detection (for some subformats), AHI output supported. - MDX music from the Sharp X68000 system playback support using the "mdx2wav" application. These contain 8 FM synthesized channels and the 68060 at 50MHz is likely not fast enough for smooth playback. Download http://aminet.net/mus/misc/mdx2wav.lha and place the binary into C: or Hippo directory. Scopes, song end detection, AHI output supported. - Note on performance: Timidity, GMPlay, vgm2wav and mdx2wav are used to convert files to audio on-the-fly. Th data is piped through to Hippo using PIPE: provided by the queue-handler. The performance of queue-handler is important, the older V37 (OS 3.0/3.1) is much slower than the newer V45 (OS 3.2). - Greetz+thanx in no order go to Spot/UpRough, Patrik/UHCTeam, Erique, Estrayk and Marek Hac for helping with this version. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.57 (1.4.2023) to v2.58 (22.6.2023) ## New fixes: - Starting with command line "HiP " or with a "Startup" playlist and with random play mode always played the first entry, not a random entry, fixed this. - Fix search view sometimes not showing the last two list items. - Increased the maximum width of the window, so it can be resized wider than before. - Loading with "XFDmaster library" was fixed already in the previous version but I forgot to mention it in the last changelist. - PlaySid on kickstart 1.3: playing PSIDs on kick 1.3 could crash previously. There is now a fixed kick 1.3 specific playsid.library included, which is the latest official original version with some kick 1.3 specific fixes. Use the other included library for newer kickstarts. - AHI: Improved SBLive compatibility when stopping playback. ## New features: - A new prefs option "Prefs/Play-1/Position slider" enables a slider in the main window which can be used to select the playing position. This works for the most common module types supporting pattern skipping. It also enables seeking locally played MP3 files. - Updated 8bitbubsy's xmaplay060 from version v0.41 to v0.46. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.56 (15.2.2023) to v2.57 (1.4.2023) ## New fixes: - Fix crash when in the search view and doing a find (key [F] or RMB+"S" button). - Fix crash when playing XM modules with "xmaplay060" enabled. - playsid.library update: - Fix hang and crash bug which could happen when starting PSID playback. - Fix another crash bug related to earlier reSID modifications. - MHI support: - Fix wrong MP3 info being shown in the infobox - Fix crash when using mhimdev with the iComp MP3@64 clockport module - Fix pause and continue not working properly with Prelude + MPEGit - Fix Modland whitelist, files with "cust.*" prefix were wrongly filtered out from searches. - Prevent a few cases where the window layout broke with the new search bar at the bottom. - Hidden mode fixes (when started with HIDE parameter): - Do not auto-open scope windows - Do not open window when Workbench screen mode changes - Fix crash which could happen when starting and stopping playback - Fix crash when starting with "Keep list on exit" active - ImpulseTracker: some issues causing system instability fixed (bad memory reads and writes). - Prefs: Fix HippoScope Bars toggle not updating when clicked. - Scopes: Add HippoScope support to sample data (eg. MP3, Wav) - Fix favorites list modification confirmation appearing unnecessarily in certain situations. - Improved error messages if trying to load an RSID file. - Possibly make scopes work when running on AOS4+PPC. - Show "AHI" in the infobox when AHI is active. - The elapsed time counter in the titlebar no longer wraps to zero after 99 minutes, instead it wraps after 9 hours. - Enable the "Prg" button in favorites list, can be used to save the favorites to another file. - Fix "Shared playlists" in the search view to fetch more than 25 items. - A few other fixes as well. ## New improvements: - PSID support: - PSID tunes can now be played through AHI in reSID mode. In "Prefs/Play-2/reSID mode" there is a new option "AHI". The AHI mode itself is set in "Prefs/AHI", other AHI settings are not used at the moment (eg. master volume, stereo level). - New option "Prefs/Play-2/PlaySid mode/reSID Auto" added. This automatically selects the SID chip version to be used. - MED/OctaMed support: - Load modules into FAST memory if they don't fit into CHIP, automatically enabling the FastMemPlay mode. - Added "Prefs/Play-2/MED FastMemPlay" toggle to manually enable the FastMemPlay mode. This allows playing MED modules with very large samples in addition to loading them to FAST mem. - Download remote files into a selected directory with the hotkey [CTRL+G] ("G" for get). Cancel with [ESC]. - New search source added: Turran FTP. - Allow playlists to store subsongs for modules. The song number is stored when favoriting a module in the previous version, it is now also stored if "Add"ing a module from the file browser or the search results into the main list. ## New supported music formats: - Sound Master - Eagleplayer "sound master" by Wanted Team. - Silkworm title music! - Sound Programming Language - Eagleplayer "soprol" by Wanted Team. - Impulse Tracker v2.14 - Previously IT v1.00 and v2.00 modules were supported by using the deliplayer plugin "impulse", which Hippo tries to load from the Hippo binary directory. - To play IT v2.14 modules, copy the "ImpulseDecruncher" genie from DeliTracker archive to the Hippo binary directory, too. This is used to convert v2.14 format modules to the v2.00 format before playback. ## Other news: - "Shared playlists" contains new cool stuff, such as Jogeir Liljedahl's fav synth list, check it! Organized by Spot/UpRough. ## Known issues recap: - Sonic Arranger module "svensktoppen" may cause a crash. - Oktalyzer module "1 love night dub.okta" may cause a crash. - There are some invalid S3M modules around with an uneven length orders table. These will crash Hippo. - Oktalyzer: the sound is generally a bit off. This is likely because the original mixing routines are used and these seem to be quite finicky. - PSID files made with "Hermit/SidWizard V1.x" don't seem to be compatible with playsid.library, and play wrongly. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.55 (10.11.2022) to v2.56 (15.2.2023) ## New fixes: - Fix MusicAssembler modules being silent on 68040/68060. - Fixes in the included playsid.library: - A reSID related bug fixed which caused some tunes to have small pauses. Example tune: Hawaii by JCH. - Fix a possible freeze bug when pausing PSID playback. - The "Continue on error" mode available in Prefs could crash in certain situations, this should be fixed now. - A crash fixed which happened when the main windows was hidden. - Modland search whitelist had some issues, the following formats are now also found: - Delta Music 2 - DIGIBooster Pro - Synthesis - Pausing playback while using AHI was modified. This fixes pause not working with the ZZ9000AX driver. - Fixed a possible crash on 68000 when "Prefs/Play-1/Mode" was set to "All on startup" or "All on demand". - Fix PSID volume with reSID always starting with the max setting when changing modules or subsongs. - Allow adding urls with command line and ARexx. - Fix getting stuck if started from the "Execute command" dialog. - Fix crash when playing CustomMade modules. - A few other small fixes. ## New features and improvements: - Improved MP3 support: Data will be streamed over the network. This allows listening to MP3 files without downloading them first, and also allows listening to radio station streams. UHCTools is used for network transfers. Remember to update UHCTools to latest! - Added new search sources for MP3s provided by UHCTools: - https://amigaremix.com/ - https://remix.kwed.org/ - Radio station search - Added "Shared lists" search source. This fetches a list of shared playlists to be checked out. For example, you'll find favorite lists, top lists, and lists with certain musical themes. The lists will be updated periodically, and new community created lists added. Administration by Spot/Up Rough. Cool! - User interface changes related to searching remote files: - The search results view now contains a search source selection button and a search terms string gadget. The view is accessible using the list mode change button as usual. - All remote search stuff from the "S"-button popup were moved over to the search view. - To search, activate the search view, select a source using the button and then type search words into the string gadget, and hit enter. - [CTRL+S] is the keyboard shortcut remote search. - The selected search source is saved with "Prefs/Save" - Finding items in lists: - The "S"-button was returned to the original state: LMB sorts the list and RMB activates "Find" from the module list. - Activating "Find" from the button (or with key [F]) now brings up a string gadget below the list instead of a ReqTools requester. "Find next" (or [SHIFT+F]) works as before. - When favoriting a module (with RMB) the currently playing subsong is also stored. The next time you play this particular module the favorited subsong will be played first. - PSID playback improvements using reSID with the updated playsid.library: - Stereo SID (2SID) files are now supported. The 68060 at 50 MHz can handle most 2SIDs with filters enabled. - Proper support for multispeed tunes added. Previously only up to 4-speed tunes worked, now Jeff's "12-speed tune" also plays fine. - reSID filters can be toggled in "Prefs/Play-2": - "Internal on": normal filter mode - "Internal+Ext": also enable the external filter, may reduce noise, uses more CPU. - "All off": no filters, less CPU usage. - reSID is now about 20% faster due to code optimizations. The oversample mode x2 should work on most (non-stereo) tunes with 060@50, for improved sound. Also the x3 mode seems be fine with many tunes. - 2SID tunes can be found in the HVSC. - MHI support: Enabling this and selecting a suitable driver in "Prefs/Play-2" allows MP3 playback using external hardware. This will override MPEGA and AHI settings for MP3 files. - The popup selector is now keyboard controllable with arrows up, down, and enter. - The list mode change button now has a popup selector with RMB. - Info window improvements: - Show MP3 file ID3v2 tag information, old tag versions (2 or older) not supported - Show MP3 radio stream information - Show PSID play speed which tells how often the SID parameters are updated. Range 1..12 corresponds to 50..600 Hz update rate. - MP3 playback improvement for Paula output: When using the high quality MPEGA settings, instead of 8-bit output the Paula 14-bit mode is used by default and the downscaling step is more accurate. The HQ settings in Prefs are: Mpega quality: Hi, Freq.Div: 1. - AHI: Added limited scope support when using AHI for sound output - Scopes for sample files (MP3, Wav, etc) - Scopes for modules played with PS3M (PT, XM, S3M, etc), at the moment only four scope channels supported. - Patternscope supported without limitations. - Some keys from CDTV, CD32 were added as key shortcuts: stop, play, prev, next. - Pressing the [DEL] key now acts similarly as [BACKSPACE] and [D]: delete list item, or navigate to parent in file browser view. - 8bitbubsy's xmaplay060 updated. The mixing routines are now faster and a few bugs are fixed. - GlueMon module format: Added position/length and scope support - Thomas Winischhofer has updated his MusicMakerV8 players to version 5.09, added these. Thanks and greetz go to in no order: - Spot, 8bitbubsy, Erique, Patrik, Mr. Hac, Mike, Ziphoid, AceMan, Mr. Sallinen ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.54 (30.8.2022) to v2.55 (10.11.2022) ## New fixes: - The new list button font selector in Prefs introduced a bug that could cause playlist contents to disappear or be trashed and make the window resizing inoperable. A way to get this is in Prefs if the secondary font selector is empty, "Big buttons" is selected, then "Use" is pressed. - The top infobox would show a shortened filename in certain cases instead of the whole filename. - List sort is improved, now uses 64 chars instead of 24 chars for sorting. This solves my problem with "TF.Ghouls 'n' Ghosts Level 1" and "TF.Ghouls 'n' Ghosts Level 2" being displayed in the wrong order. - The "S" button was wrongfully disabled in file browser mode. Fixed it so that searching can be done in file browser, too. - Window width was not saved when Prefs was saved, now it is. - The window would not stay zipped to to title bar size, it would resize itself back after a moment. Fixed. - The window could sometimes be resized to two rows even though three should be the minimum, causing the slider to look weird. - With some graphics patch combination it was possible to make the scopes not draw correctly. Should work now. ## New features: - Drag'n'dropping icons on the Hippo window now supports folders as well, previously only files worked. The folders will be recursively scanned and the file match pattern used. - All of the fonts in the main window can be changed. The 2nd font change button in Prefs now changes, in addition to the main window list font, also the other fonts used in the main window: the infobox font and the button font. The 1st font change button works as previously, it affects the fonts used in the other windows. - The "S"-button was changed. Previously it provided "sort" with LMB and "find" with RMB. Now it opens a search function popup with LMB, and "sorts" with RMB. The popup provides the following: - Search playlist, the previous find functionality, also with [F]. - Continue searching using the previous search word. This was available as a key shortcut [SHIFT+F] only in earlier versions. - Search Modland - Search Aminet - Search Modules.pl - Search HVSC (High Voltage SID Collection) - Search and download from some module internet sites. This feature uses the excellent UHCTools to do the actual work, so ensure you have it installed and some internet connectivity. Greetings to the UHC team! Search results go to a new view, the search results view. This is identified by a magnifying glass icon in the list mode change button. The list can be toggled as previously between the different views. Files are downloaded to temporary local storage before playback. Search is accessed with the "S" button. There's a key shortcut for Modland search: [CTRL+M]. Modland search results will be filtered so that only Hippo compatible files are accepted. Aminet search will only return hits from the "mods" subhierarchy. Remote files are stored in playlists as URLs, so they could also be shared with other people :-) - The "Add" button (and the key shortcut [A]), while the file browser or the search view is active, will copy the selected module or folder into the main playlist. This allows you to pick and save modules from directory hierarchies or search results for later use. - Support added for the updated playsid.library with improved sound. This is included in the lha, for more info see playsid.library.readme. In "Prefs/Play-2" there's a new entry "PlaySid mode" where you can configure the sound output mode for playing PSID files: - Normal mode: The original PlaySid mode - reSID 6851: Accurate emulation of SID 6581 - reSID 8580: Accurate emulation of SID 8580 - SIDBlaster: Use the USB device SIDBlaster for sound output reSID produces an authentic sound. It also requires a 68060 or something comparable. The "Normal" mode takes about 50-80% CPU on a 50 MHz 68060. Before playback is started, a performance test is done and a warning issued if necessary. If there's not enough CPU power available, data will be skipped, leading to distorted sound. In "Prefs/Play-2" there's also another new entry: "reSID mode". This can be used to select the reSID sampling mode to use. The "Normal" mode is the fastest but produces sampling noise. The other modes are heavier and produce a better sound. These may not run on a 50 MHz 68060. SIDBlaster support requires the Poseidon USB stack to be installed. - Added 8bitbubsy's high quality FastTracker 2 replayer: xmaplay060. Enable it from "Prefs/Play-2/Enable xmaplay060". It will then be used instead of the buggy default XM replayer (PS3M). It provides full support for XM modules with a much better sound quality. Features: - 32 stereo channels with 11-bit input volumes (left/right) - Free voice panning with an 8-bit range - Full FT2 volume ramping (16-bit fractional precision) - 32-bit mixing with linear interpolation (16-bit fractional precision) - Supports 8-bit and 16-bit samples - 14-bit output Note that this also requires a 68060 or something comparable. Playing "dope (onward).xm", which is a 28 channel module, uses about 20-40% CPU on a 50MHz 68060. Scopes work with the exception of the patternscope. AHI support not available. Thanks and greetz go to: - Spot, 8bitbubsy, Erique, Patrik, Mr. Hac, Mike ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.53 (13.7.2022) to v2.54 (30.8.2022) ## New fixes: - Fixed a severe bug that most likely occured on kickstart 2.x. During start up chip memory could be corrupted and lead to a crash. This was a regression related to the window resizing mechanism. - Disabled tooltips when the window is zipped to titlebar size. It's not useful to show the tooltips when the window has more or less disappeared. - Zipped window position is saved with Prefs again. This likely broke in v2.52. - MPEGA quality was not restored from saved prefs correctly. This bug was introduced in a recent version. - Fixed a scope related problem. When a Protracker module uses the 9xx command with note, the scopes would often display the sample data wrongly. This bug was listed as an open issue in HiP v2.45 docs. The same bug is also visible in Protracker v2.3d. - Fixed some TFMX 7 voice replayer issues apparent on 68060. The Turrican 2 title theme now sounds correct. Technical: self modifying code removed, DMA waits added. - Info window: Fixed a bug where the slider movement was ignored and the content not scrolled. - Info window: Fixed a crash which would happen sometimes if during start up the info window is opened while "Keep list on exit" is enabled and a module playback is started. - Info window: Fixed a text layout issue where when wrapping to multiple lines the words would be broken. Now wrapping is done on spaces only. - AOS4: During exit Hippo would always crash when running on AOS4, the exit procedure was modified so that this probably doesn't happen anymore. - Fixed DIGIBooster replayer crashing on 68000. - A few other minor things and fixes. ## New features: - Added a confirmation dialog that is shown when editing the favorites list. This should prevent accidentally removing any carefully picked favorites (which has happened to me a few times). - There is now a small window resize gadget visible in the lower right corner. The ordinary one is too big :) - The main window can now be resized horizontally as well as vertically using the resize gadget. - The info window can be resized vertically using the resize gadget. - The proportional gadget (slider) knobs now react visually when clicked. - Added another font change button in Prefs/Display. The 1st one changes the main font as previously, and accepts 8x8 pixel fixed width fonts. The new 2nd one changes the module list font. It accepts fixed and proportional fonts of various sizes. - Kickstart 1.3: The vertical and horizontal sliders now use the same visual style as on kickstart 2.0+. - Kickstart 1.3: A window background pattern is applied similarly as on kickstart 2.0+. - Kickstart 1.3: Changing the font via Prefs now works. Previously it was disabled because I had been too lazy back in the dayz. - Kickstart 1.3: Window resizing using the resize gadget is enabled. For some reason I assumed that kick 1.3 did not allow a custom resize gadget. I was wrong! - Sample scope support added for Oktalyzer modules (patternscope was already supported). For 8 channel modules two channels are shown per one scope segment. ## New music formats: - Mark Cooksey - Eagleplayer "mark cooksey" by Wanted Team. - Plays most Mark Cooksey modules that I found. I tried this player earlier in v2.49 but couldn't figure out why it didn't work. Turns out there were two bugs in Hippo which caused problems, now fixed. - Sample scopes supported. - Art Of Noise 8 channels - Replay code by Bastian Spiegel (Twice/Lego). - 68020 or better required. - Sample scopes supported. - Modland has a bunch of these, get them. ## Notes: Used vasm v1.9 to cross-assemble Hippo for the first time. Should not cause any issues. Previous versions were assembled with Asm-Pro v1.17. ## Known issues recap: - AOS4: There are various issues when running on AOS4, I've been told. - Sonic Arranger module "svensktoppen" may cause a crash. - Oktalyzer module "1 love night dub.okta" may cause a crash. - There are some invalid S3M modules around with an uneven length orders table. These will crash Hippo. - THX/AHX pattern scope sometimes displays an empty channel where actual data should be displayed. - Module list sorting uses the 24 first characters of the name only. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.52 (30.4.2022) to v2.53 (13.7.2022) ## New fixes: - A new bug appeared in v2.52 which prevented the scopes from opening to the configured public screen. Fixed. - The new favorite key shortcut [SHIFT+F] was actually already used as "find next". Restored the original functionality and changed the favorite key shortcut to [CTRL+F]. - Fix numberpad key shortcuts for changing subsongs being in the wrong order (keys [4] and [6]). - Fix sample scopes not working with samples larger than 64 kB. - The previous version had a fix for unnecessary module skipping when module end was detected. Unfortunately this also broke the detection mechanism for never ending modules. A fix for this was done. - Protracker compatibility fix: The 9xx command in Protracker has a bug which makes it not work with samples longer than 64 kB, only silence is played. Introduced this bug in Hippo, which it previously didn't have, for maximum compatibility. - DIGIBooster replay code now uses a less violent interrupt mechanism. This may help in some obscure cases. - Random play mode: Previously Hippo would play through subsongs if the module had them. Now the next randomized module is played instead when an end is detected or timeout is reached. - Fix wrong hippo graphics placement when "Big buttons" is in use. - Kickstart 1.3: When "zooming" the window smaller with RMB+Pr, sometimes there would be white trash gfx on the top part of the window. Fixed. - With "Big buttons" enabled, the two bottom lines in the filebox could not be selected with mouse. Fixed. - While in file browser and the "Play modules in random order" mode enabled in Prefs, trying to play a module would sometimes play the previous module and not the selected one. Fixed. - Fix SpectrumScope not reacting to the main volume setting. - Fix illegal memory read enforcer hit and a possible division-by-zero crash in the AHX/THX replayer. - SpectrumScope is now somewhat faster and may run smoother on low power systems. After an unreasonable amount of effort/fun the speed increase on A500, based on the average time to calculate one frame, is about 20%, from 75 milliseconds in the previous version to 58 milliseconds now. ## New features: - The main window can now be resized by dragging from the lower right corner. This is for kickstart 2.0+ only. - Sample scope support added for PSID files. These are the C64 music files played by the "playsid.library". Nemesis the Warlock! - Sample scopes support the THX/AHX format (already in the previous version but forgot to mention it). - The PS3M volume boost setting in Prefs now goes all the way up to 16. This may help with modules with over 16 channels, such as ImpulseTracker. The max effective value is determined by the amount of channels divided by two, so for a 8ch module the max boost value having any effect is 4. ## Known issues recap: - Sonic Arranger module "svensktoppen" may cause a crash. - Oktalyzer module "1 love night dub.okta" may cause a crash. - There are some invalid S3M modules around with an uneven length orders table. These will crash Hippo. - THX/AHX pattern scope sometimes displays an empty channel where actual data should be displayed. - The TFMX 7v replayer does not sound correct on 68060 with caches enabled. It uses self modifying code which is not good with large caches. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.50 (31.12.2021) to v2.52 (30.4.2022) This time we skip over one version number! ## New fixes: - Simplify file loading so that compatibility with FTPMount is better. FTPMount does not seem to support file seeking properly. FTPMount can be used to access Modland with Hippo, for example. - Fix crash with "Keep list on exit" when restarting in file browser mode and the directory has disappeared. - Fix the move function losing the moved item if nothing is selected when trying to insert the item back. Now it is inserted to the beginning of the list. - Kickstart 1.3: Fix the button and box frame graphics so that they look correct in terms of depth illusion. - MP3 files with ID3v2 tag data did not get recognized and played previously. Now they should work. - MP3 identification improved so that in addition to filename suffix ".mp3" also the prefix "mp3." is now checked. Additionally any possible ID3v2 tag data is is used to determine if a file is an MP3 file. - There was a rather severe regression in v2.49 sampleplayer. Scopes didn't work properly and things could crash. Fixed these. - Move "Button tooltips" Prefs button to the "Display" Prefs subpage, which is the correct placement. - Sometimes when a module ends and the next one should be played, the next one is skipped and the one following that is played. Fixed! - The play button icon had an extra pixel at the bottom. This went unnoticed until now, how is that even possible?! ## New features: - "Big buttons" option in "Prefs/Display". This doubles the height of the two button rows in the main window. May be helpful with higher resolution screens. The original icons were designed for the 640x256 resolution. - Added support for launching HiP via "project icons". These are icons used for data files which specify the default tool which should be used to open the files. This is a very basic use case from the beginning of Workbench, finally supported. - Patternscope support added to the THX/AHX format. Also shows transposes. - Patternscope now displays note and sample transpose information for the Future Composer and the BP SoundMon formats as well. - PreTracker support improvements: - New PreTracker v1.5 replayer code - Position/length display - Subsongs - Song end detection - Sample scopes - Go listen to some PreTracker tunes! - Improved sample scope support: - Sample scope refers to QuadraScope, HippoScope and friends. They were previously available for Protracker, sample player and some multichannel modules. - Added support for the following players: - Art Of Noise (4 channels) - BP SoundMon (v2.0-v2.2) - Future Composer (v1.0-v1.4) - Game Music Creator - Hippel-COSO - JamCracker - PreTracker - SoundFX - StarTrekker - Also added support for the following eagleplayers. Note that not all EPs have a bug-free scope support. - AProSys, ChipTracker, David Whittaker, Digital Mugician, EarAche - Jason Brooke, Jason Page, Jeroen Tel, Jochen Hippel ST - Kris Hatlelid, MaxTrax, Quartet, Quartet ST, R.Joseph/VectorDean - Richard Joseph, Rob Hubbard, Rob Hubbard 2/Infogrames, Sonix Music Driver - SoundControl, Special FX, Steve Turner, Synth Pack, TCBTracker (ST) - The Musical Enlightenment, Tim Follin, Wally Beben - Fixed a problem where samples with short repeat lenghts were displayed incorrectly, this means every chip and synth sample in practice. The playback position was calculated wrong and resulted in an unrealistically static waveform display. - Sidenote: It's quite interesting to see how synth formats look with scopes, as they deform and manipulate the waveforms in real time. For example, FC waveforms looks quite simple whereas JamCracker and Hippel-COSO look more complex. BP SoundMon seems to be in between these two. - The "Freq. Analyzer" scope was removed. It was some kind of a histogram display of deltas of consecutive sample bytes, usually boring to look at and not that informative. - A new scope "Spectrum" was added. The X-axis displays frequencies, low ones on the left, high ones on the right. The Y-axis displays loudness in decibels. This is an assembler conversion of the fixed-point fast fourier transform by Tom Roberts in 1989. I converted it in 2012 to see how fast I can get it to run as it requires a lot of calculations. I realized it would be cool to have it in Hippo, so here goes. It does a 128-point FFT and runs ok on A500. The frequency axis is linear due to the small amount of points calculated. - Support for running multiple scopes instead of just one. There are now separate toggles for the five different scopes in "Prefs/Display". I tried to preserve much of the previous scope functionality. For example, the scope toggle with key [Z] and LMB on the left side of the infobox. Scope window positions and open status are preserved when Prefs are saved. However, when a module is played with no scope support the scope windows will no longer be automatically closed as was done previously. Having multiple scopes running required extensive changes, so there may be some new bugs lying around. Scopes are also quite CPU and blitter intensive so having many running on A500 will work but will also not be very smooth. - New keyboard shortcut [SHIFT+F]: toggle favorite status for the currently selected module. (Plain [F] is find module.) - Kickstart 1.3: The hippo head is now displayed! It uses the kick2.0 palette color order so it is ugly on kick1.3, and was never shown. Now the graphics is remapped during startup to make it displayable also on kick1.3. Cool :-D ## Known issues: - Same as with v2.49 ## Tips and tricks: - Enabling "Doubleclick" in Prefs makes starting playback easier if you like using the mouse. - Activating "Keep list on exit" allows you to conveniently continue where you left off in your module listening adventures when you start Hippo again. - Hippo is fully keyboard controllable. A way to browse through a large mod collection is to switch to file browser using [SHIFT-M] and then using arrows, enter and backspace. ## Greetings and thanks to: - Pink/aBYSs, Spot/UpRough, Marek Hac ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.49 (29.11.2021) to v2.50 (31.12.2021) ## New fixes: - There was a bug in the sample player (which also plays MP3) in AHI compatibility. It could hang when playback was stopped. This happened especially when using AHI with the Toccata driver. Should work now. - Another different possible AHI related hang bug fixed which could happen when pausing playback. - When the play mode was set to "List repeatedly" and the list was full of dividers (a.k.a. directories), Hippo could get stuck trying to find a module to be played. This should be fixed now. - Possible hang/crash bug (related to a stray audio interrupt) fixed in Ben Daglish and Kris Hatlelid formats. ## New supported music formats: - Impulse Tracker, using the "Impulse" deliplayer, written by the Delirium team for DeliTracker. - Impulse plays IT formats v1.00 and v2.00. Newer formats are not supported. - Impulse supports pattern skip forwards and back, along with song end detection. Song position display is not supported. - 32 channels are in use in all modules. This is due to the way IT modules work, channels are used dynamically according to whatever is needed at the moment. - Modules can be played using the PS3M mixing engine or AHI. - Stereo scope works with PS3M. - Channel panning is not supported, each channel has a fixed stereo position. - Requires 68020 or better. - Impulse is not included in the HippoPlayer.group file, so Hippo will look for it in the following places: "PROGDIR:", "PROGDIR:eagleplayers", "eagleplayer2:eagleplayers". Here "PROGDIR:" is the directory where the Hippo binary is installed. - Impulse can be found in the Aminet DeliTracker archive. ## New features: - There is a new list mode which can be toggled by the button on top of the file slider: file browser. The list modes now are: - Playlist (list icon) - Favorites (heart icon) - File browser (disk icon) - File browser mode: - In this mode the list displays contents of directories. - Directories are entered by the "Play" button, return/enter key, or LMB double click. (Note that double click can be enabled/disabled in Prefs.) - The topmost list item shows the name of the displayed directory. Activating it goes back to the parent directory. - Files are filtered using the configured match pattern, see "Prefs/Loading/File Match Pattern" (kick2.0+ only). - If you have enabled "Keep list on exit", Hippo will return to the directory where you left off if you were in the file browser mode when exiting. - New keyboard shortcuts: - List mode toggle: [SHIFT+M] - Navigate to parent in file browser: [BACKSPACE] ## New ARexx commands (for HippoPlayerIR support): - TOGGLEMODE: change between list modes - FAVORITE: toggle chosen module favorite status ## Known issues: - Same as with v2.48 ## Thanks for beta testing go to: - Spot/UpRough - Marek Hac ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.48 (31.10.2021) to v2.49 (29.11.2021) It's the pattern party edition! ## New fixes: - The font selector in Prefs had a proper bug that made it ignore user selected font received from the font requester. The default font therefore could not be changed, until now. Note: Hippo accepts 8x8 fixed fonts only. - Fix the case where the scope window is sometimes left too tall. - When starting with empty list in random mode, ensure that the first module being played is actually random and not the first one. - Do not draw the new list mode change button if it doesn't fit, removing the visual glitch when window is minified with RMB+Pr. - A possible hang during stopping of playback fixed. This happened when AHI was enabled and a non-Paula AHI mode was active. - P96 multi screen fix: when scope if manually reactivated by LMB click, this will be remembered until app is closed. - "Rob Hubbard 2/Infogrames" format was probably not working, should be ok now. ## New features: - Patternscope support added to the following formats: - Art Of Noise (4 channels) - BP SoundMon v2, v3 (Note and sample transposes are not shown) - ChipTracker (eagleplayer) - Digital Mugician (eagleplayer) - Digital Mugician 2 (7 channels, eagleplayer) - FastTracker (FM, multichannel) - FastTracker 2 (XM, multichannel) - Future Composer v1.0-v1.4 (Note and sample transposes are not shown) - Game Music Creator - JamCracker - MultiTracker (MTM, multichannel) - Oktalyzer (4-8 channels) - Scream Tracker 3 (S3M, multichannel) - SoundFX - StarTrekker - TCBTracker (eagleplayer) - The Musical Enlightenment (eagleplayer) - Patternscope notes - Patternscope is able to display 4-18 channels side by side in both normal height and double height (XL) mode. The 18 channel wide scope window just fits into a 640 pixel wide screen. Channels over 18 will not be shown. - Normal configured font is used when there are 4-8 channels to be displayed. For over 8 channels a smaller font is used, and needs to be installed in FONTS:, called "mini4", available on aminet: https://aminet.net/text/bfont/mini.font.lha - Playing a 8+ channel module takes some CPU power and not much is left for the patternscope in low power systems. The scope display is also more CPU+Blitter intensive the more channels there are to be shown. I had some fun optimizing it, though! This includes my personal first use of binary coded decimals :-) - A500 can handle Oktalyzer modules with Patternscope, but struggles with PS3M (as usual). A1200 should generally perform ok. - New Prefs setting: "Keep list on exit". This enables the following: - Module list will be saved on exit and restored when Hippo is started again. - Last chosen module is selected and played, if it was playing. - File requester path that was last used to add files to the list will be used the next time file requester is opened. ## Music format related fixes - Volume support added for PSID tunes. These are played by the playsid.library which now gets a live patch to allow volume control. - ScreamTracker3 (S3M) replayer would crash when attempting to play some modules that had an unexpected sample set up. Some fixes were made to avoid crashing. - Digital Mugician upgraded to Wanted Team eagleplayer ("mugician.amp"). Supports subsongs, pattern skipping, patternscope. - David Whittaker upgraded to Wanted Team eagleplayer ("david whittaker"). Compared to previous this one has better support for different variants, volume and songend support. ## New Eagleplayer formats, plugin name in parentheses: - Special FX ("special fx") - Eagleplayer by Wanted Team - Jason Page ("jason page") - Eagleplayer by Wanted Team - Steve Turner ("steve turner") - "Paradroid 90" - Eagleplayer by Wanted Team ## Known issues: - Sometimes after the scope window has resized the right side of the window frame is not refreshed properly. Activating the window repaints the window border again. - Sonic Arranger module "svensktoppen" may cause a crash. - Oktalyzer module "1 love night dub.okta" may cause a crash. - There are some invalid S3M modules around with an uneven length orders table. These will crash Hippo. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.47 (31.8.2021) to v2.48 (31.10.2021) In this episode, we will be trying to play them all! ## New fixes: - File and directory scan was refactored and is now much more robust. This fixes some bugs caused by very long path names and some other corner cases, such as uncommon directory types. Subdirectories will also be added in alphabetical order. Thanks to Zoltar of the English Amiga Board for reporting a nasty bug and testing a bunch of desperate fixes. - Fix crash caused by a devious ProTracker module "Sunday Hangover" by Skope/UpRough. The modules uses the "EFF" command without a sample, which is unexpected. Also crashes ProTracker v2.3d and other apps. - After playing a DeliCustom type module and then trying to play a XPK/PP/FImp/XFD compressed module lead to the new module being recognized as DeliCustom even if it wasn't, which lead to all kinds of bad things. - Fixed the case where favorites were not saved if the user exited while being in the favorites view. - If the XFDMaster library was enabled, DeliCustom modules were not recognized. - For lists with only list dividers the selection would sometimes go looping around the list and never stopping, making Hippo unresponsive. - A new method of calculating the window bar height is now used. This should fix the VisualPrefs related bug where adjusting window and screen title bar heights caused Hippo to add extra vertical space at the top part of the window. - Fixed the random generator bug where the first value was not random. In random play mode this could result to the same first module being player every time. - Clearing the favorites list with RMB+New didn't work, now does. - The sampleplayer had a nasty bug that probably made it not work at all on kickstart 1.3 in most cases. There was an unnecessary file seek operation done on an invalid file handle, which, at least for me, crashed on kick1.3 and didn't crash on kick3.0. Now works. Sidenote: I'm a little bit impressed how capable the sampleplayer is, it handles CD-quality WAVs on 68000 nicely. The code though is quite horrible to look at :-) - A few other minor issues fixed. ## New features: - Patternscope XL, with twice the amount of rows. It is available in Prefs with the other scopes. Generally patternscope should use less CPU now, due to some optimizations. - Dual monitor support is now possible with P96. In such case Hippo may think the scopes are invisible and stop updating them. Clicking the left mouse button in the scope window will reactivate the scope. - Limited Eagleplayer plugin support. Hippo is now able to use some eagleplayers for music playback. A set of Hippo compatible eagleplayers have been fetched from Aminet and included in the group file. See below for more info. - The "HippoPlayer.group" file, which is basically a compressed random access file archive, on kick2.0 or newer, is now searched first from PROGDIR:, then the default (or configured) location. Therefore it can be kept alongside the main Hippo binary. - NOTE! The group file is now larger than before. It's a good idea on low memory systems to set the group mode to "Load single" in "Prefs/Play-1/Mode", so that individual replayers are loaded when needed instead of keeping the whole file in memory. - Group file data compression was changed from File Imploder to Shrinkler by Blueberry as an experiment. Much better compression ratio, slower decompression. - Info window will now show who created the replay code for the current format, and information retrieved from the active eagleplayer plugin. ## Music format related fixes - Improved JamCracker support: added volume control and position/length info. - Also fixed an annoying audible *BEEP* once in a while. (Empty sample data was not in chip mem, my fault.) - FutureComposer (both old and new formats) now support position/length info. FC1.4 replayer changed to another and a modified a bit, hopefully now works better with "rsi theme.fc". - Oktalyzer now also has position/length info and can be paused, which previously wasn't possible. - Improved Art of Noise (4 channels) support as well: added position/length info, song end detection, fast forwarding. Also uses Hippo timers now. - Similar *BEEP* bug fixed here as with JamCracker. ## New music formats: - PreTracker by Pink/aBYSs. Very noice! Samples are generated during initialization which may take some time especially on slow CPUs. - SonicArranger - Now supports more variants, previously only the compact form was supported. Adaptation based on Wanted Team sources. - There is still one variant (at least) that is not supported. - CustomMade - "Battle Squadron" - Songs composed by Ron Klaren. Adaptation based on Wanted Team sources. - Dave Lowe - Just wanted to hear Hippo play the "International Karate+" title music. - Adaptation based on Wanted Team sources. - DeliTracker Custom format improvements, adds support for modules with external samples: - SUNTronic modules (from SUNTronicTunes.lha). Smooth! Check out "spring.src", this uses the Paula FM/AM channel modulation feature, which is very rarely heard. Google for "SUNTronicTunes.lha" to get all SUNTronic tunes, adapted by Peter Kunath of the DeliTracker team. - ModsAnthology/Synth/Custom/CUST.Lemmings now works, too. - GlueMon (properly retro sound) - Tunes from Mahoney & Kaktus music disk "His Master's Noise". - SoundFX (some nice ones in there) - Listen to "waterfall.sfx" - StarTrekker AM (pretty crunchy) - Audio Sculpture modules are also recognized as StarTrekker modules. The replay routine is almost identical, but not quite, so may not play perfectly. - Recommended listen (since M.U.L.E. rules): "the-real-mule2.mod" - Voodoo Supreme Synthesizer - An obscure synth format. - Based on eagleplayer by Buggs/DEFECT. Some bug fixing was needed for this, plenty of illegal memory reads were happening. ## Supported Eagleplayer formats, plugin name in parentheses: - SynTracker ("syntracker") - Eagleplayer by Eagleeye/DEFECT - AProSys ("aprosys") - Original sounding synth tunes. - Some modules cause illegal memory read enforcer hits. - Eagleplayer by Delirium & Buggs/DEFECT - In Stereo! 1.0 ("in stereo 1.0") - Eagleplayer by Eagleeye/DEFECT - In Stereo! 2.0 ("in stereo 2.0") - Eagleplayer by Eagleeye/DEFECT - Synthesis ("synth 4.0") - Nice synth sounds in the three above formats! - It seems that In Stereo!, Synthesis and SonicArranger are related, all mention Carsten Herbst in credits. - Eagleplayer by Eagleeye/DEFECT - ChipTracker ("chiptracker") - Also known as KRISTracker. - Tunes by 4-Mat. - Eagleplayer by Wanted Team - Jochen Hippel 7v ("jochen hippel 7v") - Seven channel Hippel experience. - Eagleplayer by Wanted Team - Jochen Hippel ST ("jochen hippel st") - Hippel tunes from the Atari ST. Hippel quality! - Not all tunes (that I found) are supported. - Eagleplayer by Wanted Team - Rob Hubbard 2 ("rob hubbard 2") - Many Infogrames games used this, eg. the "Flood" title tune. - Eagleplayer by Eagleeye/DFT & Wanted Team - Richard Joseph/VectorDean ("richard joseph player") - "Chaos Engine" - This format has two names depending on where you look, VectorDean and Richard Joseph. - Eagleplayer by Wanted Team - Richard Joseph ("richard joseph") - "Speedball 2" - A different Richard Joseph format. - Eagleplayer by Wanted Team - TCBTracker ("tcb tracker") - Richard Joseph tunes from the ST, such as "Magic Pockets". - Eagleplayer by Meynaf and Wanted Team - Quartet ("quartet") and Quartet ST ("quartet st") - Atari ST originated format, interesting to hear these on Amiga. - Eagleplayers by Wanted Team - Jason Brooke ("jason brooke") - "Space Harrier" - Eagleplayer by Wanted Team - Activision Pro ("activision pro") - "R-Type 2" - Eagleplayer by Eagleeye/DEFECT - Wally Beben ("wally beben") - "Elite", "Hawkeye" - Eagleplayer by Wanted Team - Jeroen Tel ("jeroen tel") - "Unreal" - Eagleplayer by Wanted Team - Rob Hubbard ("rob hubbard") - "Budokan" - Eagleplayer by EagleeEye/DFT & Wanted Team - Sonix Music Driver ("sonix music driver") - File prefixes: SMUS.*, TINY.*, SNX.* - These definitely have their own, musical sound. - A note based editor. Quite unlike any tracker music. - Instruments are separate files. - Many beautiful adaptations of classical music, such as "Arabesque". - "California Games" music was also made in this format. - Eagleplayer by Wanted Team - Digital Mugician II ("mugician ii") - Seven voices. - Eagleplayer by Wanted Team - StoneTracker ("eaglestone") - One of the newer 4-8 channel Amiga trackers. - These don't work on kick1.3 and/or 68000. - To play these, additional libraries are needed in LIBS: - stoneplayer.library, stonepacker.library - These can be found in the StoneTracker aminet archive. - These modules have a separate sample data file which needs to be correctly named for the eagleplayer to find it, by prepending "sps." to the sample file name. Example: - Module name: "spm.hypnosphere" - Sample file: "sps.hypnosphere" - Eagleplayer by Emmanuel Marty, one of the authors of StoneTracker - MusicMaker V8 ("musicmaker4", "musicmaker8") - 4-8 channel modules. - Format with multiple files per module not supported. - First versions of this app were released way back in the 80s, there have been new updates just recently, cool! - Eagleplayers by Thomas Winischhofer, the author of MusicMaker - MaxTrax ("maxtrax") - Eagleplayer by Wanted Team - SoundControl ("soundcontrol") - Eagleplayer by Wanted Team - Synth Pack ("synth pack") - Synth enabled format by the legendary Sound Tracker creator Karsten Obarski. - These tunes are worth checking out. - Eagleplayer by Wanted Team - EarAche ("earache") - An obscure synth format with apparently only three modules in existence. - Eagleplayer by Wanted Team - The Musical Enlightenment ("tme") - Yet another obscure synth format. - Eagleplayer by Wanted Team - Face The Music ("face the music") - 8 channel format. - This one does some illegal memory reads from audio interrupts sometimes. - Eagleplayer by Buggs of DEFECT - Kris Hatlelid ("kris hatlelid") - "Test Drive II" - Eagleplayer by Wanted Team - Tim Follin ("tim follin ii") - "Ghouls 'n' Ghosts" - Eagleplayer by Andy Silva and Buggs/DEFECT ## Misc - In the original hippo release, in the HippoSupport folder, there is a tool called "TerminateHiP". This is no longer compatible with Hippo. Instead, an AREXX script such as the following should work: rx "address hippoplayer ; quit" ## Tips - A nice place for exotic modules is the FTP server Modland. - Another place to check is the Wanted Team web page. ## Thanks and greetings to: - Spot/UpRough for beta testing and music format related assistance. - Marek Hac for beta testing. - Wanted Team for Eagleplayer resources. - Authors of all the included eagleplayers, I hope you don't mind! ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.46b (15.6.2021) to v2.47 (31.8.2021) Here's another version, since Amiga is fun :-) In this one: new exotic music formats, favorite modules feature, enhanced kickstart 1.3 support, some fixes. Check out the details below. ## New fixes: - Fixed two serious crash bugs introduced in v2.46b. When starting to play the next module (especially by double clicking) Hippo could get confused and crash. These problems were very likely to happen especially on OS 3.2. - Tooltip fixes for buttons *Del*, *Pr*. Also increase tooltip delay a little bit. - Fix the case where HiP is given modules without absolute path via command line or via icon launch (eg. *DefIcons*), and the added files can't be opened. Now works. - Another relative vs. absolute path fix. When adding files so that the filerequester path is relative it could be that Hippo was not able to open the added files. That is, a file was added with path "Modules/DrAwesome/mod.bud peculiar" instead of "dh0:Modules/DrAwesome/mod.bud peculiar". - The default unzip command in prefs was changed to *c:unzip >nil: -jo "%s"*, this allows opening zipped modules where the module is within a subdirectory. Previously such modules would not be found from the zip file. - In Prefs the MPEGA settings were reported to display garbage at times, I wasn't able to reproduce this but some additional checks were added, maybe they will help. ## New (very old) known bugs: - _VisualPrefs_ tool can be used to adjust window bottom and top border, and window and screen title bar heights. Hippo can get confused and displays some extra vertical space below the window title bar when these are adjusted. ## New supported music formats: - Medley Sound and Future Player - The author of these and the superb Imploder themes Paul van der Valk has recently passed away. His sound was truly unique! - Future Player replayer adapted from Wanted Team EaglePlayer sources. - Medley Sound replayer ripped from Imploder 4. - Ben Daglish - Also adapted from EaglePlayer sources by Wanted Team. - DeliTracker Custom - There are hundreds of these modules available, with varying quality. Many modules work fine but some behave badly. They may do illegal memory accesses or crash speactacularly. The same happens also when played with DeliTracker. - One version of _Lemmings_ tries to do file accesses to load separate sample files, this is not supporte by Hippo and will probably crash. - A few modules do not get recognized as the important bits are not close enough to the start of the file. - Minor issue: Some modules display the subsong range in the titlebar so that the first song is #2 instead of #1. - Beathoven Synthesizer - Game Music Creator (Jumping Jack'Son!) - Digital Mugician 1 - PumaTracker - SidMon 2 (SidMon 1 is already supported) - Delta Music 1 (Delta Music 2 is already supported) ## New features: - _Prefs_ option for toggling button tooltips on and off. By default it is on. - Support for _gzipped_ archives. You need to have a working gzip-application in path. (This was once supported but was removed at some point.) - Recursive subdirectory scan when adding modules is now supported on kickstart 1.3. Previously only the top level files of the selected directories were added. This has only worked on kickstart 2.0 or newer until now, due to the usage of a kickstart 2.0 DOS-library specific function. This function was reimplemented using available kick 1.3 methods. - New ARexx commands *CHOOSEPREV* and *CHOOSENEXT*. These work similarly as when the user presses arrow up and down to choose a module in the list. *GET VERS* command returns the app version. *GET VOLU* returns the current volume setting. - Favorite modules! You can now right click on a module to favorite it. Favorite modules are displayed in bold font. To view the favorites, there's a new button on top of the filebox slider gadget to click. It switches between normal listview and favorites view. Favorites are automatically saved after the user has been idle for a while, or when exiting the program, to file "S:HippoFavorites.prg". This is a normal module program file. To enable this feature toggle the _Favorite modules_ switch on the _General_ subpage in prefs. This feature probably doesn't make any sense if you are using floppies. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ # Changes from v2.45 (10.1.2000) to v2.46b (15.6.2021) There was an actual user request (by daxb) in the English Amiga Board a few years back to remove the module list size restriction. This turned out to be a fun challenge. The code assumed the module list index to be a positive 16-bit number, and also used the same index with some magic values to mean a few things. There were a lot of places to change to make this work. The restriction is now at 0x1ffff (131071), which is a crazy amount. Such a large list eats a lot of memory and is quite slow to process, as it is a doubly linked list. List iteration operations needed some optimization to be usable on an A500. (Next challenge: get rid of the linked list approach.) Random play bookkeeping previously worked only for lists of up to 8192 (0x1fff) modules, this limit is now removed as well. I decided to challenge myself with some UI changes. The main window buttons are quite cryptic with both left and right mouse button actions, which I have conveniently forgot about. I implemented a modern feeling tooltip which will pop up a helpful text for each button. Maybe this is the first tooltip on kick1.3? Right clicks on the buttons don't really work like left clicks. I don't know why the past-me left them like that, they're ugly and non-user friendly that way. I changed the buttons to have a proper visualization for right clicks as well. I also added a few wait pointers to places with long running operations. Another thing that motivated me to do some hippo coding was the realization that the multitasking approaches used in HiP are bad. At the time I had no idea about thread safe programming. This could lead to some random crashes at times due to bad luck with timing. Exec provides semaphores to protect shared data, so these were added to a lot of places. Some safety regarging interrupts relying on some data was also added. External applications using the HippoPort still use all data freely. ## Fixes: - Extraneous requester pop up removed when loading TFMX modules. - Fixed a case where unpacked modules were not identified as modules, or a non-module file was identified as a valid module (due to badly initialized memory). - A memory leak removed from the file requester. - Memory usage is lowered in several situations: - Random play bookkeeping now uses a dynamically allocated table. - Each modulelist entry is now about 30 bytes smaller, for 1000 modules that means memory savings of about 30 kB! :-) - Unnecessary library loading removed from startup. This also speeds up starting on slow machines. - Improved stability - Starting and stopping playback and loading modules like a crazy person is now not so prone to crashing. This is achieved by adding exclusive access checks to module data and module list in several places (see above). - Other general bad behaviour removed from many places, not directly visible to user. - May survive low memory situations better when loading module programs or adding files. - A bunch of smaller fixes, such as enforcer hit removals at a few places. - Code refactoring! It's still quite a mess in many places. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ List of supported formats (could be incomplete): - Activision Pro (also known as Martin Walker) - AProSys - Art of Noise (4ch, 8ch) - Beathoven Sound System - Ben Daglish - BP SoundMon v2, v3 - ChipTracker (also known as KRISTracker) - CustomMade - Dave Lowe - David Whittaker - DeliTracker Custom - Delta Music v1, v2 - DIGI Booster, DIGI Booster PRO - Digital Mugician v1, v2 - EarAche - Face The Music - FastTracker (multichannel Protracker-like format) - FastTracker 2 - FredMon - Future Composer v1.0-v1.4 - Future Player - Game Music Creator - GlueMon - Hippel ST, Hippel ST COSO - Hippel, Hippel 7v, Hippel-COSO - Impulse Tracker - In Stereo! v1, v2 - JamCracker - Jason Brooke - Jason Page - Jeroen Tel - Kris Hatlelid - Maniacs of Noise - Mark Cooksey - Mark II - MaxTrax - MED, OctaMED - Medley Sound - MIDI (general MIDI, serial out) - MultiTracker, TakeTracker (multichannel Protracker-like formats) - Music Assembler - Musicline Editor - MusicMaker - Oktalyzer - PreTracker - ProTracker, NoiseTracker, SoundTracker, Old SoundTracker - PSID, 2SID - PumaTracker - Quartet, Quartet ST - Richard Joseph - Richard Joseph 2 (also known as VectorDean) - Rob Hubbard 1 - Rob Hubbard 2 (also known as Infogrames) - Sample files (WAV, AIFF, IFF, MP3) - ScreamTracker 3 - Sidmon v1, v2 - Sonic Arranger (some variants not supported) - Sonix - Sound Master - Sound Programming Language - SoundControl - SoundFX - SpecialFX - StarTrekker, Audio Sculpture (8ch format not supported) - Steve Turner - StoneTracker - Synth Pack - Synthesis - SynTracker - TCBTracker - TFMX, TFMX 7v - The Musical Enlightenment - The Player 6.0A - THX, AHX - Tim Follin - VectorDean - Voodoo Supreme Synthesizer - Wally Beben