Skip to content

Commit 2ed3349

Browse files
authored
Merge branch 'adafruit:main' into main
2 parents 6b8b58e + 117b5d1 commit 2ed3349

File tree

8 files changed

+39
-2
lines changed

8 files changed

+39
-2
lines changed

lib/tinyusb

Submodule tinyusb updated 452 files

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ SPI_FLASH_FILESYSTEM = 1
1010
EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C, W25Q16JVxQ"
1111
LONGINT_IMPL = MPZ
1212

13+
CIRCUITPY_CODEOP = 0
1314
CIRCUITPY_RAINBOWIO = 0

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C, W25Q16JVxQ"
1111
LONGINT_IMPL = MPZ
1212

1313
CIRCUITPY_CODEOP = 0
14+
CIRCUITPY_ERRNO = 0
1415
CIRCUITPY_RAINBOWIO = 0

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ EXTERNAL_FLASH_DEVICES = "W25Q32FV"
1111
LONGINT_IMPL = MPZ
1212

1313
CIRCUITPY_CODEOP = 0
14+
CIRCUITPY_ERRNO = 0
1415
CIRCUITPY_RAINBOWIO = 0

shared-bindings/synthio/MidiTrack.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,27 @@ static void check_for_deinit(synthio_miditrack_obj_t *self) {
115115
//| """32 bit value that tells how quickly samples are played in Hertz (cycles per second)."""
116116
//|
117117

118+
//| tempo: int
119+
//| """Tempo of the streamed events, in MIDI ticks per second."""
120+
//|
121+
static mp_obj_t synthio_miditrack_obj_get_tempo(mp_obj_t self_in) {
122+
synthio_miditrack_obj_t *self = MP_OBJ_TO_PTR(self_in);
123+
check_for_deinit(self);
124+
return mp_obj_new_int(common_hal_synthio_miditrack_get_tempo(self));
125+
}
126+
MP_DEFINE_CONST_FUN_OBJ_1(synthio_miditrack_get_tempo_obj, synthio_miditrack_obj_get_tempo);
127+
128+
static mp_obj_t synthio_miditrack_obj_set_tempo(mp_obj_t self_in, mp_obj_t arg) {
129+
synthio_miditrack_obj_t *self = MP_OBJ_TO_PTR(self_in);
130+
check_for_deinit(self);
131+
common_hal_synthio_miditrack_set_tempo(self, mp_obj_get_int(arg));
132+
return mp_const_none;
133+
}
134+
MP_DEFINE_CONST_FUN_OBJ_2(synthio_miditrack_set_tempo_obj, synthio_miditrack_obj_set_tempo);
135+
MP_PROPERTY_GETSET(synthio_miditrack_tempo_obj,
136+
(mp_obj_t)&synthio_miditrack_get_tempo_obj,
137+
(mp_obj_t)&synthio_miditrack_set_tempo_obj);
138+
118139
//| error_location: Optional[int]
119140
//| """Offset, in bytes within the midi data, of a decoding error"""
120141
//|
@@ -141,6 +162,7 @@ static const mp_rom_map_elem_t synthio_miditrack_locals_dict_table[] = {
141162

142163
// Properties
143164
{ MP_ROM_QSTR(MP_QSTR_error_location), MP_ROM_PTR(&synthio_miditrack_error_location_obj) },
165+
{ MP_ROM_QSTR(MP_QSTR_tempo), MP_ROM_PTR(&synthio_miditrack_tempo_obj) },
144166
AUDIOSAMPLE_FIELDS,
145167
};
146168
static MP_DEFINE_CONST_DICT(synthio_miditrack_locals_dict, synthio_miditrack_locals_dict_table);

shared-bindings/synthio/MidiTrack.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ void common_hal_synthio_miditrack_construct(synthio_miditrack_obj_t *self, const
1515

1616
void common_hal_synthio_miditrack_deinit(synthio_miditrack_obj_t *self);
1717
mp_int_t common_hal_synthio_miditrack_get_error_location(synthio_miditrack_obj_t *self);
18+
19+
mp_int_t common_hal_synthio_miditrack_get_tempo(synthio_miditrack_obj_t *self);
20+
void common_hal_synthio_miditrack_set_tempo(synthio_miditrack_obj_t *self, mp_int_t value);

shared-module/synthio/MidiTrack.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,15 @@ mp_int_t common_hal_synthio_miditrack_get_error_location(synthio_miditrack_obj_t
116116
return self->error_location;
117117
}
118118

119+
mp_int_t common_hal_synthio_miditrack_get_tempo(synthio_miditrack_obj_t *self) {
120+
return self->tempo;
121+
}
122+
123+
void common_hal_synthio_miditrack_set_tempo(synthio_miditrack_obj_t *self, mp_int_t value) {
124+
mp_int_t val = mp_arg_validate_int_min(value, 1, MP_QSTR_tempo);
125+
self->tempo = val;
126+
}
127+
119128
void synthio_miditrack_reset_buffer(synthio_miditrack_obj_t *self,
120129
bool single_channel_output, uint8_t channel) {
121130
synthio_synth_reset_buffer(&self->synth, single_channel_output, channel);

0 commit comments

Comments
 (0)