Broadcaster -- A Custom Stereo Music Utility (UPDATED: 14 September 2021)
Uploaded 17th Feb 2020 at 5:48 PM · Updated 14th Sep 2021 at 9:30 PM by gamefreak130
14 September 2021:
- Fixed bug with workout randomizer package in which working out did not decrease hygiene or make Sims fatigued. The main Broadcaster tool is unaffected and does not require an update.
27 March 2020:
- Fixed issue with bootstrap assembly in which slow dance stations were being registered as workout stations. This fix is not retroactive; any existing stations marked as slow dance stations must be recreated using the updated version of Broadcaster.
Reminder: When removing or updating mods, it is good practice to clear the ScriptCache.package file from your Userdata folder.
There's been a way to add custom songs and stereo stations to the game for some time now, but it can be a rather tedious process even if you know what you're doing. Now, there's an easier way with Broadcaster!
What Is Broadcaster?
Broadcaster is an external program that massively simplifies the process of creating packages to add custom stereo music and stations to The Sims 3.
Assuming the desired music is already in MP3 format, no technical expertise is required to use Broadcaster aside from the ability to click buttons, enter text, and follow dialog prompts.
- When Broadcaster opens, click "Add Music..." and a dialog box will appear, allowing you to select any number of MP3 files you want to add to the game.
- Upon exiting the add music dialog, the selected files will appear in the box at the top of the program. If there are any files you want to remove from this list, highlight them and click "Remove Selected."
- Use the text box to specify the station to which the selected files will be added. You can either select an in-game station from the drop-down menu to add the music to that station, or type in a custom value to create a new station with that name. Note that if a station from an expansion or stuff pack that is not installed is selected, the station will be properly added to the game, but it will not contain any music from its respective add-on.
- Check "Is Workout Station" if you want this station to be used during workouts, and "Is Slow Dance Station" if you want it to be a valid station for autonomous slow dancing. Note that these settings do not affect additions to existing stations. It is recommended to use the included workout randomizer package alongside custom workout stations; see below for more info.
- Click "Broadcast" and another dialog box will appear, allowing you to specify where to save the resulting package.
- Broadcaster will attempt to convert the specified MP3 files to a game-readable format, then generate a custom package file containing the music and the necessary scripts to instantiate it in-game. The in-game titles and artists of tracks will be the titles and artists of the songs as specified in the MP3 metadata (or simply the file name and a blank line if titles and contributing artists are not found).
- A confirmation message will appear if the process was successful, and an error message will appear if it was not. When the broadcasting process is complete, all settings and selections will be cleared, allowing the process to be repeated.
- Place generated Broadcaster packages in the Packages folder with the rest of your mods. Your custom stations and music should appear in-game!
When the "Broadcast" button is clicked, the program begins by creating a randomized string of 17 numbers; this string serves as a unique name for the preview menu tuning, instantiation script, and string tables to ensure that multiple Broadcaster stations do not conflict with one another, similar to the process of generating a bootstrap for a custom career to be loaded using NRaas Careers. AUDTs can be made such that they do not name-collide using the "2654790449" block, so they do not use this unique name and merely take the name of the station being created or added to.
With the instance name generated, Broadcaster uses an included copy of version 0.6.3 of the EALayer3 encoder to convert each MP3 file into a single-block SNR resource and adds it to a new package file, with no further manipulation of the encoded files necessary. The XML tuning used for music preview injection, as well as the AUDTs for the previews and the station itself, are also dynamically written as the SNR resources are loaded into memory. Finally, the script contained in "BroadcastTemplate.dll" and its relevant tuning is added, and the package is written to the designated location.
Two separate XML files are used to help the generic template script inject a given station. The first is a simple instantiator for the template script itself, which must take the class name "Gamefreak130.Broadcaster.Bootstrap" common to all generated assemblies; they can, therefore, be safely overridden if multiple stations are present in the same game. The second, given a unique instance name matching each individual assembly, contains important information that the script uses to add its associated station and data to the game.
Also included on this download page is a workout randomizer package I've written as an optional, but recommended complement to Broadcaster stations. EA clearly never meant for any stations other than Electronica to be used as workout stations, as the method that selects the workout station to use will always return the first one it finds in the list of stations, meaning only one station at any given time will ever be used for workouts unless a different workout station is already playing.
The workout randomizer fixes this by selecting a random workout station to change to every time a stereo workout is performed unless a workout station is already playing. Again, it is not required to use Broadcaster or Broadcaster-generated stations, but custom stations with the "Is Workout" flag may not function as intended without it.
Broadcaster requires .NET Framework version 4.5 or higher to run; this should be included with Windows 8 or higher, and can also be downloaded here and installed on Windows Vista or Windows 7 (if you're crazy enough to still be using them). It is not compatible with MacOS or Linux.
The workout randomizer and the packages generated by Broadcaster are compatible with game version 1.69. They may be compatible with earlier versions, but they have not been tested; use them at your own risk.
The workout randomizer overrides the "Work Out" interactions on stereos, and will conflict with any other mod that does the same. Packages generated by Broadcaster are designed so as to be unique and independent, and should not conflict with other mods or with each other.
At this time, Broadcaster only supports the English language. Support for other languages may be added in future releases, depending on demand.
The names of custom stations and songs must only contain letters within the ASCII character set (i.e. the English alphabet). Using other characters from other languages will cause the station to not appear properly in-game and/or may cause Broadcaster to return errors.
Broadcaster utilizes the S3PI library for package generation, as well as TagLib# for reading MP3 metadata. In accordance with the licenses of those libraries, the source code for Broadcaster has been published here under the GPL 3.0 license.
- I am not a UI designer, and it kind of shows
Various modders and their scripting tutorials scattered throughout the Interwebs
Zenchreal for their EALayer3 encoding/decoding utility
Peter and Inge Jones for their S3PI library
All the contributors to the TagLib# library
Tashiketh for keeping this site up and running
My many test sims for putting up with my nonsense
And you, for checking out this program!
and Visual Studio 2019 for making modding stupidly easy
No metadata could be extracted from this file
| Optional, but recommended package for workout station randomization; see description for more info
Size: 9.4 KB · Downloads: 696 · 14th Sep 2021
|9.4 KB||696||14th Sep 2021|
Size: 519.0 KB · Downloads: 1,729 · 27th Mar 2020
|519.0 KB||1,729||27th Mar 2020|
Key: - File was updated after upload was posted
1. Click the file listed on the Files tab to download the file to your computer.
2. Extract the zip, rar, or 7z file. Now you will have either a .package or a .sims3pack file.
For Package files:
1. Cut and paste the file into your Documents\Electronic Arts\The Sims 3\Mods\Packages folder. If you do not already have this folder, you should read the full guide to Package files first: Sims 3:Installing Package Fileswiki, so you can make sure your game is fully patched and you have the correct Resource.cfg file.
2. Run the game, and find your content where the creator said it would be (build mode, buy mode, Create-a-Sim, etc.).
For Sims3Pack files:
1. Cut and paste it into your Documents\Electronic Arts\The Sims 3\Downloads folder. If you do not have this folder yet, it is recommended that you open the game and then close it again so that this folder will be automatically created. Then you can place the .sims3pack into your Downloads folder.
2. Load the game's Launcher, and click on the Downloads tab. Find the item in the list and tick the box beside it. Then press the Install button below the list.
3. Wait for the installer to load, and it will install the content to the game. You will get a message letting you know when it's done.
4. Run the game, and find your content where the creator said it would be (build mode, buy mode, Create-a-Sim, etc.).
Extracting from RAR, ZIP, or 7z: You will need a special program for this. For Windows, we recommend 7-Zip and for Mac OSX, we recommend Keka. Both are free and safe to use.
Need more help?
If you need more info, see:
Heya! Thanks for checking out my stuff.
I typically keep my Github repos private, but I'm happy to share my source code if you ask nicely.