IceDragon200

ISS-FullAudioPlay

Apr 23rd, 2011
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.33 KB | None | 0 0
  1. #==============================================================================#
  2. # ISS - Full Audio Play
  3. #==============================================================================#
  4. # Date Created  : 04/23/2011
  5. # Date Modified : 04/23/2011
  6. # Created By    : IceDragon
  7. # For Game      : S.A.R.A
  8. #==============================================================================#
  9. # How this works?
  10. # This will play a given audio file using one of the 4 avaiable audio options
  11. # BGM, play through and loop
  12. # BGS, play through and loop
  13. # ME will mute BGMs while playing, and are one shots
  14. # SE can be called multiple times, and are one shots
  15. #
  16. # // In an event use the following line
  17. # ISS.play_bgm(type, name, vol, pit)
  18. # ISS.play_bgs(type, name, vol, pit)
  19. # ISS.play_me(type, name, vol, pit)
  20. # ISS.play_se(type, name, vol, pit)
  21. #
  22. # type :
  23. # :bgm - Will play then a BGM file
  24. # :bgs - Will play then a BGS file
  25. # :se  - Will play then a SE file
  26. # :me  - Will play then a ME file
  27. #
  28. # name - Filename
  29. # vol  - Volume of the audio file (0-100)
  30. # pitch- Pitch of the Audio File (50-150)
  31. #
  32. # EG
  33. # ISS.play_bgm(:bgs, "Battle1", 90, 100)
  34. # This will play the BGM battle1 using the BGS audio _play
  35. #
  36. # ISS.play_se(:me, "Absorb01", 90, 100)
  37. # This will play the SE Absorb01 using the ME audio _play
  38. #
  39. #==============================================================================#
  40. #==============================================================================#
  41. # ISS
  42. #==============================================================================#  
  43. module ISS
  44.  
  45.   module_function
  46.  
  47.   #--------------------------------------------------------------------------#
  48.   # * method :play_bgm
  49.   #--------------------------------------------------------------------------#  
  50.   def play_bgm(type, name, vol, pit)
  51.     case type
  52.     when :bgm
  53.       a = RPG::BGM.new(name, vol, pit)
  54.     when :bgs
  55.       a = RPG::BGS.new(name, vol, pit)
  56.       a.play_mode = :bgm
  57.     when :me
  58.       a = RPG::ME.new(name, vol, pit)
  59.       a.play_mode = :bgm
  60.     when :se  
  61.       a = RPG::SE.new(name, vol, pit)
  62.       a.play_mode = :bgm
  63.     end  
  64.     a.play
  65.   end
  66.  
  67.   #--------------------------------------------------------------------------#
  68.   # * method :play_bgs
  69.   #--------------------------------------------------------------------------#  
  70.   def play_bgs(type, name, vol, pit)
  71.     case type
  72.     when :bgm
  73.       a = RPG::BGM.new(name, vol, pit)
  74.       a.play_mode = :bgs
  75.     when :bgs
  76.       a = RPG::BGS.new(name, vol, pit)
  77.     when :me
  78.       a = RPG::ME.new(name, vol, pit)
  79.       a.play_mode = :bgs
  80.     when :se  
  81.       a = RPG::SE.new(name, vol, pit)
  82.       a.play_mode = :bgs
  83.     end  
  84.     a.play
  85.   end
  86.  
  87.   #--------------------------------------------------------------------------#
  88.   # * method :play_me
  89.   #--------------------------------------------------------------------------#  
  90.   def play_me(type, name, vol, pit)
  91.     case type
  92.     when :bgm
  93.       a = RPG::BGM.new(name, vol, pit)
  94.       a.play_mode = :me
  95.     when :bgs
  96.       a = RPG::BGS.new(name, vol, pit)
  97.       a.play_mode = :me
  98.     when :me
  99.       a = RPG::ME.new(name, vol, pit)
  100.     when :se  
  101.       a = RPG::SE.new(name, vol, pit)
  102.       a.play_mode = :me
  103.     end  
  104.     a.play
  105.   end
  106.  
  107.   #--------------------------------------------------------------------------#
  108.   # * method :play_se
  109.   #--------------------------------------------------------------------------#  
  110.   def play_se(type, name, vol, pit)
  111.     case type
  112.     when :bgm
  113.       a = RPG::BGM.new(name, vol, pit)
  114.       a.play_mode = :se
  115.     when :bgs
  116.       a = RPG::BGS.new(name, vol, pit)
  117.       a.play_mode = :se
  118.     when :me
  119.       a = RPG::ME.new(name, vol, pit)
  120.       a.play_mode = :se
  121.     when :se  
  122.       a = RPG::SE.new(name, vol, pit)
  123.     end  
  124.     a.play
  125.   end
  126.  
  127. end
  128.  
  129. #==============================================================================#
  130. # RPG
  131. #==============================================================================#
  132. module RPG
  133. #==============================================================================#
  134. # AudioFile
  135. #==============================================================================#  
  136.   class AudioFile ; attr_accessor :play_mode end
  137. #==============================================================================#
  138. # BGM
  139. #==============================================================================#  
  140.   class BGM
  141.   #--------------------------------------------------------------------------#
  142.   # * alias method :initialize
  143.   #--------------------------------------------------------------------------#      
  144.     alias iss_initialize initialize unless $@
  145.     def initialize(*args)
  146.       iss_initialize(*args)
  147.       @play_mode = :bgm
  148.     end
  149.   #--------------------------------------------------------------------------#
  150.   # * overwrite method :play
  151.   #--------------------------------------------------------------------------#        
  152.     def play
  153.       if @name.empty?
  154.         Audio.bgm_stop
  155.         @@last = BGM.new
  156.       else
  157.         @play_mode = :bgm if @play_mode.nil?
  158.         case @play_mode
  159.         when :bgm
  160.           Audio.bgm_play("Audio/BGM/" + @name, @volume, @pitch)
  161.         when :bgs
  162.           Audio.bgm_play("Audio/BGS/" + @name, @volume, @pitch)
  163.         when :se
  164.           Audio.bgm_play("Audio/SE/" + @name, @volume, @pitch)
  165.         when :me  
  166.           Audio.bgm_play("Audio/ME/" + @name, @volume, @pitch)
  167.         end  
  168.         @@last = self
  169.       end
  170.     end
  171.    
  172.   end
  173. #==============================================================================#
  174. # BGS
  175. #==============================================================================#    
  176.   class BGS
  177.   #--------------------------------------------------------------------------#
  178.   # * alias method :initialize
  179.   #--------------------------------------------------------------------------#  
  180.     alias iss_initialize initialize unless $@
  181.     def initialize(*args)
  182.       iss_initialize(*args)
  183.       @play_mode = :bgs
  184.     end
  185.   #--------------------------------------------------------------------------#
  186.   # * overwrite method :play
  187.   #--------------------------------------------------------------------------#        
  188.     def play
  189.       if @name.empty?
  190.         Audio.bgs_stop
  191.         @@last = BGS.new
  192.       else
  193.         @play_mode = :bgs if @play_mode.nil?
  194.         case @play_mode
  195.         when :bgm
  196.           Audio.bgs_play("Audio/BGM/" + @name, @volume, @pitch)
  197.         when :bgs
  198.           Audio.bgs_play("Audio/BGS/" + @name, @volume, @pitch)
  199.         when :se
  200.           Audio.bgs_play("Audio/SE/" + @name, @volume, @pitch)
  201.         when :me  
  202.           Audio.bgs_play("Audio/ME/" + @name, @volume, @pitch)
  203.         end  
  204.         @@last = self
  205.       end
  206.     end
  207.    
  208.   end
  209. #==============================================================================#
  210. # ME
  211. #==============================================================================#      
  212.   class ME
  213.   #--------------------------------------------------------------------------#
  214.   # * alias method :initialize
  215.   #--------------------------------------------------------------------------#      
  216.     alias iss_initialize initialize unless $@
  217.     def initialize(*args)
  218.       iss_initialize(*args)
  219.       @play_mode = :me
  220.     end
  221.   #--------------------------------------------------------------------------#
  222.   # * overwrite method :play
  223.   #--------------------------------------------------------------------------#              
  224.     def play
  225.       if @name.empty?
  226.         Audio.me_stop
  227.       else
  228.         @play_mode = :me if @play_mode.nil?
  229.         case @play_mode
  230.         when :bgm
  231.           Audio.me_play("Audio/BGM/" + @name, @volume, @pitch)
  232.         when :bgs
  233.           Audio.me_play("Audio/BGS/" + @name, @volume, @pitch)
  234.         when :se
  235.           Audio.me_play("Audio/SE/" + @name, @volume, @pitch)
  236.         when :me  
  237.           Audio.me_play("Audio/ME/" + @name, @volume, @pitch)
  238.         end
  239.       end
  240.     end
  241.    
  242.   end
  243. #==============================================================================#
  244. # SE
  245. #==============================================================================#  
  246.   class SE
  247.   #--------------------------------------------------------------------------#
  248.   # * alias method :initialize
  249.   #--------------------------------------------------------------------------#    
  250.     alias iss_initialize initialize unless $@
  251.     def initialize(*args)
  252.       iss_initialize(*args)
  253.       @play_mode = :se
  254.     end
  255.   #--------------------------------------------------------------------------#
  256.   # * overwrite method :play
  257.   #--------------------------------------------------------------------------#                  
  258.     def play
  259.       unless @name.empty?
  260.         @play_mode = :se if @play_mode.nil?
  261.         case @play_mode
  262.         when :bgm
  263.           Audio.se_play("Audio/BGM/" + @name, @volume, @pitch)
  264.         when :bgs
  265.           Audio.se_play("Audio/BGS/" + @name, @volume, @pitch)
  266.         when :se
  267.           Audio.se_play("Audio/SE/" + @name, @volume, @pitch)
  268.         when :me  
  269.           Audio.se_play("Audio/ME/" + @name, @volume, @pitch)
  270.         end
  271.       end
  272.     end
  273.    
  274.   end
  275.  
  276. end
  277. #=*==========================================================================*=#
  278. # ** END OF FILE
  279. #=*==========================================================================*=#
Advertisement
Add Comment
Please, Sign In to add comment