@@ -172,6 +172,21 @@ STATIC mp_obj_t audiomp3_mp3file_obj_set_file(mp_obj_t self_in, mp_obj_t file) {
172
172
}
173
173
MP_DEFINE_CONST_FUN_OBJ_2 (audiomp3_mp3file_set_file_obj , audiomp3_mp3file_obj_set_file );
174
174
175
+ //| def open(self, filepath: str) -> None:
176
+ //| """Takes in the name of a mp3 file, opens it, and replaces the old playback file."""
177
+ //| ...
178
+ //|
179
+ STATIC mp_obj_t audiomp3_mp3file_obj_open (mp_obj_t self_in , mp_obj_t path ) {
180
+ audiomp3_mp3file_obj_t * self = MP_OBJ_TO_PTR (self_in );
181
+ check_for_deinit (self );
182
+
183
+ mp_obj_t file = mp_call_function_2 (MP_OBJ_FROM_PTR (& mp_builtin_open_obj ), path , MP_ROM_QSTR (MP_QSTR_rb ));
184
+
185
+ common_hal_audiomp3_mp3file_set_file (self , file );
186
+ return mp_const_none ;
187
+ }
188
+ MP_DEFINE_CONST_FUN_OBJ_2 (audiomp3_mp3file_open_obj , audiomp3_mp3file_obj_open );
189
+
175
190
MP_PROPERTY_GETSET (audiomp3_mp3file_file_obj ,
176
191
(mp_obj_t )& audiomp3_mp3file_get_file_obj ,
177
192
(mp_obj_t )& audiomp3_mp3file_set_file_obj );
@@ -256,6 +271,7 @@ MP_PROPERTY_GETTER(audiomp3_mp3file_samples_decoded_obj,
256
271
257
272
STATIC const mp_rom_map_elem_t audiomp3_mp3file_locals_dict_table [] = {
258
273
// Methods
274
+ { MP_ROM_QSTR (MP_QSTR_open ), MP_ROM_PTR (& audiomp3_mp3file_open_obj ) },
259
275
{ MP_ROM_QSTR (MP_QSTR_deinit ), MP_ROM_PTR (& audiomp3_mp3file_deinit_obj ) },
260
276
{ MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& default___enter___obj ) },
261
277
{ MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& audiomp3_mp3file___exit___obj ) },
0 commit comments