OnTogetherLocalPlaylist
Your own music folder as a mixtape in the game's music player, with a scrub bar - and listen together with anyone else in the lobby who has the mod.
By SleepeyDev
| Last updated | 3 hours ago |
| Total downloads | 4 |
| Total rating | 0 |
| Categories | Mods Audio |
| Dependency string | SleepeyDev-OnTogetherLocalPlaylist-0.6.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
On-Together: Local Playlist
Your own music folder, as a mixtape in the game's own music player - and, if you want, in everyone else's.
Your music
Point the mod at a folder and it shows up as an extra mixtape alongside the shipped ones. There is a Folder... button on the mini music player, so you never have to open a config file.
The track list, next/previous, loop, the volume slider, the now-playing text and auto-advance are
the game's own - the mod just supplies the tracks. Titles and artists come from ID3 or Vorbis tags,
falling back to Artist - Title filenames and then to the containing folder name. Files are ordered
the way Explorer orders them.
Formats: .mp3 .ogg .wav .aif .aiff. Unity has no desktop decoder for .flac, .m4a,
.aac, .opus or .wma, so those are skipped with a note in the log. Tracker modules (.it
.mod .s3m .xm) can be switched on with AllowTrackerFormats.
Network drives: use a mapped drive letter. Unity's audio loader cannot resolve UNC paths like
\\nas\music.
Tracks stream from disk rather than decompressing into memory, and only the current track plus its two neighbours stay loaded. A resident track costs roughly its own file size instead of the ~50 MB a decompressed five-minute song would take, so the folder can be as large as you like without the memory following it.
Listening together
Press Share and anyone else in the lobby running this mod can press Listen and hear exactly what you hear, in time with you.
- Both sides opt in. Nothing leaves your machine until you press Share, and nothing arrives until you press Listen.
- Players without the mod are never contacted and never receive a byte. They hear the game's own music, as always.
- Full quality. Whole track files are sent ahead of time over Steam's peer-to-peer transport, not squeezed through voice chat, and the next track transfers while the current one plays.
- The shared music arrives as its own Shared mixtape, so the game's own player controls it.
- With several people sharing, Listen walks through them: first, next, then off. The button says which - Listen, Next, Leave.
Listening and sharing are mutually exclusive, because there is one audio source behind every mixtape. Starting one stops the other, and the row says so.
Only the audio and the title and artist are sent. Never the folder, never a path, never a filename.
Scrubbing
The mini player gets a scrub bar with a 01:23 / 04:56 readout - click or drag anywhere on it to
jump. It works for the game's own mixtapes as well as yours. MP3 durations are read from the file's
own frame headers rather than estimated, so the bar does not lie about where the end is.
Keeping the folder in sync
Files added to or removed from the folder are noticed on their own. The mod waits for the folder to go quiet for a moment first, so copying a whole album triggers one rescan at the end rather than a hundred, and a file still being written is not read half-finished. Reload is there for the cases a watcher cannot cover, like a network drive.
A rescan never interrupts playback. Tracks are matched by path, so anything still present keeps its loaded audio and carries on from exactly where it was, even if its position in the list changed.
Configuration
BepInEx/config/com.sleepeydev.ontogether.localplaylist.cfg, created on first launch. Everything
worth changing day to day is on the mini player instead.
| Key | Default | What it does |
|---|---|---|
Playlist / MusicFolder |
(empty) | Folder to scan. The Folder... button writes this. |
Playlist / Enabled |
true |
Master switch for the local mixtape |
Playlist / MixtapeName |
Local |
Name shown on the mixtape |
Playlist / IncludeSubfolders |
true |
Scan subfolders too |
Playlist / AllowTrackerFormats |
false |
Also accept .it .mod .s3m .xm |
Playlist / MaxTracks |
300 |
Safety cap; the game builds one button per track |
Playlist / WatchFolder |
true |
Notice files appearing and disappearing |
Sharing / Enabled |
true |
Allow the Share and Listen buttons to exist at all |
Sharing / MaxListeners |
6 |
How many people may listen to you at once |
Sharing / ListenLatencyMs |
250 |
How far behind the broadcaster to sit |
UI / SeekBarEnabled |
true |
Scrub bar on the mini player |
UI / SeekBarOnVanillaMixtapes |
true |
Also scrub the game's own mixtapes |
UI / ModPanelEnabled |
true |
The folder / Reload / Share / Listen row |
Diagnostics / VerboseLogging |
false |
Log every scan, load and eviction |
Diagnostics / DumpUi + DumpUiKey |
false, F3 |
Dump the music-player UI tree to the log |
There are more keys for the exact pixel positions of everything the mod adds; each one carries its own explanation in the file.
Is any of this safe?
Worth answering plainly, because "a mod that receives files from strangers" deserves the question.
- A received track is written to a temporary cache under a name this mod chooses - the track's own id in hex, plus an extension from a fixed list. The sender has no influence on the filename, so nothing can be written outside that folder and nothing executable can land in it.
- Only people in your current lobby who are advertising this mod are accepted. There is a per-peer byte budget, a cap of four transfers at once and a 512 MB cache ceiling, so a peer cannot fill your disk or keep you busy.
- Every received file is checked against its format's own signature before it goes anywhere near the audio decoder, and anything that fails is deleted unread.
- The cache is cleared when you leave.
What remains: a file that passes those checks is still decoded by the game's audio engine, exactly as any track you downloaded and played would be. That is the same exposure as playing a downloaded song in any player - small, but not zero. Listen to people you know.
Compatibility
Built against On-Together v1.1.7, BepInEx 5.4.23.5. If the game updates and something moves, the mod logs which handles it could not resolve and disables only the affected feature.
Everyone sharing must be on the same version of the mod.