コード例 #1
0
ファイル: music.c プロジェクト: Damdoshi/LibLapin
int			main(void)
{
  t_bunny_music		*music;
  char			buffer[64];
  int			len;

  if ((music = bunny_load_music("soundlogo.wav")) == NULL)
    return (EXIT_FAILURE);
  puts("Syntax is: play | stop | exit | pitch=float | vol=float | loop=0|1");
  bunny_sound_play(&music->sound);
  do
    {
      write(1, "LAPIN>", 6);
      if ((len = read(0, &buffer[0], 63)) == -1)
	return (EXIT_FAILURE);
      buffer[len] = '\0';
      if (strncmp(&buffer[0], "play", 4) == 0)
	bunny_sound_play(&music->sound);
      else if (strncmp(&buffer[0], "stop", 4) == 0)
	bunny_sound_stop(&music->sound);
      else if (strncmp(&buffer[0], "pitch=", 6) == 0)
	bunny_sound_pitch(&music->sound, atof(&buffer[6]));
      else if (strncmp(&buffer[0], "vol=", 4) == 0)
      	bunny_sound_volume(&music->sound, atof(&buffer[4]));
      else if (strncmp(&buffer[0], "loop=", 5) == 0)
      	bunny_sound_loop(&music->sound, !!atoi(&buffer[5]));
      else if (strncmp(&buffer[0], "exit", 4) == 0)
	len = 0;
      else
	write(1, "Unrecognized command\n", 21);
    }
  while (len > 0);
  bunny_delete_sound(&music->sound);
  return (EXIT_SUCCESS);
}
コード例 #2
0
ファイル: stop_music.cpp プロジェクト: Damdoshi/LibLapin
void		bunny_sound_manager_stop_music(t_bunny_sound_manager	*_sm,
					       t_bunny_music_track	n)
{
  struct bunny_sound_manager *sm = (struct bunny_sound_manager*)_sm;
  int		i;

  if (sm->current_music == NULL || n < -1 || n >= BST_LAST_TRACK)
    return ;
  if (n == BST_ALL)
    for (i = 0; i < BST_LAST_TRACK; ++i)
      {
	bunny_sound_stop(sm->current_music[i]);
	sm->current_music[i] = NULL;
      }
  else
    {
      bunny_sound_stop(sm->current_music[n]);
      sm->current_music[n] = NULL;
    }
}
コード例 #3
0
ファイル: main.c プロジェクト: plean/CPE
static void	destroy_windows(t_struct a)
{
  bunny_set_loop_main_function(&refresh_princeofbelair);
  bunny_set_key_response(&my_exit);
  bunny_set_click_response(&mouse_click);
  bunny_loop(a.win, 30, (void*)&a);
  if (a.music != NULL)
    {
      bunny_sound_stop(&a.music->sound);
      bunny_delete_sound(&a.music->sound);
    }
  bunny_stop(a.win);
  bunny_delete_clipable(&(a.pix->clipable));
}
コード例 #4
0
ファイル: stop_slice.cpp プロジェクト: Damdoshi/LibLapin
bool		bunny_sound_sprite_stop_slice(t_bunny_sound_sprite	*sprite)
{
  struct bunny_music *music = (struct bunny_music*)sprite;

  if (sprite->last_played_slice == NULL)
    return (false);
  if (music->sound_manager)
    bunny_sound_manager_stop_music((t_bunny_sound_manager*)music->sound_manager, sprite->track);
  else
    bunny_sound_stop(&sprite->soundset.sound);
  *((t_bunny_sound_slice**)&sprite->last_played_slice) = NULL;
  *(t_bunny_music_track*)&sprite->track = BST_LAST_TRACK;
  return (true);
}
コード例 #5
0
ファイル: main.c プロジェクト: Damdoshi/LibLapin
int			main(void)
{
  t_bunny_window	*win;
  t_bunny_music		*music;

  printl("Click on the window to stop this insanity.");
  assert(win = bunny_start(800, 600, false, "Never gonna give you up!"));
  assert(music = bunny_load_music("music.ogg"));
  signal(SIGINT, SIG_IGN);
  bunny_sound_play(&music->sound);
  bunny_set_click_response(click);
  bunny_set_loop_main_function(loop);
  bunny_loop(win, 5, win);
  bunny_sound_stop(&music->sound);
  bunny_stop(win);
  return (EXIT_SUCCESS);
}
コード例 #6
0
ファイル: get_map.c プロジェクト: kotra97/wolf3D
void    ambient(t_data *data)
{
  if (data->music_play == 1)
    {
      bunny_sound_stop(&data->music->sound);
      bunny_delete_sound(&data->music->sound);
    }
  data->music_play = 1;
  data->music =
    bunny_load_music(bunny_ini_get_field(data->ini, "level", "music", 0));
  bunny_sound_volume(&data->music->sound, 50.0);
  bunny_sound_play(&data->music->sound);
  if (data->map->level != 5)
    bunny_sound_loop(&data->music->sound, 1);
  else
    bunny_sound_loop(&data->music->sound, 0);
}
コード例 #7
0
ファイル: drug.c プロジェクト: MeixDev/gfx_tekpaint_2015
void	drug(t_tekpain	*paint)
{
  if (!paint->is_drug)
    {
      bunny_sound_stop(&paint->smoke_weed_every_day->sound);
      return ;
    }
  if (paint->is_drug == 1)
    {
      bunny_sound_volume(&paint->smoke_weed_every_day->sound, 100);
      bunny_sound_play(&paint->smoke_weed_every_day->sound);
      bunny_sound_loop(&paint->smoke_weed_every_day->sound, true);
      paint->is_drug = 2;
    }
  paint->current_color = rand() | BLACK;
  paint->tmp_color[1] = rand() | BLACK;
  paint->size = 1 + rand() % 30;
  tekpaint_menu_draw_default(paint);
}
コード例 #8
0
ファイル: kala_style.c プロジェクト: rotarui/42sh
void	kala_end_fade(t_kala *data)
{
  if (data->intro.state == 5)
    {
      bunny_fill(&data->bg->buffer, data->intro.black.full);
      bunny_blit(&data->win->buffer, data->bg, NULL);
      bunny_display(data->win);
      data->intro.black.argb[3] += 1;
      if (data->intro.black.argb[3] >= 70)
	data->intro.state = 6;
    }
  if (data->intro.state == 6)
    {
      bunny_delete_clipable(data->logo);
      bunny_delete_clipable(data->shard);
      bunny_sound_stop((t_bunny_sound *)data->draa);
      bunny_delete_sound((t_bunny_sound *)data->draa);
      bunny_set_loop_main_function((t_bunny_loop)kala_loop);
    }
}
コード例 #9
0
ファイル: do_disco.c プロジェクト: ethanquix/Wolf3d
void	stop_disco(t_ray *ray)
{
  if (ray->disco == NULL)
    return;
  bunny_sound_stop(&ray->disco->sound);
}