19 April 2024, 20:35 | #1 |
Registered User
Join Date: Jan 2021
Location: Charleston
Posts: 2
|
Compressing and playing multiple modules with Player 6.1
Hey all!
after so many years finally I decided to pick up coding for the Amiga. I am trying to make a music disc with multiple original tracks. I wanted to use an off the shelf player for that and it seems that Player 61A is very good at this. The problem I am encountering is that even though the mods are reusing the samples I cannot figure out how to store each sample only once. Ideally, instead of having multiple mods including the samples for each i'd rather have the "songs" loaded separately and then the samples from a pool. It seems that Player61S converter allows me to just convert the "song" but not a way to get the samples over. Is this a situation where I should reverse engineer the code and figure it out or is there a better way or a better player? Thank You for all your help! https://www.amiga-stuff.com/text/mod...layer61A.guide |
20 April 2024, 02:43 | #2 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,087
|
P61 doesn't provide that unfortunately, you are not even guaranteed that the sample numbers will be the same.
For example, if you have 3 mods and 10 shared samples. - mod1 uses samples 1,2,3,6,7,8 - mod2 uses samples 1,2,5,6,9,10 - mod3 uses samples 2,4,6,8,10 After conversion to P61 format, with unused samples being skipped, and with "2 Files" enabled (SMP.xyz with samples, which you ignore because you are using your own shared sample bank, and P61.xyz with everything else): - mod1 uses samples 1,2,3,4,5,6 - mod2 uses samples 1,2,3,4,5,6 - mod3 uses samples 1,2,3,4,5 So before playing each module you would have to manually construct a sample table and use it in the P61_init routine instead of the one that is read from converted P61.xyz modules (because all of the patterns now contain references to samples 1,2,...,N and that won't work with a shared sample bank). That would be much easier than trying to change (compressed) patterns back to using original samples 1-10. Another, probably better, option would be to have a post-conversion step where you modify the sample table in P61.xyz and then modify the P61_init routine to allow non-continuous sample data. That would mean extending the sample table with offset for each sample (to skip unused shared samples) because as it is it's assumed that end of sample N is start of sample N+1, which won't work with shared sample bank. I'm not aware of any player that provides shared samples out of the box (at least not the ones in general use these days), so you would most likely have to do these or similar modification anyway. With P61 it's a bit more complicated because of conversion, but it saves you a lot of space because of compressed patterns so it would be worth it IMO. |
20 April 2024, 13:52 | #3 |
Registered User
Join Date: Jan 2021
Location: Charleston
Posts: 2
|
a/b Thank you for the great analysis.
It seems that the road ahead is to make some changes to how P61 works, instead of looking at alternatives. The next step for me is to analyze the mods and understand if it is preferable to have one sample bank always in memory for all of them (solution with the post conversion step) or if I find myself having to load different sets of samples for each song (with the associated extra long loading time). |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Infinity Modules Player for all CPU & OS | juen | Amiga scene | 822 | 05 July 2024 11:39 |
Problems with playing modules in Blitz 2.1 | slademania | Coders. Blitz Basic | 2 | 20 November 2019 08:08 |
Playing IT format modules on Amiga | andyhants | support.Other | 5 | 02 April 2014 07:10 |
Problem playing modules from fast ram | vagrant | support.Hardware | 4 | 19 February 2013 23:51 |
Modules playing slower on WinUAE than on DeliPlayer Win32? | andreas | support.WinUAE | 10 | 07 May 2009 20:49 |
|
|