Example #1
0
//get arguments
void get_arguments(int argc, char **argv)
{
    //options
    if(argc>1) {
        FILE *f = fopen(argv[1],"rb");
        if(!f)
            fn_alert("Erreur, le programme ne peux ouvrir le fichier:\n%s\n(passé en arguments...)",argv[1]);
        else {
            fclose(f);

            //Changer de mode si extention u001
            const char *ext = fl_filename_ext(argv[1]);
            if(strcmp(ext,".u001")==0)
                I->rassembler->value(1); //change de mode...


            //mets les attributs (si changés par rassembler->value(1)
            rassembler_click(0);

            //ici, le mettre dans le textbox
            char str[1024];
            //convertissement en chemin complet!
            fl_filename_absolute(str,1023,argv[1]);
            //update taille fichier seulement si mode division
            if(I->rassembler->value()==0) update_taille_fichier(str);
            //mets str dans I->str
            set_filename(str);
        }
    }
    else
        rassembler_click(0);
}
Example #2
0
/** Ensure a project is valid before opening it... */
bool
Project::validate ( const char *name )
{
    bool r = true;

    char pwd[512];

    fl_filename_absolute( pwd, sizeof( pwd ), "." );

    if ( chdir( name ) )
    {
        WARNING( "Cannot change to project dir \"%s\"", name );
        return false;
    }

    if ( ! exists( "info" ) ||
         ! exists( "history" ) ||
         ! exists( "sources" ) )
//         ! exists( "options" ) )
    {
        WARNING( "Not a Non-DAW project: \"%s\"", name );
        r = false;
    }

    chdir( pwd );

    return r;
}
Example #3
0
/** Try to open project /name/. Returns 0 if sucsessful, an error code
 * otherwise */
int
Project::open ( const char *name )
{
    if ( ! validate( name ) )
        return E_INVALID;

    close();

    chdir( name );

    if ( ! acquire_lock( &_lockfd, ".lock" ) )
        return E_LOCKED;

    int version;
    nframes_t rate;
    char *creation_date;
    char *created_by;

    if ( ! read_info( &version, &rate, &creation_date, &created_by ) )
        return E_INVALID;

    if ( strncmp( created_by, "The Non-DAW", strlen( "The Non-DAW" ) ) && 
         strncmp( created_by, "Non-DAW", strlen( "Non-DAW" ) ) &&
         strncmp( created_by, APP_TITLE, strlen( APP_TITLE ) ) && 
         strncmp( created_by, APP_NAME, strlen( APP_NAME ) ) )
        return E_INVALID;

    if ( version > PROJECT_VERSION )
        return E_VERSION;

    if ( version < 2 )
    {
        /* FIXME: Version 1->2 adds Cursor_Sequence and Cursor_Point to default project... */
    }

    /* normally, engine will be NULL after a close or on an initial open, 
     but 'new' will have already created it to get the sample rate. */
    if ( ! engine )
        make_engine();
 
    {
        Block_Timer timer( "Replayed journal" );
        if ( ! Loggable::open( "history" ) )
            return E_INVALID;
    }

    /* /\* really a good idea? *\/ */
    /* timeline->sample_rate( rate ); */

    if ( creation_date )
    {
        strcpy( _created_on, creation_date );
        free( creation_date );
    }
    else
        *_created_on = 0;

    set_name( name );

    *_path = '\0';
    fl_filename_absolute( _path, sizeof( _path ), "." );

    _is_open = true;

    tle->load_timeline_settings();

    timeline->zoom_fit();

    MESSAGE( "Loaded project \"%s\"", name );

    return 0;
}
Example #4
0
 FL_EXPORT_C(int,flc_filename_absolute)(char* to,int tolen,const char* from){
   return fl_filename_absolute(to,tolen,from);
 }