vgmrips

The forum about vgm files
It is currently 2018-12-09, 22:09:46

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Extending VGZ files?
PostPosted: 2018-10-16, 9:10:01 
Offline

Joined: 2018-10-16, 8:53:45
Posts: 1
There are some songs that I like so much that I'd love if they looped 3 or 4 times, while the rest would remain looping just 2.

This is easy to do in some other music formats like SPC or MiniUSF that allow one to right-click -> View file info, on the Playlist Window of Winamp, in where one can change the length of the song directly. While In_VGM also shows a length box for the songs, one is unable to change it despite the blinking text cursor.

Other music formats like Module Tracker allow length editing by third party software (say, copying and pasting the part one likes to loop an extra time(s).)

I've been messing around trying to change the length of a song with VGMTool and vgm_spts, but I'm only able to make the songs shorter (say, loop once in a loop 2 times environment), not longer.

I'd like to know if there's a way to extend these VGZ music files, or a way to extend VGM music files (by choosing arbitrary length, or specifying some Loop "x times" that overrides default, or some other method.)


Top
 Profile  
 
 Post subject:
PostPosted: 2018-10-16, 11:55:15 

Contributors Contributors
Staff Staff
Reverse engineers Reverse engineers
Offline
User avatar

Joined: 2013-07-17, 23:32:39
Posts: 341
Use vgm_ptch from the vgmtools.

Usage:
If it's an old VGM file (pre v1.51 for SetLoopMod or 1.60 for SetLoopBase) you will have to update it with the following command
Code:
vgm_ptch -UpdateVer:1.51 myfile.vgm


then you can
Code:
vgm_ptch -SetLoopMod:0x20 myfile.vgm

This multiplies the loop count (notice hexadecimal notation, the actual loop modifier is a 4.4 fixed point value, or the value divided by 16).

OR
Code:
vgm_ptch -SetLoopBase:-100 myfile.vgm

This subtracts a "base value" from the default loop count, so if set to -100 (Notice the negative value), and the default loop count is 2, it will loop 102 times.

SetLoopBase will add or subtract from the player's loop count preference, while SetLoopMod will multiply or divide this value.


Top
 Profile  
 
 Post subject:
PostPosted: 2018-10-16, 19:39:45 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Reverse engineers Reverse engineers
Offline
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 3022
Location: Germany
If you don't want to use the hexadecimal notation, you can also use
Code:
-SetLoopMod:*2.0   -> loop twice as often as set in the player's preferences
-SetLoopMod:/2.0   -> loop half as often as set in the player's preferences


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
[ Time : 0.097s | 16 Queries | GZIP : On ]