Save version and sample rate with project.
This commit is contained in:
parent
281607550b
commit
767aa44b7c
|
@ -31,6 +31,10 @@ project state belongs to Timeline and other classes. */
|
||||||
#include "Loggable.H"
|
#include "Loggable.H"
|
||||||
#include "Project.H"
|
#include "Project.H"
|
||||||
|
|
||||||
|
#include "Timeline.H" // for sample_rate();
|
||||||
|
|
||||||
|
#define APP_TITLE "Non-DAW"
|
||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
char Project::_name[256];
|
char Project::_name[256];
|
||||||
bool Project::_is_open = false;
|
bool Project::_is_open = false;
|
||||||
|
@ -62,9 +66,52 @@ Project::close ( void )
|
||||||
{
|
{
|
||||||
Loggable::close();
|
Loggable::close();
|
||||||
|
|
||||||
|
write_info();
|
||||||
|
|
||||||
_is_open = false;
|
_is_open = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Project::write_info ( void )
|
||||||
|
{
|
||||||
|
|
||||||
|
if ( ! open() )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
if ( ! ( fp = fopen( "info", "w" ) ) )
|
||||||
|
{
|
||||||
|
WARNING( "could not open project info file for writing." );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf( fp, "version\n\t%s\nsample rate\n\t%lu\n", APP_TITLE " " VERSION, timeline->sample_rate() );
|
||||||
|
|
||||||
|
fclose( fp );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Project::read_info ( void )
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
if ( ! ( fp = fopen( "info", "r" ) ) )
|
||||||
|
{
|
||||||
|
WARNING( "could not open project info file for reading." );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO: something */
|
||||||
|
|
||||||
|
fclose( fp );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Project::open ( const char *name )
|
Project::open ( const char *name )
|
||||||
{
|
{
|
||||||
|
@ -87,6 +134,8 @@ Project::open ( const char *name )
|
||||||
|
|
||||||
set_name( name );
|
set_name( name );
|
||||||
|
|
||||||
|
read_info();
|
||||||
|
|
||||||
_is_open = true;
|
_is_open = true;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -28,7 +28,8 @@ class Project
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
static bool write_info ( void );
|
||||||
|
static bool read_info ( void );
|
||||||
static const char *name ( void ) { return Project::_name; }
|
static const char *name ( void ) { return Project::_name; }
|
||||||
static void set_name ( const char *name );
|
static void set_name ( const char *name );
|
||||||
static bool close ( void );
|
static bool close ( void );
|
||||||
|
|
|
@ -131,8 +131,7 @@ menubar->picked( menubar->find_item( "&Timeline/Capture Format/Wav 24" ) );
|
||||||
char *path;
|
char *path;
|
||||||
asprintf( &path, "%s/options", user_config_dir );
|
asprintf( &path, "%s/options", user_config_dir );
|
||||||
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Options" ), path );
|
((Fl_Menu_Settings*)menubar)->load( menubar->find_item( "&Options" ), path );
|
||||||
free( path );} {selected
|
free( path );} {}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Function {make_window()} {open
|
Function {make_window()} {open
|
||||||
} {
|
} {
|
||||||
|
@ -215,9 +214,11 @@ Loggable::compact();}
|
||||||
|
|
||||||
save_timeline_settings();
|
save_timeline_settings();
|
||||||
|
|
||||||
|
Project::close();
|
||||||
|
|
||||||
printf( "dropped %d buffers\\n", engine->dropped() );
|
printf( "dropped %d buffers\\n", engine->dropped() );
|
||||||
|
|
||||||
exit( 0 );}
|
exit( 0 );} selected
|
||||||
xywh {40 40 40 25} shortcut 0x40071
|
xywh {40 40 40 25} shortcut 0x40071
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue