update music functionality
This commit is contained in:
@@ -39,6 +39,7 @@
|
|||||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
|
|
||||||
|
#define C6_AUDIO
|
||||||
#define B7_AUDIO
|
#define B7_AUDIO
|
||||||
|
|
||||||
#undef BACKLIGHT_PIN
|
#undef BACKLIGHT_PIN
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -36,6 +36,27 @@
|
|||||||
// Enable vibrato strength/amplitude - slows down ISR too much
|
// Enable vibrato strength/amplitude - slows down ISR too much
|
||||||
// #define VIBRATO_STRENGTH_ENABLE
|
// #define VIBRATO_STRENGTH_ENABLE
|
||||||
|
|
||||||
|
#ifdef B_AUDIO
|
||||||
|
#error Please define B5_AUDIO, B6_AUDIO, or B7_AUDIO instead
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(B5_AUDIO) || defined(B6_AUDIO) || defined(B7_AUDIO)
|
||||||
|
#define B_AUDIO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(C6_AUDIO) && defined (B_AUDIO)
|
||||||
|
#define NUMBER_OF_TIMERS 2
|
||||||
|
#elif defined(C6_AUDIO)
|
||||||
|
#define NUMBER_OF_TIMERS 1
|
||||||
|
#elif defined(B_AUDIO)
|
||||||
|
#define NUMBER_OF_TIMERS 1
|
||||||
|
#else
|
||||||
|
#define NUMBER_OF_TIMERS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define TIMER_1_INDEX 0
|
||||||
|
#define TIMER_3_INDEX 1
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
uint8_t raw;
|
uint8_t raw;
|
||||||
struct {
|
struct {
|
||||||
@@ -75,7 +96,7 @@ void disable_polyphony(void);
|
|||||||
void increase_polyphony_rate(float change);
|
void increase_polyphony_rate(float change);
|
||||||
void decrease_polyphony_rate(float change);
|
void decrease_polyphony_rate(float change);
|
||||||
|
|
||||||
void set_timbre(float timbre);
|
void set_timbre(float timbre, uint8_t timer_index);
|
||||||
void set_tempo(uint8_t tempo);
|
void set_tempo(uint8_t tempo);
|
||||||
|
|
||||||
void increase_tempo(uint8_t tempo_change);
|
void increase_tempo(uint8_t tempo_change);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@
|
|||||||
#ifndef VOICES_H
|
#ifndef VOICES_H
|
||||||
#define VOICES_H
|
#define VOICES_H
|
||||||
|
|
||||||
float voice_envelope(float frequency);
|
float voice_envelope(float frequency, uint8_t timer_index);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
default_voice,
|
default_voice,
|
||||||
@@ -45,8 +45,12 @@ typedef enum {
|
|||||||
number_of_voices // important that this is last
|
number_of_voices // important that this is last
|
||||||
} voice_type;
|
} voice_type;
|
||||||
|
|
||||||
void set_voice(voice_type v);
|
void set_all_voices(voice_type v);
|
||||||
void voice_iterate(void);
|
void all_voices_iterate(void);
|
||||||
void voice_deiterate(void);
|
void all_voices_deiterate(void);
|
||||||
|
|
||||||
|
void set_voice(voice_type v, uint8_t timer_index);
|
||||||
|
void voice_iterate(uint8_t timer_index);
|
||||||
|
void voice_deiterate(uint8_t timer_index);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -38,13 +38,13 @@ bool process_audio(uint16_t keycode, keyrecord_t *record) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (keycode == MUV_IN && record->event.pressed) {
|
if (keycode == MUV_IN && record->event.pressed) {
|
||||||
voice_iterate();
|
all_voices_iterate();
|
||||||
PLAY_SONG(voice_change_song);
|
PLAY_SONG(voice_change_song);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keycode == MUV_DE && record->event.pressed) {
|
if (keycode == MUV_DE && record->event.pressed) {
|
||||||
voice_deiterate();
|
all_voices_deiterate();
|
||||||
PLAY_SONG(voice_change_song);
|
PLAY_SONG(voice_change_song);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,7 @@ bool music_activated = false;
|
|||||||
bool midi_activated = false;
|
bool midi_activated = false;
|
||||||
uint8_t music_starting_note = 0x0C;
|
uint8_t music_starting_note = 0x0C;
|
||||||
int music_offset = 7;
|
int music_offset = 7;
|
||||||
uint8_t music_mode = MUSIC_MODE_CHROMATIC;
|
uint8_t music_mode = MUSIC_MODE_MAJOR;
|
||||||
|
|
||||||
// music sequencer
|
// music sequencer
|
||||||
static bool music_sequence_recording = false;
|
static bool music_sequence_recording = false;
|
||||||
|
Reference in New Issue
Block a user