Ah yes, you'll have to add /usr/local/lib into /etc/ ld.so.conf (then run ldconfig) to get your system to look in that folder, which is a good idea because that's where anything you compile yourself will go. Only your system package manager should be putting files into /usr/lib.
You'll definitely need any -dev packages when compiling too, good pick up, it's difficult to know what different distros call those things.
By way of doco, here are some tips:
List all the events in a song:
Code: Select all
gamemus file.dro -v | less
0/0: delay=0...
1/200: delay=200...
2/300: delay=100...
Here the 200/300 is the number of ticks since the start of the song. If you use --start-at=300 then the first two events will be dropped and event number 2 (starting at 300 ticks) will become the first event in the song. --stop-at works the same way, dropping all events after that time has been reached. You should specify --stop-at first on the command line, because once --start-at removes events it will of course throw off the end time.
If you want to listen to the song to see if you have cut it at the right moment, you can use --play:
Code: Select all
gamemus file.dro --loop 0 --stop-at 5000 --start-at 4000 --play
This will start playback 1000 ticks from the end of the song, so you don't have to sit through the whole thing to hear whether it ends properly. Once you have the ending correct leave --stop-at unchanged and lower --start-at until the song starts at the right spot.
Converting to IMF is as before, now as a type-1 IMF instead:
Code: Select all
# List channels used
gamemus file.dro -i
Track 0: OPL 0 [chan 0 @ chip 0] (inst: 9 12 18 22 27)
Track 1: OPL 1 [chan 1 @ chip 0] (inst: none)
Track 2: OPL 2 [chan 2 @ chip 0] (inst: 8 11 15 17 21 31 32)
...
# OPL 1 (o1) is not used, so move track 0 onto OPL channel 1 (-k track=new_channel)
gamemus file.dro -k 0=o1 -c imf-idsoftware-type1:out.imf