bool AsiHpiDevice::isAvailable() const { #ifdef ASIHPI uint32_t index; uint16_t type; bool ret=(HPI_SubSysGetAdapter(NULL,0,&index,&type)==0); return ret; #else return false; #endif // ASIHPI }
RDHPIPlayStream::RDHPIPlayStream(RDHPISoundCard *card, QWidget *parent,const char *name) :QObject(parent,name),RDWaveFile() { // hpi_err_t hpi_err; int quan; uint16_t type[HPI_MAX_ADAPTERS]; sound_card=card; card_number=-1; stream_number=-1; is_open=false; playing=false; is_paused=false; repositioned=false; stopping=false; samples_skipped=0; play_length=0; play_speed=1000; pitch_can_vary=false; rate_can_vary=false; stream_state=RDHPIPlayStream::Stopped; pdata=NULL; restart_transport=false; samples_pending=0; current_position=0; // // Get Adapter Indices // #if HPI_VER < 0x00030600 for(unsigned i=0;i<HPI_MAX_ADAPTERS;i++) { card_index[i]=i; } #else LogHpi(HPI_SubSysGetNumAdapters(NULL,&quan)); for(int i=0;i<quan;i++) { LogHpi(HPI_SubSysGetAdapter(NULL,i,card_index+i,type+i)); } #endif // HPI_VER clock=new QTimer(this,"clock"); connect(clock,SIGNAL(timeout()),this,SLOT(tickClock())); play_timer=new QTimer(this,"play_timer"); connect(play_timer,SIGNAL(timeout()),this,SLOT(pause())); }