Rename Non-DAW to Non-Timeline. Also, update copyright dates.

This commit is contained in:
Jonathan Moore Liles 2013-03-10 17:52:15 -07:00
parent 47874addb5
commit 626f79f8c9
33 changed files with 47 additions and 44 deletions

View File

@ -321,11 +321,11 @@ void Mixer::cb_menu(Fl_Widget* o) {
ab.logo_box->label( VERSION ); ab.logo_box->label( VERSION );
ab.title->label( "The Non Mixer" ); ab.title->label( "Non Mixer" );
ab.copyright->label( "Copyright (C) 2008-2010 Jonathan Moore Liles" ); ab.copyright->label( "Copyright (C) 2008-2013 Jonathan Moore Liles" );
ab.credits->label( ab.credits->label(
"Non-Mixer was written from scratch by\n" "Non Mixer was written from scratch by\n"
"Jonathan Moore Liles for his own use\n" "Jonathan Moore Liles for his own use\n"
"(see the manual).\n" "(see the manual).\n"
"\n" "\n"
@ -334,7 +334,7 @@ void Mixer::cb_menu(Fl_Widget* o) {
"and/or replacing the rest of Linux Audio\n" "and/or replacing the rest of Linux Audio\n"
"with fast, light, reliable alternatives.\n" ); "with fast, light, reliable alternatives.\n" );
ab.website_url->label( "http://non-mixer.tuxfamily.org" ); ab.website_url->label( "http://non.tuxfamily.org" );
ab.run(); ab.run();
} }

View File

@ -69,7 +69,7 @@
const double NSM_CHECK_INTERVAL = 0.25f; const double NSM_CHECK_INTERVAL = 0.25f;
const char COPYRIGHT[] = "Copyright (c) 2008-2012 Jonathan Moore Liles"; const char COPYRIGHT[] = "Copyright (c) 2008-2013 Jonathan Moore Liles";
char *user_config_dir; char *user_config_dir;
Mixer *mixer; Mixer *mixer;
@ -240,7 +240,7 @@ main ( int argc, char **argv )
Fl_Double_Window *main_window; Fl_Double_Window *main_window;
{ {
Fl_Double_Window *o = main_window = new Fl_Double_Window( 800, 600, "Non-DAW : Mixer" ); Fl_Double_Window *o = main_window = new Fl_Double_Window( 800, 600, "Non Mixer" );
{ {
main_window->xclass( APP_NAME ); main_window->xclass( APP_NAME );

View File

@ -31,7 +31,7 @@ const double TRANSPORT_POLL_INTERVAL = 0.05;
const char APP_NAME[] = "Non-Sequencer"; const char APP_NAME[] = "Non-Sequencer";
const char APP_TITLE[] = "The Non-Sequencer"; const char APP_TITLE[] = "The Non-Sequencer";
const char COPYRIGHT[] = "Copyright (c) 2007-2012 Jonathan Moore Liles"; const char COPYRIGHT[] = "Copyright (c) 2007-2013 Jonathan Moore Liles";
#define PACKAGE "non-sequencer" #define PACKAGE "non-sequencer"

View File

@ -1236,12 +1236,12 @@ config.follow_playhead = val ? true : false;}
ab.logo_box->label( VERSION ); ab.logo_box->label( VERSION );
ab.title->label( "The Non Sequencer" ); ab.title->label( "Non Sequencer" );
ab.copyright->label( "Copyright (C) 2007-2012 Jonathan Moore Liles" ); ab.copyright->label( "Copyright (C) 2007-2013 Jonathan Moore Liles" );
ab.credits->label( "Non-Sequencer was written from scratch by\\nJonathan Moore Liles for his own use\\n(see the manual).\\n\\nNobody planned. Nobody helped.\\nYou can help now by donating time, money,\\nand/or replacing the rest of Linux Audio\\nwith fast, light, reliable alternatives.\\n" ); ab.credits->label( "Non Sequencer was written from scratch by\\nJonathan Moore Liles for his own use\\n(see the manual).\\n\\nNobody planned. Nobody helped.\\nYou can help now by donating time, money,\\nand/or replacing the rest of Linux Audio\\nwith fast, light, reliable alternatives.\\n" );
ab.website_url->label( "http://non-sequencer.tuxfamily.org" ); ab.website_url->label( "http://non.tuxfamily.org" );
ab.run();} ab.run();}
xywh {0 0 40 25} color 37 xywh {0 0 40 25} color 37

View File

@ -3,12 +3,12 @@
<meta name="generator" content="Generated by MUP v3.5"> <meta name="generator" content="Generated by MUP v3.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link type="text/css" rel="stylesheet" href="mup.css"> <link type="text/css" rel="stylesheet" href="mup.css">
<title>Non DAW User Manual</title> <title>Non Timeline User Manual</title>
</head> </head>
<body> <body>
<div id=cover> <div id=cover>
<h1>Non DAW User Manual</h1> <h1>Non Timeline User Manual</h1>
<h3></h3> <h3></h3>
<address> <address>
Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&gt;</a><br> Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&gt;</a><br>
@ -20,7 +20,7 @@ Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&
<h1 id=toc>Table Of Contents</h1> <h1 id=toc>Table Of Contents</h1>
<ul> <ul>
<li><a href="#n:1.">1. User Manual</a> <li><a href="#n:1.">1. User Manual</a>
<ul><li><a href="#n:1.1.">1.1. The Timeline Editor</a> <ul><li><a href="#n:1.1.">1.1. The Timeline</a>
<ul><li><a href="#n:1.1.1.">1.1.1. Display Options</a> <ul><li><a href="#n:1.1.1.">1.1.1. Display Options</a>
@ -90,7 +90,7 @@ Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&
</ul></ul></ul></ul></ul><hr></div> </ul></ul></ul></ul></ul><hr></div>
<h1 id="n:1.">1. User Manual</h1> <h1 id="n:1.">1. User Manual</h1>
<h2 id="n:1.1.">1.1. The Timeline Editor</h2> <h2 id="n:1.1.">1.1. The Timeline</h2>
<center><div class="fig image"><table id="Fig.1.1" border=1> <center><div class="fig image"><table id="Fig.1.1" border=1>
<caption> <caption>
<strong>Fig. 1.1.</strong> Timeline Editor <strong>Fig. 1.1.</strong> Timeline Editor
@ -99,7 +99,7 @@ Jonathan Moore Liles <a href="mailto:male@tuxfamily.org">&lt;male@tuxfamily.org&
<tr><td><img src="tle.png" alt="fig. 1.1"></td></tr> <tr><td><img src="tle.png" alt="fig. 1.1"></td></tr>
</table></div></center> </table></div></center>
<p> <p>
The Timeline Editor is what you first see when you start the Non-DAW. Here you will add tracks, make captures, and arrange regions. The Timeline is where you will add tracks, make captures, and arrange regions.
</p> </p>
<p> <p>
Before you can add anything to the timeline, you must create a new project (menu item <tt>Project/New</tt>) Before you can add anything to the timeline, you must create a new project (menu item <tt>Project/New</tt>)
@ -183,14 +183,14 @@ Any number of punch cursors may be defined.
<tr><td><img src="project-info.png" alt="fig. 1.5"></td></tr> <tr><td><img src="project-info.png" alt="fig. 1.5"></td></tr>
</table></div></center> </table></div></center>
<p> <p>
A Non-DAW project is a directory where Non-DAW keeps the journal, project specific settings, notes, some meta-data, and, last but not least, your audio sources. A project is completely self-contained. You can rename a project as simply as: A Non Timeline project is a directory where Non Timeline keeps the journal, project specific settings, notes, some meta-data, and, last but not least, your audio sources. A project is completely self-contained. You can rename a project as simply as:
</p> </p>
<div class="fig example"><table width=100%><tr><td><pre> <div class="fig example"><table width=100%><tr><td><pre>
$ mv Project-A Project-B $ mv Project-A Project-B
</pre></td></tr> </pre></td></tr>
</table></div> </table></div>
<p> <p>
Non-DAW projects can refer to audio sources outside of the project directory--clips dropped onto the timeline from a file-manager, for instance. These are not copied into the project by default. This allows the efficient use of audio loop libraries, but introduces external dependencies. Beware that if you ever move, remove, or change one of these external sources, it will affect the Non-DAW projects referencing them. Non Timeline projects can refer to audio sources outside of the project directory--clips dropped onto the timeline from a file-manager, for instance. These are not copied into the project by default. This allows the efficient use of audio loop libraries, but introduces external dependencies. Beware that if you ever move, remove, or change one of these external sources, it will affect the Non Timeline projects referencing them.
</p> </p>
<div class=admonition> <div class=admonition>
<table width=100%> <table width=100%>
@ -239,7 +239,7 @@ The clocks tell you precisely where the playhead is. There are several clock typ
<tr><td><img src="tempomap.png" alt="fig. 1.8"></td></tr> <tr><td><img src="tempomap.png" alt="fig. 1.8"></td></tr>
</table></div></center> </table></div></center>
<p> <p>
The tempo map serves a dual purpose. Firstly, it provides enough information about the musical structure of your project for Non-DAW to perform intelligent snapping and draw helpful measure lines. Secondly, the tempo map is communicated to other JACK clients at playback time via the JACK Timebase API, so that MIDI accompaniment can follow along to the tempo changes in your song. The tempo map serves a dual purpose. Firstly, it provides enough information about the musical structure of your project for Non Timeline to perform intelligent snapping and draw helpful measure lines. Secondly, the tempo map is communicated to other JACK clients at playback time via the JACK Timebase API, so that MIDI accompaniment can follow along to the tempo changes in your song.
</p> </p>
<p> <p>
Clicking on an empty part of the time or tempo sequences will prompt you for the parameters of a new time or tempo point to be inserted at that position. Hit <tt>Escape</tt> to cancel the insertion. Right-click on a time or tempo point to edit its value. Existing points can be dragged freely. Clicking on an empty part of the time or tempo sequences will prompt you for the parameters of a new time or tempo point to be inserted at that position. Hit <tt>Escape</tt> to cancel the insertion. Right-click on a time or tempo point to edit its value. Existing points can be dragged freely.
@ -272,7 +272,7 @@ Sequence is the generic term used to describe all distinct sequences of objects
</p> </p>
<h3 id="n:1.1.10.">1.1.10. Regions</h3> <h3 id="n:1.1.10.">1.1.10. Regions</h3>
<p> <p>
Regions are the most common object on the timeline. Each region represents some portion of an audio source placed at some position in time. Since Non-DAW is non-destructive, regions only <b>represent</b> the source--altering a region does not affect the audio source in any way. Deleting a region does not delete the source--as other regions may still refer to it. Regions are the most common object on the timeline. Each region represents some portion of an audio source placed at some position in time. Since Non Timeline is non-destructive, regions only <b>represent</b> the source--altering a region does not affect the audio source in any way. Deleting a region does not delete the source--as other regions may still refer to it.
</p> </p>
<div class=admonition> <div class=admonition>
<table width=100%> <table width=100%>
@ -337,7 +337,7 @@ Each region has fade in and out curves. Position the mouse pointer over the desi
<tr><td><img src="looping.png" alt="fig. 1.12"></td></tr> <tr><td><img src="looping.png" alt="fig. 1.12"></td></tr>
</table></div></center> </table></div></center>
<p> <p>
Instead of requiring you to duplicate a small region 100 times to achieve a looping effect, Non DAW supports looping directly. First, adjust the region duration to cover the amount of time you would like it to loop for. Then, position the mouse pointer over the first place the loop should repeat (i.e. the first bar line after the start of the region) and hit <tt>L</tt>. This will set the loop point for this region, which will be indicated by two white arrows. At playback, the portion of the region before the loop point will loop for the duration of the region. Instead of requiring you to duplicate a small region 100 times to achieve a looping effect, Non Timeline supports looping directly. First, adjust the region duration to cover the amount of time you would like it to loop for. Then, position the mouse pointer over the first place the loop should repeat (i.e. the first bar line after the start of the region) and hit <tt>L</tt>. This will set the loop point for this region, which will be indicated by two white arrows. At playback, the portion of the region before the loop point will loop for the duration of the region.
</p> </p>
<h3 id="n:1.1.11.">1.1.11. Annotation</h3> <h3 id="n:1.1.11.">1.1.11. Annotation</h3>
<center><div class="fig image"><table id="Fig.1.13" border=1> <center><div class="fig image"><table id="Fig.1.13" border=1>

View File

@ -1,18 +1,17 @@
! title Non DAW User Manual ! title Non Timeline User Manual
! author Jonathan Moore Liles #(email,male@tuxfamily.org) ! author Jonathan Moore Liles #(email,male@tuxfamily.org)
-- Table Of Contents -- Table Of Contents
: User Manual : User Manual
:: The Timeline Editor :: The Timeline
/ Timeline Editor / Timeline Editor
< tle.png < tle.png
The Timeline Editor is what you first see when you start the Non-DAW. Here The Timeline is where you will add tracks, make captures, and arrange regions.
you will add tracks, make captures, and arrange regions.
Before you can add anything to the timeline, you must create a new project Before you can add anything to the timeline, you must create a new project
(menu item `Project\/New`) (menu item `Project\/New`)
@ -101,19 +100,19 @@
/ Project Info Dialog / Project Info Dialog
< project-info.png < project-info.png
A Non-DAW project is a directory where Non-DAW keeps the journal, project A Non Timeline project is a directory where Non Timeline keeps the journal, project
specific settings, notes, some meta-data, and, last but not least, your audio specific settings, notes, some meta-data, and, last but not least, your audio
sources. A project is completely self-contained. You can rename a project as sources. A project is completely self-contained. You can rename a project as
simply as: simply as:
> $ mv Project-A Project-B > $ mv Project-A Project-B
Non-DAW projects can refer to audio sources outside of the project Non Timeline projects can refer to audio sources outside of the project
directory--clips dropped onto the timeline from a file-manager, for instance. directory--clips dropped onto the timeline from a file-manager, for instance.
These are not copied into the project by default. This allows the efficient These are not copied into the project by default. This allows the efficient
use of audio loop libraries, but introduces external dependencies. Beware use of audio loop libraries, but introduces external dependencies. Beware
that if you ever move, remove, or change one of these external sources, it that if you ever move, remove, or change one of these external sources, it
will affect the Non-DAW projects referencing them. will affect the Non Timeline projects referencing them.
/ Note: / Note:
{ To import all the external sources for a project, making it suitable for { To import all the external sources for a project, making it suitable for
@ -153,7 +152,7 @@
< tempomap.png < tempomap.png
The tempo map serves a dual purpose. Firstly, it provides enough information The tempo map serves a dual purpose. Firstly, it provides enough information
about the musical structure of your project for Non-DAW to perform about the musical structure of your project for Non Timeline to perform
intelligent snapping and draw helpful measure lines. Secondly, the tempo map intelligent snapping and draw helpful measure lines. Secondly, the tempo map
is communicated to other JACK clients at playback time via the JACK Timebase is communicated to other JACK clients at playback time via the JACK Timebase
API, so that MIDI accompaniment can follow along to the tempo changes in your API, so that MIDI accompaniment can follow along to the tempo changes in your
@ -202,7 +201,7 @@
Regions are the most common object on the timeline. Each region represents Regions are the most common object on the timeline. Each region represents
some portion of an audio source placed at some position in time. Since some portion of an audio source placed at some position in time. Since
Non-DAW is non-destructive, regions only *represent* the source--altering a Non Timeline is non-destructive, regions only *represent* the source--altering a
region does not affect the audio source in any way. Deleting a region does region does not affect the audio source in any way. Deleting a region does
not delete the source--as other regions may still refer to it. not delete the source--as other regions may still refer to it.
@ -275,7 +274,7 @@
< looping.png < looping.png
Instead of requiring you to duplicate a small region 100 times to achieve a Instead of requiring you to duplicate a small region 100 times to achieve a
looping effect, Non DAW supports looping directly. First, adjust the region looping effect, Non Timeline supports looping directly. First, adjust the region
duration to cover the amount of time you would like it to loop for. Then, duration to cover the amount of time you would like it to loop for. Then,
position the mouse pointer over the first place the loop should repeat (i.e. position the mouse pointer over the first place the loop should repeat (i.e.
the first bar line after the start of the region) and hit `L`. This will set the first bar line after the start of the region) and hit `L`. This will set

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -290,7 +290,9 @@ Project::open ( const char *name )
if ( ! read_info( &version, &rate, &creation_date, &created_by ) ) if ( ! read_info( &version, &rate, &creation_date, &created_by ) )
return E_INVALID; return E_INVALID;
if ( strncmp( created_by, APP_TITLE, strlen( APP_TITLE ) ) && 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 ) ) ) strncmp( created_by, APP_NAME, strlen( APP_NAME ) ) )
return E_INVALID; return E_INVALID;

