File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -96,6 +96,42 @@ static void ymStart(void*)
9696 ymplayer.play (true );
9797}
9898
99+ #define MAXFILES 32
100+
101+ char fileNames[MAXFILES][32 ];
102+
103+ static void onOpenFile (void *data)
104+ {
105+ char *name = (char *)data;
106+ // Process file here.
107+ }
108+
109+ static void createFileSelectionMenu (subMenu *menu, const char *filter_ext = NULL )
110+ {
111+ int i = 0 ;
112+ SmallFSEntry entry = SmallFS.getFirstEntry ();
113+ menu->deleteChilds ();
114+ if (entry.valid ()) {
115+ do {
116+ bool skip=false ;
117+ if (filter_ext) {
118+ if (!entry.endsWith (filter_ext))
119+ skip=true ;
120+ }
121+ if (!skip) {
122+ entry.getName (fileNames[i]);
123+ menu->appendChild (new menuItem ( fileNames[i], &onOpenFile, fileNames[i]) );
124+ }
125+ if (entry.hasNext ())
126+ entry++;
127+ else
128+ break ;
129+ i++;
130+ } while (true );
131+ }
132+ }
133+
134+
99135static void createMenus ()
100136{
101137 subMenu *config = new subMenu (" Options" );
@@ -121,6 +157,13 @@ static void createMenus()
121157
122158 config->appendChild ( new menuItem (" Exit" ,(void (*)(void *))&exitMenus) ) ;
123159
160+
161+ subMenu *play = new subMenu (" Play" );
162+ config->appendChild (play);
163+ play->setParent (config);
164+ createFileSelectionMenu (play);
165+ play->appendChild ( new menuItem (" < Back" ,(void (*)(void *))&menuSwitchTo, config) ) ;
166+
124167 menuSetTop (config);
125168}
126169
You can’t perform that action at this time.
0 commit comments