-- Delete the last recording in recordings folder (default) or last modified file in recordings folder depending on settings -- Author: Johan Reyes (jrey2125@gmail.com) -- Version 1.0 obs = obslua hotkey_id = obs.OBS_INVALID_HOTKEY_ID hotkey_id2 =obs.OBS_INVALID_HOTKEY_ID --adds buttons that correspond to each function function script_properties(settings) local props = obs.obs_properties_create() obs.obs_properties_add_button(props,"delete_last_recording","Delete Last Recording", delete_last_recording) obs.obs_properties_add_button(props,"stop_recording_then_delete_last_recording","Stop Recording + Delete Last Recording", stop_recording_and_delete_last_recording) return props end function script_description() return "Adds two hotkeys and buttons to delete the last recording in recordings folder, or to stop recording and then delete the last recording right after. \n \n (PERMANENTLY DELETES RECORDING, NOT TO RECYCLING BIN)" end function script_update(settings) end function script_load(settings) hotkey_id = obs.obs_hotkey_register_frontend("delete_last_recording","Delete Last Recording",delete_last_recording) local hotkey_save_array = obs.obs_data_get_array(settings, "delete_last_recording") obs.obs_hotkey_load(hotkey_id, hotkey_save_array) obs.obs_data_array_release(hotkey_save_array) hotkey_id2 = obs.obs_hotkey_register_frontend("stop_recording_then_delete_last_recording","Stop Recording + Delete Last Recording",stop_recording_and_delete_last_recording) local hotkey_save_array2 = obs.obs_data_get_array(settings, "stop_recording_then_delete_last_recording") obs.obs_hotkey_load(hotkey_id2, hotkey_save_array2) obs.obs_data_array_release(hotkey_save_array2) end function script_save(settings) local hotkey_save_array = obs.obs_hotkey_save(hotkey_id) obs.obs_data_set_array(settings,"delete_last_recording", hotkey_save_array) obs.obs_data_array_release(hotkey_save_array) local hotkey_save_array2 = obs.obs_hotkey_save(hotkey_id2) obs.obs_data_set_array(settings,"stop_recording_then_delete_last_recording", hotkey_save_array2) obs.obs_data_array_release(hotkey_save_array2) end function delete_last_recording() local fileName = obs.obs_frontend_get_last_recording() result, message = os.remove(fileName) -- if file is removed if result then print("Recording deleted successfully.") else print("Recording deletion failed.", message) end end --stops recording, waits, then just runs regular method function stop_recording_and_delete_last_recording() obs.obs_frontend_recording_stop() sleep(1) delete_last_recording() end --waits x amount of sec function sleep (a) local sec = tonumber(os.clock() + a); while (os.clock() < sec) do end end