int main(int argc, char **argv) { int last_track = -1; if (argc == 2 && strcmp(argv[1], "--always") == 0) { always = 1; } else if (argc > 1) { fprintf(stderr, "usage: [--always]\n"); exit(1); } if (wb_init() < 0) { fprintf(stderr, "failed to initialize wb\n"); exit(1); } set_flash(false); load_tracks(); while (1) { int track; int bolt; if (! always) { ween_time_wait_until_valid(ween_time_constraints, n_ween_time_constraints); } ms_sleep(random_number_in_range(2000, 5000)); do { track = random_number_in_range(0, N_TRACKS-1); } while (track == last_track); last_track = track; track_set_volume(tracks[track], ween_time_is_valid(&is_halloween_constraint, 1) ? 100 : 75); track_play_asynchronously(tracks[track], NULL); for (bolt = 0; bolt < N_BOLTS && bolt_times[track][bolt]; bolt++) { int flashes = random_number_in_range(1, 2); int ms_left = bolt_times[track][bolt]; while (flashes-- && ms_left) { set_flash(true); ms_left -= do_sleep(200, ms_left); set_flash(false); ms_left -= do_sleep(50, ms_left); } if (ms_left) ms_sleep(ms_left); } } }
Music::Music() { Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096); Mix_VolumeMusic(MIX_MAX_VOLUME/4); cout << "Loading music" << endl; sceneintensity = 0; shouldbeplaying = false; ambient_tracks.resize(10); track_numbers.resize(10); for(unsigned int i = 0; i < track_numbers.size(); i++){ track_numbers[i] = 0; } load_tracks(); start_playback(); }
bool XplodifyPlaylist::load(sp_playlist * pl) { if(!pl) { return false; } m_playlist = pl; sp_playlist_add_callbacks(pl, const_cast<sp_playlist_callbacks *>(&cbs), this); if(!sp_playlist_is_loaded(pl)) { m_loading = true; } else { m_loading = false; //already loaded. load_tracks(); } return true; }
void XplodifyPlaylist::playlist_state_changed(){ boost::shared_ptr<XplodifySession> sess(m_session.lock()); //Has the state changed cause we're done loading? #ifdef _DEBUG std::cout << "Playlist state changed" << std::endl; #endif if(sp_playlist_is_loaded(m_playlist)) { if(m_loading) { m_loading = false; //we should now create shared_ptr and insert into cache. sess->get_pl_container()->add_playlist(this); } load_tracks(); #ifdef _DEBUG std::cout << "Playlist " << get_name() << " completed loading." << std::endl; #endif } sess->update_state_ts(); return; }
void view_tile(data_of_thread /*tile_threads* data*/ *local) { gchar filename[256]; local->x_glob=global_x; local->y_glob=global_y;//Чтобы отследить изменилось ли положение карты local->zoom=global_zoom; local->repo=global_curr_repo->data; number_threads = update_thread_number(1); printf("\n\n # of threads: %i \n\n", number_threads ); if(!pixmap) { printf("no drawable -> NULL\n"); return; } int mercator_x,mercator_y; //--------Yandex offset---------- mercator_offset(local->zoom, local->x_glob, local->y_glob, &mercator_x, &mercator_y); //--------Yandex offset---------- printf("---repo dir: %s \n",g_strdup(local->repo->dir)); if (strcasestr(local->repo->name,"Yandex")!=NULL) { local->offset_x = - (mercator_x) % TILESIZE; local->offset_y = - (mercator_y) % TILESIZE; local->x = floor((float)mercator_x / (float)TILESIZE) + local->i; local->y = floor((float)mercator_y / (float)TILESIZE) + local->j; } else { local->offset_x = - global_x % TILESIZE; local->offset_y = - global_y % TILESIZE; local->x = floor((float)(local->x_glob) / (float)TILESIZE) + local->i; local->y = floor((float)(local->y_glob) / (float)TILESIZE) + local->j; } if (local->offset_x > 0) local->offset_x -= 256; if (local->offset_y > 0) local->offset_y -= 256; local->offset_x += TILESIZE*local->i; local->offset_y += TILESIZE*local->j; // if (load_tile(&local)) // { //number_threads = update_thread_number(-1); // return; // } load_tile(local); /* gdk_threads_enter(); showed_tiles=g_slist_append(showed_tiles,filename); gdk_threads_leave(); */ gchar* key; key = g_strdup_printf("%s/%d/%d/%d", local->repo->dir, local->zoom, local->x, local->y); g_hash_table_replace(ht,key,"MAP showing okay"); //----------Trafic visualization--------------- if (global_trf_show) { printf("\n----------Trafic visualization---------------\n"); printf("\n\nshow=%d ,auto=%d ,down=%d\n",global_trf_show,global_trf_auto,global_auto_download); if (strcasestr(curr_trf->name,"Yandex")!=NULL) { local->offset_x = - (mercator_x) % TILESIZE; local->offset_y = - (mercator_y) % TILESIZE; local->x = floor((float)mercator_x / (float)TILESIZE) + local->i; local->y = floor((float)mercator_y / (float)TILESIZE) + local->j; } else { local->offset_x = - local->x_glob % TILESIZE; local->offset_y = - local->y_glob % TILESIZE; local->x = floor((float)(local->x_glob) / (float)TILESIZE) + local->i; local->y = floor((float)(local->y_glob) / (float)TILESIZE) + local->j; } if (local->offset_x > 0) local->offset_x -= 256; if (local->offset_y > 0) local->offset_y -= 256; local->offset_x += TILESIZE*local->i; local->offset_y += TILESIZE*local->j; if (load_trf(local)==LOAD_OK) { load_tile(local); load_trf(local); } //----------Trafic visualization--------------- } if (number_threads==1) { printf ("load_tracks returned %d",load_tracks(local)); printf ("load_tracks returned %d",load_current_track(local)); } //g_object_unref(data); number_threads = update_thread_number(-1); }