XNA Creators Club Online
Page 1 of 1 (4 items)
Sort Posts: Previous Next

Problem with shared settings with Audio Creation Tool

Last post 04-29-2008 7:45 AM by Andy Patrick. 3 replies.
  • 04-28-2008 5:57 AM

    Problem with shared settings with Audio Creation Tool

    Hello,

    I'm using XACT to create vehicles sound banks. Today, I'm the only one who creates these soundbanks, but in the future, I might ask someone else to do it, which drives me to use multiple projects with shared settings.
    When I create a sound bank, it correctly imports the shared settings and can be built. But when I try to build all my banks with the console tool or by importing a projet into another one, I get this message : "Error: Invalid RPC curve name".
    When no sound is associated with a RPC (not very useful ...) there's no problem, but as soon as I associate one sound, I cannot build these projets at the same time, which causes problems in sound execution.

    Does anybody knows what can be my problem and knows how to solve it ?
    If my explanation isn't precise enough, tell me and I'll try to explain it better.

    Thanks a lot.


  • 04-28-2008 1:48 PM In reply to

    Re: Problem with shared settings with Audio Creation Tool

    First up, I'd ask what might appear to be an unhelpful question: do you really need to use shared settings?

    It's not as unhelpful as it sounds. Shared settings can be a right PITA to get working, and keep working without causing problems, though when they do work they do the job nicely.

    So: you might, at some point in the future, ask someone else to take over your game's sound? I would be inclined to wait until you know you definitely want to do that, otherwise it's wasted work.

    If/when someone else does take over, will you still want to work with the XACT project alongside them? If not, and you can give them complete ownership of the XACT project, then again, don't bother with shared settings.

    Assuming you still want to go ahead with it, I'll try to remember some of the gotchas and hopefully we'll work this out. First up, make sure that View --> Options... --> Import Shared Settings On Project Load (and Export Shared Settings On Project Save) are both checked. It's easier that way, and less likely to result in conflicts than doing it manually. (Not impossible, though, as if you both save to shared settings one after another, things will probably break).

    Now: I'm not sure exactly why you're getting that error, but if you open up the XAP file(s) with Notepad or similar, you should be able to find the RPC and RPC Curve in the Global Settings section, and the RPC Entry and RPC Curve Entry for the sound itself. I believe that XACT generates GUIDs for RPC curves (long strings that look something like "5cd1-885b-..."). Check that the GUID in the Global Settings matches that in the Sound Bank. If not, we've found your error. Try building the Shared Settings file, opening the (non-shared) project in the XACT GUI (which will automatically import the Shared Settings), saving it, then building it as normal. I vaguely remember that saving/building the shared settings regenerated the GUIDs, in which case re-opening in XACT itself may fix it.

    Good luck, hope it helps. Let me know if it doesn't.

    XapParse, a parser for XAP (XACT) files
  • 04-29-2008 5:49 AM In reply to

    Re: Problem with shared settings with Audio Creation Tool

    Thanks for replying but, ... that didn't work.

    About what I'm doing and my choice in using shared settings :
    I work on a driving simulator, and I can't afford sending all my sound projects, with all the wav files , etc.
    That represents too many files to send. That's why I wanted to use shared settings. With that, I can send to a customer who wants a particular sound for his vehicle only the shared settings part and he can send me his project in return. That's why I (want to) use shared settings.

    Concerning my configuration : I'm using the audio creation tool delivered with the March 2008 DirectX SDK (v 3.0) and both shared settings check box are checked. Before asking here, I had already tried to open the XAP files in a Notepad, and I had seen that the GUIDs for the RPC curve were different.
    The problem is  :
    _ when I compile and save my shared settings project, I get some GUIDs (no problem until here).
    _ when I try to open another projet which includes the shared one, it correctly includes it but the GUID for each RPC curve change (in the current project, and in the shared settings project) so that an the end, only the last project I opened has the correct GUIDs.

    I tried no to save the shared settings while saving : same problem. In fact, the problem seems to occure when the editor imports the shared settings. If I save the project after opening the project, the GUIDs change though I didn't do anything.


    Thanks for helping me.
  • 04-29-2008 7:45 AM In reply to

    Re: Problem with shared settings with Audio Creation Tool

    I think the idea is supposed to be that, with shared settings, you never open, edit, or build the shared settings project itself - only the sub-projects that reference it. So, you open, edit and save project A (which saves the shared settings), open and save project B to refresh it with the shared settings, then build A and B and use the XGS file from either of them in your game. You don't ever, iirc, edit or build the shared settings project itself - XACT takes care of that for you.

    Give that a go and see if it helps. That said, the behaviour you describe (generating new GUIDs on every save) seems like it would royally screw that system up anyway, so it may not... If that's the case, maybe filing a bug on Connect is your best option.

    There is another option, but it comes with the warning that it involves quite a lot of work. You could generate the projects completely independently (give up on the shared settings idea altogether) but then, before building the final assets for your game, merge the projects together, either manually or (far more preferably!) via an automated system.

    With very small projects you could do it manually - copy and paste from one file to another, keeping everything in the same order. It would be a pain, and next to impossible with large projects. If you choose to automate it you will need a parser to read in the XACT projects, manipulate them in memory obeying the project format rules, and write them out again. (So, you'd read in project A, read in project B, and generate a new project C which contains all the required settings, wave banks, and sound banks from A and B merged together). If you follow the XapParse link in my sig, you'll find a parser that will get you started with that, but the "manipulate in memory" and "write out new projects" parts haven't been done yet, it literally just reads projects in. Oh yeah - and it's for XACT 2.0 (XNA) as well, not 3.0, but I don't think it has changed much, a few new features maybe but you can probably work out how to update it.

    Interestingly, this approach is what we used on a number of professional titles. Of course, I no longer have access to the parser code we used back then as I am no longer at the company, which is why I've written XapParse, but at least it shows the approach can be made to work. :-)

    XapParse, a parser for XAP (XACT) files
Page 1 of 1 (4 items) Previous Next
var gDomain='m.webtrends.com'; var gDcsId='dcschd84w10000w4lw9hcqmsz_8n3x'; var gTrackEvents=1; var gFpc='WT_FPC'; /*<\/scr"+"ipt>");} /*]]>*/
DCSIMG