action-functions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
action-functions [2024/02/19 21:27] – [Example 2] steve.wangaction-functions [2024/04/24 17:37] (current) – [midiSequencedRhythm/callMusicSynthesizerRhythm:] steve.wang
Line 2: Line 2:
 **Overview: ** This tutorial will teach you about what actions function do in Konduktiva and how they work. **Overview: ** This tutorial will teach you about what actions function do in Konduktiva and how they work.
  
-**Things To Note:** This tutorial assumes you have already installed Konduktiva successfully using the [[https://github.com/renickbell/konduktiva|Konduktiva installation]] instructions and have read through and understood the [[:first_steps|first steps tutorial]]. The tutorial also assumes that you have imported Konduktiva to the //K// variable and assigned any of the example MusicalEnvironments to the //e// variable.+ 
 +**Things To Note:** This tutorial assumes you have already installed Konduktiva successfully using the [[https://github.com/renickbell/konduktiva|Konduktiva installation]] instructions and have read through and understood the [[:first_steps|first steps tutorial]]. The tutorial also assumes 2 things. One, Konduktiva has been assigned to the //K// variable. Two, user created a Musical Environment using the //setUpMusicalEnvironment// function using //K.defaultConfigurationObject// as the first argument and //'exampleMidiPlayer'// as the third argument then, assigned the output to the //e// variable. 
 +<code javascript> 
 +const K = require('konduktiva'
 +let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject,4,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig) 
 +</code> 
  
 An Action Function is the function the player calls when the Konduktiva scheduler tells it that to do something.  The action function the player uses can be controlled at the variable //e.players.playerName.action//. It should be a string and the strings refer to a variable which is a function in the //e.actions// object. This analogy might help, players are like an employee working in a company. The action function is the job the employee has to do and the scheduler is the manager telling the employee when to start or stop working. An Action Function is the function the player calls when the Konduktiva scheduler tells it that to do something.  The action function the player uses can be controlled at the variable //e.players.playerName.action//. It should be a string and the strings refer to a variable which is a function in the //e.actions// object. This analogy might help, players are like an employee working in a company. The action function is the job the employee has to do and the scheduler is the manager telling the employee when to start or stop working.
Line 33: Line 39:
 ==== default: ==== ==== default: ====
 {{ :default-action-funciton-flowchart.svg |}} {{ :default-action-funciton-flowchart.svg |}}
-==== midiSequencedRhythm/callMusicSynthesizerRhythm: ==== 
  
-{{ :midisequencedrhythm-callmusicsynthesizerrhythm--action-function-flowchart.svg |}} 
 ==== sendNotesMidiInfo: ===== ==== sendNotesMidiInfo: =====
  
Line 55: Line 59:
 <code javascript> <code javascript>
 const K = require('konduktiva') const K = require('konduktiva')
-let e = K.setUpMusicalEnvironment(1)+let e = K.setUpMusicalEnvironment(K.defaultConfigurationObject,4,'exampleMidiPlayer', K.exampleMusicalEnvironmentsExtraConfig)
 </code> </code>
  
Line 69: Line 73:
     console.log('Hi this is my new action function called testAction.')     console.log('Hi this is my new action function called testAction.')
     console.log('testAction playerName: ', playerName)     console.log('testAction playerName: ', playerName)
-    console.log('testAction beat: ', b)+    console.log('testAction beat: ', e.currentBeat())
 } }
 </code> </code>
 +
 +Notice we did not use b argument. The b argument is for next onset. To get beat use e.currentBeat().
  
 Next we have to make it so the players in the MusicalEnvironment can use it. To do so, we have the add it to the actions object of the MusicalEnvironment: Next we have to make it so the players in the MusicalEnvironment can use it. To do so, we have the add it to the actions object of the MusicalEnvironment:
  • action-functions.1708406843.txt.gz
  • Last modified: 2024/02/19 21:27
  • by steve.wang