Skip to content

Instantly share code, notes, and snippets.

@snakecase
Forked from upgradeQ/beep.lua
Last active April 1, 2024 02:03
Show Gist options
  • Star 28 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save snakecase/e816384a071cec31efbb4b9e429c108d to your computer and use it in GitHub Desktop.
Save snakecase/e816384a071cec31efbb4b9e429c108d to your computer and use it in GitHub Desktop.
OBS Lua: Sound notification on replay buffer save [Windows]

A simple Lua script which plays a .wav sound whenever replay buffer is saved.

Installation

  1. Download Half-Life 2 City Scanner NPC's camera shutter sound: https://github.com/sourcesounds/hl2/blob/master/sound/npc/scanner/scanner_photo1.wav

    • Or use any .wav sound but make sure to match its name either in "Beep on replay buffer save.lua" (edit with any text editor) or rename your .wav file to "sound_npc_scanner_scanner_photo1.wav".
  2. Put it in the same location with "Beep on replay buffer save.lua"

    • A good way is to create a separate "scripts" folder in %AppData%\obs-studio\ and keep all your scripts there in case you need to backup your OBS Settings.
  3. OBS → Tools → Scripts → +

This Lua script was downloaded from https://gist.github.com/snakecase/e816384a071cec31efbb4b9e429c108d

Credits:

Thank you guys!

local obs = obslua
local ffi = require("ffi")
local winmm = ffi.load("Winmm")
-- Put a sound of your choosing next to "Beep on replay save.lua" and don't forget to match its name either in code below or rename your file.
PROP_AUDIO_FILEPATH = script_path() .. "sound_npc_scanner_scanner_photo1.wav"
ffi.cdef[[
bool PlaySound(const char *pszSound, void *hmod, uint32_t fdwSound);
]]
function playsound(filepath)
winmm.PlaySound(filepath, nil, 0x00020000)
end
function on_event(event)
if event == obs.OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED
then playsound(PROP_AUDIO_FILEPATH)
end
end
function script_load(settings)
obs.obs_frontend_add_event_callback(on_event)
end
-- This Lua script was downloaded from https://gist.github.com/snakecase/e816384a071cec31efbb4b9e429c108d
-- Credits: upgradeQ (https://gist.github.com/upgradeQ/b2412242d76790d7618d6b0996c4562f), gima (https://gitlab.com/gima/obsnotification)
-- Thank you guys!
@snakecase
Copy link
Author

It's already set to 0x00020000 in the sctipt. 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment