Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client-side Jukebox, Client-side Lobby Music, Synchronised Music & TGUI Panel Music Player Improvements #11279

Open
wants to merge 49 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
b7a0d30
TGUI chat audio player
PowerfulBacon Jul 31, 2024
e5c77ad
Adds in a spot for license
PowerfulBacon Jul 31, 2024
1ef4707
Start of adding actual songs
PowerfulBacon Jul 31, 2024
b63aa5b
Adds support for mp3/mp4 files as well as URL links
PowerfulBacon Aug 1, 2024
da22c40
Adds license information and links to the license/original work
PowerfulBacon Aug 1, 2024
45835fe
Corrects the listener, among other changes
PowerfulBacon Aug 1, 2024
0462055
Basic lobby music
PowerfulBacon Aug 1, 2024
468076c
Global track manager
PowerfulBacon Aug 1, 2024
46b0748
Deletes title0.ogg
PowerfulBacon Aug 1, 2024
44c5cd5
Fixes late starting lobby songs
PowerfulBacon Aug 1, 2024
6091c64
Lobby music stops playing when you enter
PowerfulBacon Aug 1, 2024
4345f41
Corrects title0 copyright, adds in a CC0 song
PowerfulBacon Aug 1, 2024
819a8a0
Add web music verb
PowerfulBacon Aug 1, 2024
104fede
Removes beat from the jukebox UI
PowerfulBacon Aug 1, 2024
d8a8738
Tests and fixes the voting system
PowerfulBacon Aug 2, 2024
160e138
SSmusic now runs while in the lobby
PowerfulBacon Aug 2, 2024
cf38ed0
Prevents repeating lobby music
PowerfulBacon Aug 2, 2024
afd895f
Adds in the ability to skip lobby songs and resync with the server's …
PowerfulBacon Aug 2, 2024
1f90218
Fixes personal lobby music reloading
PowerfulBacon Aug 2, 2024
7d36048
Adds the ability for admins to play and queue new lobby songs from th…
PowerfulBacon Aug 2, 2024
8df9979
Fixes lobby music not stopping if you enter as a ghost
PowerfulBacon Aug 2, 2024
6d68a46
Adds in config loading
PowerfulBacon Aug 2, 2024
2c3b708
Adds in the title music licenses to the best of my ability
PowerfulBacon Aug 2, 2024
403f498
Removes tinnitus dance
PowerfulBacon Aug 2, 2024
97ddd01
Fixes jukebox volume controls
PowerfulBacon Aug 2, 2024
cc1ab1a
Makes music feeding asynchronous
PowerfulBacon Aug 2, 2024
3bea105
Proper spatial audio handling
PowerfulBacon Aug 2, 2024
9681726
Supports play-internet-sound, Fixes incorrect sound information being…
PowerfulBacon Aug 2, 2024
968a2bc
Fixes incorrect URL being displayed
PowerfulBacon Aug 2, 2024
9ed0abe
Fixes audio listener not respecting client mob changes
PowerfulBacon Aug 2, 2024
d19abd8
Round end music
PowerfulBacon Aug 2, 2024
070780f
Lobby music prefs
PowerfulBacon Aug 2, 2024
cf59801
TGUI-Prettier
PowerfulBacon Aug 2, 2024
f9f6bc6
Fixes lobby music pref
PowerfulBacon Aug 2, 2024
6362eaf
Update asset_extensions.dm
PowerfulBacon Aug 2, 2024
5093d5a
Merge branch 'master' into TGUI-Chat-Jukebox
PowerfulBacon Aug 4, 2024
6f30f51
Updates the config for countdown
PowerfulBacon Sep 2, 2024
983d5ac
Adds deafness
PowerfulBacon Sep 2, 2024
6bddcec
Prettier Execution
PowerfulBacon Sep 2, 2024
995b2a7
Update code/controllers/subsystem/music.dm
PowerfulBacon Sep 23, 2024
ffd7069
Merge remote-tracking branch 'upstream/master' into TGUI-Chat-Jukebox
PowerfulBacon Sep 23, 2024
07bbb6e
Adds in a random offset to mitigate clientside modifications
PowerfulBacon Sep 23, 2024
cf0aaa9
Some cleaning up, fixes the april fools lobby music
PowerfulBacon Sep 23, 2024
1720487
Guess we using the remix link
PowerfulBacon Sep 23, 2024
169cf2b
Add durations to the config, skips the youtube song since it will alw…
PowerfulBacon Sep 23, 2024
859a9d6
Makes the system considerably more resiliant to errors.
PowerfulBacon Sep 24, 2024
274a53f
Ignore commented out defines
PowerfulBacon Sep 24, 2024
9cf4551
Executes prettier
PowerfulBacon Sep 25, 2024
19090d4
Debug logging
PowerfulBacon Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -178,12 +178,6 @@ Temporary Items
/_maps/**/backup/
/_maps/templates.dm

