. - .
 
Hively Tracker
News ::  About ::  Forum ::  Download ::  Tunes ::  Screenshots ::  Competition ::  Links
 
. - .
. - .
 
User 
Password 
Create new account
 
. - .

. - .
 
Cool Sites
 
. - .

. - .
 
Link to us
 
. - .

. - .
  Forums > Hively Tracker Support > Hively replay bugs

Page: 1 2 3 4

Hively replay bugs

pieknyman
Posted: 2007-01-25 12:18:07
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20
Good. :)

In the ahx loading procedure you need to alter sample name's loading, like this:


if (nptr < buf + buflen)
{
  strncpy( ht->ht_Instruments[i].ins_Name, nptr, 256 );
  nptr += strlen( nptr )+1;
}
else
  ht->ht_Instruments[i].ins_Name[0] = '\0';


Some songs don't have trailing zeroes at end for empty sample names. I guess the files must have been ripped badly. Reading beyond buffer may cause a memory protection fault or at least fill the sample names with garbage. :)

Also I've came across ahx files having sample names longer than 200 characters, so you might want to change the code to load sample names up to 256 chars instead of 128.

http://dhost.info/pieknyman
Xeron
Posted: 2007-01-25 13:15:18
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
Personally, I think 200+ is excessive :) HivelyTracker itself truncates them to 127 chars max. I'll leave it up to plugin writers etc. whether or not they wish to support such long names.
AHX forever!
Xeron
Posted: 2007-01-26 09:26:34
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
Hmm there may be a problem. Since I've merged in all your changes, an instrument in Syphus' competition entry now doesn't play at all.

I saved out the instrument and made a test AHX file (click here to download it).

In Hively 1.2 it plays OK, with your fixes it doesn't. So, now we need to know two things:

1) Does it play in your XMPlay plugin? (IE, have I messed up merging in your changes)

and

2) Does it play in AHX? (IE, is Hively now correct and the instrument shouldn't play)

AHX forever!
pieknyman
Posted: 2007-01-26 16:17:04
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20
It plays the same in AHX 2.3 (under WinUAE) and the plugin - a low frequency noise, completely different to the sound that Windows Hively player and WinAHX give.

If WinUAE is not failing, then it looks like it's variant 2.

Here's a WAV recording of the plugin's output:
http://dhost.info/pieknyman/replayertest.zip

http://dhost.info/pieknyman
Xeron
Posted: 2007-01-26 16:40:43
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
OK cool, looks like Syphus has to fix his tune :)
AHX forever!
pieknyman
Posted: 2007-01-29 12:30:08
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20

case 0xb: // Position jump
   ht->ht_PosJump = ht->ht_PosJump*100 + (FXParam &
 0x0f) + (FXParam >> 4)*10;
   ht->ht_PatternBreak = 1;
   if( ht->ht_PosJump < ht->ht_PosNr )
   {
      ht->ht_SongEndReached = 1;
      ...


I think it should be less or equal there. Jumping to the same order is still going back.

http://dhost.info/pieknyman
Xeron
Posted: 2007-01-29 17:17:30
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
Well spotted.
AHX forever!
syphus
Posted: 2007-01-31 04:27:19
Expert at chit-chat
Posts: 122

Member since:
2006-12-14 19:47:57
Er...my compo entry isn't dead in the water, is it? I'm a bit worried now ;_; Anyway, it worked on the Hively version I made it in;)
http://syphus.untergrund.net
Xeron
Posted: 2007-01-31 11:56:12
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
@syphus
No, it'll still be entered, but you'll have to change instrument 10. According to pieknyman, the instrument doesn't work in AHX either, so you can save it out and load it into AHX to check.

AHX forever!
syphus
Posted: 2007-01-31 13:48:00
Expert at chit-chat
Posts: 122

Member since:
2006-12-14 19:47:57
I'll give it a crack before the end of today and try to fix it. Sorry for the confusion, but which version/player is it that it doesn't work in (just so I can test)? I'll resubmit or email it to you when it's fixed, so it doesn't fuck up the musicdisk:)
http://syphus.untergrund.net
syphus
Posted: 2007-01-31 15:28:07
Expert at chit-chat
Posts: 122

Member since:
2006-12-14 19:47:57
That's an extremely weird thing. The problem is the filter - the instrument's filter command is 020 and, as we know, it works in Hively.

