diff options
Diffstat (limited to 'apps/recorder/recording.c')
-rw-r--r-- | apps/recorder/recording.c | 24 |
1 files changed, 16 insertions, 8 deletions
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 | ||