Index: apps/recorder/recording.h
===================================================================
--- apps/recorder/recording.h	(Revision 12654)
+++ apps/recorder/recording.h	(Arbeitskopie)
@@ -25,6 +25,9 @@
 char *rec_create_filename(char *buf);
 int rec_create_directory(void);
 
+/* If true, start recording automatically when recording_sreen() is entered */
+extern bool recording_start_automatic;
+
 #if CONFIG_CODEC == SWCODEC
 /* handles device powerup and sets audio source */
 void rec_set_source(int source, unsigned flags);
Index: apps/recorder/recording.c
===================================================================
--- apps/recorder/recording.c	(Revision 12654)
+++ apps/recorder/recording.c	(Arbeitskopie)
@@ -745,6 +745,8 @@
     }
 }
 
+bool recording_start_automatic = false;
+
 bool recording_screen(bool no_source)
 {
     long button;
@@ -935,6 +937,14 @@
             last_audio_stat = audio_stat;
         }
 
+
+        if (recording_start_automatic)
+        {
+            /* simulate a button press */
+            button = ACTION_REC_PAUSE;
+            recording_start_automatic = false;
+        }
+
         switch(button)
         {
 #ifdef HAVE_REMOTE_LCD
Index: apps/root_menu.c
===================================================================
--- apps/root_menu.c	(Revision 12654)
+++ apps/root_menu.c	(Arbeitskopie)
@@ -333,7 +333,10 @@
 #endif
 #ifdef HAVE_RECORDING
         if (global_settings.alarm_wake_up_screen == ALARM_START_REC)
+        {
+            recording_start_automatic = true;
             ret_val = GO_TO_RECSCREEN;
+        }
 #endif
     }
 #endif /* HAVE_RTC_ALARM */
