English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 19 April 2024, 20:35   #1
TheDruid
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
TheDruid is offline  
Old 20 April 2024, 02:43   #2
a/b
Registered User
 
Join Date: Jun 2016
Location: europe
Posts: 1,039
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.
a/b is online now  
Old 20 April 2024, 13:52   #3
TheDruid
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).
TheDruid 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
Infinity Modules Player for all CPU & OS juen Amiga scene 787 26 April 2024 16:58
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

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 18:13.

Top

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