
ahx.hwp
=======

This plugin allows Hollywood to load and play AHX and HivelyTracker modules.
It is based on HVL2WAV 1.2 by Xeron/IRIS. See http://www.hivelytracker.co.uk/
for more information.

Once this plugin is installed, OpenMusic() will "automagically" be able to open
AHX and HivelyTracker modules. You can also query the number of subsongs in
a module by using GetAttribute() with #MUSIC and #ATTRNUMSUBSONGS. Individual
subsongs can be played using PlaySubsong().

This plugin also exports one command, namely: ahx.SetPlayingTime(). This
function can be used to set the playback duration of the music in milliseconds.
If the script doesn't call ahx.SetPlayingTime() to set a specific playing time,
all modules played by the plugin will automatically loop forever if Hollywood
9.0 or better is used, otherwise they will play for 10 minutes.

New in Hollywood 10: Alternatively to calling ahx.SetPlayingTime() you can also
just pass the desired playing duration to OpenMusic() or LoadSample() in the
"PlayingTime" tag in the optional "UserTags" table argument of those functions,
e.g.:

    ; play test.ahx for 15 minutes
    OpenMusic(1, "test.ahx", {UserTags = {PlayingTime = 1000 * 60 * 15}})
    PlayMusic(1)
    
A demo applet is also included. You can run this applet using the freely
available Hollywood Player.


History
=======

Version 1.4:    (08-May-26)
- New: Version string in the binary contains the precise CPU architecture specification
  now, e.g. "x64-linux" instead of just "Linux"
- New [Linux]: Added build for the Linux arm64 platform
- New [macOS]: Added build for macOS arm64 (Apple Silicon)  
- Change: Amiga installer will now also copy the plugins for all platforms to the linker
  plugins directory so that they can be easily linked to executables
- Change [iOS]: Added arm64 build for the iOS simulator and removed x86 build for the iOS
  simulator because the iOS simulator is no longer compatible with x86
- Change [Android]: Removed build for 32-bit softfloat ARM; nobody uses this any longer
  these days
- New: Plugin supports Hollywood 10's user tag interface for file adapters now; all
  user tags will be forwarded to the corresponding file adapters now
- New: Alternatively to calling ahx.SetPlayingTime() you can now also just pass the
  desired duration to OpenMusic() or LoadSample() in the new "PlayingTime" tag in the
  optional "UserTags" table argument of those functions; this is possible by Hollywood
  10's new user tag interface so Hollywood 10 is required for this feature
- Change: Plugin supports Hollywood 9.0's infinite looping mode now; if the script
  hasn't used ahx.SetPlayingTime() to set a specific playing time, all modules 
  played by the plugin will now automatically loop forever if Hollywood 9.0 or better
  is used
  
Version 1.3:    (27-Sep-19)
- Fix: Fixed memory leak when freeing a tune

Version 1.2:    (02-Apr-17)
- New: Added 64-bit builds for Windows, Linux, and Mac OS
- New: Added support for Hollywood 7.0's help string feature  

Version 1.1:    (01-Jul-15)
- New [Linux]: Added build for Linux ARM
- Fix [Linux/MacOS]: Plugin is now compiled as position-independent code (PIC)
- Fix [OS3]: FPU version will cleanly exit now in case there is no FPU
- New: Added support for adapter-specific file loading (requires Hollywood 6.0)

Version 1.0:    (15-Sep-14)
- First release


Copyright
=========

This plugin was written by Andreas Falkenhahn <andreas@airsoftsoftwair.de>
See the COPYING file in this package for conditions concerning distribution
of this plugin. Visit http://www.hollywood-mal.com/ for more information
on Hollywood and more plugins.

