summaryrefslogtreecommitdiff
path: root/apps/recorder
diff options
context:
space:
mode:
Diffstat (limited to 'apps/recorder')
-rw-r--r--apps/recorder/radio.c16
-rw-r--r--apps/recorder/recording.c24
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)
254bool recording_screen(void) 255bool 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