From 5cf3c6bf9ac612ad0fca58a6d71f3cda0c9bb237 Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Mon, 16 Feb 2026 21:14:38 +0200 Subject: [PATCH] Add ability to specify autostart plugin path and argument Extend AUTOROCK define functionality to allow specifying both the autostart plugin path and its argument. Example: #define AUTOROCK VIEWERS_DATA_DIR "/imageviewer.rock" #define AUTOROCK_ARG "/jpegs/sample.jpg" Change-Id: Icc41bceac676e8db17d3a63baefdf96e3023c181 --- apps/main.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/main.c b/apps/main.c index c25847430f..009f2e96ac 100644 --- a/apps/main.c +++ b/apps/main.c @@ -153,7 +153,10 @@ #endif #endif /* SDL */ -/*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */ +// #define AUTOROCK /* define this to check for "autostart.rock" on boot */ +/* Alternatively, you can define autostart plugin path and its argument: */ +// #define AUTOROCK VIEWERS_DATA_DIR"/imageviewer.rock" +// #define AUTOROCK_ARG "/jpegs/sample.jpg" static void init(void); /* main(), and various functions called by main() and init() may be @@ -214,17 +217,25 @@ int main(void) #ifdef AUTOROCK { - char filename[MAX_PATH]; - const char *file = + const char *file = ""AUTOROCK; + file = *file + ? file + : #ifdef APPLICATION ROCKBOX_DIR #else PLUGIN_APPS_DIR #endif "/autostart.rock"; - if(file_exists(file)) /* no complaint if it doesn't exist */ + if (file_exists(file)) /* no complaint if it doesn't exist */ { - plugin_load(file, NULL); /* start if it does */ + plugin_load(file, +#ifdef AUTOROCK_ARG + AUTOROCK_ARG +#else + NULL +#endif + ); /* start if it does */ } } #endif /* #ifdef AUTOROCK */