public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

VXFModEx Audio Library

BMM Archive · July 16, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: FModEx Audio Library
  • Original author: FenixFyreX
  • Original date: July 25, 2012
  • Source thread: https://forums.rpgmakerweb.com/threads/fmodex-audio-library.3511/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS2 Scripts (RMVX)

Summary

FModEx Audio Library ​ v1.0 for RMVX ​

Archived First Post

FModEx Audio Library




v1.0 for RMVX


Introduction

This library allows the user to memorize, pause, and resume music in RMVX.

Script/Demo

The demo with the scripts can be found here:

FModEx v1.0 RMVX

FAQ / Q&A / Notes

Keep this script above all other custom scripts. It may not work with custom battle systems. If not, request a patch and I'll provide one(cause this overwrites the playback of map music).

Why do midi's sound weird?

This script does not play nice with midi's. They are still playable, though, they just sound a bit harsher(the echo effect is gone).

What are all the script calls one can make, etc?

Here is a full list:

Code:
#  pause_bgm  OR  pause_bgm(fade)
#    pauses playback, if fade is included, the music fades out. fade is a number.
#
#  resume_bgm OR resume_bgm(fade)
#    pauses playback, if fade is included, the music fades in. fade is true or false.
#
#  memorize_bgm
#    memorizes the current bgm, does nothing if one isn't playing
#
#  pause_bgs  OR  pause_bgs(fade)
#    pauses playback, if fade is included, the bgs fades out. fade is a number.
#
#  resume_bgs OR resume_bgs(fade)
#    pauses playback, if fade is included, the bgs fades in. fade is true or false.
#
#  memorize_bgs
#    memorizes the current bgs, does nothing if one isn't playing
How come this script errors when I use skills from YEM/BEM?

I can almost guarantee the reason is that the skill in question is playing an ungodly amount of sound effects per second, resulting in an overflow error. Try toning down the amount of sound effects being played by the skills' animations.

Can you make this work with Victory Aftermath?

After further scrutiny, here is a patch for the two systems. The order of the scripts need to be:
FModExVAftermath

Patch
Code:
class Scene_Map < Scene_Base
  def call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_system.memorize_bgm
    $game_system.memorize_bgs
    RPG::BGM.stop
    RPG::BGS.stop
    Sound.play_battle_start
    $game_system.battle_bgm.play
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end

  def setup_fmodex_battle_call
    $game_system.memorize_bgm
    $game_system.memorize_bgs
    RPG::BGM.stop
    RPG::BGS.stop
  end
end

class Scene_Battle < Scene_Base
  def fmodex_battle_end
    unless $BTEST
      $game_system.resume_bgm(true,true)
      $game_system.resume_bgs(true,true)
    end
  end

  def process_victory
    initialize_globals
    @onscreen_status_window.close if $imported["OnScreenStatus"]
    wait(YE::BATTLE::DISPLAY::VA_WAIT)
    @info_viewport.visible = false
    if $imported["SceneBattleReDux"] and @redux_msg
      @message_window.dispose
      @message_window = Window_BattleMessage.new
    end
    @message_window.visible = true
    unless $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_WHOLE_SWITCH]
      unless $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_BGM_SWITCH]
        RPG::BGM.stop
        $game_system.battle_end_me.play
        if YE::BATTLE::DISPLAY::VA_PLAY_VICTORY_BGM
          victory_bgm = YE::BATTLE::DISPLAY::VA_BGM
          victory_bgm.play
        else
           fmodex_battle_end
        end
      end
      @message_window.back_opacity = YE::BATTLE::DISPLAY::VA_BACK_OPACITY
      if $imported["VictoryAftermathCompatibility"]
        @message_window.dispose if @message_window != nil
        @message_window = Window_BattleMessageCompatible.new
      end
      display_first_page
      display_extra_pages if $imported["VictoryAftermathExtras"]
      create_drop_items
      display_last_page
    else
      value = YE::BATTLE::DISPLAY::VA_WAIT
      value = 60 if value < 60
      wait(value)
      #---------
      gold = $game_troop.gold_total
      $game_party.gain_gold(gold)
      exp = $game_troop.exp_total
      members = $game_party.members.size
      if YE::BATTLE::DISPLAY::VA_EXP_SPLIT
        if members == 1
          exp *= YE::BATTLE::DISPLAY::VA_EXP_1_MEMBER
        elsif members == 2
          exp *= YE::BATTLE::DISPLAY::VA_EXP_2_MEMBERS
        elsif members == 3
          exp *= YE::BATTLE::DISPLAY::VA_EXP_3_MEMBERS
        else
          exp *= YE::BATTLE::DISPLAY::VA_EXP_4_MEMBERS
        end
        exp /= 100
      end
      drop_items = $game_troop.make_drop_items
      for item in drop_items
        $game_party.gain_item(item, 1)
      end
      for actor in $game_party.existing_members
        actor.gain_exp(exp, false)
      end
      hidden_extra_pages if $imported["VictoryAftermathExtras"]
      #---------
    end
    unless $BTEST or $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_BGM_SWITCH]
       fmodex_battle_end unless !YE::BATTLE::DISPLAY::VA_PLAY_VICTORY_BGM
    end
    victory_me = Thread.new {
      time = YE::BATTLE::DISPLAY::VA_ME_FADE
      RPG::ME.fade(time)
      sleep(time / 1000.0)
      RPG::ME.stop }
    battle_end(0)
    if YE::BATTLE::DISPLAY::VA_USE_COMEVENT
      $game_temp.common_event_id = YE::BATTLE::DISPLAY::VA_COMMON_EVENT
    end
  end
end
If you have any questions, or bugs, please ask / post.

NOTICE: The two compositions in the demo were created by Da Buzz, and Mitchell McLaughlin. Credit them for the two pieces of music.

NOTICE: To use this system, you must credit the following:


Hiretsukan (Kevin Gadd) - janus@luminance.org - CREATOR OF SCRIPT

RPG/Cowlol (Firas Assad) - ArePeeGee (AIM name) - Modifier

FenixFyreX (Chaz Domerese) - fenixfyrex@gmail.com (GMail) - Modifier

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

NOTICE: The two compositions in the demo were created by Da Buzz, and Mitchell McLaughlin. Credit them for the two pieces of music. NOTICE: To use this system, you must credit the following: ​ Hiretsukan (Kevin Gadd) - janus@luminance.org - CREATOR OF SCRIPT

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#rgss2#script-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar