work on the DMX thing, trying to make it be able to record, too.
This commit is contained in:
parent
ba815e0a99
commit
945df1897a
8
Makefile
8
Makefile
|
@ -2,20 +2,20 @@ all : colorchord
|
||||||
|
|
||||||
RAWDRAW:=DrawFunctions.o XDriver.o
|
RAWDRAW:=DrawFunctions.o XDriver.o
|
||||||
SOUND:=sound.o sound_alsa.o sound_pulse.o sound_null.o
|
SOUND:=sound.o sound_alsa.o sound_pulse.o sound_null.o
|
||||||
OUTS := OutputVoronoi.o DisplayArray.o OutputLinear.o DisplayPie.o DisplayNetwork.o DisplayUSB2812.o DisplayDMX.o
|
OUTS := OutputVoronoi.o DisplayArray.o OutputLinear.o DisplayPie.o DisplayNetwork.o DisplayUSB2812.o DisplayDMX.o RecorderPlugin.o
|
||||||
|
|
||||||
WINGCC:=i586-mingw32msvc-gcc
|
WINGCC:=i586-mingw32msvc-gcc
|
||||||
WINGCCFLAGS:= -lwinmm -lgdi32 -lws2_32 -O2 -ffast-math -g
|
WINGCCFLAGS:= -lwinmm -lgdi32 -lws2_32 -O2 -ffast-math -g
|
||||||
|
|
||||||
RAWDRAWLIBS:=-lX11 -lm -lpthread -lXinerama -lXext
|
RAWDRAWLIBS:=-lX11 -lm -lpthread -lXinerama -lXext
|
||||||
LDLIBS:=-lpthread -lasound -lm -lpulse-simple -lpulse
|
LDLIBS:=-lpthread -lasound -lm -lpulse-simple -lpulse
|
||||||
CFLAGS:=-g -Os -flto -Wall -ffast-math
|
CFLAGS:=-g -O2 -flto -Wall -ffast-math
|
||||||
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
|
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
|
||||||
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
|
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
|
||||||
$(WINGCC) -o $@ $^ $(WINGCCFLAGS)
|
$(WINGCC) -o $@ $^ $(WINGCCFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ wininput = 0
|
||||||
#Compiled version will default this.
|
#Compiled version will default this.
|
||||||
#sound_source = PULSE
|
#sound_source = PULSE
|
||||||
#-1 indicates left and right, 0 left, 1 right.
|
#-1 indicates left and right, 0 left, 1 right.
|
||||||
sample_channel = -1
|
sample_channel = 1
|
||||||
sourcename =
|
sourcename =
|
||||||
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
|
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
|
||||||
|
|
||||||
|
|
2
dmx.conf
2
dmx.conf
|
@ -1,4 +1,4 @@
|
||||||
outdrivers = DisplayDMX, OutputLinear, DisplayArray
|
outdrivers = DisplayDMX, OutputLinear, DisplayArray, RecorderPlugin
|
||||||
|
|
||||||
byte_offset = 32
|
byte_offset = 32
|
||||||
ledoutamp = 1.0
|
ledoutamp = 1.0
|
||||||
|
|
0
linearpie.conf
Normal file → Executable file
0
linearpie.conf
Normal file → Executable file
16
main.c
16
main.c
|
@ -13,6 +13,7 @@
|
||||||
#include "notefinder.h"
|
#include "notefinder.h"
|
||||||
#include "outdrivers.h"
|
#include "outdrivers.h"
|
||||||
#include "parameters.h"
|
#include "parameters.h"
|
||||||
|
#include "hook.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
@ -56,6 +57,7 @@ void HandleKey( int keycode, int bDown )
|
||||||
if( c == 'K' && bDown ) DumpParameters();
|
if( c == 'K' && bDown ) DumpParameters();
|
||||||
if( keycode == 65307 ) exit( 0 );
|
if( keycode == 65307 ) exit( 0 );
|
||||||
printf( "Key: %d -> %d\n", keycode, bDown );
|
printf( "Key: %d -> %d\n", keycode, bDown );
|
||||||
|
KeyHappened( keycode, bDown );
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleButton( int x, int y, int button, int bDown )
|
void HandleButton( int x, int y, int button, int bDown )
|
||||||
|
@ -71,17 +73,22 @@ void SoundCB( float * out, float * in, int samplesr, int * samplesp, struct Soun
|
||||||
{
|
{
|
||||||
int channelin = sd->channelsRec;
|
int channelin = sd->channelsRec;
|
||||||
// int channelout = sd->channelsPlay;
|
// int channelout = sd->channelsPlay;
|
||||||
|
//*samplesp = 0;
|
||||||
|
// int process_channels = (MAX_CHANNELS < channelin)?MAX_CHANNELS:channelin;
|
||||||
|
|
||||||
//Load the samples into a ring buffer. Split the channels from interleved to one per buffer.
|
//Load the samples into a ring buffer. Split the channels from interleved to one per buffer.
|
||||||
*samplesp = 0;
|
|
||||||
|
|
||||||
// int process_channels = (MAX_CHANNELS < channelin)?MAX_CHANNELS:channelin;
|
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
for( i = 0; i < samplesr; i++ )
|
for( i = 0; i < samplesr; i++ )
|
||||||
{
|
{
|
||||||
|
for( j = 0; j < channelin; j++ )
|
||||||
|
{
|
||||||
|
out[i*channelin+j] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if( sample_channel < 0 )
|
if( sample_channel < 0 )
|
||||||
{
|
{
|
||||||
float fo = 0;
|
float fo = 0;
|
||||||
|
@ -94,7 +101,6 @@ void SoundCB( float * out, float * in, int samplesr, int * samplesp, struct Soun
|
||||||
fo /= channelin;
|
fo /= channelin;
|
||||||
sound[soundhead] = fo;
|
sound[soundhead] = fo;
|
||||||
soundhead = (soundhead+1)%SOUNDCBSIZE;
|
soundhead = (soundhead+1)%SOUNDCBSIZE;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -104,6 +110,10 @@ void SoundCB( float * out, float * in, int samplesr, int * samplesp, struct Soun
|
||||||
soundhead = (soundhead+1)%SOUNDCBSIZE;
|
soundhead = (soundhead+1)%SOUNDCBSIZE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SoundEventHappened( samplesr, in, channelin, 0 );
|
||||||
|
SoundEventHappened( samplesr, out, sd->channelsPlay, 1 );
|
||||||
|
*samplesp = samplesr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
//Output drivers, used for outputting lights, etc... However, this technique
|
||||||
|
//may be used for unrelated-to-output plugins.
|
||||||
|
|
||||||
#ifndef _OUTDRIVERS_H
|
#ifndef _OUTDRIVERS_H
|
||||||
#define _OUTDRIVERS_H
|
#define _OUTDRIVERS_H
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue