本文整理汇总了C++中audio::GainNodeRef::getValue方法的典型用法代码示例。如果您正苦于以下问题:C++ GainNodeRef::getValue方法的具体用法?C++ GainNodeRef::getValue怎么用?C++ GainNodeRef::getValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类audio::GainNodeRef
的用法示例。
在下文中一共展示了GainNodeRef::getValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void NodeBasic::draw()
{
gl::clear( Color( 0, mGain->getValue(), 0.2f ) );
}
示例2: setupUI
void DeviceTestApp::setupUI()
{
mInputDeviceNodeUnderrunFade = mInputDeviceNodeOverrunFade = mOutputDeviceNodeClipFade = 0;
mViewYOffset = 0;
mPlayButton = Button( true, "stopped", "playing" );
mWidgets.push_back( &mPlayButton );
mRecordButton = Button( false, "record" );
mWidgets.push_back( &mRecordButton );
mTestSelector.mSegments.push_back( "sinewave" );
mTestSelector.mSegments.push_back( "noise" );
mTestSelector.mSegments.push_back( "input (pulled)" );
mTestSelector.mSegments.push_back( "I/O (clean)" );
mTestSelector.mSegments.push_back( "I/O (processed)" );
mTestSelector.mSegments.push_back( "I/O and sine" );
mTestSelector.mSegments.push_back( "send" );
mTestSelector.mSegments.push_back( "send stereo" );
mWidgets.push_back( &mTestSelector );
#if defined( CINDER_COCOA_TOUCH )
mPlayButton.mBounds = Rectf( 0, 0, 120, 60 );
mRecordButton.mBounds = Rectf( 130, 0, 190, 34 );
mTestSelector.mBounds = Rectf( getWindowWidth() - 190, 0, getWindowWidth(), 180 );
#else
mPlayButton.mBounds = Rectf( 0, 0, 200, 60 );
mRecordButton.mBounds = Rectf( 210, 0, 310, 40 );
mTestSelector.mBounds = Rectf( getWindowCenter().x + 110, 0, (float)getWindowWidth(), 180 );
#endif
mGainSlider.mBounds = Rectf( mTestSelector.mBounds.x1, mTestSelector.mBounds.y2 + 10, mTestSelector.mBounds.x2, mTestSelector.mBounds.y2 + 50 );
mGainSlider.mTitle = "GainNode";
mGainSlider.set( mGain->getValue() );
mWidgets.push_back( &mGainSlider );
mOutputSelector.mTitle = "Output Devices";
mOutputSelector.mBounds = Rectf( mTestSelector.mBounds.x1, getWindowCenter().y + 40, (float)getWindowWidth(), (float)getWindowHeight() );
if( mOutputDeviceNode ) {
for( const auto &dev : audio::Device::getOutputDevices() ) {
if( dev == mOutputDeviceNode->getDevice() )
mOutputSelector.mCurrentSectionIndex = mOutputSelector.mSegments.size();
mOutputSelector.mSegments.push_back( dev->getName() );
}
}
mWidgets.push_back( &mOutputSelector );
mInputSelector.mTitle = "Input Devices";
mInputSelector.mBounds = mOutputSelector.mBounds - vec2( mOutputSelector.mBounds.getWidth() + 10, 0 );
if( mOutputDeviceNode ) {
for( const auto &dev : audio::Device::getInputDevices() ) {
if( dev == mInputDeviceNode->getDevice() )
mInputSelector.mCurrentSectionIndex = mInputSelector.mSegments.size();
mInputSelector.mSegments.push_back( dev->getName() );
}
}
mWidgets.push_back( &mInputSelector );
Rectf textInputBounds( 0, getWindowCenter().y + 40, 200, getWindowCenter().y + 70 );
mSamplerateInput.mBounds = textInputBounds;
mSamplerateInput.mTitle = "samplerate";
mSamplerateInput.setValue( audio::master()->getSampleRate() );
mWidgets.push_back( &mSamplerateInput );
textInputBounds += vec2( 0, textInputBounds.getHeight() + 24 );
mFramesPerBlockInput.mBounds = textInputBounds;
mFramesPerBlockInput.mTitle = "frames per block";
mFramesPerBlockInput.setValue( audio::master()->getFramesPerBlock() );
mWidgets.push_back( &mFramesPerBlockInput );
textInputBounds += vec2( 0, textInputBounds.getHeight() + 24 );
mNumInChannelsInput.mBounds = textInputBounds;
mNumInChannelsInput.mTitle = "num inputs";
if( mInputDeviceNode )
mNumInChannelsInput.setValue( mInputDeviceNode->getNumChannels() );
mWidgets.push_back( &mNumInChannelsInput );
textInputBounds += vec2( 0, textInputBounds.getHeight() + 24 );
mNumOutChannelsInput.mBounds = textInputBounds;
mNumOutChannelsInput.mTitle = "num outputs";
if( mOutputDeviceNode )
mNumOutChannelsInput.setValue( mOutputDeviceNode->getNumChannels() );
mWidgets.push_back( &mNumOutChannelsInput );
textInputBounds += vec2( 0, textInputBounds.getHeight() + 24 );
mSendChannelInput.mBounds = textInputBounds;
mSendChannelInput.mTitle = "send channel";
mSendChannelInput.setValue( 2 );
mWidgets.push_back( &mSendChannelInput );
vec2 xrunSize( 80, 26 );
mUnderrunRect = Rectf( 0, mPlayButton.mBounds.y2 + 10, xrunSize.x, mPlayButton.mBounds.y2 + xrunSize.y + 10 );
mOverrunRect = mUnderrunRect + vec2( xrunSize.x + 10, 0 );
mClipRect = mOverrunRect + vec2( xrunSize.x + 10, 0 );
getWindow()->getSignalMouseDown().connect( [this] ( MouseEvent &event ) {
processTap( event.getPos() );
} );
getWindow()->getSignalMouseDrag().connect( [this] ( MouseEvent &event ) {
processDrag( event.getPos() );
//.........这里部分代码省略.........
示例3: setupUI
void SamplePlayerNodeTestApp::setupUI()
{
const float padding = 10.0f;
auto buttonRect = Rectf( padding, padding, 200, 60 );
mEnableSamplePlayerNodeButton.mIsToggle = true;
mEnableSamplePlayerNodeButton.mTitleNormal = "player off";
mEnableSamplePlayerNodeButton.mTitleEnabled = "player on";
mEnableSamplePlayerNodeButton.mBounds = buttonRect;
mWidgets.push_back( &mEnableSamplePlayerNodeButton );
buttonRect += Vec2f( buttonRect.getWidth() + padding, 0 );
mStartPlaybackButton.mIsToggle = false;
mStartPlaybackButton.mTitleNormal = "start";
mStartPlaybackButton.mBounds = buttonRect;
mWidgets.push_back( &mStartPlaybackButton );
buttonRect += Vec2f( buttonRect.getWidth() + padding, 0 );
buttonRect.x2 -= 30;
mLoopButton.mIsToggle = true;
mLoopButton.mTitleNormal = "loop off";
mLoopButton.mTitleEnabled = "loop on";
mLoopButton.setEnabled( mSamplePlayerNode->isLoopEnabled() );
mLoopButton.mBounds = buttonRect;
mWidgets.push_back( &mLoopButton );
buttonRect += Vec2f( buttonRect.getWidth() + padding, 0 );
mAsyncButton.mIsToggle = true;
mAsyncButton.mTitleNormal = "async off";
mAsyncButton.mTitleEnabled = "async on";
mAsyncButton.mBounds = buttonRect;
mWidgets.push_back( &mAsyncButton );
buttonRect = Rectf( padding, buttonRect.y2 + padding, padding + buttonRect.getWidth(), buttonRect.y2 + buttonRect.getHeight() + padding );
mRecordButton.mIsToggle = true;
mRecordButton.mTitleNormal = "record off";
mRecordButton.mTitleEnabled = "record on";
mRecordButton.mBounds = buttonRect;
mWidgets.push_back( &mRecordButton );
buttonRect += Vec2f( buttonRect.getWidth() + padding, 0 );
mWriteButton.mIsToggle = false;
mWriteButton.mTitleNormal = "write to file";
mWriteButton.mBounds = buttonRect;
mWidgets.push_back( &mWriteButton );
buttonRect += Vec2f( buttonRect.getWidth() + padding, 0 );
mAutoResizeButton.mIsToggle = true;
mAutoResizeButton.mTitleNormal = "auto resize off";
mAutoResizeButton.mTitleEnabled = "auto resize on";
mAutoResizeButton.mBounds = buttonRect;
mWidgets.push_back( &mAutoResizeButton );
Vec2f sliderSize( 200, 30 );
Rectf selectorRect( getWindowWidth() - sliderSize.x - padding, padding, getWindowWidth() - padding, sliderSize.y * 3 + padding );
mTestSelector.mSegments.push_back( "BufferPlayerNode" );
mTestSelector.mSegments.push_back( "FilePlayerNode" );
mTestSelector.mSegments.push_back( "recorder" );
mTestSelector.mBounds = selectorRect;
mWidgets.push_back( &mTestSelector );
Rectf sliderRect( selectorRect.x1, selectorRect.y2 + padding, selectorRect.x2, selectorRect.y2 + padding + sliderSize.y );
// Rectf sliderRect( getWindowWidth() - 200.0f, kPadding, getWindowWidth(), 50.0f );
mGainSlider.mBounds = sliderRect;
mGainSlider.mTitle = "GainNode";
mGainSlider.set( mGain->getValue() );
mWidgets.push_back( &mGainSlider );
sliderRect += Vec2f( 0, sliderRect.getHeight() + padding );
mPanSlider.mBounds = sliderRect;
mPanSlider.mTitle = "Pan";
mPanSlider.set( mPan->getPos() );
mWidgets.push_back( &mPanSlider );
sliderRect += Vec2f( 0, sliderRect.getHeight() + padding );
mLoopBeginSlider.mBounds = sliderRect;
mLoopBeginSlider.mTitle = "Loop Begin";
mLoopBeginSlider.mMax = (float)mSamplePlayerNode->getNumSeconds();
mLoopBeginSlider.set( (float)mSamplePlayerNode->getLoopBeginTime() );
mWidgets.push_back( &mLoopBeginSlider );
sliderRect += Vec2f( 0, sliderRect.getHeight() + padding );
mLoopEndSlider.mBounds = sliderRect;
mLoopEndSlider.mTitle = "Loop End";
mLoopEndSlider.mMax = (float)mSamplePlayerNode->getNumSeconds();
mLoopEndSlider.set( (float)mSamplePlayerNode->getLoopEndTime() );
mWidgets.push_back( &mLoopEndSlider );
Vec2f xrunSize( 80, 26 );
mUnderrunRect = Rectf( padding, getWindowHeight() - xrunSize.y - padding, xrunSize.x + padding, getWindowHeight() - padding );
mOverrunRect = mUnderrunRect + Vec2f( xrunSize.x + padding, 0 );
mRecorderOverrunRect = mOverrunRect + Vec2f( xrunSize.x + padding, 0 );
getWindow()->getSignalMouseDown().connect( [this] ( MouseEvent &event ) { processTap( event.getPos() ); } );
getWindow()->getSignalMouseDrag().connect( [this] ( MouseEvent &event ) { processDrag( event.getPos() ); } );
getWindow()->getSignalTouchesBegan().connect( [this] ( TouchEvent &event ) { processTap( event.getTouches().front().getPos() ); } );
getWindow()->getSignalTouchesMoved().connect( [this] ( TouchEvent &event ) {
for( const TouchEvent::Touch &touch : getActiveTouches() )
processDrag( touch.getPos() );
} );
//.........这里部分代码省略.........