Synthesizer / Mbed 2 deprecated DBSMUSICPROJ4

Dependencies:   mbed

Committer:
benparkes
Date:
Wed Jul 24 15:06:20 2019 +0000
Revision:
4:e56a755aeaf1
Parent:
3:086e556b57f9
Child:
7:8b1c2d0bee9b
Loop first trial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam_grazier 3:086e556b57f9 1 #ifndef __trigger__
liam_grazier 3:086e556b57f9 2 #define __trigger__
liam_grazier 3:086e556b57f9 3 #include "variables.hpp"
liam_grazier 3:086e556b57f9 4 #include "math.hpp"
liam_grazier 3:086e556b57f9 5 void fire(void){
liam_grazier 3:086e556b57f9 6 clockout = 1;
liam_grazier 3:086e556b57f9 7 wait(0.0001);
liam_grazier 3:086e556b57f9 8 clockout = 0;
liam_grazier 3:086e556b57f9 9 wait(0.0001);
liam_grazier 3:086e556b57f9 10 }
liam_grazier 3:086e556b57f9 11
benparkes 4:e56a755aeaf1 12 void loopFall(){
benparkes 4:e56a755aeaf1 13 loop = !loop;
benparkes 4:e56a755aeaf1 14
benparkes 4:e56a755aeaf1 15 }
benparkes 4:e56a755aeaf1 16
liam_grazier 3:086e556b57f9 17 void runonce(void){
liam_grazier 3:086e556b57f9 18 getfaderdata();
liam_grazier 3:086e556b57f9 19 //tempo calculations
liam_grazier 3:086e556b57f9 20 gettempodata();
liam_grazier 3:086e556b57f9 21 //note calculations
liam_grazier 3:086e556b57f9 22 sumprobabilitynotes();
liam_grazier 3:086e556b57f9 23 randomgeneratenotes();
liam_grazier 3:086e556b57f9 24 determinenotes();
liam_grazier 3:086e556b57f9 25
liam_grazier 3:086e556b57f9 26 //octive calculation
liam_grazier 3:086e556b57f9 27 sumprobabilityoctives();
liam_grazier 3:086e556b57f9 28 randomgenerateoctives();
liam_grazier 3:086e556b57f9 29 determineoctives();
liam_grazier 3:086e556b57f9 30
liam_grazier 3:086e556b57f9 31 //duration calculation
liam_grazier 3:086e556b57f9 32 sumprobabilityduration();
liam_grazier 3:086e556b57f9 33 randomgenerateduration();
liam_grazier 3:086e556b57f9 34 determineduration();
liam_grazier 3:086e556b57f9 35 outputdecision();
liam_grazier 3:086e556b57f9 36 }
benparkes 4:e56a755aeaf1 37
liam_grazier 3:086e556b57f9 38 void firetrig(void){
liam_grazier 3:086e556b57f9 39 if(clockcount<32){
liam_grazier 3:086e556b57f9 40 clockcount++;
liam_grazier 3:086e556b57f9 41 clockcountneg = clockcount - 1;
liam_grazier 3:086e556b57f9 42 }
liam_grazier 3:086e556b57f9 43 else
liam_grazier 3:086e556b57f9 44 {
liam_grazier 3:086e556b57f9 45 clockcount = 0;
liam_grazier 3:086e556b57f9 46 clockcount++;
liam_grazier 3:086e556b57f9 47 }
liam_grazier 3:086e556b57f9 48 if(clockcount == 1){
liam_grazier 3:086e556b57f9 49 storedduration = duration;
liam_grazier 3:086e556b57f9 50 }
liam_grazier 3:086e556b57f9 51 pc.printf("%i \n\r",clockcount);
liam_grazier 3:086e556b57f9 52 fire();
liam_grazier 3:086e556b57f9 53 //getfaderdata
liam_grazier 3:086e556b57f9 54 if(clockcount == 1 && storedduration == 1){
benparkes 4:e56a755aeaf1 55 if (loop == 1){
benparkes 4:e56a755aeaf1 56 ToPlay = (dataTail-PlayPos)% MAX_SAMPLES;
benparkes 4:e56a755aeaf1 57 note = loopBuffer[ToPlay].note();
benparkes 4:e56a755aeaf1 58 octive = loopBuffer[ToPlay].octave();
benparkes 4:e56a755aeaf1 59 duration = loopBuffer[ToPlay].duration();
benparkes 4:e56a755aeaf1 60 if (PlayPos >= MAX_SAMPLES){
benparkes 4:e56a755aeaf1 61 PlayPos = 0;
benparkes 4:e56a755aeaf1 62 }
benparkes 4:e56a755aeaf1 63 else{
benparkes 4:e56a755aeaf1 64 PlayPos++;
benparkes 4:e56a755aeaf1 65 }
benparkes 4:e56a755aeaf1 66 }
benparkes 4:e56a755aeaf1 67 else{
liam_grazier 3:086e556b57f9 68 allledoff();
liam_grazier 3:086e556b57f9 69 getfaderdata();
liam_grazier 3:086e556b57f9 70 gettempodata();
liam_grazier 3:086e556b57f9 71 pc.printf("TEMPO %f \n\r",tempoval);
liam_grazier 3:086e556b57f9 72 //tempo calculations
liam_grazier 3:086e556b57f9 73 //note calculations
liam_grazier 3:086e556b57f9 74 sumprobabilitynotes();
liam_grazier 3:086e556b57f9 75 randomgeneratenotes();
liam_grazier 3:086e556b57f9 76 determinenotes();
liam_grazier 3:086e556b57f9 77 //octive calculation
liam_grazier 3:086e556b57f9 78 sumprobabilityoctives();
liam_grazier 3:086e556b57f9 79 randomgenerateoctives();
liam_grazier 3:086e556b57f9 80 determineoctives();
liam_grazier 3:086e556b57f9 81 //duration calculation
liam_grazier 3:086e556b57f9 82 sumprobabilityduration();
liam_grazier 3:086e556b57f9 83 randomgenerateduration();
liam_grazier 3:086e556b57f9 84 determineduration();
liam_grazier 3:086e556b57f9 85 outputdecision();
liam_grazier 3:086e556b57f9 86 }
liam_grazier 3:086e556b57f9 87 if(clockcount == storedduration-1){
liam_grazier 3:086e556b57f9 88 allledoff();
liam_grazier 3:086e556b57f9 89 getfaderdata();
liam_grazier 3:086e556b57f9 90 //tempo calculations
liam_grazier 3:086e556b57f9 91 gettempodata();
liam_grazier 3:086e556b57f9 92 //note calculations
liam_grazier 3:086e556b57f9 93 sumprobabilitynotes();
liam_grazier 3:086e556b57f9 94 randomgeneratenotes();
liam_grazier 3:086e556b57f9 95 determinenotes();
liam_grazier 3:086e556b57f9 96 //octive calculation
liam_grazier 3:086e556b57f9 97 sumprobabilityoctives();
liam_grazier 3:086e556b57f9 98 randomgenerateoctives();
liam_grazier 3:086e556b57f9 99 determineoctives();
liam_grazier 3:086e556b57f9 100 //duration calculation
liam_grazier 3:086e556b57f9 101 sumprobabilityduration();
liam_grazier 3:086e556b57f9 102 randomgenerateduration();
liam_grazier 3:086e556b57f9 103 determineduration();
liam_grazier 3:086e556b57f9 104 outputdecision();
liam_grazier 3:086e556b57f9 105
liam_grazier 3:086e556b57f9 106 }
liam_grazier 3:086e556b57f9 107 // pc.printf("NOTE: %i OCTIVE: %i DURATION: %i \n\r",note,octive,duration);
liam_grazier 3:086e556b57f9 108 // pc.printf("abstemmp %f \n\r",abstempo);
liam_grazier 3:086e556b57f9 109 if(clockcount == storedduration && sumnotes > 1){
benparkes 4:e56a755aeaf1 110
benparkes 4:e56a755aeaf1 111 senddacout();
benparkes 4:e56a755aeaf1 112
liam_grazier 3:086e556b57f9 113 trigout = 1;
liam_grazier 3:086e556b57f9 114 wait(0.0001);
liam_grazier 3:086e556b57f9 115 trigout = 0;
liam_grazier 3:086e556b57f9 116 wait(0.0001);
liam_grazier 3:086e556b57f9 117 clockcount = 0;
liam_grazier 3:086e556b57f9 118 }
benparkes 4:e56a755aeaf1 119 }
liam_grazier 3:086e556b57f9 120 if(clockcount == 1 && storedduration == 1){
liam_grazier 3:086e556b57f9 121 updateled();
liam_grazier 3:086e556b57f9 122 }
liam_grazier 3:086e556b57f9 123 if(clockcount == storedduration-1){
liam_grazier 3:086e556b57f9 124 updateled();
liam_grazier 3:086e556b57f9 125 }
liam_grazier 3:086e556b57f9 126 }
liam_grazier 3:086e556b57f9 127 #endif