English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General > Coders. Releases

 
 
Thread Tools
Old 05 November 2017, 18:26   #1
Salami_INC
SALAMI INC.
 
Join Date: Oct 2016
Location: Second Reality
Posts: 17
Amiga Music Disk Maker v1.0

Amiga Music Disk Maker v1.0 by Hugh Jass of Salami Inc. 2017
Usage: amdm [-options] modules
------------
-fc --- floppy count, default 1
-l ---- list file. Instead of typing the modules to pack type a name of a text
file that has a list. Useful with ls *.mod > list.txt
-o ---- output file. default is amdmX, where X is a number of the floppy
-k ---- no 'add21k'. 'add21k' is a small program that will recude colors and
add extra 21kb of chip mem. With this option it won't be used
-p ---- no playlist. With this option the playlist won't be generated, you will
have to add the modules to the playlist manually.

This program uses:
ADFlib https://github.com/lclevy/ADFlib
LHa https://github.com/jca02266/lha

Hello. I wrote this small program that will generate an adf file with a player and your selection of mods and play then one after another. I had this idea in my head for a long time, there's loads of great music disks for the Amiga, but all of them (let me know if I'm wrong) play the same module in a loop till you change it manualy. I wanted an automatic playback.

I'm not an Amiga coder (yet hehe) so this is a rather lame implementation of this idea, but it works reasonably well. It uses HippoPlayer and LHA. Both programs + required library and "Run", "Delete" and "Assign" commands from Workbench are packed into self extracting LHA archive, get extracted to ram disk, Hippo Player is then launched and all uneeded files are deleted from the ram disk.

This program can generate more than one floppy image. If you use 2 or more floppies, the first floppy will get the player files, while the rest will only get the modules. All floppy images have a different label and the HippoPlayer will load the right module from the right floppy. Works best if you have 2 floppies and 2 floppy drives, you can fit about 1 hour of music.

There are some limitations that I couldn't get around....
You can only play modules that are about 250kb in size. I think it's because first the packed file needs to be loaded, then extracted and only then HippoPlayer can parse the file and copy it to the chip memory... that's only my guess.
Another problem is that HippoPlayer doesn't seem to have any playlist file. You can run the player and add some songs to it from the CLI, like hip.exe song1.mod song2.mod song3.mod song4.mod etc...
But you can only add 16 files with this method, usually less than that, because the command lenght is limited. You can add more files with additional commands, it won't launch a second instance of the player (and that's what is happening here), but it will automatically start loading the first file, so what happens is, it adds let's say 5 modules, loads the first one and when it is loaded it adds another 5, start loading the first one from the new 5 modules..... that sucks, I wanted 100% Just-Put-It-In-And-Let-It-Play thing, but this breaks it. I recommend using the -p option to not generate the startup script that will do that, instead it will load all modules to directory called "m" and just run empty Hip, you can then easelly add the whole directory to the playlist.

I'm giving you a link to the download of windows 32bit version for now. It will work on linux with wine too. I will include the source code soon, I want to automate the compile process before I do that (my code is fine, but I had to hack around the "LHA for UNIX" to make it into shared library and work under windows too... I hope you like it and get some use out of it - Hugh Jass

Video presentation : [ Show youtube player ]
Download :
https://mega.nz/#!L0B1GDQY!qWBPIFmVN...BIGNAWRz1VN9DU
Salami_INC is offline  
Old 05 November 2017, 19:50   #2
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,516
I think you should work with some amiga coder that can provide you one of those fancy demostyle music interfaces and provide shell options to customize the skin, but that is me
saimon69 is offline  
Old 05 November 2017, 20:22   #3
Salami_INC
SALAMI INC.
 
Join Date: Oct 2016
Location: Second Reality
Posts: 17
Quote:
Originally Posted by saimon69 View Post
I think you should work with some amiga coder that can provide you one of those fancy demostyle music interfaces and provide shell options to customize the skin, but that is me
The best thing would be to code a new player from scratch. See, Hippo is really ment to be used as a normal player with a mouse and nice gui interface, it also supports lots of different song formats, but since this is aimed for classic Amigas with floppy drives only it only really needs .mod support. The LHA packer could also be striped down to be just the depacker, not the whole program. A custom disk format would help too. For each 512 bytes block only 488 bytes are usable and each file takes some extra block for the name and such.... It's definitely something I was thinking about, but I never done any Amiga coding. I want to start eventually and if I will this will be the firt thing I do... but I can't promise anything.
Salami_INC is offline  
Old 05 November 2017, 20:42   #4
pants
Registered User
 
Join Date: Feb 2017
Location: fastmem
Posts: 53
Nice idea. Keep things simple. There are packers that will unpack in-place. There are even ones support unpacking in-place and packing on non-amiga systems. This would avoid your lha issue and your current memory limits. I'm pretty sure adflib is avoidable too - you can cat an adf together (even easier if you are moving to non-dos).
pants is offline  
Old 05 November 2017, 20:54   #5
Salami_INC
SALAMI INC.
 
Join Date: Oct 2016
Location: Second Reality
Posts: 17
Quote:
Originally Posted by pants View Post
Nice idea. Keep things simple. There are packers that will unpack in-place. There are even ones support unpacking in-place and packing on non-amiga systems. This would avoid your lha issue and your current memory limits. I'm pretty sure adflib is avoidable too - you can cat an adf together (even easier if you are moving to non-dos).
Currently I'm using Hip and it works with real files, so I had to generate the adf with OFS. If I was to write my own track system then I'd generate the ADF myself of course. Do you have names of such in-place packers ? I know about Titanics Cruncher, but that's only for executables, isn't it ? And there's no PC packer.
Salami_INC is offline  
Old 05 November 2017, 22:15   #6
pants
Registered User
 
Join Date: Feb 2017
Location: fastmem
Posts: 53
[seems a database glitch ate my last post.]

crunchmania will do data in-place (amiga->amiga). cranker, and some others, will pack data on non-amiga systems and unpack in-place on amiga. specific mod-packers may help squeeze some more out. This would be a nice 'first amiga coding' project if you are interested - you don't need a custom track system to build an adf. cat will do it. it's just raw tracks.
pants is offline  
Old 05 November 2017, 23:11   #7
Salami_INC
SALAMI INC.
 
Join Date: Oct 2016
Location: Second Reality
Posts: 17
Quote:
Originally Posted by pants View Post
[seems a database glitch ate my last post.]

crunchmania will do data in-place (amiga->amiga). cranker, and some others, will pack data on non-amiga systems and unpack in-place on amiga. specific mod-packers may help squeeze some more out. This would be a nice 'first amiga coding' project if you are interested - you don't need a custom track system to build an adf. cat will do it. it's just raw tracks.
are you sure ? OFS only uses 488 bytes out of 512 bytes block for real data and the files also use a block for the filename and attributes etc. I couldn't find a structure of the OFS file that's why I used the adf lib. And do you mean the Unix command cat or something else ?
Salami_INC is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga Game Maker Adf amigapd request.Other 3 31 October 2016 10:39
Amiga Music Remastered - Music Disk Masterseries cry request.Music 0 17 January 2015 00:17
Help Needed - trying to compile an Amiga music disk Aezeroony support.Demos 2 10 August 2014 21:19
Amiga Demo Maker Again :d fabbroz Retrogaming General Discussion 0 17 November 2002 22:24

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:22.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.14431 seconds with 13 queries