diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/recorder/radio.c | 16 | ||||
-rw-r--r-- | apps/recorder/recording.c | 24 |
2 files changed, 32 insertions, 8 deletions
diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c index 68d36dddd3..ba8fc7e7c2 100644 --- a/apps/recorder/radio.c +++ b/apps/recorder/radio.c | |||
@@ -76,6 +76,7 @@ | |||
76 | #define FM_EXIT (BUTTON_SELECT | BUTTON_REL) | 76 | #define FM_EXIT (BUTTON_SELECT | BUTTON_REL) |
77 | #elif CONFIG_KEYPAD == ONDIO_PAD /* restricted keypad */ | 77 | #elif CONFIG_KEYPAD == ONDIO_PAD /* restricted keypad */ |
78 | #define FM_MENU (BUTTON_MENU | BUTTON_REPEAT) | 78 | #define FM_MENU (BUTTON_MENU | BUTTON_REPEAT) |
79 | #define FM_RECORD_DBLPRE BUTTON_MENU | ||
79 | #define FM_RECORD (BUTTON_MENU | BUTTON_REL) | 80 | #define FM_RECORD (BUTTON_MENU | BUTTON_REL) |
80 | #define FM_STOP (BUTTON_OFF | BUTTON_REL) | 81 | #define FM_STOP (BUTTON_OFF | BUTTON_REL) |
81 | #define FM_EXIT (BUTTON_OFF | BUTTON_REPEAT) | 82 | #define FM_EXIT (BUTTON_OFF | BUTTON_REPEAT) |
@@ -182,6 +183,9 @@ bool radio_screen(void) | |||
182 | char buf[MAX_PATH]; | 183 | char buf[MAX_PATH]; |
183 | bool done = false; | 184 | bool done = false; |
184 | int button, lastbutton = BUTTON_NONE; | 185 | int button, lastbutton = BUTTON_NONE; |
186 | #ifdef FM_RECORD_DBLPRE | ||
187 | unsigned long rec_lastclick = 0; | ||
188 | #endif | ||
185 | int freq; | 189 | int freq; |
186 | bool tuned; | 190 | bool tuned; |
187 | bool stereo = false; | 191 | bool stereo = false; |
@@ -323,6 +327,18 @@ bool radio_screen(void) | |||
323 | 327 | ||
324 | #ifdef FM_RECORD | 328 | #ifdef FM_RECORD |
325 | case FM_RECORD: | 329 | case FM_RECORD: |
330 | #ifdef FM_RECORD_DBLPRE | ||
331 | if (lastbutton != FM_RECORD_DBLPRE) | ||
332 | { | ||
333 | rec_lastclick = 0; | ||
334 | break; | ||
335 | } | ||
336 | if (current_tick - rec_lastclick > HZ/2) | ||
337 | { | ||
338 | rec_lastclick = current_tick; | ||
339 | break; | ||
340 | } | ||
341 | #endif | ||
326 | #ifndef SIMULATOR | 342 | #ifndef SIMULATOR |
327 | if(audio_status() == AUDIO_STATUS_RECORD) | 343 | if(audio_status() == AUDIO_STATUS_RECORD) |
328 | { | 344 | { |
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index 3fcf97b177..e6bb833584 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -66,18 +66,23 @@ | |||
66 | #define REC_SETTINGS BUTTON_F1 | 66 | #define REC_SETTINGS BUTTON_F1 |
67 | #define REC_F2 BUTTON_F2 | 67 | #define REC_F2 BUTTON_F2 |
68 | #define REC_F3 BUTTON_F3 | 68 | #define REC_F3 BUTTON_F3 |
69 | |||
69 | #elif CONFIG_KEYPAD == ONDIO_PAD /* only limited features */ | 70 | #elif CONFIG_KEYPAD == ONDIO_PAD /* only limited features */ |
70 | #define REC_STOPEXIT BUTTON_OFF | 71 | #define REC_STOPEXIT BUTTON_OFF |
71 | #define REC_RECPAUSE BUTTON_RIGHT | 72 | #define REC_RECPAUSE_PRE BUTTON_MENU |
72 | #define REC_INC BUTTON_UP | 73 | #define REC_RECPAUSE (BUTTON_MENU | BUTTON_REL) |
73 | #define REC_DEC BUTTON_DOWN | 74 | #define REC_INC BUTTON_RIGHT |
74 | #define REC_NEXT (BUTTON_MENU | BUTTON_REL) | 75 | #define REC_DEC BUTTON_LEFT |
76 | #define REC_NEXT BUTTON_DOWN | ||
77 | #define REC_PREV BUTTON_UP | ||
75 | #define REC_SETTINGS (BUTTON_MENU | BUTTON_REPEAT) | 78 | #define REC_SETTINGS (BUTTON_MENU | BUTTON_REPEAT) |
79 | |||
76 | #elif CONFIG_KEYPAD == IRIVER_H100_PAD | 80 | #elif CONFIG_KEYPAD == IRIVER_H100_PAD |
77 | #define REC_STOPEXIT BUTTON_OFF | 81 | #define REC_STOPEXIT BUTTON_OFF |
78 | #define REC_RECPAUSE BUTTON_ON | 82 | #define REC_RECPAUSE BUTTON_ON |
79 | #define REC_INC BUTTON_RIGHT | 83 | #define REC_INC BUTTON_RIGHT |
80 | #define REC_DEC BUTTON_LEFT | 84 | #define REC_DEC BUTTON_LEFT |
85 | |||
81 | #elif CONFIG_KEYPAD == GMINI100_PAD | 86 | #elif CONFIG_KEYPAD == GMINI100_PAD |
82 | #define REC_STOPEXIT BUTTON_OFF | 87 | #define REC_STOPEXIT BUTTON_OFF |
83 | #define REC_RECPAUSE BUTTON_ON | 88 | #define REC_RECPAUSE BUTTON_ON |
@@ -150,11 +155,7 @@ void adjust_cursor(void) | |||
150 | cursor = 0; | 155 | cursor = 0; |
151 | 156 | ||
152 | if(cursor > 2) | 157 | if(cursor > 2) |
153 | #ifdef REC_PREV /* normal case, stop at the end */ | ||
154 | cursor = 2; | 158 | cursor = 2; |
155 | #else | ||
156 | cursor = 0; /* only 1 button, cycle through */ | ||
157 | #endif | ||
158 | } | 159 | } |
159 | else | 160 | else |
160 | { | 161 | { |
@@ -254,6 +255,7 @@ static void trigger_listener(int trigger_status) | |||
254 | bool recording_screen(void) | 255 | bool recording_screen(void) |
255 | { | 256 | { |
256 | long button; | 257 | long button; |
258 | long lastbutton = BUTTON_NONE; | ||
257 | bool done = false; | 259 | bool done = false; |
258 | char buf[32]; | 260 | char buf[32]; |
259 | char buf2[32]; | 261 | char buf2[32]; |
@@ -395,6 +397,10 @@ bool recording_screen(void) | |||
395 | break; | 397 | break; |
396 | 398 | ||
397 | case REC_RECPAUSE: | 399 | case REC_RECPAUSE: |
400 | #ifdef REC_RECPAUSE_PRE | ||
401 | if (lastbutton != REC_RECPAUSE_PRE) | ||
402 | break; | ||
403 | #endif | ||
398 | /* Only act if the mpeg is stopped */ | 404 | /* Only act if the mpeg is stopped */ |
399 | if(!(audio_stat & AUDIO_STATUS_RECORD)) | 405 | if(!(audio_stat & AUDIO_STATUS_RECORD)) |
400 | { | 406 | { |
@@ -622,6 +628,8 @@ bool recording_screen(void) | |||
622 | default_event_handler(button); | 628 | default_event_handler(button); |
623 | break; | 629 | break; |
624 | } | 630 | } |
631 | if (button != BUTTON_NONE) | ||
632 | lastbutton = button; | ||
625 | 633 | ||
626 | lcd_setfont(FONT_SYSFIXED); | 634 | lcd_setfont(FONT_SYSFIXED); |
627 | 635 | ||