This is a part of the Kinetiszer project.
waveforms.h
- Committer:
- Clemo
- Date:
- 2014-10-28
- Revision:
- 0:5a419ba2726d
File content as of revision 0:5a419ba2726d:
/* Copyright 2013 Paul Soulsby www.soulsbysynths.com This file is part of Atmegatron. Atmegatron is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Atmegatron is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Atmegatron. If not, see <http://www.gnu.org/licenses/>. */ #ifndef __WAVEFORMS_H__ #define __WAVEFORMS_H__ extern const sample_t wave_store[2][16][WAVE_LEN]; // CPV - Made extern to speed up processing extern sample_t wave_process[WAVE_LEN]; //temp wavetable used to process wavetable extern sample_t wave_process_ch2[WAVE_LEN]; //temp wavetable used for channel two void Wave_Let_Table(byte newtable); byte Wave_Get_Table(void); void Wave_Let_Bank(byte newbank); byte Wave_Get_Bank(void); // CPV - inlined to speed up processing inline void Wave_Let_Process(byte index, sample_t newval); // CPV - inlined to speed up processing inline sample_t Wave_Get_Process(byte index); void Wave_Let_UserMode(boolean newval); boolean Wave_Get_UserMode(void); void Wave_Let_UserWave(byte index, sample_t newval); sample_t Wave_Get_UserWave(byte index); void Init_Waves(void); void Wave_Process(void); void Wave_Clear(void); #endif // __WAVEFORMS_H__