Commit 92846944 authored by Jérôme Abel's avatar Jérôme Abel
Browse files

add first docs : fill help html, manuals, scripts from malinette-ide, etc.

parent 010436aa
#N canvas 1 79 926 674 10;
#X obj 663 396 l2s;
#X obj 622 281 env+ 11;
#X obj 802 421 z~ 128;
#X obj 623 421 zexy/unpack float float;
#X obj 694 396 operating_system;
#X obj 195 194 cyclone/gate;
#X obj 622 311 oneshot;
#X text 78 388 iemguts;
#X obj 286 438 list-find;
#X obj 216 438 list-idx;
#X text 72 440 list-abs;
#X text 586 367 tof;
#X text 75 559 moocow;
#X obj 179 413 splitfilename;
#X text 75 583 motex;
#X obj 623 396 time;
#X obj 142 387 initbang;
#X obj 143 534 average;
#X text 76 534 maxlib;
#X text 76 238 ext13;
#X obj 143 241 receive13;
#X text 575 256 pmpd;
#X text 79 165 creb;
#X text 558 339 sigpack;
#X text 75 607 markex;
#X text 551 147 mrpeach;
#X obj 142 557 string2any 32 -1;
#X obj 144 194 switch;
#X obj 206 387 receivecanvas;
#X text 562 308 purepd;
#X text 584 395 zexy;
#X text 72 192 cyclone;
#X obj 187 289 getdir;
#X text 558 202 pduino;
#X obj 144 144 comport;
#X text 74 140 comport;
#X obj 229 337 split_path;
#X text 529 281 puremapping;
#X obj 276 194 prepend;
#X obj 143 438 list-iter;
#X obj 202 534 pulse;
#X text 571 175 oscx;
#X obj 687 281 tolist;
#X obj 209 486 debytemask;
#X obj 523 147 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577
0;
#X obj 47 610 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0
;
#X obj 623 366 pmenu;
#X obj 143 486 bytemask;
#X obj 623 255 mass;
#X obj 660 255 link;
#X obj 623 340 decimate~;
#X obj 144 121 bassemu~;
#X text 74 120 bassemu~;
#X obj 349 413 t3_delay;
#X obj 278 413 para_bp2~;
#X obj 143 289 moog~;
#X obj 143 337 folder_list;
#X text 245 288 [envgen];
#X obj 339 194 universal;
#X obj 144 218 seq;
#X obj 172 218 midiformat;
#X obj 249 218 midiparse;
#X obj 320 218 svf~;
#X obj 410 194 MouseState;
#X text 72 209 (old);
#X text 76 286 ggee;
#X text 307 288 [image];
#X obj 298 264 gemwin;
#X obj 214 264 gemkeyboard;
#X text 76 262 Gem;
#X obj 143 264 pix_video;
#X text 347 263 ...;
#X obj 357 218 coll;
#C restore;
#X text 76 330 hcs;
#X obj 307 337 stat;
#X obj 343 337 screensize;
#X text 76 354 hid;
#X text 48 365 (or hidin);
#X obj 144 460 list-wrandom;
#X text 551 120 moonlib;
#X obj 47 584 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0
;
#X text 618 177 [dumpOSC] [OSCroute];
#X text 619 204 [arduino];
#X obj 523 175 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577
0;
#X obj 623 232 pix_fiducialtrack;
#X text 486 232 pix_fiducialtrack;
#X obj 687 311 uzi;
#X obj 523 119 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577
0;
#X obj 50 240 cnv 15 15 15 empty empty empty 20 12 0 14 -162280 -66577
0;
#X obj 666 366 path;
#X obj 703 366 argument;
#X obj 143 413 init;
#X obj 415 413 any;
#X text 78 412 iemlib;
#X text 75 485 mapping;
#X obj 734 281 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 50 165 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0
;
#X obj 675 311 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 676 281 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 329 194 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 820 396 length;
#X obj 283 486 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 867 396 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 789 421 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 623 444 tabdump;
#X obj 677 444 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 143 311 lowpass;
#X obj 201 311 highpass;
#X obj 266 312 bandpass;
#X obj 367 486 curve_exp;
#X obj 293 486 curve_log;
#X obj 143 508 circular_seat;
#X obj 241 508 elliptic_seat;
#X obj 341 508 breakpoint_smooth;
#X obj 439 486 stepper;
#X obj 506 282 cnv 15 15 15 empty empty empty 20 12 0 14 -162280 -66577
0;
#X obj 608 40 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 390 218 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 234 289 cnv 5 5 5 empty empty empty 20 12 0 14 -1 -66577 0;
#X text 617 34 can be delete or replaced;
#X obj 608 54 cnv 5 5 5 empty empty empty 20 12 0 14 -162280 -66577
0;
#X text 617 48 optional delete;
#X obj 365 438 list-delete;
#X obj 447 438 cnv 5 5 5 empty empty empty 20 12 0 14 -162280 -66577
0;
#X obj 354 438 cnv 5 5 5 empty empty empty 20 12 0 14 -162280 -66577
0;
#X obj 277 438 cnv 5 5 5 empty empty empty 20 12 0 14 -162280 -66577
0;
#X text 139 584 [randomF];
#X text 140 610 [shuffle];
#X text 286 361 [hidin] (windows);
#X text 139 362 [hid] (linux \, mac);
#X text 141 167 [ead~] [cmul~] [count];
#X obj 33 28 cnv 40 500 40 empty empty malinette-abs:Dependencies 10
20 0 30 -1 -262144 0;
#X obj 523 200 cnv 15 15 15 empty empty empty 20 12 0 14 -162280 -66577
0;
#X text 518 520 OPTIONS \; -lib : Gem zexy iemlib1* iemlib2 iem_t3_lib
\; -path : bassemu~ comport cyclone ext13 Gem ggee hcs hid** iemguts
iemlib list-abs mapping maxlib moocow pix_fiducialtrack pmpd puremapping
purepd sigpack tof zexy;
#X obj 522 532 cnv 3 55 3 empty empty empty 10 20 0 30 -260097 -262144
0;
#X obj 50 485 cnv 15 15 15 empty empty empty 20 12 0 14 -162280 -66577
0;
#X text 33 94 For the Malinette \, we need about 21 libraries :;
#X text 619 146 [str] [tcpclient];
#X text 521 603 *: not for windows ([gate] object takes effect instead
of cyclone/gate) \; **: hid or hidin (windows);
This diff is collapsed.
@page {
size: landscape;
margin: 3pt;
}
body {
font-size: 8.5pt;
/*-webkit-print-color-adjust: exact;*/
}
@media print {
html {
width: 29.7cm;
height: 21cm;
}
.links{
color: #000;
}
.bloc {
display:block;
background-color:#fff;
padding:5px;
margin-bottom:5px;
border: 1px orange dashed;
border-radius: 0em;
-moz-border-radius:0em;
-webkit-border-radius:0em;
}
.titre {
background-color:#000;
border: 0px orange dashed;
}
li strong{
font-weight: normal;
color: #000;
}
li {
color: #ccc;
}
}
body {
background-color:#FFF;
margin:0;
padding:5px;
font-family:Tahoma, Geneva, sans-serif;
font-size:10px;
}
h1 {
font-family: "monospace", sans-serif;
font-weight: lighter;
font-style: normal;
font-size: 2.8em;
color: orange;
margin: 0px 0 -15px 0;
text-transform: uppercase;
}
h2 {
font-family: "monospace", sans-serif;
font-weight: normal;
font-style: normal;
font-size: 1.4em;
color: orange;
text-transform: uppercase;
margin: 0 0 10px 0;
}
p {
color:#aaa;
}
a{
color:#fff;
font-style: italic;
text-decoration:none;
}
a:hover{
color:orange;
}
/* COLONNES */
.col {
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;
/* tentative d'evitement de rupture de colonnes, mais ça marche pas...*/
-moz-break-inside: avoid;
-moz-break-after: avoid-column;
-webkit-break-inside: avoid;
-webkit-break-after: avoid-column;
}
/* BLOCS STYLES*/
.bloc {
display:block;
background-color:#eee;
padding:10px;
margin-bottom:10px;
border-radius: 0.5em;
-moz-border-radius:0.5em;
-webkit-border-radius:0.5em;
}
.titre {
background-color:#222;
}
.titre a {
color: #fff;
}
.titre a:hover {
color: orange;
}
ul{
padding: 0;
}
ul li{
list-style: none;
}
/* si la page est infereieure a 1024 */
@media (max-width: 1024px) {
/* COLONNES */
.col {
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
}
/* si la page est infereieure a 780 */
@media (max-width: 780px) {
.col {
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
/* si la page est infereieure a 640 */
@media (max-width: 640px) {
.col {
-moz-column-count: 1;
-webkit-column-count: 1;
column-count: 1;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;">
<link rel="shortcut icon" type="image/x-icon" href="assets/malinette.ico">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="Abstractions in Malinette">
<link rel="stylesheet" href="assets/style.css">
<link type="text/css" rel="stylesheet" href="assets/print.css" media="print">
<title>Malinette 2 : objects</title>
</head>
<body>
<div class="col">
<div class="bloc titre">
<h1>Malinette 2</h1>
<p>By <a href="http://reso-nance.org/" target="_blank">Reso-nance num&eacute;rique</a></p>
</div>
<div class="bloc"><h2>in</h2><ul>
<li><strong>arduino-in</strong> : Get analog sensors from an Arduino </li>
<li><strong>arduino-in-num</strong> : Get digital sensors from an Arduino </li>
<li><strong>audio-in</strong> : Get audio input - pitch and sound level </li>
<li><strong>joystick</strong> : Get the joystick device (Linux-Mac) </li>
<li><strong>joystick-win</strong> : Get the joystick device (Windows) </li>
<li><strong>key-char</strong> : Get the 10 first alphabetic keys from the keyboard.</li>
<li><strong>key-makey</strong> : Get keys from a MakeyMakey device </li>
<li><strong>key-num</strong> : Get 10 numerical keys from a keyboard.</li>
<li><strong>m-midi-in</strong> : Get analog sensors from an Arduino (Midi firmware) </li>
<li><strong>midi-pad</strong> : Get the 10 notes of a midi controller (pad or keyboard) </li>
<li><strong>mouse</strong> : Get the X and Y positions from mouse device </li>
<li><strong>osc-in</strong> : Receive OSC messages via UDP </li>
<li><strong>video-camera</strong> : Get video from a camera </li>
</div>
<div class="bloc"><h2>numbers</h2><ul>
<li><strong>@-mem</strong> : Store presets from a patch </li>
<li><strong>average</strong> : Average of last N values (maxlib)</li>
<li><strong>bangs</strong> : Send a serie of delayed bangs </li>
<li><strong>between</strong> : Let pass numbers between the 2 values </li>
<li><strong>bpm-ms</strong> : Convert BPM (Beat per minute) to Ms (Milliseconds) </li>
<li><strong>chance</strong> : Percentage chance of action </li>
<li><strong>count</strong> : Simple counter </li>
<li><strong>data-sampler</strong> : Record and play a flow of data from a file </li>
<li><strong>fade</strong> : Fade between two values </li>
<li><strong>flow</strong> : Switch data flow </li>
<li><strong>folder</strong> : Select a file from a folder with a pattern </li>
<li><strong>for</strong> : Send a serie of numbers </li>
<li><strong>g-editor</strong> : A tool to make graphs </li>
<li><strong>g</strong> : Read and write data with a graphical array </li>
<li><strong>g-play</strong> : Read and write data with a breakpoints array </li>
<li><strong>g-sampler</strong> : Read and write data with a timeline </li>
<li><strong>inverse</strong> : Inverse the value </li>
<li><strong>logic</strong> : Logic operations and conditions </li>
<li><strong>map-auto</strong> : Automatic mappingmap useful for sensor calibration </li>
<li><strong>m</strong> : Store and write data (minimalist version of mem) </li>
<li><strong>map</strong> : Map a number between the boundaries (rule of three) </li>
<li><strong>mem</strong> : Store and read data from a file (presets) </li>
<li><strong>midi-hz</strong> : Conversion between Midi and Hertz </li>
<li><strong>midi-sampler</strong> : Play and record into a midi file </li>
<li><strong>multimeter</strong> : Calculate the Resistance and the Voltage of a sensor </li>
<li><strong>notescale</strong> : Convert midi numbers to musical scale </li>
<li><strong>onoff</strong> : Convert a bang to a switch timer </li>
<li><strong>oscilloscope</strong> : See data values in time </li>
<li><strong>physics</strong> : Simulate physic caracteristics like elasticity and gravity </li>
<li><strong>rand-bangs</strong> : Send a random number of bangs in a random time </li>
<li><strong>rand-del</strong> : Random delay into a range time </li>
<li><strong>rand</strong> : Output a random value </li>
<li><strong>rand-n</strong> : Random N numbers into a range of numbers </li>
<li><strong>rand-range</strong> : Random a min and a max value inside a range </li>
<li><strong>rand-sel</strong> : Output a bang after a random number of bangs </li>
<li><strong>rand-walk</strong> : Random walk generator </li>
<li><strong>start</strong> : Delay a bang at startup </li>
<li><strong>serializer</strong> : Split a list of caracters </li>
<li><strong>taptempo</strong> : Get tempo between two triggers </li>
</div>
<div class="bloc"><h2>seq</h2><ul>
<li><strong>chrono</strong> : Simple chronometer </li>
<li><strong>seq-count</strong> : Basic sequencer </li>
<li><strong>seq-count2</strong> : Sequencer with more graphical actions </li>
<li><strong>seq-master</strong> : Global metronome for sequencers </li>
<li><strong>seq-nb</strong> : Sequencer with 8 steps of number </li>
<li><strong>seq-pulse</strong> : 16 steps sequencers with 3 states </li>
<li><strong>seq16</strong> : 16 steps line </li>
<li><strong>seq16-count</strong> : 16 steps sequencer </li>
<li><strong>seq16-nb</strong> : 16 steps sequence of numbers </li>
<li><strong>seq16x3</strong> : Matrix of 16 steps lines </li>
<li><strong>seq24</strong> : 24 steps line </li>
<li><strong>seq24-count</strong> : 24 steps sequencer </li>
<li><strong>seq24-nb</strong> : 24 steps sequence of numbers </li>
<li><strong>seq24x6</strong> : Matrix of 24 steps lines </li>
</div>
<div class="bloc"><h2>audio</h2><ul>
<li><strong>audio-attack</strong> : Trigger a sound with a basic enveloppe </li>
<li><strong>audio-bank</strong> : Load a folder of sounds </li>
<li><strong>audio-chorus</strong> : Chorus effect </li>
<li><strong>audio-comp</strong> : Waveshaping compressor </li>
<li><strong>audio-conv</strong> : Convolution cross-synthesis </li>
<li><strong>audio-delay</strong> : Simple delay </li>
<li><strong>audio-delay4</strong> : 4 bands audio delay </li>
<li><strong>audio-disto</strong> : Simple distortion </li>
<li><strong>audio-eq13</strong> : Equalizer 13 bands </li>
<li><strong>audio-eq3</strong> : Simple 3 band equalizer </li>
<li><strong>audio-filter</strong> : Classic audio filter cutoff/resonance </li>
<li><strong>audio-flanger</strong> : Flanger effect </li>
<li><strong>audio-formant</strong> : Materials and vowels synthesis </li>
<li><strong>audio-freeze</strong> : Freeze the sound </li>
<li><strong>audio-freezeverb</strong> : Reverb until Freeze the sound </li>
<li><strong>audio-in</strong> : Get audio input - pitch and sound level </li>
<li><strong>audio-lowfi</strong> : Decrease sound quality </li>
<li><strong>audio-map</strong> : Map audio signal </li>
<li><strong>audio-mix</strong> : Mix two sounds </li>
<li><strong>audio-moog</strong> : Moog filter effect </li>
<li><strong>audio-nb</strong> : Convert audio to numbers with mapping </li>
<li><strong>audio-out</strong> : Audio bus send audio to the [audio-master] </li>
<li><strong>audio-pan</strong> : Panning stereo </li>
<li><strong>audio-phaser</strong> : Phaser effect </li>
<li><strong>audio-pitch</strong> : Pitch the sound </li>
<li><strong>audio-rec-file</strong> : Record stereo sound to a file </li>
<li><strong>audio-rec</strong> : Record mono sounds </li>
<li><strong>audio-reverb</strong> : Reverberation </li>
<li><strong>audio-sampler</strong> : Play and record sounds (mono) </li>
<li><strong>audio-vocoder</strong> : Vocoder effect </li>
<li><strong>audio-vol</strong> : Simple volume mixer </li>
<li><strong>crash</strong> : Simple crash percussion </li>
<li><strong>fftscope~</strong> : See frequencies spectrum of an audio signal </li>
<li><strong>hat</strong> : Simple hat percussion </li>
<li><strong>kick</strong> : Simple kick percussion </li>
<li><strong>oscilloscope-big~</strong> : See audio signal in time (big) </li>
<li><strong>oscilloscope~</strong> : See audio signal in time </li>
<li><strong>out~</strong> : Simple audio out </li>
<li><strong>snare</strong> : Simple snare percussion </li>
<li><strong>synth</strong> : Waveforms synthetizer </li>
<li><strong>synth~</strong> : Waveforms synthetiser (Hertz version) </li>
<li><strong>synth-drumbass</strong> : Drum bass synthetiser </li>
<li><strong>synth-drums</strong> : Synthesis sounds of 4 drums : kick - snare - hat - crash </li>
<li><strong>synth-emu</strong> : Transistor bass emulation (moog tb303) </li>
<li><strong>synth-fm</strong> : FM synthesis </li>
<li><strong>synth-kick</strong> : Advanced kick emulation </li>
<li><strong>synth-juno</strong> : Stereo 4 voices synth Juno-106 emulation </li>
<li><strong>synth-material</strong> : Sound synthesis from physical properties of materials </li>
<li><strong>synth-pluck</strong> : String pizzicato synthesis </li>
<li><strong>synth-wobble</strong> : Dubstep bass with nice LFO filtering </li>
<li><strong>synth-xylo</strong> : Xylophone synthesis </li>
</div>
<div class="bloc"><h2>video</h2><ul>
<li><strong>track-areas</strong> : Track changes of luminosity in areas </li>
<li><strong>track-color</strong> : Track a color area </li>
<li><strong>track-fiducials</strong> : Track 6 fiducial markers </li>
<li><strong>track-motion</strong> : Track motion of pixels (blob) </li>
<li><strong>video-camera</strong> : Get video from a camera </li>
<li><strong>video-color</strong> : Set color balance </li>
<li><strong>video-crop</strong> : Get a part of an image (crop) </li>
<li><strong>video-effects</strong> : Video effects : inversion - contrast - blur - ...</li>
<li><strong>video-eye</strong> : Control the camera positions </li>
<li><strong>video-graph</strong> : Display a line like an oscilloscope </li>
<li><strong>video-halftone</strong> : Halftone (print point) effect </li>
<li><strong>video-images</strong> : Display images </li>
<li><strong>video-kalei</strong> : Kaleidoscope effect </li>
<li><strong>video-larsen</strong> : Feedback video </li>
<li><strong>video-offset</strong> : Offset pixels depending on the luminance </li>
<li><strong>video-mix</strong> : Mix two sources of video </li>
<li><strong>video-object</strong> : 2D and 3D objects : cube - sphere - 3d model ... </li>
<li><strong>video-out</strong> : Display video elements on the screen (rectangle) </li>
<li><strong>video-rec</strong> : Record videos in live </li>
<li><strong>video-sampler</strong> : Record and play video </li>
<li><strong>video-text</strong> : Display text </li>
<li><strong>video-xyz</strong> : 3D rotate and translate </li>
</div>
<div class="bloc"><h2>out</h2><ul>
<li><strong>arduino-out</strong> : Send data to Arduino outputs : digital + PWM + servo </li>
<li><strong>audio-out</strong> : Audio bus send audio to the [audio-master] </li>
<li><strong>dmx-out</strong> : Send data to DMX devices </li>
<li><strong>m-midi-out</strong> : Send data to Arduino outputs (Midi firmware) : digital + PWM + servo </li>
<li><strong>midi-out</strong> : Send MIDI notes </li>
<li><strong>osc-out</strong> : Send OSC messages via UDP </li>
<li><strong>video-graph</strong> : Display a line like an oscilloscope </li>
<li><strong>video-object</strong> : 2D and 3D objects : cube - sphere - 3d model ... </li>
<li><strong>video-out</strong> : Display video elements on the screen (rectangle) </li>
<li><strong>video-text</strong> : Display text </li>
</div>
<div class="bloc"><h2>master</h2><ul>
</div>
</body></html>
#!/bin/bash
# Build script file to launch Pure Data and Malinette
# No argument = local malinette + linux sizes
# Argument : linux, win, mac to releases folders
# Usage example : ./build_script linux
# -------- PD SETTINGS ------------ #
PD_MAC="Pd-0.48-0-i386.app"
#externals="bassemu~ comport creb cyclone ext13 Gem ggee hcs iemguts iemlib list-abs mapping markex maxlib moocow moonlib motex pduino pix_fiducialtrack pmpd puremapping purepd sigpack tof zexy"
#libs="Gem zexy creb iemlib iemlib2 iem_t3_lib"
externals="bassemu~ comport cyclone ext13 Gem ggee hcs iemguts iemlib list-abs maxlib moocow pix_fiducialtrack pmpd puremapping purepd sigpack tof zexy"
libs="Gem zexy iemlib iemlib2 iem_t3_lib "
abs="audio core in numbers out video seq"
extra="extra externals tclplugins"
# ------ Test arguments ------ #
if [ -z "$1" ]
then
OS="linux"
DEST="local"
else
OS="$1"
DEST="releases"
fi
# ------ OS specific variables ------ #
if [ "$OS" = "linux" ]; then
pd="pd"
pd_bin="$pd/bin/pd"
hid="hid"
script="start.sh"
malinette="malinette"
elif [ "$OS" = "mac" ]; then
pd="\"\$DIR\"/\"\$PD\"" # variables in the header
pd_bin="$pd/bin/pd"
hid="hid"
script="start.sh"
malinette="./malinette"
elif [ "$OS" = "win" ]; then
pd=".." # header change directories
pd_bin="pd.exe"
hid="hidin"
script="start.bat"
malinette="../../malinette"
else
echo "Error, try those arguments : mac, win or linux"
exit 1
fi
p_externals="externals"
# Add hid lib, depends on platform
externals="$externals $hid"
# ------ Scripts variables ------ #
header="include/header_$OS.txt"
if [ "$DEST" = "local" ]; then
output="../$script"
pd="./pd/linux/pd"
pd_bin="$pd/bin/pd"
p_externals="../externals"
extra="extra ../externals ../../../tclplugins"
elif [ "$DEST" = "releases" ]; then
output="../../releases/$OS/$script"
fi
# ------- Build paths --------- #
paths_malinette="-path $malinette/abstractions"
for a in $abs
do
paths_malinette="$paths_malinette -path $malinette/abstractions/$a"
done
for l in $libs
do
paths_libs="$paths_libs -lib $l"
done
for e in $extra
do
paths_extra="$paths_extra -path $pd/$e"
done
for ext in $externals
do
paths_externals="$paths_externals -path $pd/$p_externals/$ext"
done
# ------- Build script --------- #
cat $header > $output
echo -e '\n' >> $output
# Add variable to mac script
if [ "$OS" = "mac" ]
then