File tree Expand file tree Collapse file tree 3 files changed +67
-0
lines changed Expand file tree Collapse file tree 3 files changed +67
-0
lines changed Original file line number Diff line number Diff line change 1+ #include " SC_PlugIn.h"
2+
3+ static InterfaceTable *ft;
4+
5+ struct BoringMixer : public Unit {
6+ };
7+
8+ extern " C" {
9+ void load (InterfaceTable *inTable);
10+
11+ void BoringMixer_next (BoringMixer *unit, int inNumSamples);
12+ void BoringMixer_Ctor (BoringMixer* unit);
13+ };
14+
15+ void BoringMixer_Ctor (BoringMixer* unit) {
16+ SETCALC (BoringMixer_next);
17+ }
18+
19+ void BoringMixer_next (BoringMixer* unit, int inNumSamples) {
20+
21+ float *left = IN (0 );
22+ float *right = IN (1 );
23+ float *out = OUT (0 );
24+
25+ for (int i = 0 ; i < inNumSamples; i++) {
26+ out[i] = (left[i] + right[i]) * 0.5 ;
27+ }
28+ }
29+
30+ PluginLoad (BoringMixerUGens) {
31+ ft = inTable;
32+ DefineSimpleUnit (BoringMixer);
33+ }
Original file line number Diff line number Diff line change 1+ BoringMixer : UGen {
2+ *ar { |left, right|
3+ ^this .multiNew('audio' , left, right);
4+ }
5+ checkInputs {
6+ [0 , 1 ].do { |i|
7+ (inputs[i].rate != 'audio' ).if {
8+ ^"input % is not audio rate" .format(i).throw;
9+ };
10+ };
11+ ^this .checkValidInputs;
12+ }
13+ }
Original file line number Diff line number Diff line change 1+ cmake_minimum_required (VERSION 2.8)
2+ set (PROJECT "BoringMixer" )
3+ project (${PROJECT} )
4+
5+ include_directories (${SC_PATH} /include /plugin_interface)
6+ include_directories (${SC_PATH} /include /common)
7+ include_directories (${SC_PATH} /common)
8+
9+
10+ set (CMAKE_SHARED_MODULE_PREFIX "" )
11+ if (APPLE OR WIN32 )
12+ set (CMAKE_SHARED_MODULE_SUFFIX ".scx" )
13+ endif ()
14+
15+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
16+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mstackrealign -mfpmath=sse" )
17+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mstackrealign -mfpmath=sse" )
18+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
19+ endif ()
20+
21+ add_library (${PROJECT} MODULE BoringMixer.cpp)
You can’t perform that action at this time.
0 commit comments