View File

@ -246,7 +246,7 @@ Loggable::progress_callback( &TLE::progress_cb, this );} {}
Function {make_window()} {open Function {make_window()} {open
} { } {
Fl_Window main_window { Fl_Window main_window {
label {Non DAW : Timeline} label {Non Timeline}
callback {if ( Fl::event_key() != FL_Escape ) callback {if ( Fl::event_key() != FL_Escape )
timeline->command_quit();} open timeline->command_quit();} open
xywh {516 306 1025 770} type Double resizable xywh {516 306 1025 770} type Double resizable
@ -623,16 +623,16 @@ timeline->redraw();}
} }
MenuItem {} { MenuItem {} {
label {&About} label {&About}
callback {About_Dialog ab( PIXMAP_PATH "/non-daw/icon-256x256.png" ); callback {About_Dialog ab( PIXMAP_PATH "/non-timeline/icon-256x256.png" );
ab.logo_box->label( VERSION ); ab.logo_box->label( VERSION );
ab.title->label( "The Non DAW (Digital Audio Workstation)" ); ab.title->label( "Non Timeline" );
ab.copyright->label( "Copyright (C) 2008-2010 Jonathan Moore Liles" ); ab.copyright->label( "Copyright (C) 2008-2010 Jonathan Moore Liles" );
ab.credits->label( "Non-DAW was written from scratch by\\nJonathan Moore Liles for his own use\\n(see the manual).\\n\\nNobody planned. Nobody helped.\\nYou can help now by donating time, money,\\nand/or replacing the rest of Linux Audio\\nwith fast, light, reliable alternatives.\\n" ); ab.credits->label( "Non Timeline was written from scratch by\\nJonathan Moore Liles for his own use\\n(see the manual).\\n\\nNobody planned. Nobody helped.\\nYou can help now by donating time, money,\\nand/or replacing the rest of Linux Audio\\nwith fast, light, reliable alternatives.\\n" );
ab.website_url->label( "http://non-daw.tuxfamily.org" ); ab.website_url->label( "http://non.tuxfamily.org" );
ab.run();} ab.run();}
@ -964,7 +964,7 @@ if ( p != oldp )
} { } {
code {char pat[256]; code {char pat[256];
snprintf( pat, 256, "file://%s/non-daw/%s.html", DOCUMENT_PATH, file ); snprintf( pat, 256, "file://%s/non-timeline/%s.html", DOCUMENT_PATH, file );
open_url( pat );} {} open_url( pat );} {}
} }
@ -1036,7 +1036,7 @@ if ( logo_box->image() )
Fl_Box logo_box { Fl_Box logo_box {
label {<LOGO>} label {<LOGO>}
private xywh {20 173 485 268} color 53 labelfont 1 labelsize 18 align 16 private xywh {20 173 485 268} color 53 labelfont 1 labelsize 18 align 16
code0 {o->image( Fl_Shared_Image::get( PIXMAP_PATH "non-daw/icon-256x256.png" ) );} code0 {o->image( Fl_Shared_Image::get( PIXMAP_PATH "non-timeline/icon-256x256.png" ) );}
code1 {o->label( NULL );} code1 {o->label( NULL );}
} }
Fl_Text_Editor notes_field { Fl_Text_Editor notes_field {

View File

@ -71,9 +71,9 @@ char *instance_name = NULL;
/* TODO: put these in a header */ /* TODO: put these in a header */
#define USER_CONFIG_DIR ".non-daw/" #define USER_CONFIG_DIR ".non-daw/"
const char APP_NAME[] = "Non-DAW"; const char APP_NAME[] = "Non-Timeline";
const char APP_TITLE[] = "The Non-DAW"; const char APP_TITLE[] = "The Non-Timeline";
const char COPYRIGHT[] = "Copyright (C) 2008-2012 Jonathan Moore Liles"; const char COPYRIGHT[] = "Copyright (C) 2008-2013 Jonathan Moore Liles";
const double NSM_CHECK_INTERVAL = 0.25f; const double NSM_CHECK_INTERVAL = 0.25f;

View File

@ -8,7 +8,7 @@ import os;
PACKAGE_VERSION = '1.2.0' PACKAGE_VERSION = '1.2.0'
# Variables for 'waf dist' # Variables for 'waf dist'
APPNAME = 'non-daw' APPNAME = 'non-timeline'
VERSION = PACKAGE_VERSION VERSION = PACKAGE_VERSION
# Mandatory variables # Mandatory variables
@ -89,7 +89,7 @@ src/Transport.C
src/Waveform.C src/Waveform.C
src/main.C src/main.C
''', ''',
target = 'non-daw', target = 'non-timeline',
includes = ['.', 'src', '../FL', '../nonlib'], includes = ['.', 'src', '../FL', '../nonlib'],
uselib = [ 'JACK', 'LIBLO', 'SNDFILE', 'XPM', 'NTK', 'NTK_IMAGES', 'PTHREAD'], uselib = [ 'JACK', 'LIBLO', 'SNDFILE', 'XPM', 'NTK', 'NTK_IMAGES', 'PTHREAD'],
use = [ 'fl_widgets', 'nonlib'], use = [ 'fl_widgets', 'nonlib'],
@ -102,6 +102,8 @@ src/main.C
install_path = "${DATADIR}" + '/applications', install_path = "${DATADIR}" + '/applications',
BIN_PATH = bld.env.BINDIR ) BIN_PATH = bld.env.BINDIR )
bld.symlink_as( '${BINDIR}/' + 'non-daw', APPNAME )
start_dir = bld.path.find_dir( 'icons/hicolor' ) start_dir = bld.path.find_dir( 'icons/hicolor' )
bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'), bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'),