===============================
# OBS Audio Transition
===============================

## Overview
------------
This LUA script that adds source type useful for controlling an audio sources during a scene transition. 

Audio Transition sources can mute, unmute, fade, ramp, save or set the volume of an audio source when it enters or leaves the program scene:
   -Mute and unmute are self-explanatory and instantaneous
   -Fade adjusts the volume up or down in gradual steps, unmuting if necessary
   -Ramp fades after silencing, first
   -Set adjusts the volume without the gradual fade
   -Restore returns the audio source to its most recently saved volume and mute state

Audio Transitions have customizable properties to designate which audio sources they control and what effects they apply. Both ramp and fade accept a customizable rest volume and transition duration. When entering a program scene, there is an option to restore the volume and mute state upon leaving. 	

The order that Audio Transitions run can produce different effects, especially when they involve the same audio source. They are initiated in the normal scene item order (e.g. bottom-to-top, as listed in the source dock) with the leaving scene processed before the entering scene. Concurrent fade effects for an audio source are avoided by succeeding earlier ones as later ones occur. In other words, the last one takes precedence. 

## Requirements
-----------
   Tested on Windows 11 with OBS v29 and v30
	
## Installation
------------
   1. Download, unzip and store the audio-transition.lua script in your OBS scripts directory

   2. Add audio-transition.lua to OBS from the Tools->Scripts dialog

   3. Add Audio Transition sources to scenes, as desired, to effect the desired audio transitions

   4. Enable Audio Transitions in the script properties

## Support
------------
For diagnostic help, event log and fader log traces can be enabled in the script properties. Once enabled, they can be inspected in the script log. When audio transition effects are not working as expected, the log is sometimes useful for identifying the cause. Errors are always recorded in the log, as well. 

For email support, contact: 
dennis@musefeed.net
