This is a part of the Kinetiszer project.
arpeggiator.h@0:5a419ba2726d, 2014-10-28 (annotated)
- 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?
User | Revision | Line number | New 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__ |