예제 #1
0
   void SFXManager::play_sfx(const string &ident, float volume) const
   {
      auto sfx = effects.find(ident);
      if (sfx == end(effects))
         throw runtime_error("Invalid SFX!");

      auto duped = make_shared<Audio::PCMStream>(sfx->second);
      duped->volume(volume);
      auto& mixer = get_mixer();
      if (mixer.enabled())
         mixer.add_stream(duped);
   }
예제 #2
0
파일: callbacks.c 프로젝트: iolo/liteamp
void on_volume_hscale_value_changed(GtkRange * range, gpointer user_data)
{
    mixer_set_volume(get_mixer(app), gtk_range_get_value(range));
    update_ui_volume(app);
}
예제 #3
0
void server_base::event_model_updated() {
  ++update_count_;
  if (mixer::mixer* m = get_mixer()) {
    m->updated();
  }
}
예제 #4
0
파일: callbacks.c 프로젝트: iolo/liteamp
void on_volume_up_activate(GtkAction * action, gpointer user_data)
{
    mixer_volume_up(get_mixer(app));
    update_ui_volume(app);
}