summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-01-11 13:58:41 +0000
committerAidan MacDonald <amachronic@protonmail.com>2022-01-29 19:28:03 +0000
commitc1f1d9140407757fab16c418eed09f5517c649d7 (patch)
treeee75be10480d454ea8a8cbd38cb51d29b7019433 /apps
parentbc5a6385949c9f0a17173f3512aa9a6db9175803 (diff)
downloadrockbox-c1f1d9140407757fab16c418eed09f5517c649d7.tar.gz
rockbox-c1f1d9140407757fab16c418eed09f5517c649d7.zip
FiiO M3K: audio recording
Recording works now, although I'm sure there will be a few things that need fine-tuning. A major issue is that writing to the SD card creates noticable interference, which happens on the original firmware too but seems worse under Rockbox. (Since Rockbox waits until RAM fills up before writing data, the interference will only be heard on >50 MiB recordings.) Change-Id: I5561dd9668c3bdd34e92f34ef50848aef8c0b7eb
Diffstat (limited to 'apps')
-rw-r--r--apps/keymaps/keymap-fiiom3k.c42
1 files changed, 41 insertions, 1 deletions
diff --git a/apps/keymaps/keymap-fiiom3k.c b/apps/keymaps/keymap-fiiom3k.c
index a97be0870d..337a2184cd 100644
--- a/apps/keymaps/keymap-fiiom3k.c
+++ b/apps/keymaps/keymap-fiiom3k.c
@@ -138,6 +138,16 @@ static const struct button_mapping button_context_settings[] = {
138 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 138 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
139}; /* button_context_settings */ 139}; /* button_context_settings */
140 140
141static const struct button_mapping button_context_settings_rectrigger[] = {
142 {ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE},
143 {ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
144 {ACTION_SETTINGS_INCBIGSTEP, BUTTON_VOL_UP, BUTTON_NONE},
145 {ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE},
146 {ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
147 {ACTION_SETTINGS_DECBIGSTEP, BUTTON_VOL_DOWN, BUTTON_NONE},
148 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
149}; /* button_context_settings_rectrigger */
150
141static const struct button_mapping button_context_settings_eq[] = { 151static const struct button_mapping button_context_settings_eq[] = {
142 {ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE}, 152 {ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE},
143 {ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 153 {ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
@@ -203,6 +213,33 @@ static const struct button_mapping button_context_yesnoscreen[] = {
203 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 213 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
204}; /* button_context_yesnoscreen */ 214}; /* button_context_yesnoscreen */
205 215
216static const struct button_mapping button_context_recscreen[] = {
217 {ACTION_REC_PAUSE, BUTTON_SELECT, BUTTON_NONE},
218 {ACTION_REC_PAUSE, BUTTON_PLAY, BUTTON_NONE},
219 {ACTION_REC_NEWFILE, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT},
220 {ACTION_REC_NEWFILE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY},
221 {ACTION_STD_MENU, BUTTON_MENU, BUTTON_NONE},
222 {ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE},
223 {ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE},
224 {ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE},
225 {ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
226 {ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE},
227 {ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
228 {ACTION_STD_PREV, BUTTON_SCROLL_BACK, BUTTON_NONE},
229 {ACTION_STD_PREVREPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE},
230 {ACTION_STD_NEXT, BUTTON_SCROLL_FWD, BUTTON_NONE},
231 {ACTION_STD_NEXTREPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE},
232 {ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE},
233 {ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
234 {ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
235 {ACTION_SETTINGS_DECREPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
236 {ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE},
237 {ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
238 {ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE},
239 {ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
240 LAST_ITEM_IN_LIST
241}; /* button_context_recscreen */
242
206static const struct button_mapping button_context_keyboard[] = { 243static const struct button_mapping button_context_keyboard[] = {
207 {ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE}, 244 {ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE},
208 {ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE}, 245 {ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE},
@@ -315,8 +352,9 @@ const struct button_mapping* get_context_mapping(int context)
315 return button_context_list; 352 return button_context_list;
316 case CONTEXT_SETTINGS: 353 case CONTEXT_SETTINGS:
317 case CONTEXT_SETTINGS_TIME: 354 case CONTEXT_SETTINGS_TIME:
318 case CONTEXT_SETTINGS_RECTRIGGER:
319 return button_context_settings; 355 return button_context_settings;
356 case CONTEXT_SETTINGS_RECTRIGGER:
357 return button_context_settings_rectrigger;
320 case CONTEXT_SETTINGS_EQ: 358 case CONTEXT_SETTINGS_EQ:
321 case CONTEXT_SETTINGS_COLOURCHOOSER: 359 case CONTEXT_SETTINGS_COLOURCHOOSER:
322 return button_context_settings_eq; 360 return button_context_settings_eq;
@@ -326,6 +364,8 @@ const struct button_mapping* get_context_mapping(int context)
326 return button_context_pitchscreen; 364 return button_context_pitchscreen;
327 case CONTEXT_YESNOSCREEN: 365 case CONTEXT_YESNOSCREEN:
328 return button_context_yesnoscreen; 366 return button_context_yesnoscreen;
367 case CONTEXT_RECSCREEN:
368 return button_context_recscreen;
329 case CONTEXT_KEYBOARD: 369 case CONTEXT_KEYBOARD:
330 return button_context_keyboard; 370 return button_context_keyboard;
331 case CONTEXT_USB_HID: 371 case CONTEXT_USB_HID: