Abstract-Codex | index | works | bio |> memory | network | contact

Tactu5.
A Processing music assistant.


<< back to Tactu5 index

Name:

Cluster

Example:

import tactu5.*;
import tactu5.Tactu5SimpleSequencer;

// creating an instance of Tactu5
Tactu5 tactu5;

// creating an aggregator instance
Aggregator aggregator;

void setup() {
       
  
       Tactu5Utilities tactu5utilities = new Tactu5Utilities();
  
       // define various frequencies
  
        float freqA = 440.000;
        float freqC = tactu5utilities.noteToFreq ( T5Notes.C, 4 );
        float freqE = tactu5utilities.noteToFreq ( T5Notes.E, 4 );
        float freqG = tactu5utilities.noteToFreq ( T5Notes.G, 3 );             
        

        // declaring some notes
        
        Note noteA = new Note(freqA,200,1,1,100,false);
        Note noteC = new Note(freqC,200,1,1,100,false);
        Note noteE = new Note(freqE,200,1,1,100,false);
        Note noteG = new Note(freqG,200,1,1,100,false);
        
        // declaring new chords
        
        Cluster chord_1 = new Cluster();
        Cluster chord_2 = new Cluster();
        
        
        chord_1.addNote(noteA);
        chord_1.addNote(noteC);
        chord_1.addNote(noteE);
        
        chord_.addNote(noteC);
        chord_2.addNote(noteG);
        chord_2.addNote(noteE);
        
        // creating a chord container
        
        ClusterSequence chordSequence = new ClusterSequence();
        
        chordSequence.addCluster(chord_1);
        chordSequence.addCluster(chord_2);
        chordSequence.addCluster(chord_1);
        chordSequence.addCluster(chord_2);
        
        aggregator = new Aggregator();
        
        //add the sequence to aggregator
        
        aggregator.addClusterSequence(chordSequence);
        
        // initializing and feed internal sequencer, boolean value inidicate if it will loop
        
        tactu5 = new Tactu5(this,aggregator.getScore(),true);
       
        // start sequencer
        tactu5.start();
  
  
  }
  
void draw() {
    
    // do something
    
}

void noteReceiver(Note n){
  
  // send data to a synth
  
 println(n.getFrequency());
 println(n.getDuration());
 println(n.getSustain());
 println(n.getPan());
  
  
  
}
void stop() {
  
  // eliminate Tactu5 sequencer
  tactu5.closeSequencer();
  super.stop();
  
}
Description:

Cluster class allows to create chord instances with Tactu5. It's possible to pass an array of Note to the constructor or to add Note objects afterwards. This class automatically clones the Note objects passed.

Constructor syntax:

Cluster()
Cluster(Note[] inseq)


Parameters:

inseq.................Note[] an array of Note


Usage:

Web and application.

Releated:

Note Sequence

Methods:

> addNote()
> forceDuration()
> getClusterNumber()
> getDuration()
> getNote()



Name: addNote()

Description:

Add a note to the cluster.

Syntax:

cluster.addNote();

Return: nothing


^ up


Name:
forceDuration()

Description:

Force cluster duration in milliseconds.

Syntax:

cluster.forceDuration(float d);

Return: String


^ up


Name: getDuration()

Description:

Get the duration value in milliseconds.

Syntax:

cluster.getDuration();

Return: float


^ up

Name:
getClusterNumber()

Description:

Get the number of elements in the cluster.

Syntax:

cluster.getClusterNumber() ;

Return: int


^ up


Name:
getDuration()

Description:

Get cluster duration in milliseconds.

Syntax:

cluster.getDuration() ;

Return: float


^ up


Name: getNote()

Description:

Return a Note defined by an int parameter.

Syntax:

cluster.getNote(int id) ;

Return: Note


^ up





  << back^page-up
  > memory >Tactu5 > Note class