sasq64 / chipmachine

Demoscene/Retro Music Player
200 stars 12 forks source link

MusicMaker V8 updated amiga players #53

Closed A10001986 closed 6 years ago

A10001986 commented 6 years ago

Hi,

I am the author of MusicMaker V8, which is supported via uade in your project.

However, playing MusicMaker files does not work as chipmachine seems to choke on multi-part songs. (MusicMaker songs consisted of several files, most importantly xx.sdata and xx.i (or xx.ip). There are some such songs in the databases you support, but they don't play. (eg. TheGame.sdata).

I recently updated this 25 year old code to support MusicMaker's last format, which was a module format with all data in one single file.

If you are interested in updating, you find the respective files here:

https://www.dropbox.com/s/zbuqt0e6qe6hkyn/MM_uade_2017.tgz?dl=0

Just replace "MusicMaker-4V" and "MusicMaker-8V" with the files in the archive. Source is included, if needed.

I am sending this to you because uade seems no longer maintained.

Regards Thomas

sasq64 commented 6 years ago

Since Chipmachine downloads music from the web, it needs to deal with multiple file music by knowing which extension to index and which extension that needs to be additionally downloaded -- and there is no support for MusicMaker currently...

So, which is the main file, and which files needs to be available?

A10001986 commented 6 years ago

It needs the .sdata and either .i or .ip. (ip is packed, i is unpacked). Eagleplayer/uade usually work if one selects the .sdata file.

sasq64 commented 6 years ago

I updated the player and made sure ip files are downloaded, but uade still crashes in do_get_mem_long() which usually means the underlying amiga code is reading outside known memory...

A10001986 commented 6 years ago

No idea, sorry. The players I uploaded work fine with uade (2.13), and they work in EaglePlayer on the Amiga.

Do the old players work (provided you feed them a proper .sdata)?

Is there a way to execute uadecore manually (with a local file)? I only get "Invalid parameter" with whatever I provide with "-i"

sasq64 commented 6 years ago

How do you play a song with command line uade123 ? I tried but it can not recognize the format.

A10001986 commented 6 years ago

Good question, I struggled with this, too, today.

My findings: Two options.

a: You can (re)name the file(s) "mm8.xxxx" or "mm4.xxxx" (mm4.xxx.sdata, mm4.xxx.ip - 4 means 4 channel song, 8 means 8 channels) Pretty dumb. I didn't invent that, it's stupid, MM never used this, and Eagleplayer didn't need that either, it just browsed through all check-routines for each player to recognize its own files; in uade123 this does not seem to work, the --detect-format-by-content switch does nothing), or

b: you add the -P switch with the player filename, eg

uade123 -P /usr/local/share/uade2/players/MusicMaker-8V uade123 -P /usr/local/share/uade2/players/MusicMaker-4V

Needless to say, you need to adapt the path to the right one on your machine. The good thing is: You don't have to rename anything.

On my machine (macOS), uade123 hangs/freezes sometimes when quitting. However, it does that regardless of song format. Happended with many (non-MM) mods, too, so it's not MM related.

In other news, I looked at your fix for loading a secondfile; two remarks:

-) MM used ".i" if the instruments were unpacked, ".ip" if they were packed. You only added ".ip", which probably plays most songs as most songs were saved with packed samples; however, some may fail if the user saved unpacked samples.

-) the comment is still "Audio sculpture" :)

A10001986 commented 6 years ago

PS: If you need testing material: https://www.dropbox.com/s/uosntvqsps0p4un/MMMusic.lha?dl=0

(The ".info" files are Amiga icons, they are not needed.)

sasq64 commented 6 years ago

Ok but how did you get uade to play sdata-files?

A10001986 commented 6 years ago

If the filename follows the pattern MMx.XXXX.sdata, simply by typing

uade123 MM4.ALF.sdata uade123 MM8.EveryBreathUTake.sdata

If the filename doesn't start with MMx, the -P switch is needed.

A10001986 commented 6 years ago

With the files in the archive over at dropbox, which don't have filenames with MMx at the beginning, the -P switch is needed. These files are the reason for the updated player in the first place; MusicMaker version 3 saved modules, which contain all songdata in one file. No more .sdata & Co.