Browse Source

Show disk usage in TLE.

tags/non-daw-v1.1.0
Jonathan Moore Liles 17 years ago
parent
commit
840d08aed9
3 changed files with 54 additions and 7 deletions
  1. +16
    -7
      Timeline/TLE.fl
  2. +35
    -0
      util/file.C
  3. +3
    -0
      util/file.h

+ 16
- 7
Timeline/TLE.fl View File

@@ -199,7 +199,7 @@ Loggable::progress_callback( &TLE::progress_cb, this );} {}
Fl_Window main_window {
label Timeline
callback {if ( Fl::event_key() != FL_Escape )
o->hide();} open selected
o->hide();} open
private xywh {133 113 1025 770} type Double resizable xclass Non_DAW visible
} {
Fl_Menu_Bar menubar {open
@@ -606,12 +606,12 @@ ab.run();}
}
}
Fl_Box {} {
label {<empty>}
xywh {487 27 308 42} resizable
label {<empty>} selected
xywh {487 27 258 42} resizable
code0 {o->labeltype( FL_NO_LABEL );}
}
Fl_Group {} {open
xywh {865 26 160 44}
xywh {745 26 280 44}
} {
Fl_Box {} {
label {capture:}
@@ -637,16 +637,24 @@ ab.run();}
label {50%}
private xywh {921 41 104 14} labelsize 10
}
Fl_Box {} {
label {disk:}
xywh {810 27 55 18} labelsize 10 align 16
}
Fl_Progress disk_usage_progress {
label {50%}
private xywh {810 43 55 26} labelsize 10
}
}
Fl_Button solo_blinker {
label SOLO
xywh {810 30 50 15} box ROUNDED_BOX down_box ROUNDED_BOX color 74 selection_color 92 labelfont 2 labelcolor 39 deactivate
xywh {750 30 50 15} box ROUNDED_BOX down_box ROUNDED_BOX color 74 selection_color 92 labelfont 2 labelcolor 39 deactivate
code0 {\#include "FL/Fl_Blinker.H"}
class Fl_Blinker
}
Fl_Button rec_blinker {
label REC
xywh {810 50 50 15} box ROUNDED_BOX down_box ROUNDED_BOX color 72 selection_color 88 labelfont 2 labelcolor 39 deactivate
xywh {750 50 50 15} box ROUNDED_BOX down_box ROUNDED_BOX color 72 selection_color 88 labelfont 2 labelcolor 39 deactivate
code0 {\#include "FL/Fl_Blinker.H"}
class Fl_Blinker
}
@@ -724,12 +732,13 @@ p->label( s );} {}
}
Function {update_status()} {open private
} {
code {static char cbp[5], pbp[5], clp[5];
code {static char cbp[5], pbp[5], clp[5], dup[5];

update_progress( capture_buffer_progress, cbp, timeline->total_input_buffer_percent() );
update_progress( playback_buffer_progress, pbp, timeline->total_output_buffer_percent() );
update_progress( cpu_load_progress, clp, engine->cpu_load() );

update_progress( disk_usage_progress, dup, percent_used( "." ) );

if ( timeline->total_capture_xruns() )
capture_buffer_progress->selection_color( FL_RED );


+ 35
- 0
util/file.C View File

@@ -178,3 +178,38 @@ read_line ( const char *dir, const char *name, char **value )

fclose( fp );
}

#include <sys/statvfs.h>

/** return the number of blocks free on filesystem containing file named /file/ */
unsigned long
free_space ( const char *file )
{
struct statvfs st;
memset( &st, 0, sizeof( st ) );

statvfs( file, &st );

return st.f_bfree;
}

/** return the total number of blocks on filesystem containing file named /file/ */
unsigned long
total_space ( const char *file )
{
struct statvfs st;
memset( &st, 0, sizeof( st ) );

statvfs( file, &st );

return st.f_blocks;
}

/** return the percentage of usage on filesystem containing file named /file/ */
int
percent_used ( const char *file )
{
const size_t ts = total_space( file );

return 100 - ( ts ? free_space( file ) * 100 / ts : 0 );
}

+ 3
- 0
util/file.h View File

@@ -31,3 +31,6 @@ char * backwards_fgets ( char *s, int size, FILE *fp );
void touch ( int fd );
void write_line ( const char *dir, const char *name, const char *value );
void read_line ( const char *dir, const char *name, char **value );
size_t free_space ( const char *file );
size_t total_space ( const char *file );
int percent_used ( const char *file );

Loading…
Cancel
Save