示例#1
0
void Ableton::setup(string abletonOscHost)
{
    this->abletonOscHost = abletonOscHost;
    
    sender.setup(abletonOscHost, ABLETON_OSC_PORT_OUT);
    receiver.setup(ABLETON_OSC_PORT_IN);
    setConnected(true);
    setAutoUpdate(true);
    setAutoDraw(true);
    
    control.addToggle("Connected", &connected, this, &Ableton::eventSetConnected);      // unusued
    control.addButton("Refresh", this, &Ableton::eventRefresh);

    GuiWidget *widgetGlobal = control.addWidget("Global");
    widgetGlobal->addSlider("Tempo", &tempo, 4.0f, 999.0f, this, &Ableton::eventSetTempo);
    widgetGlobal->addSlider("Time", &time, 4.0f, 999.0f, this, &Ableton::eventSetTime);
    widgetGlobal->addSlider("Volume", &volume, 0.0f, 1.0f, this, &Ableton::eventSetVolume);
    widgetGlobal->addSlider("Pan", &pan, -1.0f, 1.0f, this, &Ableton::eventSetPan);
    widgetGlobal->addToggle("Overdub", &overdub, this, &Ableton::eventSetOverdub);
    
    GuiWidget *widgetPlayback = control.addWidget("Playback");
    widgetPlayback->addButton("Prev cue", this, &Ableton::eventPrevCue);
    widgetPlayback->addButton("Next cue", this, &Ableton::eventNextCue);
    widgetPlayback->addButton("Play", this, &Ableton::eventPlay);
    widgetPlayback->addButton("Continue", this, &Ableton::eventPlayContinue);
    widgetPlayback->addButton("Play selection", this, &Ableton::eventPlaySelection);
    widgetPlayback->addButton("Stop", this, &Ableton::eventStop);
    
    scanLiveSet();
    
    // REFRESH OPTION!
    // -> delete everything
    // -> redo scanLiveSet
    // CONNECTED variable
}
示例#2
0
void ofxDatGui::init()
{
    mMoving = false;
    mVisible = true;
    mEnabled = true;
    mExpanded = true;
    mGuiHeader = nullptr;
    mGuiFooter = nullptr;
    mActiveGui = nullptr;
    mAlphaChanged = false;
    mWidthChanged = false;
    mTemplateChanged = false;
    mAlignmentChanged = false;
    mAlignment = ofxDatGuiAlignment::LEFT;
    
// load a default layout template //
    if (ofxDatGuiIsRetina() == false){
        mTemplate = new ofxDatGui1440x900();
    }   else{
        mTemplate = new ofxDatGui2880x1800();
    }
    mAlpha = 1.0f;
    mWidth = mTemplate->row.width;
    mRowSpacing = mTemplate->row.spacing;
    
    setAutoDraw(true);
    mGuis.push_back(this);
    ofAddListener(ofEvents().windowResized, this, &ofxDatGui::onWindowResized, OF_EVENT_ORDER_BEFORE_APP);
}
示例#3
0
void ofxDatGui::init()
{
    mMoving = false;
    mVisible = true;
    mEnabled = true;
    mExpanded = true;
    mGuiHeader = nullptr;
    mGuiFooter = nullptr;
    mAlphaChanged = false;
    mWidthChanged = false;
    mThemeChanged = false;
    mAlignmentChanged = false;
    mAlignment = ofxDatGuiAlignment::LEFT;
// load a default theme //
    if (theme == nullptr) theme = make_unique<ofxDatGuiTheme>(true);
    mAlpha = 1.0f;
    mWidth = theme->layout.width;
    mRowSpacing = theme->layout.vMargin;
    mGuiBackground = theme->color.guiBackground;
    
// enable autodraw by default //
    setAutoDraw(true);
    
// assign focus to this newly created gui //
    mActiveGui = this;
    mGuis.push_back(this);
    mGuid = mGuis.size();
    ofAddListener(ofEvents().windowResized, this, &ofxDatGui::onWindowResized, OF_EVENT_ORDER_BEFORE_APP);
}
示例#4
0
Ableton::Ableton()
{
    connected = false;
    setAutoUpdate(false);
    setAutoDraw(false);
    
    // initialize variables
}
// RenderTextureTest
RenderTextureTargetNode::RenderTextureTargetNode()
{
    /*
	 *     1    2
	 * A: A1   A2
	 *
	 * B: B1   B2
	 *
	 *  A1: premulti sprite
	 *  A2: premulti render
	 *
	 *  B1: non-premulti sprite
	 *  B2: non-premulti render
	 */
    auto background = LayerColor::create(Color4B(40,40,40,255));
    addChild(background);
    
    // sprite 1
    sprite1 = Sprite::create("Images/fire.png");
    
    // sprite 2
    sprite2 = Sprite::create("Images/fire_rgba8888.pvr");
    
    auto s = Director::getInstance()->getWinSize();
    
    /* Create the render texture */
    auto renderTexture = RenderTexture::create(s.width, s.height, Texture2D::PixelFormat::RGBA4444);
    this->renderTexture = renderTexture;
    
    renderTexture->setPosition(Point(s.width/2, s.height/2));
    //		[renderTexture setPosition:Point(s.width, s.height)];
    //		renderTexture.scale = 2;
    
    /* add the sprites to the render texture */
    renderTexture->addChild(sprite1);
    renderTexture->addChild(sprite2);
    renderTexture->setClearColor(Color4F(0, 0, 0, 0));
    renderTexture->setClearFlags(GL_COLOR_BUFFER_BIT);
    
    /* add the render texture to the scene */
    addChild(renderTexture);
    
    renderTexture->setAutoDraw(true);
    
    scheduleUpdate();
    
    // Toggle clear on / off
    auto item = MenuItemFont::create("Clear On/Off", CC_CALLBACK_1(RenderTextureTargetNode::touched, this));
    auto menu = Menu::create(item, NULL);
    addChild(menu);

    menu->setPosition(Point(s.width/2, s.height/2));
}