AmiModRadio / 2015-07-23 10:05:23
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 ! Manual and other resources are available on its Web page. AmiModRadio binaries are available here:
Command Line Usage
You can start AmiModRadio at any times from a Shell but RexxMast and a supported player must be availabe for options 2. or 6. to work: RexxMast and either EaglePlayer, HippoPlayer, or MultiPlayer must be running for options 2. or 6. to work .
After starting, 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.
Roadmap
Feature on the work are, in no particular order:
- Integrating with modules.pl in addition to Aminet as soon as I can access its APIs;
- Integrating with AmigaAMP as soon as I can put my hand on its ARexx port and commands;
- Adding a rating system to rate the files (some modules are great... others are... less so );
- Making AmiModRadio download a next module automatically with supporting player (like HippoPlayer);
- Making AmiModRadio work on AmigaOS v4 and Amiga NG hardware;
- Making AmiModRadio work on MorphOS and non-680XX and PPC hardware;
Links
About FTP:
1 Icon by Rob under CC BY v3.0, thanks!
|