Loaded into AHX, it doesn't work but a setting of 021 or 01F makes it work.

Back into Hively and 021 now *doesn't* work! 000 does work, but not in AHX...

Back *again*...and...

I've discovered that since the square init is mysteriously set at 340, the instrument should really be a sawtooth to achieve the same sound without any weird bug-causing commands. Can the upper/lower limits of the Square Relation Value command be made specific? I'm never sure what's what with that - I just try it until it sounds right...and that's no guarantee of AHX-compatibility;) Anyway - here's a link to the replacement for instrument 10: INS.BUGSOLUTION

http://syphus.untergrund.net
spotUP
Posted: 2007-01-31 15:49:05
Moderator
Posts: 197

Member since:
2006-12-15 18:06:32
hmmm bummmp
http://www.uprough.net
Xeron
Posted: 2007-01-31 20:19:18
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
@syphus
The current Hively WIP (not released yet :) works, as far as I can tell, exactly like AHX. Once this is released, i'm going to change the download page so its clear which files contain the correct (1.3+) replay routine and draw a line under all previous releases.

AHX forever!
pieknyman
Posted: 2007-02-01 13:24:45
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20
Maybe it would be better if the new HivelyTracker saved HVL tunes with version number changed from HVL0 to HVL1?... So players could preserve some of the buggs to correctly play HVL0 songs.
http://dhost.info/pieknyman
Xeron
Posted: 2007-02-01 16:23:40
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
@pieknyman
At the moment, HivelyTracker is new enough that there are only a few HVL songs, and I think the number of songs that "break" with the new replay is very low, and the people that made them are still around to update their tunes, so I'm going to call the 1.3 replayer the "base" replayer, and previous ones are just buggy.

If I add new features after 1.3, then HVL1 is likely to be used.

AHX forever!
pieknyman
Posted: 2007-02-02 08:05:05
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20
I had to change

a += (j * panl[i]) >> 7;
b += (j * panr[i]) >> 7;


to right shift 8 bits. Shifting seven bits results in 200% amplification. This was too much for Curt Cool's Cheesepop (ftp://ftp.modland.com/pub/modules/AHX/Curt Cool/cheesepop.ahx) making it crackle all the time. I turned up the volume a bit elsewhere.

http://dhost.info/pieknyman
Xeron
Posted: 2007-02-02 08:36:57
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
That might be a bad thing to do, since all current .HVL tunes have their gain set relative to that part of the code dividing by 128. AFAIK, dividing by 128 there means that with 100% stereo seperation, it should be exactly the same as WinAHX for playing AHX files.

Does cheesepop crackle in winahx? if not, does cheesepop crackle in hively's replayer with stereo seperation at 100%?

TBH, the gain levels used for stereo seperation levels < 100% were calculated by loading in about 25 AHX tunes, and using the lowest gain level calculated by Autogain for each stereo seperation setting, so they might not be perfect and might need to be lowered.

AHX forever!
pieknyman
Posted: 2007-02-02 09:21:20
Occasional visitor
Posts: 27

Member since:
2007-01-13 11:33:20
So a better solution would be to lower the stereopan_left and stereopan_right table values? Although I haven't noticed any problems with HVL tunes after changing that.

Xeron said:
Does cheesepop crackle in winahx? if not, does cheesepop crackle in hively's replayer with stereo seperation at 100%?

No and no.

http://dhost.info/pieknyman
Xeron
Posted: 2007-02-02 10:38:07
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
Yes. When I get home from work, i'll do an Autogain test using cheesepop at every level of stereo seperation and then subtract a little and we'll use those values.

Edit: Thinking about it, if I sat down with a calculator, I could work it out exactly, since:

At 100% stereo seperation, the max volume per stereo channel is 2 x (loudest_sample x 255 / 128).

At lower seperations, its 2 x (loudest_sample x panning_left[n] / 128) + 2 x (loudest_sample x panning_right[n] / 128), where "n" is defpanleft or defpanright depending on the channel number.

We just need to calculate how much louder the second formula is than the first, and adjust the default mix gain appropriately. Which I'll do either tonight or over the weekend.

AHX forever!
Xeron
Posted: 2007-02-02 11:16:49
Supreme Being
Posts: 448

Member since:
2006-12-13 11:34:00
Oh, and no, we don't touch the stereopan tables, we adjust the defgain table.
AHX forever!

Page: 1 2 3 4
 
. - .