JucePlayer(PropertiesFile *propertiesfile) { this->propertiesfile=propertiesfile; jp_isplaying=false; isreadingdata=false; pleasestop=false; isinitialized=false; isusingjack=false; { num_src_states=0; src_states=NULL; } { ov_callbacks ov_cb={oggread_func,oggseek_func,oggclose_func,oggtell_func}; lastreadoggpos=-1; nextreadoggpos=-1; if(ov_open_callbacks(&oggvorbisfile,&oggvorbisfile,NULL,0,ov_cb)==0) isplaying_ogg=true; else isplaying_ogg=false; N=getSourceLength(); R=44100; oggsrc_state=src_callback_new(audio_getOggResampledData_callback,SRC_QUALITY,2,NULL,NULL); } #ifdef HAVE_JACK samplerate=init_jack(audio_jack_callback); if(samplerate!=-1){ isinitialized=true; isusingjack=true; }else #endif initJuceAudio(); audioDeviceManager.addChangeListener(this); }