[RESOURCE] GUI Soundscape Editor

Discussion in 'Tutorials & Resources' started by Cynick, Feb 8, 2010.

  1. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    [RESOURCE] GUI Soundscape Editor *UPDATED 4/4*

    So after messing around with soundscape files in source, and finding how hard they are to write/debug/find the right sounds for, I decided to make a program to solve all those problems (hopefully). After working out the bugs for several weeks, I finally have something that works. So, without further ado, presenting:

    Soundscape Editor 1.8 (Last Updated April 4 2010)

    Creative name, right? My goal with this was to make editing soundscapes much easier, so that it is easy to find the right sounds for your map.

    Features:
    • Create, Edit, Save soundscape files for any Valve source engine game!
    • Load Valve's official soundscapes (need to be extracted from GCF first)
    • *NEW* Now Fully Supports L4D and L4D2 Official Soundscapes
    • Edit soundscapes with a FULL GUI--no more scripting necessary!
    • Built in GCF Sound Browser/Previewer
    • Ability to find and preview sounds from disk (e.g. in the <game>\sound folder in steamapps)
    • Integrated soundscape previewer (preview soundscapes without booting up the game!) (requires DirectX 9)
    • Games that mount multiple GCFs will now have the sounds from ALL GCF's displayed in the GCF browser
    • Boot the game to a specific map with soundscape debugging enabled--directly from the editor! (for testing purposes)
    • 100% Free (requires a source engine game to write files for, obviously)

    Everything you create in this program is license-free for all purposes.

    Screenshots:
    Soundscape Previewer
    [​IMG]
    The default interface:
    [​IMG]
    The interface showing off the official 2Fort soundscape files
    [​IMG]
    [​IMG]
    The GCF Browser
    [​IMG]

    A simple test map (the underlying soundscape file was generated by this program)
    [​IMG]

    Download Link: Download From DropBox

    Full release notes for 1.8:
    Code:
    What's changed in 1.8:
      - BUGFIXES:
          - Fixed crash on loading a file with a null keyvalue (Editor and Debugger)
      - NEW FEATURES:
          - Fully supports loading of L4D and L4D2 Soundscape files
      - MINOR CHANGES:
          - Combined the "DSP Settings" and "Soundmixer" entries in the rule list into a "(Settings)" entry which also contains new settings when mapping for L4D/L4D2
    
    Feel free to link to the file download elsewhere, but please do not rehost the file. Thanks

    Thanks for reading, please post comments, problems, critiques or suggestions below.:cool1:
     
    • Thanks Thanks x 34
    Last edited: Apr 15, 2010
  2. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,527
    Neat, I was planning to make something like this eventually but I have so many utilities on my todo list, I guess that's one I can take off :p
     
  3. Penguin

    aa Penguin Clinically Diagnosed with Small Mapper's Syndrome

    Messages:
    1,992
    Positive Ratings:
    1,233
    Very cool stuff.
     
  4. Impulse

    Impulse L2: Junior Member

    Messages:
    51
    Positive Ratings:
    15
    Nice i might need this in the future
     
  5. Boylee

    aa Boylee pew pew pew

    Messages:
    1,068
    Positive Ratings:
    631
    Awesome sauce!
    Only yesterday I was thinking it'd be nice to have an easy way to browse, preview and create soundscapes. Thanks for this, I'll be using it for sure.
     
  6. grazr

    aa grazr Old Man Mutant Ninja Turtle

    Messages:
    5,436
    Positive Ratings:
    3,562
    So you create custom soundscapes with this? This is by far one of the most useful tools for Hammer, to date.
     
    • Thanks Thanks x 1
  7. Tapp

    Tapp L10: Glamorous Member

    Messages:
    776
    Positive Ratings:
    211
    I like, I like. I'm taking dibs on making a soundscape made entirely out of annoying character phrases and weapon sounds.
     
  8. Grim Tuesday

    aa Grim Tuesday

    Messages:
    1,257
    Positive Ratings:
    371
    NEEEDAH DISPENSAH HERE SASHA RACKADUCKA kaBOOM! *minigun firing*
     
  9. Remix

    Remix L69: Deviant Member

    Messages:
    69
    Positive Ratings:
    15
    This is pretty awesome. Nice work!
     
  10. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
  11. luxatile

    aa luxatile deer

    Messages:
    2,289
    Positive Ratings:
    1,348
    Thank you so much for this! You've done a great job, the program is easy to use and I'm already far along with making my soundscape. However, I have a problem.

    I've created a soundscape and added a PlayRandom rule based off one of your screenshots. There's a problem with setting the volume. Whatever I set it to is automatically multiplied by 100 when I go back to this rule after viewing another, so the program says it's invalid and resets the value to 0. Interestingly, this doesn't apply when I set volume to 100 (that works perfectly), and when I set it to 1 it automatically reads it as a range between 0 and 100.

    EDIT: This appears easy to edit actually, so it's no biggie, but probably worth looking into anyway.
     
    • Thanks Thanks x 1
    Last edited: Feb 24, 2010
  12. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    Thanks, I'll add that to the of bugs that need fixing. (the list is pretty small, so I'll have a bugfix release out soon, possibly tonight, but it'll definitely be out by friday night).

    EDIT: Just to clarify, you're entering a whole-number value into the volume box, correct? The volume boxes take a whole number (0-100), unlike the actual soundscape engine. (This value is automatically put in the correct range when saving though, so you don't have to worry about that.)
     
    Last edited: Feb 24, 2010
  13. Firest0rm

    Firest0rm L4: Comfortable Member

    Messages:
    171
    Positive Ratings:
    33
    i am having an absurdly large amount of trouble renaming the subscapes, attempting to do so gives me an error, giving me the choice to continue or quit. Continue doesn't work because the program kind of freezes, and quit gives me another error and sets me in an error loop. the only way i can rename a subscape now is to rename it, click quit on the error, tell it to save, and kill the process

    other than that, great program! you should make the filtering better though, because it takes my computer about 10 seconds to filter whatever i type in (and i don't have a horrible computer), and also you should make it so i can copy-paste, when i use similar sounds i don't like having to wait 10 seconds to filter for them, and i don't like completely remaking my large-ish playrandoms as i move them across subscapes

    all of this is on the l4d2 version, so i don't know if these things happen to everyone

    edit: also, i cannot preview both my subscapes at once, which is extremely irritating
     
    • Thanks Thanks x 1
    Last edited: Feb 24, 2010
  14. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    Dammit, someone found the bug I was hoping nobody would notice before I released a bugfix. :facepalm:

    And in-game, only one subscape can play at a time, so I didn't think there was any need for the ability to preview two. And if one subscape references another (with PlaySoundscape within the same file), both scapes will play.

    Look for a bugfix soon (today or tomorrow)

    After the bugfix release, I'll start working on the ability to copy/paste, import soundscapes from a file, and boot up a game from the editor to a certain map (for testing).
     
    • Thanks Thanks x 1
    Last edited: Feb 24, 2010
  15. Firest0rm

    Firest0rm L4: Comfortable Member

    Messages:
    171
    Positive Ratings:
    33
    i didn't know that only one subscape could play at a time, silly me. well whatever, i ended up killing those birds anyway, so no big loss
     
  16. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    BUGFIX TIEM. Ahem. 1.5.3 just released, nothing new really, but get it anyway because it fixes a few major bugs. Full notes:

    The "Improved filtering" bit should just make filtering a lot faster, as it only refreshes the filter when you're done typing versus whenever you type a letter into the filter box
     
    • Thanks Thanks x 1
    Last edited: Feb 24, 2010
  17. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    Alright alright, so after much fussing around with the code, 1.7 is finally here. (Copy/Pasting data structures in C# is needlessly complicated). A couple bugfixes and a bunch of new features (major ones highlighted):

    Code:
    What's changed in 1.7:
      - BUGFIXES:
          - Fixed several crashes relating to the delete buttons
      - NEW FEATURES:
          - [COLOR="DarkRed"]Added option to launch current game to a specific map and (optionally) soundscape debugging enabled (for testing purposes).[/COLOR]
          - Added a "Check for Updates" feature.  Will now check for updates on startup and display a small non-intrusive icon at the bottom of the window
          - [COLOR="DarkRed"]Added Copy/Paste for subscapes/rules[/COLOR]
          - Added ability to import subscapes from an existing soundscape file
      - MINOR CHANGES:
          - The editor will now remember the current game between startups (it will be selected by default in the "Select Game" dialog)
    
    As always: comments, problems/bugs, and feature suggestions are welcome!
     
  18. Firest0rm

    Firest0rm L4: Comfortable Member

    Messages:
    171
    Positive Ratings:
    33
    yay!
     
    • Thanks Thanks x 1
  19. FaTony

    FaTony Banned

    Messages:
    902
    Positive Ratings:
    160
    Bah, closed source.
     
  20. Cynick

    Cynick L4: Comfortable Member

    Messages:
    153
    Positive Ratings:
    144
    I may release the source at a later time. I at least want to get the official Valve L4D/L4D2 soundscapes to load up in the editor first.

    Which, on that note, is one thing I'll probably be working on. I've done research into the problem with the L4D(2) soundscape format changes, and these two values seem to be the problem. I haven't seen them in any source engine soundscapes except L4D.

    - FadeTime
    - Origin

    I poked around on google, and to my surprise, I didn't find reference to either of these anywhere. So I did a little of my own research in a test map with a simple soundscape. I made the best assumptions I could about the function of these:

    - FadeTime (seconds): Controls the time period the soundscape takes to fade in (note:as far as i can tell, this doesn't affect fade out time). Basically, a value of 10 would make the subscape in question fade in from silent to full volume over the course of 10 seconds. Only some Valve soundscapes specify this value, when they do, its typically .5 (half a second). Usually specified directly after the "dsp" setting.

    - Origin (XYZ position): Seems to be a way to force a sound to play from a specific position in the map (much like soundscape positions), except the position is specified directly in the soundscape file. This method doesn't limit you to the 8 locations that can be specified with the "position" keyvalue and info_target, however it does limit you in that the sound will always play from a specific position in the map, impairing re-use.

    Code:
    "test.newl4dstuff" 
    {
        "dsp" "1"
        [COLOR="DarkRed"]"fadetime" ".5"[/COLOR]
    
        "PlayLooping"
        {
            "wave" "ambient/bla.wav"
            "volume" "1"
            [COLOR="DarkRed"]"origin" "50, 70, 80.5;"[/COLOR]  //Note the semicolon and commas
        }
    }
    In hindsight, this probably should have been posted on a L4D Mapping site, but whatever. Maybe someone'll find it useful/interesting.