This is a part of the Kinetiszer project.

Dependents:   SoundEngine

Committer:
Clemo
Date:
Tue Oct 28 12:19:22 2014 +0000
Revision:
0:5a419ba2726d
Error & warning free (I believe as I don't know how to clean).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Clemo 0:5a419ba2726d 1 /*
Clemo 0:5a419ba2726d 2 Copyright 2013 Paul Soulsby www.soulsbysynths.com
Clemo 0:5a419ba2726d 3 This file is part of Atmegatron.
Clemo 0:5a419ba2726d 4
Clemo 0:5a419ba2726d 5 Atmegatron is free software: you can redistribute it and/or modify
Clemo 0:5a419ba2726d 6 it under the terms of the GNU General Public License as published by
Clemo 0:5a419ba2726d 7 the Free Software Foundation, either version 3 of the License, or
Clemo 0:5a419ba2726d 8 (at your option) any later version.
Clemo 0:5a419ba2726d 9
Clemo 0:5a419ba2726d 10 Atmegatron is distributed in the hope that it will be useful,
Clemo 0:5a419ba2726d 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
Clemo 0:5a419ba2726d 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Clemo 0:5a419ba2726d 13 GNU General Public License for more details.
Clemo 0:5a419ba2726d 14
Clemo 0:5a419ba2726d 15 You should have received a copy of the GNU General Public License
Clemo 0:5a419ba2726d 16 along with Atmegatron. If not, see <http://www.gnu.org/licenses/>.
Clemo 0:5a419ba2726d 17 */
Clemo 0:5a419ba2726d 18
Clemo 0:5a419ba2726d 19
Clemo 0:5a419ba2726d 20 #ifndef __ARPEGGIATOR_H__
Clemo 0:5a419ba2726d 21 #define __ARPEGGIATOR_H__
Clemo 0:5a419ba2726d 22
Clemo 0:5a419ba2726d 23
Clemo 0:5a419ba2726d 24 //****THIS IS WHERE THE ARPEGGIATOR PATTERNS ARE STORED*******
Clemo 0:5a419ba2726d 25 //The way its is by up the notes currently being held down
Clemo 0:5a419ba2726d 26 //So if C,D,E,F,G were held down and pattern was {5,3,2,4,1},
Clemo 0:5a419ba2726d 27 //the arp would be G,E,D,F,C. Minus nums count downwards
Clemo 0:5a419ba2726d 28
Clemo 0:5a419ba2726d 29 #define PATLEN 16
Clemo 0:5a419ba2726d 30
Clemo 0:5a419ba2726d 31 extern const signed char arp_patstore[16][16];
Clemo 0:5a419ba2726d 32
Clemo 0:5a419ba2726d 33
Clemo 0:5a419ba2726d 34 void Arp_Let_Type(byte newpat);
Clemo 0:5a419ba2726d 35 byte Arp_Get_Type(void);
Clemo 0:5a419ba2726d 36 void Arp_Let_Speed(unsigned int newspeed);
Clemo 0:5a419ba2726d 37 unsigned int Arp_Get_Speed(void);
Clemo 0:5a419ba2726d 38 void Arp_Let_PingPong(boolean newpingpong);
Clemo 0:5a419ba2726d 39 boolean Arp_Get_PingPong(void);
Clemo 0:5a419ba2726d 40 void Arp_Reset(void);
Clemo 0:5a419ba2726d 41 void Arp_Poll(void);
Clemo 0:5a419ba2726d 42 void Arp_TriggerStep(void);
Clemo 0:5a419ba2726d 43 byte Arp_FindNote(signed char pos);
Clemo 0:5a419ba2726d 44 void Arp_IncPatPos(void);
Clemo 0:5a419ba2726d 45
Clemo 0:5a419ba2726d 46
Clemo 0:5a419ba2726d 47 #endif // __ARPEGGIATOR_H__