# Ignore custom music (amend as appropriate)
/config/jukebox_music/sounds/*
!/config/jukebox_music/sounds/exclude
/config/title_music/sounds/*
!/config/title_music/sounds/exclude

# Common build tooling, C B T
!/tools/build

Expand Down
14 changes: 13 additions & 1 deletion beestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@
#include "code\controllers\subsystem\minor_mapping.dm"
#include "code\controllers\subsystem\mobs.dm"
#include "code\controllers\subsystem\moods.dm"
#include "code\controllers\subsystem\music.dm"
#include "code\controllers\subsystem\natural_light_cycle.dm"
#include "code\controllers\subsystem\nightshift.dm"
#include "code\controllers\subsystem\npcpool.dm"
Expand Down Expand Up @@ -1127,7 +1128,6 @@
#include "code\game\machinery\cloning.dm"
#include "code\game\machinery\constructable_frame.dm"
#include "code\game\machinery\cryopod.dm"
#include "code\game\machinery\dance_machine.dm"
#include "code\game\machinery\defibrillator_mount.dm"
#include "code\game\machinery\digital_clock.dm"
#include "code\game\machinery\dish_drive.dm"
Expand Down Expand Up @@ -3435,6 +3435,18 @@
#include "code\modules\multiz\zmimic\mimic_common.dm"
#include "code\modules\multiz\zmimic\mimic_movable.dm"
#include "code\modules\multiz\zmimic\mimic_turf.dm"
#include "code\modules\music\jukebox.dm"
#include "code\modules\music\music_listener.dm"
#include "code\modules\music\assets\asset_extensions.dm"
#include "code\modules\music\client\client_extensions.dm"
#include "code\modules\music\licenses\license.dm"
#include "code\modules\music\licenses\license_cc0.dm"
#include "code\modules\music\licenses\license_ccby3.dm"
#include "code\modules\music\licenses\license_grandfathered.dm"
#include "code\modules\music\tgui_panel\audio_extensions.dm"
#include "code\modules\music\tracks\playing_track.dm"
#include "code\modules\music\tracks\track.dm"
#include "code\modules\music\tracks\tracks.dm"
#include "code\modules\ninja\__ninjaDefines.dm"
#include "code\modules\ninja\energy_katana.dm"
#include "code\modules\ninja\ninja_event.dm"
Expand Down
18 changes: 15 additions & 3 deletions code/__DEFINES/sound.dm
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
//max channel is 1024. Only go lower from here, because byond tends to pick the first availiable channel to play sounds on
#define CHANNEL_LOBBYMUSIC 1024
#define CHANNEL_ADMIN 1023
#define CHANNEL_ADMIN 1024
#define CHANNEL_VOX 1022
#define CHANNEL_JUKEBOX 1021
#define CHANNEL_JUSTICAR_ARK 1020
#define CHANNEL_HEARTBEAT 1019 //sound channel for heartbeats
#define CHANNEL_AMBIENT_EFFECTS 1018
Expand Down Expand Up @@ -118,3 +116,17 @@
#define SOUNDTRACK_PLAY_RESPECT 0
#define SOUNDTRACK_PLAY_ALL 1
#define SOUNDTRACK_PLAY_ONLYSTATION 2

/// Defines for audio track availability

#define TRACK_FLAG_ALL (~0)
#define TRACK_FLAG_TITLE (1<<0)
#define TRACK_FLAG_JUKEBOX (1<<1)
#define TRACK_FLAG_ROUNDEND (1<<2)

/// Defines for playing track flags

#define PLAYING_FLAG_DEFAULT 0
#define PLAYING_FLAG_TITLE_MUSIC (1 << 0)
#define PLAYING_FLAG_JUKEBOX (1 << 1)
#define PLAYING_FLAG_ADMIN (1 << 2)
1 change: 1 addition & 0 deletions code/__DEFINES/subsystems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@
#define INIT_ORDER_GREYSCALE 81
#define INIT_ORDER_VIS 80
#define INIT_ORDER_SECURITY_LEVEL 79 // We need to load before events so that it has a security level to choose from.
#define INIT_ORDER_MUSIC 78 // Performs its loading asynchronously, so will run in the background while other things load.
#define INIT_ORDER_ACHIEVEMENTS 77
#define INIT_ORDER_RESEARCH 75
#define INIT_ORDER_ORBITS 74 //Other things use the orbital map, so it needs to be made early on.
Expand Down
6 changes: 5 additions & 1 deletion code/__HELPERS/roundend.dm
Original file line number Diff line number Diff line change
Expand Up @@ -208,11 +208,15 @@
cb.InvokeAsync()
LAZYCLEARLIST(round_end_events)

// Play a new song from the beginning
SSmusic.play_next_lobby_song()

for(var/client/C in GLOB.clients)
if(C)

C?.process_endround_metacoin()
C?.playtitlemusic(40)
if (SSmusic.login_music)
C?.tgui_panel?.play_global_music(SSmusic.login_music)

if(CONFIG_GET(flag/allow_crew_objectives))
var/mob/M = C?.mob
Expand Down
Loading
Loading