S3Cue(Seku) - ShyStudios Source Engine Cue Tool

By: Shy - [08/27/2021]

During the final weeks of developing rp_hogsmeade_sbs I began the grueling process of creating the map’s soundscapes. This involves not only writing the actual sound scripts, but also sourcing or even recording my own raw audio, editing it down to a usable sample or loop, and finally exporting it as a wav file that source will except. (Gmod does NOT support mp3's btw.) When it comes to looping audio tracks source expects the wav file to have cue markers. My current audio editing software does not support cue markers, so for over a decade I would import the audio file into GoldWave and export it with cues from there. As much as I seriously love GoldWave, I don’t actually ever use it. In the +10 years I’ve had it installed I never once actually took the time to really learn the program. This is sad because I wouldn't be surprised if it was actually better than what I currently use, Audacity which you should NOT download anymore unless you are getting an old version, ideally pre 3.0!

You would think Audacity, being open source software and all that at some point someone would add an option to insert cue markers for wavs right?? Well someone asked for this around 2009 and was given this as a response: “standard WAV format does not support cue points, programs that put cue points into WAV files are being rather naughty. It is a known issue that adding non-standard data into WAV files causes incompatibility issues with some applications”. Interesting this silly response was the reason for not adding it in as an optional feature, considering how well documented and widely understood the cue chunk of a wav file is. Clearly it was well known enough at least before 2004 during Half Life 2’s development for Valve to use the same standard cue chunk everyone else uses. I would love to know how cue data in a wav can cause “issues with some applications” what applications exactly? No program I have used cares if there is a cue chunk in my wav files.

Because I was very eager to be finished with Hogsmeade I wanted to speed up production, and I knew opening every single sound I wanted to loop in GoldWave one at a time to manually add cue points would take forever. Especially if I wanted to edit an already looped file, which wipes cue data in audacity. So I decided to do a bit of researching. I began reading Source’s source code to figure out exactly how the engine handles these cue chunks. I had already figured as much simply from experience, but I confirmed that source doesn’t actually care about the name of the cue or how many there are. Source only cares about the first cue and that is the point where the loop will begin, not end. Technically you could have a file that has an ‘intro’ and then starts looping half way in. Files will play to the end then loop to the first cue point’s time. This has actually been semi documented on the wiki’s TALK page for years. The talk pages are where you get the real gravy.

Source’s snd_wave_source.cpp

DO NOT EVER treat code comments as gospel, but in this situation it is actually correct.

Knowing this, I looked a bit into the formatting of the cue chunk in a wav file and it is surprisingly simple and well documented. So I went and wrote my own program that automatically adds a cue point at the very start of a wav file. This program allows me to do all of my audio editing work, then any files I need to have looping I simply drag and drop them onto the program and they are good to go. This software significantly sped up my sound production timeline. Originally this software was just called ‘cueplopper’ since it plopped a cue point into a file. But I have made some improvements and changed the name. Introducing the ShyStudios Source engine Cue Tool or S3Cue, which I pronounce as “Seku”. Seku comes from the Japanese verb “急く”, pronounced the same way meaning ‘to hurry’ or ‘to rush’. Both of which describe the original purpose for creating this software, that being to hurry up the process of soundscape creation. Funny enough I came up with ‘S3Cue’ before giving it the name Seku.

As stated before my intended use for this software is simply dragging and dropping a file onto it. However this program is a command line program and takes a file path as its argument. This means you can easily automate and batch process entire folders if you so desire. The software only works on standard wav files and currently does not detect already existing cue chunks, which for source engine purposes is not an issue. I honestly do not understand why no one, in the almost 20 years of source engine modding has not a single person made a utility like this.

S3Cue can run on Windows XP through 10. Visual C++ Redistributable 2015 may be required for some operating systems.

This software is not free or open source! it is SHAREWARE with an unlimited trial period for non commercial use. This trial software is provided AS IS without warranty. A personal license for the full version costs $33 USD. A Commercial License costs $333 USD and may only be used within the company it was originally purchased for.

Click Here To Download!

S3Cue.exe Version

  • CRC-32: 98612553
  • MD5: e4ae30d4c9f3e5cacd4c0b95d4089259
  • SHA-1: 124d6c65d28024951784c75b5385d58b15cb94b8