From 79a422c2cf5ff53097262a1105d042819e6bcf4b Mon Sep 17 00:00:00 2001 From: cnlohr Date: Wed, 7 Jan 2015 00:25:21 -0500 Subject: [PATCH] add readme fix constructor problem with older versions of GCC --- README.md | 38 +++++++++++++++++++++++++++++++++++++- parameters.h | 2 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e5a3ba6..5dbe1b6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,40 @@ colorchord ========== -Chromatic Sound to Light Conversion System +What is ColorChord? +------------------- + +Chromatic Sound to Light Conversion System. It's really that simple. Unlike so many of the sound responsive systems out there, ColorChord looks at the chromatic properties of the sound. It looks for notes, not ranges. If it hears an "E" it doesn't care what octave it's in, it's an E. This provides a good deal more interesting patterns between instruments and music than would be available otherwise. + + +Background +---------- + +Developed over many years, ColorChord 2 is now getting close to alpha stages. ColorChord 2 uses the same principles as ColorChord 1. A brief writeup on that can be seen here: http://cnlohr.blogspot.com/2010/11/colorchord-sound-lighting.html + +The major differences in ColorChord 2 is the major rewrite to move everything back to the CPU and a multitude of algorithmic optimizations to make it possible to run on something other than the brand newest of systems. + + +Current State of Affairs +------------------------ + +Currently, ColorChord 2 is designed to run on Linux. It's not particularly tied to an architecture, but does pretty much need a dedicated FPU to achieve any decent performance. Right now there aren't very many output options available for it. The most interesting one used for debugging is a vornoi-diagram-like thing called "DisplayShapeDriver." + +Building and Using +------------------ + +To make colorchord, type: + +``` +make +``` + +Then, to run it, use the following syntax: + +``` +./colorchord [config file, by default 'default.conf'] [any additional parameters] +``` + +If you edit default.conf while the program is running and resave it, it will use the settings in the newly saved file. + + diff --git a/parameters.h b/parameters.h index de8175a..cf8646e 100644 --- a/parameters.h +++ b/parameters.h @@ -45,7 +45,7 @@ void SetParametersFromString( const char * string ); void AddCallback( const char * name, ParamCallbackT t, void * v ); #define REGISTER_PARAM( parameter_name, type ) \ - void Register##parameter_name() __attribute__((constructor(101))); \ + void Register##parameter_name() __attribute__((constructor)); \ void Register##parameter_name() { RegisterValue( #parameter_name, type, ¶meter_name, sizeof( parameter_name ) ); }