Synthesizer / Mbed 2 deprecated DBSMUSICPROJ4

Dependencies:   mbed

trigger.hpp

Committer:
liam_grazier
Date:
2019-07-24
Revision:
3:086e556b57f9
Child:
4:e56a755aeaf1

File content as of revision 3:086e556b57f9:

#ifndef __trigger__
#define __trigger__
#include "variables.hpp"
#include "math.hpp"
void fire(void){
    clockout = 1;
    wait(0.0001);
    clockout = 0;
    wait(0.0001);  
}

void runonce(void){
    getfaderdata();  
  //tempo calculations
  gettempodata();
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();
  }
void firetrig(void){ 
    if(clockcount<32){
    clockcount++;
    clockcountneg = clockcount - 1;
    }
    else
    {
    clockcount = 0;
    clockcount++;
    }
    if(clockcount == 1){
        storedduration = duration;
        }
    pc.printf("%i \n\r",clockcount);
    fire();
  //getfaderdata  
  if(clockcount == 1 && storedduration == 1){
  allledoff();
  getfaderdata(); 
  gettempodata();
  pc.printf("TEMPO %f \n\r",tempoval);
  //tempo calculations
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();
  }    
  if(clockcount == storedduration-1){
  allledoff();
  getfaderdata(); 
  //tempo calculations
  gettempodata();
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();

  }
//  pc.printf("NOTE: %i OCTIVE: %i DURATION: %i \n\r",note,octive,duration);
//  pc.printf("abstemmp %f \n\r",abstempo);
  if(clockcount == storedduration && sumnotes > 1){
  senddacout();
  trigout = 1;
  wait(0.0001);
  trigout = 0;
  wait(0.0001);
  clockcount = 0;
    }
  if(clockcount == 1 && storedduration == 1){
      updateled();
      }
  if(clockcount == storedduration-1){
  updateled();
  }
  }
#endif