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); }
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; } }
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)); }
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); }
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); }
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); }
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); }
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); } }
void stop_disco(t_ray *ray) { if (ray->disco == NULL) return; bunny_sound_stop(&ray->disco->sound); }