Oh my God. It works. Perfect. Impressive. Even better than Edwards thought. In fact the name itself isn't that important, we can tell the user to modify it. But we can't tell him to add type/creator codes. I thought that mp3 might give QT enough of a hint, but apparently not, and mpg is required for the Nova Music that ships with Nova.
However, such recognition based on file extensions is pretty typical of OSX. What about OS9? I investigated some more. So I checked the "open in classic environment" checkbox of the Nova app. Then I try to run it. But it tells me that I can't use plug-ins or modified data files... (I'm doing these tests with the voidspace TC to speed things up, so yeah, the void is useful for something!) As it happens, I never registered on OS9, so I had to enter the (expired, of course) code in the registration app launched in Classic environment too (ironically the first time it failed to renew, but the second time it did).
At first, bad news. While this works on OSX, it doesn't on OS9. However, I remebered that people would be more likely to include an ACTUAL mp3 file as intro music. So I took one mp3 files from the Harry musics (that I extracted and converted myself from the digital hell it had been cast to rot in, but now you can download them in the Harry add-on files thanks to me, and Zelda who posted them(end of self-promotion)), stripped it of its type and creator tags (I like to replace them by '????', this is actually quite common practice for "unknown tag"), put it in place of the tag-stripped Nova Music.mpg in my voidspace Nova Files, renamed it "Nova Music.mp3", and changed the STR# ID 130 to have "Nova Music.mp3" instead of "Nova Music.mpg".
First I launched Nova in OSX to be sure. It worked. Then I ran it in the classic environment. This is completely unbelievable, but it worked. That is, under OS9, QT (we're actually talking to QT now, Nova just sends the file with filename in STR# ID 130 to QT) doen't take .mpg but takes .mp3. So this does work.
Just because I'm anal like that, I tried .bin and zipping the voidspace Nova Files folder with orca's app. Then I unzipped it with something else than Stuffit, which means .bin files don't get expanded so that I obtain what a PC player would, to check that the Nova Music.mp3 indeed hadn't been binned; it indeed hadn't. Then I unzipped with Stuffit, checked that all stuff was there, renamed the obtained folder "Nova Files", and ran Nova, both in classic and OSX environment. And it worked both times. I'm still amazed.
orcaloverbri9, on Jan 22 2006, 03:07 PM, said:
I actually knew about the STR# resource, but I never mentioned it.
Doesn't Nova start playing the intro music before it starts loading the data files, though? Plus, do we actually know that if we include it in a data file it will load the STR# resource?
View Post
Nova just has to open the resource file containing the modified STR# resource, after that the magic of the Resource Manager search algorithm means that whenever Nova attempts to access the STR# with ID 130 it will find our one (yeah, all that plugs-that-override-data-files is thanks to the Resource Manager, i.e. thanks to Bruce Horn; I say we elevate a monument to this guy), and it opens all the resource files on hand pretty early: in a bad manipulation I in fact had a Nova Files folder without voidspace in it and it immediately complained about the missing resources. In fact you can even move the file with STR# ID 130 to the plug-ins folder and it still works.
So, problem at last solved a satisfatorily way (we need to check on the influence on PC people, but I don't think that STR# will make much of a difference - I'm willing to bet WinNova uses hard-coded names). By hacking so unbelievable I cannot believe it myself. However, this means stuff will get a little more complicated for the TC maker, but since these are fairly rare this won't be a huge problem.
So the instructions are:
- do or choose a music that's actually in mp3 format
- Name it Nova Files.mp3
- put a modified STR# ID 130 in your TC
In a somewhat related way, we need to make sure that no file other than plug-ins get binned when doing .bin and .zip, because otherwise the PC guy will obtain this file already binned, and since he's assumed not to have Stuffit he won't be able to do anything with them. This means no custom icon whatsoever in non-plugin files, for instance. If you need them, then no other choice than .sitx (and we can't do anything about it; it's already incredible enough we're able to get out of stuff like that with mere .bin.zip).
This post has been edited by Zacha Pedro : 22 January 2006 - 04:11 PM