use_explorer() { Navauto_mov_state status_mov; _MEM_TYPE_SLOW_ U8 ext_filemusic[] = "mp3,mp2"; // Init explorer mode navauto_init( ext_filemusic ); // Init filter to use navauto_setmode( NAVAUTO_MODE_DISK ); // Scan only the current disk (sub folder include) navauto_setrand( NAVAUTO_RAND_OFF ); // Init random mode nav_select(0); // Choose a free navigator // Select your disk nav_drive_set(1); nav_partition_mount(); // Open automatic navigation // This one take the current position to init the file list if( !navauto_open( FALSE, 0 )) // Here, the folder level param is ignored because the mode disk is selected return FALSE; // NOW EXPLORER do { // HERE a file is selected // You can play file or display file or ... // Play file finish then go to next status_mov = navauto_mov( FS_FIND_NEXT ); if( NAVAUTO_MOV_OK_LOOP == status_mov ) { if( FALSE == repeat_mode ) break; // Exit loop } }while( (NAVAUTO_MOV_OK == status_mov ) || (NAVAUTO_MOV_OK_LOOP == status_mov ) ); switch( status_mov ) { case NAVAUTO_MOV_OK_LOOP: // End of loop case NAVAUTO_MOV_EMPTY: // loop empty case NAVAUTO_MOV_DISKNOPRESENT: // All disks or a disk is not present (depends of NAVAUTO_MODE) case NAVAUTO_MOV_DISKERROR: // Access error on all or one disk (depends of NAVAUTO_MODE) } navauto_close(); }
If you want to play all files (*.mp3 and *.mp2) available in a first dir (and subdir) :
use_explorer() { Navauto_mov_state status_mov; _MEM_TYPE_SLOW_ U8 ext_filemusic[] = "mp3,mp2"; // Init explorer mode navauto_init( ext_filemusic ); // Init filter to use navauto_setmode( NAVAUTO_MODE_DIRSUB );// Scan folder and sub folder navauto_setrand( NAVAUTO_RAND_OFF ); // Init random mode nav_select(0); // Choose a free navigator // Enter in first dir of a disk nav_drive_set(1); nav_partition_mount(); nav_filelist_first( FS_DIR ); nav_dir_cd(); // Explore current dir and sub dir if( !navauto_open( FALSE , 0 )) // The param folder level is 0 because the current folder is the base of navigation return FALSE; // NOW EXPLORER do { // HERE a file is selected // You can play file or display file or ... // Play file finish then go to next status_mov = navauto_mov( FS_FIND_NEXT ); if( NAVAUTO_MOV_OK_LOOP == status_mov ) { if( FALSE == repeat_mode ) break; // Exit loop } }while( (NAVAUTO_MOV_OK == status_mov ) || (NAVAUTO_MOV_OK_LOOP == status_mov ) ); switch( status_mov ) { case NAVAUTO_MOV_OK_LOOP: // End of loop case NAVAUTO_MOV_EMPTY: // loop empty case NAVAUTO_MOV_DISKNOPRESENT: // All disks or a disk is not present (depends of NAVAUTO_MODE) case NAVAUTO_MOV_DISKERROR: // Access error on all or one disk (depends of NAVAUTO_MODE) } navauto_close(); }
If you want to play all files available in a playlist :
use_explorer() { Navauto_mov_state status_mov; const _MEM_TYPE_SLOW_ U8 name[]="playlist.mu3"; // Init explorer mode //navauto_init( ext_filemusic ); // Init filter to use, NO USED in play list //navauto_setmode( NAVAUTO_MODE_DIRSUB ); // Scan folder and sub folder, NO USED in play list navauto_setrand( NAVAUTO_RAND_OFF ); // Init random mode nav_select(0); // Choose a free navigator // Select your play list file nav_drive_set(1); nav_partition_mount(); #if( (FS_ASCII == ENABLED) && (FS_UNICODE == ENABLED) ) nav_string_ascii(); // Select a ASCII name format #endif if( !nav_filelist_findname( (FS_STRING)name , FALSE ) ) // search file "playlist.mu3" in root dir return FALSE; // Explore all disks available if( !navauto_open( TRUE , 0 )) // param O to select the first file of the play list return FALSE; // NOW EXPLORER do { // HERE a file is selected // You can play file or display file or ... // Play file finish then go to next status_mov = navauto_mov( FS_FIND_NEXT ); if( NAVAUTO_MOV_OK_LOOP == status_mov ) { if( FALSE == repeat_mode ) break; // Exit loop } }while( (NAVAUTO_MOV_OK == status_mov ) || (NAVAUTO_MOV_OK_LOOP == status_mov ) ); switch( status_mov ) { case NAVAUTO_MOV_OK_LOOP: // End of loop case NAVAUTO_MOV_EMPTY: // loop empty case NAVAUTO_MOV_DISKNOPRESENT: // All disks or a disk is not present (depends of NAVAUTO_MODE) case NAVAUTO_MOV_DISKERROR: // Access error on all or one disk (depends of NAVAUTO_MODE) } navauto_close(); }
If you want to save and restore a automatic navigation (e.g. save before Power OFF and restore after power ON):
power_off() { setting_field.navauto_mode = navauto_getmode(); // Get explorer mode setting_field.navauto_rand = navauto_getrand(); // Get random mode setting_field.navauto_pos = navauto_close(); // Get current dir level or playlist position setting_field.nav_index = nav_getindex(); // Get current position in disk or playlist file index setting_save(); } power_on() { _MEM_TYPE_SLOW_ U8 ext_filemusic[] = "mp3,mp2"; setting_load(); // Restore navigation configuration navauto_init( ext_filemusic ); navauto_setmode( setting_field.navauto_mode ); navauto_setrand( setting_field.navauto_rand ); // Restore navigation position nav_select(0) // Go to last position in disk or go to paly list file nav_gotoindex( &setting_field.nav_index ); // Restore navigation with the last directory level or last playlist position if( !navauto_open( nav_file_checkext(ext_playlist) , setting_field.navauto_pos )) return FALSE; }