Exemple #1
0
//--------------------------------------------------------------
void AppCore::parameterChanged(int id, float value) {
    // cout << "slider id: " << ofToString(id) << " value: " << ofToString(value) << endl;
    switch (id) {
        case P_TRIGGER_THRESHOLD:
            reader->triggerThreshold = value;
            break;
        case P_MAX_VARIANCE:
            reader->maxVariance = value;
            break;
        case P_MAX_AVERAGE_WEIGHT:
            reader->maxAverageWeight = value;
            break;
        case P_NUM_LINES:
            numLines = (int) value;
            setNumLines(numLines);
            break;
        case P_ROOT_NOTE:
            rootNote = (int) value;
            setNotes(rootNote, mood);
            break;
        case P_ENVELOPE:
            setEnvelopeFactor(value);
            break;
        case P_VOLUME:
            volume = value;
            setVolume(volume);
            break;
    }
}
Exemple #2
0
BillboardLine::BillboardLine( Ogre::SceneManager* scene_manager, Ogre::SceneNode* parent_node )
: Object( scene_manager )
, width_( 0.1f )
, current_line_(0)
, total_elements_(0)
, num_lines_(1)
, max_points_per_line_(100)
, lines_per_chain_(0)
, current_chain_(0)
, elements_in_current_chain_(0)
{
  if ( !parent_node )
  {
    parent_node = scene_manager_->getRootSceneNode();
  }

  scene_node_ = parent_node->createChildSceneNode();

  static int count = 0;
  std::stringstream ss;
  ss << "BillboardLineMaterial" << count++;
  material_ = Ogre::MaterialManager::getSingleton().create( ss.str(), Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME );
  material_->setReceiveShadows(false);
  material_->getTechnique(0)->setLightingEnabled(false);

  setNumLines(num_lines_);
  setMaxPointsPerLine(max_points_per_line_);
}
Exemple #3
0
//--------------------------------------------------------------
void AppCore::setup(const int sampleRate) {
    
	numLines = 7;
    toggleFrame = 1;
    
    reader = new Reader();
    reader->setup(numLines);
    
    volume = 0.f; // preserve your ears ;)
    envelopeFactor = 0.0001f;
    rootNote = 48; // C3
    mood = MAJOR;
    
    // setup gui
    ofTrueTypeFont::setGlobalDpi(72);
    int eventPriority = 0;
    
    CheckBox * wRegulation = new CheckBox(P_REGULATION, this, "Regulation", &font, eventPriority);
    wRegulation->checked = reader->regulationActive;
    widgets.push_back(wRegulation);

    CheckBox * wTorch = new CheckBox(P_USE_TORCH, this, "Torch", &font, eventPriority);
    wTorch->checked = false;
	widgets.push_back(wTorch);
   
    CheckBox * wMood = new CheckBox(P_MAJOR, this, "Major Scale", &font, eventPriority);
    wMood->checked = mood == MAJOR;
    widgets.push_back(wMood);
    
    Slider * wTriggerThreshold = new Slider(P_TRIGGER_THRESHOLD, this, "Trigger Threshold", &font, 0.f, 1.f, eventPriority);
    wTriggerThreshold->setValue(reader->triggerThreshold);
    widgets.push_back(wTriggerThreshold);
    
    Slider * wMaxVariance = new Slider(P_MAX_VARIANCE, this, "Max Variance", &font, 0.f, .4f, eventPriority);
    wMaxVariance->setValue(reader->maxVariance);
    widgets.push_back(wMaxVariance);
    
    Slider * wMaxAverageWeight = new Slider(P_MAX_AVERAGE_WEIGHT, this, "Max Average Weight", &font, 0.f, .2f, eventPriority);
    wMaxAverageWeight->setValue(reader->maxAverageWeight);
    widgets.push_back(wMaxAverageWeight);
    
    Slider * wNumLines = new Slider(P_NUM_LINES, this, "Num Lines", &font, 3, 12, eventPriority);
    wNumLines->setStep(1.f);
    wNumLines->setValue(numLines);
    widgets.push_back(wNumLines);
    
    Slider * wRootNote = new Slider(P_ROOT_NOTE, this, "Root Note", &font, 10, 80, eventPriority);
    wRootNote->setStep(1.f);
    wRootNote->setValue(rootNote);
    widgets.push_back(wRootNote);
    
    Slider * wEnvelope = new Slider(P_ENVELOPE, this, "Attack / Release", &font, 0.f, 0.0005f, eventPriority);
    wEnvelope->setValue(envelopeFactor);
    widgets.push_back(wEnvelope);
    
    Slider * wVolume = new Slider(P_VOLUME, this, "Volume", &font, 0.f, 1.f, eventPriority);
    wVolume->setValue(volume);
    widgets.push_back(wVolume);
    
    for (int i = widgets.size() - 1; i > -1; i--) widgets[i]->setActive(true);
    
    ofSetVerticalSync(true);
    setNumLines(numLines);
}
Exemple #4
0
//--------------------------------------------------------------
void AppCore::exit() {
	setNumLines(0); // delete synths
    delete reader;
}