mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-09 06:04:59 +00:00
Initial commit
This commit is contained in:
376
Data/Scripts/007_Audio/001_Audio.rb
Normal file
376
Data/Scripts/007_Audio/001_Audio.rb
Normal file
@@ -0,0 +1,376 @@
|
||||
class Thread
|
||||
def Thread.exclusive
|
||||
_old = Thread.critical
|
||||
begin
|
||||
Thread.critical = true
|
||||
return yield
|
||||
ensure
|
||||
Thread.critical = _old
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
def getPlayMusic
|
||||
return MiniRegistry.get(MiniRegistry::HKEY_CURRENT_USER,
|
||||
"SOFTWARE\\Enterbrain\\RGSS","PlayMusic",true)
|
||||
end
|
||||
|
||||
def getPlaySound
|
||||
return MiniRegistry.get(MiniRegistry::HKEY_CURRENT_USER,
|
||||
"SOFTWARE\\Enterbrain\\RGSS","PlaySound",true)
|
||||
end
|
||||
|
||||
|
||||
|
||||
class AudioContext
|
||||
attr_reader :context
|
||||
|
||||
def initialize
|
||||
init = Win32API.new("audio.dll", "AudioContextInitialize", '', 'l')
|
||||
@context=init.call()
|
||||
end
|
||||
|
||||
def dispose
|
||||
if @context!=0
|
||||
init = Win32API.new("audio.dll", "AudioContextFree", 'l', '')
|
||||
init.call(context)
|
||||
@context=0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
#####################################
|
||||
# Needed because RGSS doesn't call at_exit procs on exit
|
||||
# Exit is not called when game is reset (using F12)
|
||||
$AtExitProcs=[] if !$AtExitProcs
|
||||
|
||||
def exit(code=0)
|
||||
for p in $AtExitProcs
|
||||
p.call
|
||||
end
|
||||
raise SystemExit.new(code)
|
||||
end
|
||||
|
||||
def at_exit(&block)
|
||||
$AtExitProcs.push(Proc.new(&block))
|
||||
end
|
||||
|
||||
#####################################
|
||||
# Works around a problem with FileTest.exist
|
||||
# if directory contains accent marks
|
||||
def safeExists?(f)
|
||||
ret=false
|
||||
File.open(f,"rb") { ret=true } rescue nil
|
||||
return ret
|
||||
end
|
||||
|
||||
|
||||
|
||||
module AudioState
|
||||
w32_LL = Win32API.new("kernel32.dll", "LoadLibrary", 'p', 'l') # :nodoc:
|
||||
w32_FL = Win32API.new("kernel32.dll", "FreeLibrary", 'p', 'l')# :nodoc:
|
||||
|
||||
if safeExists?("audio.dll")
|
||||
@handle = w32_LL.call("audio.dll")
|
||||
at_exit { w32_FL.call(@handle) }
|
||||
AudioContextIsActive = Win32API.new("audio.dll","AudioContextIsActive","l","l")# :nodoc:
|
||||
AudioContextPlay = Win32API.new("audio.dll","AudioContextPlay","lpllll","")# :nodoc:
|
||||
AudioContextStop = Win32API.new("audio.dll","AudioContextStop","l","")# :nodoc:
|
||||
AudioContextFadeOut = Win32API.new("audio.dll","AudioContextFadeOut","ll","")# :nodoc:
|
||||
AudioContextGetPosition = Win32API.new("audio.dll","AudioContextGetPosition","l","l")# :nodoc:
|
||||
AudioContextFadeIn = Win32API.new("audio.dll","AudioContextFadeIn","ll","")# :nodoc:
|
||||
AudioContextSetVolume = Win32API.new("audio.dll","AudioContextSetVolume","ll","")# :nodoc:
|
||||
AudioContextSEPlay = Win32API.new("audio.dll","AudioContextSEPlay","lplll","")# :nodoc:
|
||||
if !@MEContext
|
||||
@MEContext=AudioContext.new
|
||||
at_exit { @MEContext.dispose }
|
||||
end
|
||||
if !@BGMContext
|
||||
@BGMContext=AudioContext.new
|
||||
at_exit { @BGMContext.dispose }
|
||||
end
|
||||
if !@BGSContext
|
||||
@BGSContext=AudioContext.new
|
||||
at_exit { @BGSContext.dispose }
|
||||
end
|
||||
if !@SEContext
|
||||
@SEContext=AudioContext.new
|
||||
at_exit { @SEContext.dispose }
|
||||
end
|
||||
else
|
||||
AudioContextIsActive = nil # :nodoc:
|
||||
AudioContextPlay = nil # :nodoc:
|
||||
AudioContextStop = nil # :nodoc:
|
||||
AudioContextFadeOut = nil # :nodoc:
|
||||
AudioContextGetPosition = nil # :nodoc:
|
||||
AudioContextFadeIn = nil # :nodoc:
|
||||
AudioContextSetVolume = nil # :nodoc:
|
||||
AudioContextSEPlay = nil # :nodoc:
|
||||
end
|
||||
|
||||
@channel = nil
|
||||
@bgm = nil
|
||||
@name = ""
|
||||
@pitch = 100
|
||||
@bgmVolume = 100.0
|
||||
@meVolume = 100.0
|
||||
@bgsVolume = 100.0
|
||||
@seVolume = 100.0
|
||||
|
||||
def self.setWaitingBGM(bgm,volume,pitch,position)
|
||||
@waitingBGM=[bgm,volume,pitch,position]
|
||||
end
|
||||
|
||||
def self.bgmActive?
|
||||
return !@BGMContext ? false : (AudioContextIsActive.call(@BGMContext.context)!=0)
|
||||
end
|
||||
|
||||
def self.meActive?
|
||||
return !@MEContext ? false : (AudioContextIsActive.call(@MEContext.context)!=0)
|
||||
end
|
||||
|
||||
def self.waitingBGM; @waitingBGM; end
|
||||
def self.context; @BGMContext ? @BGMContext.context : nil; end
|
||||
def self.meContext; @MEContext ? @MEContext.context : nil; end
|
||||
def self.bgsContext; @BGSContext ? @BGSContext.context : nil; end
|
||||
def self.seContext; @SEContext ? @SEContext.context : nil; end
|
||||
def self.system; @system; end
|
||||
def self.bgm; @bgm; end
|
||||
def self.name; @name; end
|
||||
def self.pitch; @pitch; end
|
||||
def self.volume; @volume; end
|
||||
|
||||
def self.waitingBGM=(value);
|
||||
Thread.exclusive { @waitingBGM=value; }
|
||||
end
|
||||
|
||||
def self.volume=(value); @volume=value; end
|
||||
def self.bgm=(value); @bgm=value; end
|
||||
def self.name=(value); @name=value; end
|
||||
def self.pitch=(value); @pitch=value; end
|
||||
end
|
||||
|
||||
|
||||
|
||||
def Audio_bgm_playing?
|
||||
AudioState.channel!=nil
|
||||
end
|
||||
|
||||
def Audio_bgm_name
|
||||
AudioState.name
|
||||
end
|
||||
|
||||
def Audio_bgm_pitch
|
||||
AudioState.pitch
|
||||
end
|
||||
|
||||
def Audio_bgm_play(name, volume, pitch, position = 0)
|
||||
volume=0 if !getPlayMusic()
|
||||
begin
|
||||
filename = canonicalize(RTP.getAudioPath(name))
|
||||
if AudioState.meActive?
|
||||
AudioState.setWaitingBGM(filename,volume,pitch,position)
|
||||
return
|
||||
end
|
||||
AudioState::AudioContextPlay.call(AudioState.context,filename,volume,pitch,position,1)
|
||||
AudioState.name=filename
|
||||
AudioState.volume=volume
|
||||
AudioState.pitch=pitch
|
||||
rescue Hangup
|
||||
rescue
|
||||
p $!.message,$!.backtrace
|
||||
end
|
||||
end
|
||||
|
||||
def Audio_bgm_fadein(ms)
|
||||
AudioState::AudioContextFadeIn.call(AudioState.context,ms.to_i)
|
||||
end
|
||||
|
||||
def Audio_bgm_fade(ms)
|
||||
AudioState::AudioContextFadeOut.call(AudioState.context,ms.to_i)
|
||||
end
|
||||
|
||||
def Audio_bgm_stop()
|
||||
begin
|
||||
AudioState::AudioContextStop.call(AudioState.context)
|
||||
AudioState.waitingBGM=nil
|
||||
AudioState.name = ""
|
||||
rescue
|
||||
p $!.message,$!.backtrace
|
||||
end
|
||||
end
|
||||
|
||||
def Audio_bgm_get_position
|
||||
return AudioState::AudioContextGetPosition.call(AudioState.context)
|
||||
end
|
||||
|
||||
def Audio_bgm_get_volume
|
||||
return 0 if !AudioState.bgmActive?
|
||||
return AudioState.volume
|
||||
end
|
||||
|
||||
def Audio_bgm_set_volume(volume)
|
||||
return if !AudioState.bgmActive?
|
||||
AudioState.volume = volume * 1.0
|
||||
AudioState::AudioContextSetVolume.call(AudioState.context,volume.to_i)
|
||||
end
|
||||
|
||||
def Audio_me_play(name, volume, pitch, position = 0)
|
||||
volume=0 if !getPlayMusic()
|
||||
begin
|
||||
filename = canonicalize(RTP.getAudioPath(name))
|
||||
if AudioState.bgmActive?
|
||||
bgmPosition=Audio_bgm_get_position
|
||||
AudioState.setWaitingBGM(
|
||||
AudioState.name,
|
||||
AudioState.volume,
|
||||
AudioState.pitch,
|
||||
bgmPosition
|
||||
)
|
||||
AudioState::AudioContextStop.call(AudioState.context)
|
||||
end
|
||||
AudioState::AudioContextPlay.call(AudioState.meContext,filename,
|
||||
volume,pitch,position,0)
|
||||
rescue
|
||||
p $!.message,$!.backtrace
|
||||
end
|
||||
end
|
||||
|
||||
def Audio_me_fade(ms)
|
||||
AudioState::AudioContextFadeOut.call(AudioState.meContext,ms)
|
||||
end
|
||||
|
||||
def Audio_me_stop()
|
||||
AudioState::AudioContextStop.call(AudioState.meContext)
|
||||
end
|
||||
|
||||
def Audio_bgs_play(name, volume, pitch, position = 0)
|
||||
volume=0 if !getPlaySound()
|
||||
begin
|
||||
filename = canonicalize(RTP.getAudioPath(name))
|
||||
AudioState::AudioContextPlay.call(AudioState.bgsContext,filename,
|
||||
volume,pitch,position,0)
|
||||
rescue
|
||||
p $!.message,$!.backtrace
|
||||
end
|
||||
end
|
||||
|
||||
def Audio_bgs_fade(ms)
|
||||
AudioState::AudioContextFadeOut.call(AudioState.bgsContext,ms)
|
||||
end
|
||||
|
||||
def Audio_bgs_stop()
|
||||
AudioState::AudioContextStop.call(AudioState.bgsContext)
|
||||
end
|
||||
|
||||
def Audio_se_play(name, volume, pitch, position = 0)
|
||||
volume=0 if !getPlaySound()
|
||||
begin
|
||||
filename = canonicalize(RTP.getAudioPath(name))
|
||||
AudioState::AudioContextSEPlay.call(AudioState.seContext,filename,
|
||||
volume,pitch,position)
|
||||
rescue
|
||||
p $!.message,$!.backtrace
|
||||
end
|
||||
end
|
||||
|
||||
def Audio_se_stop()
|
||||
AudioState::AudioContextStop.call(AudioState.seContext)
|
||||
end
|
||||
|
||||
|
||||
|
||||
####################################################
|
||||
if safeExists?("audio.dll")
|
||||
module Graphics
|
||||
if !defined?(audiomodule_update)
|
||||
class << self
|
||||
alias audiomodule_update update
|
||||
end
|
||||
end
|
||||
|
||||
def self.update
|
||||
Audio.update
|
||||
audiomodule_update
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
module Audio
|
||||
@@musicstate = nil
|
||||
@@soundstate = nil
|
||||
|
||||
def self.update
|
||||
return if Graphics.frame_count%10!=0
|
||||
if AudioState.waitingBGM && !AudioState.meActive?
|
||||
waitbgm=AudioState.waitingBGM
|
||||
AudioState.waitingBGM=nil
|
||||
bgm_play(waitbgm[0],waitbgm[1],waitbgm[2],waitbgm[3])
|
||||
end
|
||||
end
|
||||
|
||||
def self.bgm_play(name,volume=80,pitch=100,position=nil)
|
||||
begin
|
||||
if position==nil || position==0
|
||||
Audio_bgm_play(name,volume,pitch,0)
|
||||
else
|
||||
Audio_bgm_play(name,volume,pitch,position)
|
||||
Audio_bgm_fadein(500)
|
||||
end
|
||||
rescue Hangup
|
||||
bgm_play(name,volume,pitch,position)
|
||||
end
|
||||
end
|
||||
|
||||
def self.bgm_fade(ms)
|
||||
Audio_bgm_fade(ms)
|
||||
end
|
||||
|
||||
def self.bgm_stop
|
||||
Audio_bgm_stop()
|
||||
end
|
||||
|
||||
def self.bgm_position
|
||||
return Audio_bgm_get_position
|
||||
end
|
||||
|
||||
def self.me_play(name,volume=80,pitch=100)
|
||||
Audio_me_play(name,volume,pitch,0)
|
||||
end
|
||||
|
||||
def self.me_fade(ms)
|
||||
Audio_me_fade(ms)
|
||||
end
|
||||
|
||||
def self.me_stop
|
||||
Audio_me_stop()
|
||||
end
|
||||
|
||||
def self.bgs_play(name,volume=80,pitch=100)
|
||||
Audio_bgs_play(name,volume,pitch,0)
|
||||
end
|
||||
|
||||
def self.bgs_fade(ms)
|
||||
Audio_bgs_fade(ms)
|
||||
end
|
||||
|
||||
def self.bgs_stop
|
||||
Audio_bgs_stop()
|
||||
end
|
||||
|
||||
=begin
|
||||
def self.se_play(name,volume=80,pitch=100)
|
||||
Audio_se_play(name,volume,pitch,0)
|
||||
end
|
||||
|
||||
def self.se_stop
|
||||
Audio_se_stop()
|
||||
end
|
||||
=end
|
||||
end
|
||||
end # safeExists?("audio.dll")
|
||||
292
Data/Scripts/007_Audio/002_AudioPlay.rb
Normal file
292
Data/Scripts/007_Audio/002_AudioPlay.rb
Normal file
@@ -0,0 +1,292 @@
|
||||
def pbStringToAudioFile(str)
|
||||
if str[/^(.*)\:\s*(\d+)\s*\:\s*(\d+)\s*$/] # Of the format "XXX: ###: ###"
|
||||
file = $1
|
||||
volume = $2.to_i
|
||||
pitch = $3.to_i
|
||||
return RPG::AudioFile.new(file,volume,pitch)
|
||||
elsif str[/^(.*)\:\s*(\d+)\s*$/] # Of the format "XXX: ###"
|
||||
file = $1
|
||||
volume = $2.to_i
|
||||
return RPG::AudioFile.new(file,volume,100)
|
||||
else
|
||||
return RPG::AudioFile.new(str,100,100)
|
||||
end
|
||||
end
|
||||
|
||||
# Converts an object to an audio file.
|
||||
# str -- Either a string showing the filename or an RPG::AudioFile object.
|
||||
# Possible formats for _str_:
|
||||
# filename volume and pitch 100
|
||||
# filename:volume pitch 100
|
||||
# filename:volume:pitch
|
||||
# volume -- Volume of the file, up to 100
|
||||
# pitch -- Pitch of the file, normally 100
|
||||
def pbResolveAudioFile(str,volume=nil,pitch=nil)
|
||||
if str.is_a?(String)
|
||||
str = pbStringToAudioFile(str)
|
||||
str.volume = volume || 100
|
||||
str.pitch = pitch || 100
|
||||
end
|
||||
if str.is_a?(RPG::AudioFile)
|
||||
if volume || pitch
|
||||
return RPG::AudioFile.new(str.name,volume || str.volume || 100 ,
|
||||
pitch || str.pitch || 100)
|
||||
else
|
||||
return str
|
||||
end
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
################################################################################
|
||||
|
||||
# Plays a BGM file.
|
||||
# param -- Either a string showing the filename
|
||||
# (relative to Audio/BGM/) or an RPG::AudioFile object.
|
||||
# Possible formats for _param_:
|
||||
# filename volume and pitch 100
|
||||
# filename:volume pitch 100
|
||||
# filename:volume:pitch
|
||||
# volume -- Volume of the file, up to 100
|
||||
# pitch -- Pitch of the file, normally 100
|
||||
def pbBGMPlay(param,volume=nil,pitch=nil)
|
||||
return if !param
|
||||
param=pbResolveAudioFile(param,volume,pitch)
|
||||
if param.name && param.name!=""
|
||||
if $game_system && $game_system.respond_to?("bgm_play")
|
||||
$game_system.bgm_play(param)
|
||||
return
|
||||
elsif (RPG.const_defined?(:BGM) rescue false)
|
||||
b=RPG::BGM.new(param.name,param.volume,param.pitch)
|
||||
if b && b.respond_to?("play")
|
||||
b.play
|
||||
return
|
||||
end
|
||||
end
|
||||
Audio.bgm_play(canonicalize("Audio/BGM/"+param.name),param.volume,param.pitch)
|
||||
end
|
||||
end
|
||||
|
||||
# Fades out or stops BGM playback. 'x' is the time in seconds to fade out.
|
||||
def pbBGMFade(x=0.0); pbBGMStop(x);end
|
||||
|
||||
# Fades out or stops BGM playback. 'x' is the time in seconds to fade out.
|
||||
def pbBGMStop(timeInSeconds=0.0)
|
||||
if $game_system && timeInSeconds>0.0 && $game_system.respond_to?("bgm_fade")
|
||||
$game_system.bgm_fade(timeInSeconds)
|
||||
return
|
||||
elsif $game_system && $game_system.respond_to?("bgm_stop")
|
||||
$game_system.bgm_stop
|
||||
return
|
||||
elsif (RPG.const_defined?(:BGM) rescue false)
|
||||
begin
|
||||
(timeInSeconds>0.0) ? RPG::BGM.fade((timeInSeconds*1000).floor) : RPG::BGM.stop
|
||||
return
|
||||
rescue
|
||||
end
|
||||
end
|
||||
(timeInSeconds>0.0) ? Audio.bgm_fade((timeInSeconds*1000).floor) : Audio.bgm_stop
|
||||
end
|
||||
|
||||
################################################################################
|
||||
|
||||
# Plays an ME file.
|
||||
# param -- Either a string showing the filename
|
||||
# (relative to Audio/ME/) or an RPG::AudioFile object.
|
||||
# Possible formats for _param_:
|
||||
# filename volume and pitch 100
|
||||
# filename:volume pitch 100
|
||||
# filename:volume:pitch
|
||||
# volume -- Volume of the file, up to 100
|
||||
# pitch -- Pitch of the file, normally 100
|
||||
def pbMEPlay(param,volume=nil,pitch=nil)
|
||||
return if !param
|
||||
param=pbResolveAudioFile(param,volume,pitch)
|
||||
if param.name && param.name!=""
|
||||
if $game_system && $game_system.respond_to?("me_play")
|
||||
$game_system.me_play(param)
|
||||
return
|
||||
elsif (RPG.const_defined?(:ME) rescue false)
|
||||
b=RPG::ME.new(param.name,param.volume,param.pitch)
|
||||
if b && b.respond_to?("play")
|
||||
b.play; return
|
||||
end
|
||||
end
|
||||
Audio.me_play(canonicalize("Audio/ME/"+param.name),param.volume,param.pitch)
|
||||
end
|
||||
end
|
||||
|
||||
# Fades out or stops ME playback. 'x' is the time in seconds to fade out.
|
||||
def pbMEFade(x=0.0); pbMEStop(x);end
|
||||
|
||||
# Fades out or stops ME playback. 'x' is the time in seconds to fade out.
|
||||
def pbMEStop(timeInSeconds=0.0)
|
||||
if $game_system && timeInSeconds>0.0 && $game_system.respond_to?("me_fade")
|
||||
$game_system.me_fade(timeInSeconds)
|
||||
return
|
||||
elsif $game_system && $game_system.respond_to?("me_stop")
|
||||
$game_system.me_stop(nil)
|
||||
return
|
||||
elsif (RPG.const_defined?(:ME) rescue false)
|
||||
begin
|
||||
(timeInSeconds>0.0) ? RPG::ME.fade((timeInSeconds*1000).floor) : RPG::ME.stop
|
||||
return
|
||||
rescue
|
||||
end
|
||||
end
|
||||
(timeInSeconds>0.0) ? Audio.me_fade((timeInSeconds*1000).floor) : Audio.me_stop
|
||||
end
|
||||
|
||||
################################################################################
|
||||
|
||||
# Plays a BGS file.
|
||||
# param -- Either a string showing the filename
|
||||
# (relative to Audio/BGS/) or an RPG::AudioFile object.
|
||||
# Possible formats for _param_:
|
||||
# filename volume and pitch 100
|
||||
# filename:volume pitch 100
|
||||
# filename:volume:pitch
|
||||
# volume -- Volume of the file, up to 100
|
||||
# pitch -- Pitch of the file, normally 100
|
||||
def pbBGSPlay(param,volume=nil,pitch=nil)
|
||||
return if !param
|
||||
param=pbResolveAudioFile(param,volume,pitch)
|
||||
if param.name && param.name!=""
|
||||
if $game_system && $game_system.respond_to?("bgs_play")
|
||||
$game_system.bgs_play(param)
|
||||
return
|
||||
elsif (RPG.const_defined?(:BGS) rescue false)
|
||||
b=RPG::BGS.new(param.name,param.volume,param.pitch)
|
||||
if b && b.respond_to?("play")
|
||||
b.play; return
|
||||
end
|
||||
end
|
||||
Audio.bgs_play(canonicalize("Audio/BGS/"+param.name),param.volume,param.pitch)
|
||||
end
|
||||
end
|
||||
|
||||
# Fades out or stops BGS playback. 'x' is the time in seconds to fade out.
|
||||
def pbBGSFade(x=0.0); pbBGSStop(x);end
|
||||
|
||||
# Fades out or stops BGS playback. 'x' is the time in seconds to fade out.
|
||||
def pbBGSStop(timeInSeconds=0.0)
|
||||
if $game_system && timeInSeconds>0.0 && $game_system.respond_to?("bgs_fade")
|
||||
$game_system.bgs_fade(timeInSeconds)
|
||||
return
|
||||
elsif $game_system && $game_system.respond_to?("bgs_play")
|
||||
$game_system.bgs_play(nil)
|
||||
return
|
||||
elsif (RPG.const_defined?(:BGS) rescue false)
|
||||
begin
|
||||
(timeInSeconds>0.0) ? RPG::BGS.fade((timeInSeconds*1000).floor) : RPG::BGS.stop
|
||||
return
|
||||
rescue
|
||||
end
|
||||
end
|
||||
(timeInSeconds>0.0) ? Audio.bgs_fade((timeInSeconds*1000).floor) : Audio.bgs_stop
|
||||
end
|
||||
|
||||
################################################################################
|
||||
|
||||
# Plays an SE file.
|
||||
# param -- Either a string showing the filename
|
||||
# (relative to Audio/SE/) or an RPG::AudioFile object.
|
||||
# Possible formats for _param_:
|
||||
# filename volume and pitch 100
|
||||
# filename:volume pitch 100
|
||||
# filename:volume:pitch
|
||||
# volume -- Volume of the file, up to 100
|
||||
# pitch -- Pitch of the file, normally 100
|
||||
def pbSEPlay(param,volume=nil,pitch=nil)
|
||||
return if !param
|
||||
param = pbResolveAudioFile(param,volume,pitch)
|
||||
if param.name && param.name!=""
|
||||
if $game_system && $game_system.respond_to?("se_play")
|
||||
$game_system.se_play(param)
|
||||
return
|
||||
end
|
||||
if (RPG.const_defined?(:SE) rescue false)
|
||||
b = RPG::SE.new(param.name,param.volume,param.pitch)
|
||||
if b && b.respond_to?("play")
|
||||
b.play
|
||||
return
|
||||
end
|
||||
end
|
||||
Audio.se_play(canonicalize("Audio/SE/"+param.name),param.volume,param.pitch)
|
||||
end
|
||||
end
|
||||
|
||||
# Stops SE playback.
|
||||
def pbSEFade(x=0.0); pbSEStop(x);end
|
||||
|
||||
# Stops SE playback.
|
||||
def pbSEStop(timeInSeconds=0.0)
|
||||
if $game_system
|
||||
$game_system.se_stop
|
||||
elsif (RPG.const_defined?(:SE) rescue false)
|
||||
RPG::SE.stop rescue nil
|
||||
else
|
||||
Audio.se_stop
|
||||
end
|
||||
end
|
||||
|
||||
################################################################################
|
||||
|
||||
# Plays a sound effect that plays when the player moves the cursor.
|
||||
def pbPlayCursorSE
|
||||
if $data_system && $data_system.respond_to?("cursor_se") &&
|
||||
$data_system.cursor_se && $data_system.cursor_se.name!=""
|
||||
pbSEPlay($data_system.cursor_se)
|
||||
elsif $data_system && $data_system.respond_to?("sounds") &&
|
||||
$data_system.sounds && $data_system.sounds[0] && $data_system.sounds[0].name!=""
|
||||
pbSEPlay($data_system.sounds[0])
|
||||
elsif FileTest.audio_exist?("Audio/SE/GUI sel cursor")
|
||||
pbSEPlay("GUI sel cursor",80)
|
||||
end
|
||||
end
|
||||
|
||||
# Plays a sound effect that plays when a decision is confirmed or a choice is made.
|
||||
def pbPlayDecisionSE
|
||||
if $data_system && $data_system.respond_to?("decision_se") &&
|
||||
$data_system.decision_se && $data_system.decision_se.name!=""
|
||||
pbSEPlay($data_system.decision_se)
|
||||
elsif $data_system && $data_system.respond_to?("sounds") &&
|
||||
$data_system.sounds && $data_system.sounds[1] && $data_system.sounds[1].name!=""
|
||||
pbSEPlay($data_system.sounds[1])
|
||||
elsif FileTest.audio_exist?("Audio/SE/GUI sel decision")
|
||||
pbSEPlay("GUI sel decision",80)
|
||||
end
|
||||
end
|
||||
|
||||
# Plays a sound effect that plays when a choice is canceled.
|
||||
def pbPlayCancelSE
|
||||
if $data_system && $data_system.respond_to?("cancel_se") &&
|
||||
$data_system.cancel_se && $data_system.cancel_se.name!=""
|
||||
pbSEPlay($data_system.cancel_se)
|
||||
elsif $data_system && $data_system.respond_to?("sounds") &&
|
||||
$data_system.sounds && $data_system.sounds[2] && $data_system.sounds[2].name!=""
|
||||
pbSEPlay($data_system.sounds[2])
|
||||
elsif FileTest.audio_exist?("Audio/SE/GUI sel cancel")
|
||||
pbSEPlay("GUI sel cancel",80)
|
||||
end
|
||||
end
|
||||
|
||||
# Plays a buzzer sound effect.
|
||||
def pbPlayBuzzerSE
|
||||
if $data_system && $data_system.respond_to?("buzzer_se") &&
|
||||
$data_system.buzzer_se && $data_system.buzzer_se.name!=""
|
||||
pbSEPlay($data_system.buzzer_se)
|
||||
elsif $data_system && $data_system.respond_to?("sounds") &&
|
||||
$data_system.sounds && $data_system.sounds[3] && $data_system.sounds[3].name!=""
|
||||
pbSEPlay($data_system.sounds[3])
|
||||
elsif FileTest.audio_exist?("Audio/SE/GUI sel buzzer")
|
||||
pbSEPlay("GUI sel buzzer",80)
|
||||
end
|
||||
end
|
||||
|
||||
# Plays a sound effect that plays when the player moves the cursor.
|
||||
def pbPlayCloseMenuSE
|
||||
if FileTest.audio_exist?("Audio/SE/GUI menu close")
|
||||
pbSEPlay("GUI menu close",80)
|
||||
end
|
||||
end
|
||||
1350
Data/Scripts/007_Audio/003_AudioUtilities.rb
Normal file
1350
Data/Scripts/007_Audio/003_AudioUtilities.rb
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user