Skip to content

Commit 6df88ac

Browse files
authored
Merge pull request #7825 from jepler/better-synthio
Better synthio
2 parents a8ea8ea + f2e26e8 commit 6df88ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+915
-145
lines changed

locale/circuitpython.pot

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ msgstr ""
193193
msgid "%q must be array of type 'H'"
194194
msgstr ""
195195

196+
#: shared-bindings/synthio/MidiTrack.c shared-bindings/synthio/__init__.c
197+
msgid "%q must be array of type 'h'"
198+
msgstr ""
199+
196200
#: ports/raspberrypi/bindings/cyw43/__init__.c py/argcheck.c py/objexcept.c
197201
#: shared-bindings/canio/CAN.c shared-bindings/digitalio/Pull.c
198202
msgid "%q must be of type %q or %q, not %q"

ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ CIRCUITPY_AUDIOIO = 1
4444
CIRCUITPY_AUDIOMIXER = 1
4545
CIRCUITPY_DISPLAYIO = 1
4646
CIRCUITPY_KEYPAD = 1
47+
CIRCUITPY_KEYPAD_SHIFTREGISTERKEYS = 0
48+
CIRCUITPY_KEYPAD_KEYMATRIX = 0
4749
CIRCUITPY_MATH = 1
4850
CIRCUITPY_STAGE = 1
4951
CIRCUITPY_SYNTHIO = 1

ports/mimxrt10xx/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ INC += \
3838
-Iboards/$(BOARD) \
3939
-Iperipherals/ \
4040
-Iperipherals/mimxrt10xx/ \
41-
-Isdk/CMSIS/Include \
4241
-Isdk/devices/$(CHIP_FAMILY) \
4342
-Isdk/devices/$(CHIP_FAMILY)/drivers \
4443
-Isdk/drivers/common

ports/mimxrt10xx/mpconfigport.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ CIRCUITPY_AUDIOIO = 0
1818
CIRCUITPY_AUDIOMIXER = 1
1919
CIRCUITPY_AUDIOMP3 = 1
2020
CIRCUITPY_AUDIOPWMIO = 1
21+
CIRCUITPY_SYNTHIO_MAX_CHANNELS = 12
2122
CIRCUITPY_BUSDEVICE = 1
2223
CIRCUITPY_COUNTIO = 0
2324
CIRCUITPY_FREQUENCYIO = 0

ports/raspberrypi/mpconfigport.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ CIRCUITPY_PWMIO ?= 1
1919
CIRCUITPY_RGBMATRIX ?= $(CIRCUITPY_DISPLAYIO)
2020
CIRCUITPY_ROTARYIO ?= 1
2121
CIRCUITPY_ROTARYIO_SOFTENCODER = 1
22+
CIRCUITPY_SYNTHIO_MAX_CHANNELS = 12
2223

2324
# Things that need to be implemented.
2425
# Use PWM internally

ports/unix/variants/coverage/mpconfigvariant.mk

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,30 @@ SRC_BITMAP := \
3030
displayio_min.c \
3131
shared-bindings/aesio/aes.c \
3232
shared-bindings/aesio/__init__.c \
33+
shared-bindings/audiocore/__init__.c \
34+
shared-bindings/audiocore/RawSample.c \
35+
shared-bindings/audiocore/WaveFile.c \
36+
shared-bindings/audiomixer/__init__.c \
37+
shared-bindings/audiomixer/Mixer.c \
38+
shared-bindings/audiomixer/MixerVoice.c \
3339
shared-bindings/bitmaptools/__init__.c \
3440
shared-bindings/displayio/Bitmap.c \
3541
shared-bindings/rainbowio/__init__.c \
3642
shared-bindings/struct/__init__.c \
43+
shared-bindings/synthio/__init__.c \
44+
shared-bindings/synthio/MidiTrack.c \
45+
shared-bindings/synthio/Synthesizer.c \
3746
shared-bindings/traceback/__init__.c \
3847
shared-bindings/util.c \
3948
shared-bindings/zlib/__init__.c \
4049
shared-module/aesio/aes.c \
4150
shared-module/aesio/__init__.c \
51+
shared-module/audiocore/__init__.c \
52+
shared-module/audiocore/RawSample.c \
53+
shared-module/audiocore/WaveFile.c \
54+
shared-module/audiomixer/__init__.c \
55+
shared-module/audiomixer/Mixer.c \
56+
shared-module/audiomixer/MixerVoice.c \
4257
shared-module/bitmaptools/__init__.c \
4358
shared-module/displayio/area.c \
4459
shared-module/displayio/Bitmap.c \
@@ -47,19 +62,27 @@ SRC_BITMAP := \
4762
shared-module/os/getenv.c \
4863
shared-module/rainbowio/__init__.c \
4964
shared-module/struct/__init__.c \
65+
shared-module/synthio/__init__.c \
66+
shared-module/synthio/MidiTrack.c \
67+
shared-module/synthio/Synthesizer.c \
5068
shared-module/traceback/__init__.c \
5169
shared-module/zlib/__init__.c \
5270

5371
SRC_C += $(SRC_BITMAP)
5472

