Multiple inputs, one bang, multiple outputs
This could be really usefull but i'm not sure it will work for this. The idea is that there will be ten sensors hooked up to PD each one represents a number 1-10. Each sensor will trigger a different message box to send a variable to Flash. I'm trying to solve the problem of two sensors being pressed at the same time or in rapid succession. I want the patch to let one bang through from a sensor to its corresponding message box then create a delay of 5-10 seconds before the next bang is let through. The problem comes when i use a onebang object the sensor input no longer travels to only the correct message box. The sel object will only let one bang through at a time but i am not sure how to delay it so only one bang will be let through every 5-10 seconds.
Thanks for the advice hardoff, much appreciated
Wishlist - Homemade MIDI turntable for PD
First of all, let me real "thank you" for all your words! I appreciate.
@obiwannabe said:
> What protocol should be used to communicate with PC??
> MIDI isn't slow?MIDI is not just a protocol, it is an entire communication system from the physical layer right up to the data layer including baud rate and connector specs. MIDI as a protocol could be run much faster over USB2 or ethernet, but a sensible modern extension to MIDI would encapsulate it inside OSC or something like that and send it over a session aware layer. MIDI has had 20 years and now it's probably best to just bypass it and go straight for OSC over ethernet. That would also bypass all those "driver" issues for Windows users too.
Okok, I understand. I will look at OSC
However, I am looking for a cheap and simple way to communicate with Pure Data, without the need to write any special driver for Pure Data and OS.
@obiwannabe said:
> I plain to use Linux!!
An excellent choice if I may say so sir! Perhaps it's time to look at Linux SBCs with built in network and USB. You can get tiny ones that are no bigger than a matchbox and single chip FPGAs that you can write your software into. Check out http://linuxdevices.com/
Eheh - I plain to use Linux on PC, with Pure Data, so the communications protocol should at least work very well on Linux.
About hardware, I am already using a microcontroler(not an FPGA, I have no knowledge for that but I would like) with C programing but with a RTOS, Real Time Operation System, in this case, the FreeRTOS, with a license alike GPL
I must say that for now, this microcontroler with C and with FreeRTOS is more than enough
@obiwannabe said:
> I am having problems in getting an turntable to electrify with this
> electronics hardwareYou will not drive a turntable motor from USB. The current demands will kill the source. You need an external PSU. 12v at about 1 amp is probably plenty.
No, I didn't explained myself well
The problem is to get a cheap turn table!! For cheap and simple project, It will not have any motor... Its more just a circle that we can turn right or left, more quick or not...
@obiwannabe said:
> Should this project be commercial?? I would pay to someone that made for myself
> the turntable in wood, plastic or metal. Where can I find such shop?In your garage. ...demonstrates ingenuity in using the optical sensor, but you need to very clearly define the exact function and software it is designed to work with and why.
... Choose the biggest group like Reaktor users and build it for them.
I want to build especially this project for Pure Data, because Pure Data is Free Software and I think is great, fair and the way I think.
I would like that this project grow with Pure Data community help, for Pure Data people, so, I would like that It be simple and cheap.
The optical sensor was chosen because is really cheap, easy find on local shops and have good detection of movement.
I just talked about commercial project, because It would be simple, more accessible to Pure Data community If anyone could buy already assembled or at least the parts to assembly.
What I have difficult now is to get an kind of turntable in wood, just a simple base in wood with a circle that turns left and right...
Thank you for your wisdow
Wishlist - Homemade MIDI turntable for PD
> What protocol should be used to communicate with PC??
> MIDI isn't slow?
MIDI is not just a protocol, it is an entire communication system from the physical layer right up to the data layer including baud rate and connector specs. MIDI as a protocol could be run much faster over USB2 or ethernet, but a sensible modern extension to MIDI would encapsulate it inside OSC or something like that and send it over a session aware layer. MIDI has had 20 years and now it's probably best to just bypass it and go straight for OSC over ethernet. That would also bypass all those "driver" issues for Windows users too.
> I plain to use Linux!!
An excellent choice if I may say so sir! Perhaps it's time to look at Linux SBCs with built in network and USB. You can get tiny ones that are no bigger than a matchbox and single chip FPGAs that you can write your software into. Check out http://linuxdevices.com/
> I am having problems in getting an turntable to electrify with this
> electronics hardware
You will not drive a turntable motor from USB. The current demands will kill the source. You need an external PSU. 12v at about 1 amp is probably plenty.
> Should this project be commercial?? I would pay to someone that made for myself
> the turntable in wood, plastic or metal. Where can I find such shop?
In your garage. There's no reason not to start a small commercial enterprise making these things but you need to do a bit of defining exactly what the function is, who will buy it and in what parts of the world. My honest advice at this stage is that you don't yet have a saleable product. Needs more development. It's a great project and demonstrates ingenuity in using the optical sensor, but you need to very clearly define the exact function and software it is designed to work with and why. In a funny way you have to think in reverse. Start with the constraints. The target customer is the overall most important consideration. Choose the biggest group like Reaktor users and build it for them. The housing is probably the single most important design factor. Guess how many units you might sell and design around that. A thousand is a reasonable prospect from a website shop, over a year or two. You need to work out the labor costs for manufacture, how long will it take you to build each one? Maybe you can do a deal with a manufacturer to buy and retrofit existing turntables for a first low volume project. Or change the design to be a turntable accessory because many people already have an old turntable in their junk room.
Before getting anything manufactured you need a serious prototype, something you can show to an engineer who can give advice on large scale production. Product design is a lot of odd things you never thought of before, but many are common sense. Heat dissipation, EMI shielding, where to locate certain components for accessibility, physical strength, vibration. If you want to sell a product in most countries it needs to pass some basic safety requirements. Having external power supplies will solve 90% of these in one go. The most expensive ways are injection molded plastic. The best ways in the modern culture are good old fashioned wood and metal, renewable and recycleable materials. Do some cost calculations for folded steel box sections, extruded aluminium and plastic housings. Think about assembly all the time. Contact local engineering companies and get quotes, they are always happy to send single samples for free if you are serious. Use standard components wherever possible. Be creative in reusing things that are already mass produced and adapt them to the design. Think about weight because of shipping costs. Look at your competition all the time too. Think about why people would buy your turntable in preference to one of those DJCD boxes. How will you market it, what are the key features? The good news is that because of the economy in the US there will be a renaissance in small manufacture over the next decade. People have got used to the idea that we just design stuff in the West and let the Indians or Chinese build things. That economic pendulum will swing back and we find there's a shortage of skills in manufacturing. Getting a good base in product design now could pay rewards further down the road. Most first business projects are unsuccessful, don't let it knock you back. The second or third project is the one that pays.
Problem compiling external on Windows
Hey,
thanks to everyone who responded to my posts both here and in the mailing list. Since then, I've figured out how to compile externals written in C using Microsoft Visual C++ 2005. There's more to document, however, such as how to compile externals using some of the other Windows compilers (Borland, djgpp, etc.), and also how to compile externals written in C++ in Windows. But one thing at a time.
one little thing to note... steps 4 and 7 may seem a little roundabout, but they account for the fact that MSVC sometimes has trouble with spaces in directory names (eg. C://Program Files/). If anyone knows how to override this behavior, post a reply, and I'll try to simplify the steps accordingly.
Updated June 29, 2007:
use [b]C://Progra~1/[/b] instead of [b]C://Program Files/[/b],
use [b]C://Docume~1/[/b] instead of [b]C://Documents and Settings/[/b], etc.
So, without further ado...
How to compile a pd external written in C using Microsoft Visual C++ 2005:
Compared to Windows, linux offers a much more user-friendly environment for compiling pd externals. However, with a little patience, a usable environment can be set up in Windows, and the good news is that everything you need is available for free. There are several reputable Windows-compatible C/C++ compilers out there, but here I'll discuss compiling externals with Microsoft Visual C++ 2005 (MSVC for short).
1. Download and Install Microsoft Visual C++ 2005 Express Edition.
a. Click the link above, then click Go! in the Visual C++ box.
b. Run vcsetup.exe to install the program
(the setup wizard should guide you through the process).
2. Download [url=http://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/VS80sp1-KB9267
]Visual C++ 2005 Express Service Pack 1.
a. Click the link above to download the Service Pack.
b. Run VS80sp1-KB926748-X86-INTL.exe to install the program.
3. Create a new project:
a. Open Visual C++.
b. Open the New Project window (Ctrl+Shift+N).
c. In the Project Types pane, select Visual C++.
d. In the Templates pane, select emptyproj.
e. Enter object name (helloworld).
f. Leave Create directory for solution unchecked, and click OK.
4. Import the pd header file:
a. Get m_pd.h here, or, using pd-vanilla (not pd-extended):
1. Open Windows Explorer or My Computer.
2. Navigate to the pd/src/ directory on your system.
3. Open m_pd.h in a text editor (file type is: C/C++ header).
b. Select all (Ctrl+A).
c. Copy selection to the clipboard (Ctrl+C).
d. Back in Visual C++, open the New File window (Ctrl+N).
e. In the Categories pane, select General.
f. In the Templates pane, select Text File, and click Open.
g. Copy the contents of m_pd.h into the editor window (Ctrl+V).
h. Open the Save File As Window (Ctrl+S).
i. Save as m_pd.h.
j. From the File Menu, select Move m_pd.h into; select helloworld.
5. Write the source code for the external in C.
a. Open the New File window (Ctrl+N).
b. In the Categories pane, select General.
c. In the Templates pane, select Text File, and click Open.
d. Write your source code in the editor window.
The following example is taken from the tutorial by Johannes M. Zmoelnig.
#include "m_pd.h"
static t_class *helloworld_class;
typedef struct _helloworld {
t_object x_obj;
} t_helloworld;
void helloworld_bang(t_helloworld *x)
{
post("Hello world !!");
}
void *helloworld_new(void)
{
t_helloworld *x = (t_helloworld *)pd_new(helloworld_class);
return (void *)x;
}
void helloworld_setup(void) {
helloworld_class = class_new(gensym("helloworld"),
(t_newmethod)helloworld_new,
0, sizeof(t_helloworld),
CLASS_DEFAULT, 0);
class_addbang(helloworld_class, helloworld_bang);
}
6. Save and import the source code into the project:
a. Open the Save File As Window (Ctrl+S).
b. Save as helloworld.c.
c. From the File Menu, select Move helloworld.c into; select helloworld.
7. Access the pd library file:
a. Open Windows Explorer or My Computer.
b. Navigate to the pd/bin/ directory on your system.
c. Right-click on pd.lib (file type is: Object File Library) and select Copy.
d. Navigate to the C://TEMP/ directory on your system.
e. Paste the copy of pd.lib in the C://TEMP/ directory (right-click or Ctrl-V).
8. Set configuration properties:
a. Set configuration type to .dll:
1. Back in Visual C++, open the helloworld Property Pages window (Alt+F7).
2. In the left pane, select Configuration Properties >> General.
3. In the right pane, under Project Defaults, click on
Configuration Type, and select Dynamic Library (.dll)
(using the arrow on the right).
b. Add MSW to preprocessor definitions:
1. In the left pane, select
Configuration Properties >> C/C++ >> Preprocessor.
2. In the right pane, type MSW in the Preprocessor Definitions field.
c. Tell compiler which language to use:
1. In the left pane, select
Configuration Properties >> C/C++ >> Advanced.
2. In the right pane, select Compile As.
3. Select Compile as C Code (/TC) by clicking the arrow on the right.
d. Tell linker where to find pd.lib:
1. In the left pane, select Configuration Properties >> Linker >> Input.
2. In the right pane, select Additional Dependencies and enter
C://TEMP/pd.lib.
e. Tell linker to export the setup function:
1. In the left pane, select
Configuration Properties >> Linker >> Command Line.
2. In the right pane, type
/export:helloworld_setup in the Additional options field.
3. Click OK.
9. Compile and link:
a. Use the Build Solution command (F7).
10. Copy the new helloworld.dll file into pd.
a. Open Windows Explorer or My Computer.
b. Navigate to the
My Documents/Visual Studio 2005/Projects/helloworld/Debug/
directory on your system.
c. Right-click on helloworld.dll (file type is: Application Extension)
and select Copy.
d. Navigate to the pd/extra directory on your system.
e. Paste the copy of helloworld.dll in the pd/extra directory
(right-click or Ctrl-V).
11. Test the external in pd.
a. the external should now be a useable object in pd.
b. open a new pd patch and try to create a helloworld object.
c. add a bang to the left inlet and test it out.
d. if the main pd console window displays "Hello world !!",
the external has succeeded.
Hope this helps!
-- middlepedal
Problem compiling external on Windows
This has been answered on pd-list today
Hopefully this is helpful to others. I never go near Windows myself,
but anyway, post copied verbatim for the benefit of all...
> Iohannes Zmoelnig wrote:
> have you tried any online resources: e.g.
> http://puredata.info/docs/developer lists at least 2 pages that only
> deal with compiling on windows
> (http://puredata.info/docs/developer/mingw which basically deals with
> compiling pd itself on windows; but once you are there, it is simple;
> http://nul.jp/2002/pd_bc deals with compiling externals with the
> borland-compiler).
> i can give you a step-by-step guide for compiling zexy though (but mind
> that this is how i _remember_ it; i will not go and search for a windows
> machine with VC installed just to verify each step).
> - purchase M$ VC6 (elitarism on my side...:-)) and install it
> - get pd
> - download zexy (sources!) for free (e.g.
> ftp://ftp.iem.at/pub/pd/Externals/ZEXY/)
> - extract zexy to you favourite folder
> - double-click on the zexy.dsp (or was it zexy.dsw??) in the zexy/src/
> folder; this should open VC
> - to to the Project->Properties (or however this is called in your
> locale) and change the settings to match your setup (mainly these are
> the paths to find pd's headers and libraries; you should basically go
> through every item in the settings for the "release" and/or "debug"
> builds; the most important stuff is in "compiler->preprocessor",
> "compiler->path" and "linker->path"
> - when you are finished, return to the main project window
> - hit "F7" to start the build.
> - if you encounter any errors, either the settings are not yet correct
> (return to item-6) or the project is a bit out-of-date; the latter
> basically means, that the c-files to be included have not been updated;
> to fix this, just delete all the c-files from the project file browser
> (here this used to be un the left-side of the project-window), then
> right click on the folder in the project file browser that used to
> contain these files and select "add"; in the openpanel choose all
> c-files in zexy/src and hit "OK"
> - return to item-8 until you stop getting errors
> mind, that you must not use the dll while it is created (best close pd)
> if you want step-by-step instructions for vc7, vc2000, vc2006 and
> vc3000, please send them to me and i'll give it a go (dev-elitarism
> again)
> pd comes with some externals (e.g. the foo-stuff, or [fiddle~]) and uses
> makefiles to build these.
> for this to work, you have to setup your environment correctly:
-> first open the makefile (e.g. pd/doc/6.externs/makefile) with your
> favourite text-editor and correct all the paths that are wrong
> - VC6 came with a vc6vars.bat (ok the name is wrong but something along
> these lines; it was a .bat-file which would set your envirnment
> variables when run; more modern incarnations might do without the .bat
> - open the dosbox (the rest will happen within the dosbox)
> - run the vc6vars.bat (or however it is called) if this is needed for
> your compiler-incarnation
> - cd to your path (e.g. pd/doc/6.externs/)
> - run "nmake pd_nt"
> if nmake, cl, link cannot be found, you might want to add the paths to
> them to your PATH variable.
Martin Peach wrote:
> If you're on some kind of MSVC, you set up a project to build a dll, in
> "preprocessor defines" define MSW, in "additional include paths" include
> the path to pd/src/m_pd.h, link with pd.lib from pd/bin, and in the
> linker command line add "/export:yourexternal_setup" to export the setup
> function. All the other functions in your code can be static and don't
> need to be exported. After it builds you take the dll from the release
> folder and put it in your pd/extra folder.
> That should be everything you need, but if it's too cryptic I can go
> into more detail...
> Martin
OPEN technologies workshop, Zaragoza, Spain, June 26th - July 1st
OPEN technologies workshop, Zaragoza, Spain, June 26th - July 1st
http://www.0j0.org/pmwiki/index.php/Events/GohanDevelopmentJun07
******* FREE WORKSHOP ANNOUNCEMENT *******
Arduino, Pd, and Processing are becoming more and more intertwined. Sensors controlling software synthesis, robots controlled by video tracking, custom musical instruments, and more. We are a collection of developers working with these free software tools. Join us to work on projects of these combinations, or help us create new possibilities by bringing these tools ever more intertwined.
This event is a combination of a hacklab and a barcamp. We are following the ad hoc, participant-driven nature of the barcamp in combination with the collaborative work studio environment of a hacklab. If you have not been to a hacklab, barcamp, and/or unconference before, here are a couple of good references to get an idea of the way it is done:
BarCamp on wikipedia: http://en.wikipedia.org/wiki/BarCamp
There will be workshops and talks, and plenty of time to work together. We will all be working together to create projects which will then be exhibited in Zaragoza. Bring one or more of the following: ideas, projects, a desire to learn, a desire to teach. Come everyday to pick up skills and finish your project. Come whenever you can to learn new bits and pieces, and help build compelling things to exhibit!
Dates & Location:
June 26th (Tuesday) - July 1st (Sunday)
Centro de Historia
Pl. San Agustín 2
50002 Zaragoza - Spain
http://www.zaragoza.es/centrodehistoria/
Team - Guest developers:
* Hans-Christoph Steiner, Pd, Polytechnic University, community management
* Emanuele Roman, Processing, visual representation[visio imaginorum sonus est]
* XÄ, Pd, electronic music
Team - Resident developers:
* David Cuartielles from Arduino
* Marcos Yarza from Libelium, physical interfaces
Join us! Just sign up on the register page!
http://www.0j0.org/pmwiki/index.php/Jun07/Register
If you live near Zaragoza and are willing to host people, please mark that on the registration page. If you want to come and need a place to stay, contact people on the registration page who marked themselves as hosts.
.hc
Objects collision
Hello,
I am a beginner.
I tried to study and understand the examples which are in the extended version of Pure Data... but they are really very complicated. I've never programmed with Pure Data... so I need your help ...
I don't want to program something complicated.
I want to have an object which moves thanks to the mouse and as soon as this object (controlled by the mouse) hits an other object, the second one moves.
Is anyone can help me?
Thank you.
Bonjour,
J'ai essayé d'étudier les exemples qui sont dans présent dans la version "extended" de Pure Data, mais ils sont vraiment très compliqués. Je n'ai jamais fait de programmation avec Pure Data... autant dire que je n'y comprend presque rien, je suis vraiment perdu dans toute cette programmation !
Je ne cherche pas à faire quelque chose de compliqué.
Je souhaite juste avoir une fenêtre avec un objet qui bouge grace à la souris, et dès que celui-ci rentre en collision avec un autre objet, l'objet percuté bouge.
Est-ce que quelqu'un aurait un programme pour réaliser cette interaction?
Merci par avance.
Uni project - sensors!
Hi there,
I am a student currently in my final BA year in a music technology engineering and prodcution course. For my final project, I am looking to create some sort of midi controller using commonly found sensors, such as house burgular room sensors andother movemnet/poressure sensors. I have been looking at the MIDIsense (http://www.ladyada.net/make/midisense/index.html) kits and am very intrigued, I am just wondering which board would be best to combine pressure and photo sensitive sensors (light movemenet etc)?
I have no previous knowledge of electronics (!!!), though I am a very quick leaner and am willing to put in a large amount of time. I aim to use pure sata software as the host. Is this possible? My finished product does not have to be overly complicated, just work!!!! Would my idea be feasible?
Thanks for your time, a quick response would be wonderful if possible,
Thanks again,
Laurence Teixeira
Install gridflow on linux
I've tried to install under root session but it still doesn't work!...
the full output for 'make install' is (sorry this is very very very long!!!):
ruby -w base/source_filter.rb base/grid.h base/grid.h.fcs
ruby -w base/source_filter.rb base/grid.c base/grid.c.fcs
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -c base/grid.c.fcs -o base/grid.o
ruby -w base/source_filter.rb base/main.c base/main.c.fcs
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -c base/main.c.fcs -o base/main.o
ruby -w base/source_filter.rb base/number.c base/number.c.fcs
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -DPASS1
-c base/num ber.c.fcs -o base/number.1.o
base/number.c.fcs: In static member function `static bool Op<T>::is_neutral(T, L eftRight)':
base/number.c.fcs:47: attention : « return » manquant dans une fonction devant r etourner une valeur
base/number.c.fcs: In static member function `static bool Op<T>::is_absorbent(T, LeftRight)':
base/number.c.fcs:48: attention : « return » manquant dans une fonction devant r etourner une valeur
base/number.c.fcs: In static member function `static bool Ymulshr8<T>::is_neutra l(T, LeftRight) [with T = uint8]':
base/number.c.fcs:266: instantiated from here
base/number.c.fcs:200: attention : comparaison est toujours fausse en raison d'u ne gamme limitée de type de données
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -DPASS2 -c base/num ber.c.fcs -o base/number.2.o
base/number.c.fcs: In static member function `static bool Op<T>::is_neutral(T, L eftRight)':
base/number.c.fcs:47: attention : « return » manquant dans une fonction devant r etourner une valeur
base/number.c.fcs: In static member function `static bool Op<T>::is_absorbent(T, LeftRight)':
base/number.c.fcs:48: attention : « return » manquant dans une fonction devant r etourner une valeur
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -DPASS3 -c base/num ber.c.fcs -o base/number.3.o
base/number.c.fcs: In static member function `static bool Op<T>::is_neutral(T, L eftRight)':
base/number.c.fcs:47: attention : « return » manquant dans une fonction devant r etourner une valeur
base/number.c.fcs: In static member function `static bool Op<T>::is_absorbent(T, LeftRight)':
base/number.c.fcs:48: attention : « return » manquant dans une fonction devant r etourner une valeur
ruby -w base/source_filter.rb base/bitpacking.c base/bitpacking.c.fcs
g++ -fPIC -g -O2 -I/Applications/Pd.app/Contents/Resources/include -I/sw/include -I/usr/local/include -I/include -xc++ -fno-operator-names -fno-omit-frame-point er -I/usr/X11R6/include -I /usr/local/lib/ruby/1.8/i686-linux -mcpu=pentium -mar ch=pentium -Wall -Wno-unused -O3 -funroll-loops -fno-omit-frame-pointer -g -fPIC -I. -I/home/bastien/Desktop/gridflow-0.8.0 -I -I. -c base/bitpacking. c.fcs -o base/bitpacking.o
ruby -w base/source_filter.rb base/flow_objects.c base/flow_objects.c.fcs
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
base/source_filter.rb:38: warning: regexp has invalid interval
bas