AmiModRadio / 2015-07-19 19:18:15

1 Did you know that, as of today (2015/06/02), there are more than 20,000 packages in the mods directory on Aminet? Yes! That's more than 20,000 modules to play and enjoy! So, why not have a program that could automatically download one module at-a-time, extract it, and play it? This is the purpose of AmiModRadio...

 

Essentials

AmiModRadio is composed essentially of four parts:

  • A small FTP client to access Aminet and download archives containing modules;
  • A XAD client to unarchive the downloaded archives;
  • A ARexx command-and-control system to gently ask players to play the module;
  • A MUI interface to control the various parts of AmiModRadio, in particular to permanently saved desired modules as well as pause/play and skip modules.

 

Downloads

AmiModRadio is open source. Its source code and binaries are available on SourceForge and BitBucket ! Also, for convenience, binaries are available here:

 

Command Line Usage

The CLI-based interface looks like this:

where:

  • Root directory displays the current FTP root in which AmiModRadio will look for archives containing modules to play.
  • Current directory displays the FTP directory in which the current file has been found.
  • Current file reports the name of the archive that AmiModRadio randomly picked.
  • Current modules displays the names of the modules (and other files) in the archive, which are being played (if possible!).
  • Last message is a simple message to explain what is happening in AmiModRadio.
  • Status reports the state of the player.
  • 0. Quit AmiModeRadio is self-explanatory, isn't?
  • 1. About AmiModRadio reports the current version and date of the running AmiModRadio.
  • 2. Play the modules tells the player to play any loaded module or, if none, will trigger option 6 (see below).
  • 3. Replay the modules attempts to replay the modules from the beginning of the player allows it.
  • 4. Pause the modules instructs the player to pause the current modules.
  • 5. Remove the modules empties all modules currently loaded in the player.
  • 6. Fetch other modules is the work-horse of AmiModRadio: it connects to Aminet via FTP, randomly downloads an archive, extracts it content, and asks the player to play any modules.
  • 7. List banned directories will display the currently-banned directories, which AmiModRadio excludes from its search. (Not yet implemented.)
  • 8. Ban this directory adds the Current directory into the list of banned directories.
  • 9. List banned files will display the currently-banned files, which AmiModRadio does not consider while searching. (Not yet implemented.)
  • a. Ban this file adds the Current file into the list of banned files.
  • b. Save these modules will save the Current modules into some directory chosen by the user. (Not yet implemented.)
  • c. Set root directory as current directory allows playing modules only from the Current directory, for example to explore an artist's other songs.
  • d. Set/Reset root directory manually is quite self-explanatory

 

A FTP directory should start with a "/" as in "/mods" (the default root directory) while all the files are saved in "T:".

 

Timeline

2015/07/19: First complete, CLI-based version! I have been extensively using and testing it for a week and there do not seem to any memory issues left! Added EaglePlayer. Completed the implementation, including recursion and blacklist.

2015/07/12: After a momentary lapse of reason , the development resumed to implement a better text-based user-interface, separate the text-based from the MUI-based controls, fix some memory leaks and, overall, improve the usability of AmiModRadio. Next steps: finish implementing the text-based user-interface, in particular to allow baning directories and–or files .

2015/06/20: Improved the implementation of the ARexx client. Also started to work on the MUI user-interface, including its artwork. Changed the makefile to manage the data.

2015/06/14: Fixed several small bugs, added a simplistic CLI-based user-interaction, added support for HippoPlayer, improved the speed of the download.

2015/06/11: All the pieces are working together! Only MultiPlayer is supported, no CLI, no GUI.

2015/06/10: The ARexx client is working and can interact with AmigaAMP as test.

2015/06/07: The XAD client is working and can extract LHA (and any others!) archives.

2015/05/29: The FTP client is working and random archives can be downloaded automatically.

2015/05/20: Start of the project using the great Cubic IDE and vbcc.

 

Links

About FTP:

 

1 Icon by Rob under CC BY v3.0, thanks!