5573
CFLAGS += \
5674
-DCIRCUITPY_AESIO=1 \
75+
-DCIRCUITPY_AUDIOCORE=1 \
76+
-DCIRCUITPY_AUDIOMIXER=1 \
77+
-DCIRCUITPY_AUDIOCORE_DEBUG=1 \
5778
-DCIRCUITPY_BITMAPTOOLS=1 \
5879
-DCIRCUITPY_DISPLAYIO_UNIX=1 \
59-
-DCIRCUITPY_OS_GETENV=1 \
6080
-DCIRCUITPY_GIFIO=1 \
81+
-DCIRCUITPY_OS_GETENV=1 \
6182
-DCIRCUITPY_RAINBOWIO=1 \
6283
-DCIRCUITPY_STRUCT=1 \
84+
-DCIRCUITPY_SYNTHIO=1 \
85+
-DCIRCUITPY_SYNTHIO_MAX_CHANNELS=14 \
6386
-DCIRCUITPY_TRACEBACK=1 \
6487
-DCIRCUITPY_ZLIB=1
6588

py/circuitpy_defns.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,7 @@ SRC_SHARED_MODULE_ALL = \
648648
supervisor/__init__.c \
649649
supervisor/StatusBar.c \
650650
synthio/MidiTrack.c \
651+
synthio/Synthesizer.c \
651652
synthio/__init__.c \
652653
terminalio/Terminal.c \
653654
terminalio/__init__.c \

py/circuitpy_mpconfig.mk

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ CFLAGS += -DCIRCUITPY_AUDIOCORE=$(CIRCUITPY_AUDIOCORE)
107107
CIRCUITPY_AUDIOMIXER ?= $(CIRCUITPY_AUDIOIO)
108108
CFLAGS += -DCIRCUITPY_AUDIOMIXER=$(CIRCUITPY_AUDIOMIXER)
109109

110+
ifndef CIRCUITPY_AUDIOCORE_DEBUG
111+
CIRCUITPY_AUDIOCORE_DEBUG ?= 0
112+
endif
113+
CFLAGS += -DCIRCUITPY_AUDIOCORE_DEBUG=$(CIRCUITPY_AUDIOCORE_DEBUG)
114+
110115
ifndef CIRCUITPY_AUDIOMP3
111116
ifeq ($(CIRCUITPY_FULL_BUILD),1)
112117
CIRCUITPY_AUDIOMP3 = $(CIRCUITPY_AUDIOCORE)
@@ -286,6 +291,15 @@ CFLAGS += -DCIRCUITPY_JSON=$(CIRCUITPY_JSON)
286291
CIRCUITPY_KEYPAD ?= $(CIRCUITPY_FULL_BUILD)
287292
CFLAGS += -DCIRCUITPY_KEYPAD=$(CIRCUITPY_KEYPAD)
288293

294+
CIRCUITPY_KEYPAD_KEYS ?= $(CIRCUITPY_KEYPAD)
295+
CFLAGS += -DCIRCUITPY_KEYPAD_KEYS=$(CIRCUITPY_KEYPAD_KEYS)
296+
297+
CIRCUITPY_KEYPAD_KEYMATRIX ?= $(CIRCUITPY_KEYPAD)
298+
CFLAGS += -DCIRCUITPY_KEYPAD_KEYMATRIX=$(CIRCUITPY_KEYPAD_KEYMATRIX)
299+
300+
CIRCUITPY_KEYPAD_SHIFTREGISTERKEYS ?= $(CIRCUITPY_KEYPAD)
301+
CFLAGS += -DCIRCUITPY_KEYPAD_SHIFTREGISTERKEYS=$(CIRCUITPY_KEYPAD_SHIFTREGISTERKEYS)
302+
289303
CIRCUITPY_MATH ?= 1
290304
CFLAGS += -DCIRCUITPY_MATH=$(CIRCUITPY_MATH)
291305

@@ -437,6 +451,10 @@ CFLAGS += -DCIRCUITPY_SUPERVISOR=$(CIRCUITPY_SUPERVISOR)
437451
CIRCUITPY_SYNTHIO ?= $(CIRCUITPY_AUDIOCORE)
438452
CFLAGS += -DCIRCUITPY_SYNTHIO=$(CIRCUITPY_SYNTHIO)
439453

454+
CIRCUITPY_SYNTHIO_MAX_CHANNELS ?= 2
455+
CFLAGS += -DCIRCUITPY_SYNTHIO_MAX_CHANNELS=$(CIRCUITPY_SYNTHIO_MAX_CHANNELS)
456+
457+
440458
CIRCUITPY_SYS ?= 1
441459
CFLAGS += -DCIRCUITPY_SYS=$(CIRCUITPY_SYS)
442460

shared-bindings/audiobusio/I2SOut.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
//| ...
9898
STATIC mp_obj_t audiobusio_i2sout_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
9999
#if !CIRCUITPY_AUDIOBUSIO_I2SOUT
100-
mp_raise_NotImplementedError(translate("I2SOut not available"));
100+
mp_raise_NotImplementedError_varg(translate("%q"), MP_QSTR_I2SOut);
101101
return NULL; // Not reachable.
102102
#else
103103
enum { ARG_bit_clock, ARG_word_select, ARG_data, ARG_left_justified };

shared-bindings/audiobusio/PDMIn.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
//| ...
9595
STATIC mp_obj_t audiobusio_pdmin_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
9696
#if !CIRCUITPY_AUDIOBUSIO_PDMIN
97-
mp_raise_NotImplementedError(translate("PDMIn not available"));
97+
mp_raise_NotImplementedError_varg(translate("%q"), MP_QSTR_PDMIn);
9898
#else
9999
enum { ARG_clock_pin, ARG_data_pin, ARG_sample_rate, ARG_bit_depth, ARG_mono, ARG_oversample, ARG_startup_delay };
100100
static const mp_arg_t allowed_args[] = {

0 commit comments

Comments
 (0)