void Player::setPaused(bool npaused) { if(npaused == paused()) return; if(npaused) { if(!BASS_ChannelPause(_output)) Log::error("Bass Error: pausing channel failed: %s", GetBassStrError()); } else { if(!BASS_ChannelPlay(_output, FALSE)) Log::error("Bass Error: resuming channel playback failed: %s", GetBassStrError()); } }
void Player::push(void *data, uint32_t size) { int buffered = BASS_ChannelGetData(_output, NULL, BASS_DATA_AVAILABLE); Log::msg("In buffer: %d - New: %d", buffered, size); if(BASS_StreamPutData(_output, data, size) == (DWORD)-1) Log::error("Bass Error: putting stream data failed: %s", GetBassStrError()); }
void Player::setSampleRate(int sampleRate) { if(BASS_ChannelSetAttribute(_output, BASS_ATTRIB_FREQ, sampleRate)) { Log::msg("Player::setSampleRate - Sample rate set OK"); } else { Log::error("Bass Error: setting sample rate", GetBassStrError()); } }
void ConfigView::colorChanged(int virtualDevice, int coloridx) { int channel = _audioView.virtualDeviceChannel(virtualDevice); if(channel < 0 && coloridx != 0) { int nchan = _audioView.addChannel(virtualDevice); if(nchan != -1) { _audioView.setChannelColor(nchan, coloridx); } else { _clrs[virtualDevice]->setSelectionSilent(0); std::stringstream s; s << "Error: Cannot open channel"; if(BASS_ErrorGetCode()) s << ": " << GetBassStrError(); Widgets::ErrorBox *box = new Widgets::ErrorBox(s.str().c_str()); box->setGeometry(Widgets::Rect(this->width()/2-200, this->height()/2-40, 400, 80)); Widgets::Application::getInstance()->addPopup(box); } } else if(coloridx == 0) { _audioView.removeChannel(virtualDevice); } else { _audioView.setChannelColor(channel, coloridx); } }
void Player::setVolume(int volume) { if(!BASS_ChannelSetAttribute(_output, BASS_ATTRIB_VOL, volume*0.01f)) Log::error("Bass Error: volume %s", GetBassStrError()); }