update with changes needed to operate some existing systems.
This commit is contained in:
parent
7ddf3ff9cc
commit
2ae0308f3f
|
@ -80,9 +80,13 @@ static void DPOUpdate(void * id, struct NoteFinder*nf)
|
||||||
uint8_t buffer[MAX_BUFFER];
|
uint8_t buffer[MAX_BUFFER];
|
||||||
uint8_t lbuff[MAX_BUFFER];
|
uint8_t lbuff[MAX_BUFFER];
|
||||||
|
|
||||||
|
d->firstval = 0;
|
||||||
i = 0;
|
i = 0;
|
||||||
while( i < d->skipfirst )
|
while( i < d->skipfirst )
|
||||||
|
{
|
||||||
|
lbuff[i] = d->firstval;
|
||||||
buffer[i++] = d->firstval;
|
buffer[i++] = d->firstval;
|
||||||
|
}
|
||||||
|
|
||||||
if( d->leds * 3 + i >= MAX_BUFFER )
|
if( d->leds * 3 + i >= MAX_BUFFER )
|
||||||
d->leds = (MAX_BUFFER-1)/3;
|
d->leds = (MAX_BUFFER-1)/3;
|
||||||
|
@ -134,7 +138,6 @@ static void DPOUpdate(void * id, struct NoteFinder*nf)
|
||||||
{
|
{
|
||||||
memcpy( buffer, lbuff, i );
|
memcpy( buffer, lbuff, i );
|
||||||
}
|
}
|
||||||
|
|
||||||
int r = sendto( d->socket, buffer, i, MSG_NOSIGNAL,(const struct sockaddr *) &d->servaddr, sizeof( d->servaddr ) );
|
int r = sendto( d->socket, buffer, i, MSG_NOSIGNAL,(const struct sockaddr *) &d->servaddr, sizeof( d->servaddr ) );
|
||||||
if( r < 0 )
|
if( r < 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ LDLIBS:=-lpthread -lasound -lm -lpulse-simple -lpulse
|
||||||
CFLAGS:=-g -O0 -flto -Wall -ffast-math -I../embeddedcommon -I. -DICACHE_FLASH_ATTR=
|
CFLAGS:=-g -O0 -flto -Wall -ffast-math -I../embeddedcommon -I. -DICACHE_FLASH_ATTR=
|
||||||
EXTRALIBS:=-lusb-1.0
|
EXTRALIBS:=-lusb-1.0
|
||||||
|
|
||||||
colorchord : os_generic.o main.o dft.o decompose.o filter.o color.o sort.o notefinder.o util.o outdrivers.o $(RAWDRAW) $(SOUND) $(OUTS) parameters.o chash.o hook.o ../embeddedcommon/DFT32.o
|
colorchord : os_generic.o main.o dft.o decompose.o filter.o color.o sort.o notefinder.o util.o outdrivers.o $(RAWDRAW) $(SOUND) $(OUTS) parameters.o chash.o hook.o ../embeddedcommon/DFT32.o configs.o
|
||||||
gcc -o $@ $^ $(CFLAGS) $(LDLIBS) $(EXTRALIBS) $(RAWDRAWLIBS)
|
gcc -o $@ $^ $(CFLAGS) $(LDLIBS) $(EXTRALIBS) $(RAWDRAWLIBS)
|
||||||
|
|
||||||
colorchord.exe : os_generic.c main.c dft.c decompose.c filter.c color.c sort.c notefinder.c util.c outdrivers.c DrawFunctions.c parameters.c chash.c WinDriver.c sound.c sound_null.c sound_win.c OutputVoronoi.c DisplayArray.c OutputLinear.c DisplayPie.c DisplayNetwork.c hook.c RecorderPlugin.c ../embeddedcommon/DFT32.c OutputCells.c
|
colorchord.exe : os_generic.c main.c dft.c decompose.c filter.c color.c sort.c notefinder.c util.c outdrivers.c DrawFunctions.c parameters.c chash.c WinDriver.c sound.c sound_null.c sound_win.c OutputVoronoi.c DisplayArray.c OutputLinear.c DisplayPie.c DisplayNetwork.c hook.c RecorderPlugin.c ../embeddedcommon/DFT32.c OutputCells.c
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
|
|
||||||
outdrivers = DisplayPie,DisplayNetwork,OutputLinear,RecorderPlugin
|
outdrivers = DisplayPie,DisplayNetwork,OutputLinear,RecorderPlugin
|
||||||
leds = 48
|
leds = 48
|
||||||
light_siding = 2.5 #Turn this to ~1.9 for more uniformity, ~1.0 for less.
|
light_siding = 2.5 #2.5 #Turn this to ~1.9 for more uniformity, ~1.0 for less.
|
||||||
satamp = 1.600
|
satamp = 1.600
|
||||||
is_loop=1
|
is_loop=1
|
||||||
led_floor = .1 #Turn to .25 for more uniformity, .1 for less.
|
led_floor = .1 #Turn to .25 for more uniformity, .1 for less.
|
||||||
steady_bright = 0
|
steady_bright = 0
|
||||||
|
|
||||||
|
## TODO: Come Thou Fount is 0
|
||||||
|
# Don't forget to tune color balance. "Cloudy"
|
||||||
|
# 1/30, 4.5 - 800 iso.
|
||||||
|
|
||||||
|
|
||||||
# For the final note information... How much to slack everything?
|
# For the final note information... How much to slack everything?
|
||||||
|
@ -25,7 +27,7 @@ port = 7777
|
||||||
address = 192.168.4.1
|
address = 192.168.4.1
|
||||||
|
|
||||||
slope=.10
|
slope=.10
|
||||||
amplify=.1
|
amplify=.24
|
||||||
|
|
||||||
|
|
||||||
lightx = 20
|
lightx = 20
|
||||||
|
@ -41,7 +43,7 @@ fliprg = 1
|
||||||
skittlequantity = 24
|
skittlequantity = 24
|
||||||
|
|
||||||
|
|
||||||
led_limit=.4
|
led_limit=.5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,7 @@
|
||||||
#include "outdrivers.h"
|
#include "outdrivers.h"
|
||||||
#include "parameters.h"
|
#include "parameters.h"
|
||||||
#include "hook.h"
|
#include "hook.h"
|
||||||
|
#include "configs.h"
|
||||||
#define NRDEFFILES 10
|
|
||||||
|
|
||||||
struct SoundDriver * sd;
|
struct SoundDriver * sd;
|
||||||
|
|
||||||
|
@ -35,8 +34,6 @@ double Now = 0;
|
||||||
|
|
||||||
int lastfps;
|
int lastfps;
|
||||||
short screenx, screeny;
|
short screenx, screeny;
|
||||||
int gargc;
|
|
||||||
char ** gargv;
|
|
||||||
struct DriverInstances * outdriver[MAX_OUT_DRIVERS];
|
struct DriverInstances * outdriver[MAX_OUT_DRIVERS];
|
||||||
|
|
||||||
|
|
||||||
|
@ -155,95 +152,6 @@ void SoundCB( float * out, float * in, int samplesr, int * samplesp, struct Soun
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LoadFile( const char * filename )
|
|
||||||
{
|
|
||||||
char * buffer;
|
|
||||||
int r;
|
|
||||||
|
|
||||||
FILE * f = fopen( filename, "rb" );
|
|
||||||
if( !f )
|
|
||||||
{
|
|
||||||
fprintf( stderr, "Warning: cannot open %s.\n", filename );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fseek( f, 0, SEEK_END );
|
|
||||||
int size = ftell( f );
|
|
||||||
fseek( f, 0, SEEK_SET );
|
|
||||||
buffer = malloc( size + 1 );
|
|
||||||
r = fread( buffer, size, 1, f );
|
|
||||||
fclose( f );
|
|
||||||
buffer[size] = 0;
|
|
||||||
if( r != 1 )
|
|
||||||
{
|
|
||||||
fprintf( stderr, "Warning: %d bytes read. Expected: %d from file %s\n", r, size, filename );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetParametersFromString( buffer );
|
|
||||||
}
|
|
||||||
free( buffer );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const char * InitialFile[NRDEFFILES];
|
|
||||||
double FileTimes[NRDEFFILES];
|
|
||||||
int InitialFileCount = 1;
|
|
||||||
|
|
||||||
void SetEnvValues( int force )
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int hits = 0;
|
|
||||||
for( i = 0; i < InitialFileCount; i++ )
|
|
||||||
{
|
|
||||||
double ft = OGGetFileTime( InitialFile[i] );
|
|
||||||
if( FileTimes[i] != ft )
|
|
||||||
{
|
|
||||||
FileTimes[i] = ft;
|
|
||||||
hits++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( !hits && !force ) return;
|
|
||||||
|
|
||||||
//Otherwise, something changed.
|
|
||||||
|
|
||||||
LoadFile( InitialFile[0] );
|
|
||||||
|
|
||||||
for( i = 1; i < gargc; i++ )
|
|
||||||
{
|
|
||||||
if( strchr( gargv[i], '=' ) != 0 )
|
|
||||||
{
|
|
||||||
printf( "AP: %s\n", gargv[i] );
|
|
||||||
SetParametersFromString( gargv[i] );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf( "LF: %s\n", gargv[i] );
|
|
||||||
LoadFile( gargv[i] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ProcessArgs()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for( i = 1; i < gargc; i++ )
|
|
||||||
{
|
|
||||||
if( strchr( gargv[i], '=' ) != 0 )
|
|
||||||
{
|
|
||||||
//A value setting operation
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
InitialFile[InitialFileCount++] = gargv[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SetEnvValues( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char ** argv)
|
int main(int argc, char ** argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -267,9 +175,7 @@ int main(int argc, char ** argv)
|
||||||
gargc = argc;
|
gargc = argc;
|
||||||
gargv = argv;
|
gargv = argv;
|
||||||
|
|
||||||
InitialFile[0] = "default.conf";
|
SetupConfigs();
|
||||||
|
|
||||||
ProcessArgs();
|
|
||||||
|
|
||||||
//Initialize Rawdraw
|
//Initialize Rawdraw
|
||||||
int frames = 0;
|
int frames = 0;
|
||||||
|
@ -337,10 +243,9 @@ int main(int argc, char ** argv)
|
||||||
|
|
||||||
nf = CreateNoteFinder( sd->spsRec );
|
nf = CreateNoteFinder( sd->spsRec );
|
||||||
|
|
||||||
|
|
||||||
//Once everything was reinitialized, re-read the ini files.
|
//Once everything was reinitialized, re-read the ini files.
|
||||||
SetEnvValues( 1 );
|
SetEnvValues( 1 );
|
||||||
printf( "OK\n" );
|
|
||||||
Now = OGGetAbsoluteTime();
|
Now = OGGetAbsoluteTime();
|
||||||
double Last = Now;
|
double Last = Now;
|
||||||
while(1)
|
while(1)
|
||||||
|
|
|
@ -12,6 +12,7 @@ steady_bright = 0
|
||||||
#dft_q = 20.0000
|
#dft_q = 20.0000
|
||||||
#dft_speedup = 1000.0000
|
#dft_speedup = 1000.0000
|
||||||
|
|
||||||
|
sourcename = alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
|
||||||
skipfirst = 1
|
skipfirst = 1
|
||||||
firstval = 0
|
firstval = 0
|
||||||
port = 7777
|
port = 7777
|
||||||
|
|
|
@ -325,7 +325,7 @@ void DoDFTProgressive32( float * outbins, float * frequencies, int bins, const f
|
||||||
|
|
||||||
if( FIXBINS != bins )
|
if( FIXBINS != bins )
|
||||||
{
|
{
|
||||||
fprintf( stderr, "Error: Bins was reconfigured. skippy requires a constant number of bins.\n" );
|
fprintf( stderr, "Error: Bins was reconfigured. skippy requires a constant number of bins (%d != %d).\n", FIXBINS, bins );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue