Releases: maltman23/ArduTouch
ArduTouch Release V1.16
Definitive version of the library for a standalone ArduTouch card. Includes new Hocus synth, ADSR now uses 16-bit math instead of floating point, fixed glitch in first note played after startup or reset, new feature of User Interface Frames (with example sketch (_57_UI_Frames.ino).
ArduTouch Release V1.14
What's New in Version 1.14
--------------------------
Since ArduTouch Release V1.10 Dronetic and Quadrant synths have been added, along with many bug fixes in synths and in the library. Beatitude synth now has stereo panning. New features are available in the library, along with updated examples in the library. New demo videos have been added.
Here's what has been updated in the ArduTouch library:
1.14 RealTimeSequencer::jiffsToTrans is relaxed to the duration of a sixteenth note (was 1 juff)
the following fixes to the RealTimeSequencer class ...
bugfix: super was type-defed as Sequencer instead of SequencerRAM!
bugfix: multiple key events during transition no longer cause haywire record compilation
bugfix: :evHandler() no longer compiles bogus rest records
bugfix: when dynamics() concatenated a rest it was not checking for an empty buffer
1.13 re-implementation of LFO class:
1) internally uses 16-bit fixed pt math instead of floating pt math
2) adds signed/unsigned oscillator ranges
3) adds square, rising sawtooth and falling sawtooth waveforms
4) LFO::setDepth() takes 8-bit values (0 to 128, where 128 == 1.0)
5) add lfoIniPos command
6) nix lfoOnDepth command
7) flags.PEAK renamed .PHASE
add Long type
use PROMPT_STR() macro in KeyBrd, Bank, NoiseOsc modules
1.12 KEYBRD_MENUS is deprecated
add Synth::tuning() callback method
ardutouch_setup() instantiates master tuning object via Synth::tuning()
add AutoADSR class
add MasterADSR, MasterAutoADSR classes
add optional invert arg to blinkLED()
add LEDFrame struct
add saveLEDs() restoreLEDs()
add LED_ONOFF LED_INVERT
add syncLED()
blinkRate, setBlinkRate() getBlinkRate() renamed to BlinkTime
add Console::getChar() ::infoChar()
private function readPot() renamed scanPot()
add public function readPot()
add empty RingMod() constructor
Envelope get* routines defined in header file instead of module
use PROMPT_STR() macro in Voice, Envelope, Sequencer modules
1.11 add Gain class to StdEffects module
add HarmonicTuning class to Tuning module
::numNotes moved from EqualTemperament to Tuning
add Synth::runPreset()
add empty DualOsc() MixOsc() constructors
XorOsc::freqDiff made public
Synth::preset_loading made protected (from private)
use PROMPT_STR() macro in Osc DualOsc QuantumOsc StdEffects WaveGen modules
ArduTouch Release V1.10
What's New in Version 1.10
--------------------------
-
The ArduTouch library now works with the latest release of the Arduino IDE
(1.8.8).There is a known bug -- recently introduced -- in the Arduino linker, that
causes an error if a class method is given the same name as a global function.
In order to circumvent this bug, the method Synth::setup() has been renamed
Synth::config(). (Thanks to Charles Shapiro for suggesting this fix.)Also, VoxSynth::setupVoices() has been renamed VoxSynth::configVoices()
to keep the naming conventions consistent. -
Two new oscillator classes have been added for playing back samples:
class ModSampleOsc class TunedSampleOsc
ModSampleOsc inherits from SampleOsc and adds 2 new features: the sample
can be played forwards or backwards, and the duration of the playback can
be stretched.For a demo and more info see the new example sketch:
_31_Modified_DrumPad.ino
TunedSampleOsc inherits from WaveOsc. The wave table for a TunedSampleOsc
is played only once when triggered (instead of looping continuously).
Unlike a SampleOsc, the wavetable for a TunedSampleOsc is considered to
be tonal, to have a definite wavelength, and so can be played back at
specific musical pitches like a normal oscillator.For a demo and more info see the new example sketch:
_32_TunedSampleOsc.ino
-
A new sample, Wood01, has been added to the Drums library.
As with all library samples there is a "lo-fi" version (lofi_Wood01).
Wood01 is the sound of a wood block being struck. -
A new subclass, ADSRVoice, has been broken out from the Voice class.
Voice's built-in .envAmp (an ADSR envelope) has been moved to ADSRVoice.
The StockVoice class now inherits from ADSRVoice (which inherits from Voice).
This change impacts all code which referenced the ADSR envelope via the vox[]
pointers used by synths which have VoxSynth as a super class. These pointers
must now be typecast (to ADSRVoice*) in order to reference .envAmpSee the example sketch _61_Voice_Part_1.ino for more details.
-
The Envelope class has been renamed ADSR.
-
To sync with the changes in the library as described in (1) (4) and (5)
there are new versions of the following synths:Arpology Beatitude DuoPoly Mantra Thick Xoid ZapShot
-
The following example sketches have been rewritten because they wrongly
portrayed the relationship between the Voice, StockVoice, and OneVoxSynth
classes:_08_Envelope.ino _09_Vibrato.ino
If you worked through these example sketches in a prior release you might want
to revisit them.