GithubHelp home page GithubHelp logo

micknoise / maximilian Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 278.0 159.49 MB

C++ Audio and Music DSP Library

Home Page: http://www.maximilian.strangeloop.co.uk

License: MIT License

C++ 79.88% C 13.52% Makefile 0.51% Objective-C++ 0.15% CMake 0.08% JavaScript 0.73% HTML 5.12% Python 0.01% Shell 0.01%

maximilian's People

Contributors

boochow avatar chriskiefer avatar crushedpixel avatar cthom055 avatar fedden avatar frantic0 avatar jakubfiala avatar junekuhn avatar kiddin75 avatar louismac avatar lzieniew avatar micknoise avatar mzed avatar nevosegal avatar pavloschatz avatar safareli avatar sieren avatar whg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maximilian's Issues

Noise types

Any plans to add other types of noise generator e.g pink, or offer a band limiting option to the white noise generator in maxiosc?
Cheers

maxiSynths?

Why are the same classes defined in maxiSynths and in Maximilian? It always gets me if I try to include libs/* in my project.

maxiSVF?

Why isn't maxiSVF part of maxiFilter? Because the maths demand different variables?

The API confuses me here.

Error in maxiatom.cpp

Hey everyone,

I'm trying to run maximilian in xcode 3.2.6 and open frameworks 0071 but i get errors in "maxiatom.cpp".
It goes like this:

.../addons/ofxMaxim/libs/maxiAtoms.cpp:74: error: cannot convert 'double_' to 'float_' for argument '1' to 'void vDSP_vlint(float_, float_, vDSP_Stride, float*, vDSP_Stride, vDSP_Length, vDSP_Length)'

../addons/ofxMaxim/libs/maxiAtoms.cpp:112: error: no matching function for call to 'min(unsigned int&, long unsigned int)'

Does anybody know how to fix this?

Thanks

Examples in OF

Most of the examples in the openFrameworks folder are broken or outdated.
If you want, I can make a PR including these examples https://github.com/edap/examplesOfxMaxim. They come more or less from your Kadenze online course, and they work with the current OF release.

FFT example doesn't compile.

Hi, i'm really interested in using Maximillian's FFT capabilities, but when i run the fft example from the examples folder in VS 2015, it doesn't compile? Does anyone have a solution? Thanks in advance!

copy in this reverb over from fishpolice branch

`double maxiReverbFilters::lpcombfb(double input, double size, double fb, double cutoff)
{
// used for freeverb emulation
// low pass between delay output + feedback
delay_size = size;
output = input + (fb * mf.lopass(delay_line[delay_index],(1.0-cutoff)));
delay_line[delay_index] = output;
delay_index != delay_size - 1 ? delay_index++ : delay_index = 0;
return output;
return 0.0;

}`

URGENT - maxiGrainWindowCache double* getWindow consistent run time crashes.

Hi Mick,

Got an urgent question. I have been building an audiovisual granular synth for my PhD and my examination performance is on Friday. I am getting run time crashes at least 3 times a day relating to the double* getWindow function in maxiGrainWindowCache. (See image below)

Would you be able to suggest how or why this is continually occurring? Or what safe guards I could do temporarily to ensure that this never happens during my examination? Any advice or tips at all at this stage would help my sanity immensely. Thanks!

screen shot 2014-12-14 at 12 45 30 pm

Maximilan + openFrameworks IOS | Can't play audio files outside testApp

Hello!

I'm building an openFrameworks IOS app and i'm trying to use maximilan so i can do some fft analysis over some audio files, but i'm getting trouble getting maximilan to work outside testApp. i'm trying to create a class specific for the audioPlayer and fft analisys, but all i get is some cracked noise. I bet this is a newbie problem :-( ....

thanks in advance...
JF

Undefined symbols for architecture i386:

Hi,

I'm getting an error. I'm building for ios. I added the Maximillian directory to the header and library search paths.

I'm just using an extremely basic setup with

include "maximilian.h"

maxiOsc mySine;//let's create an oscillator and give it a name.
mySine.sinewave(440); // <- this is being assigned to a buffer in a loop

I get the errors:

Undefined symbols for architecture i386:
"maxiOsc::maxiOsc()", referenced from:
SoFancyApp::SoFancyApp() in SoFancyApp.o
"maxiOsc::sinewave(double)", referenced from:
SoFancyApp::outputCallback(int, float*, double) in SoFancyApp.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any idea why this is happening?

Thanks,
Casey

How to get working on Win10?

I tried to run the download from https://www.kadenze.com/courses/machine-learning-for-musicians-and-artists-v but it says No Devices Found.
See https://www.kadenze.com/forums/5-sensors-and-features-generating-useful-inputs-for-machine-learning/threads/audio-driver-problem-with-various_audio_input-on-windows

So I downloaded this repo and ran the VC project. It builds ok but says nothing detected.

However, I have a Steinberg UR 44 (6 input) which works just fine with Live and everything else.

Any ideas? I'd love to try using it with Wekinator as outlined in the course.

ty!

maximilian not taking "audio data file offset" into account.

hi @micknoise,

im working with ofxMaxim in OF on iOS.
basically, im trying to load a song from my iphones music library, convert it to a wav and have ofxMaxim do some cool shit with it :)

so far ive been successful in converting the library file to a wav file and storing it in the documents folder of the app to be then loaded by ofxMaxim, but this is where it trips up...

ive done lots of tests and worked out that when iOS exports a PCM wave file, it adds a "audio data file offset" of 4096 bytes. a normal wav file that works with ofxMaxim has a "audio data file offset" of 44 bytes. otherwise the files are identical when inspecting using the AFInfo command in terminal.

im thinking maximilian needs to find out what this "audio data file offset" value is before it starts reading the file into memory. ive had a hack around in maxiSample::read function but its a bit over my head at the moment.

is the solution to this something apparent to you?

cheers,
L.

Separate repository for ofxMaxim?

At the moment all of the core maximillian stuff is duplicated in this repository. Can we create a separate repository for the openFrameworks addon and have the core Maximilian stuff, which lives in this repo as a submodule?

As well as the benefits in development, it would mean more exposure to the addon via ofxaddons.com, where ofxMaxim is not listed.

"Reciprocal" misnomer

Not exactly a bug, but probably worth addressing.

I was just reading through maximillion.h and noticed in maxLagExp you have a field alphaReciprocal = 1.0 - alpha;. Nothing wrong with the value, but it's not the reciprocal of alpha...

Plans on allowing windowing functions to be swapped on runtime?

Just want to say firstly that this is ana amazing library. I have been using Maxim to develop an audiovisual granular synthesiser for my PhD and i'm loving the results.

One thing that is kinda baffling me though. I have looked over the source and it is a real shame that the windowing functions must be hard coded in on compilation thus not allowing to switch between different windows while the software is running. In most granular synthesis software you have the option to trial our a variety of different windows while using the software.

Is there any plans on re-structuring the source to allow for such a thing? Apart from the creative freedom that this would allow, if one was to make a granular synthesis compiled application to distribute, it would be stuck with the 1 windowing function that was coded in on compilation.

Would really love to hear your guys thoughts on this, reasons as to why you have selected this route and if you plan on changing this limitation in the future?

Thanks.

ofxMaxim & VS2010 doesn't compile

Hi,
I made a fresh Project with OF 0071 on Windows 7 (64 bit) with Visual Studio 2010 . When I compile the code I get a couple of errors : Fehler 24 error C3861: "vDSP_mmulD": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 16 1 Maxim.Example
Fehler 25 error C3861: "vDSP_vsdivD": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 18 1 Maxim.Example
Fehler 26 error C3861: "vDSP_mmul": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 23 1 Maxim.Example
Fehler 27 error C3861: "vDSP_vsdiv": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 25 1 Maxim.Example
Fehler 66092 error C4716: 'maxiAtomBookPlayer::play': Muss einen Wert zurรผckgeben d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maxiatoms.cpp 219 1 Maxim.Example

I realized that the Version in your VS2010 example Project differs from the ofxMaxim Version in the addon folder.
Can I use the ofxMaxim addon on Windows? (I want to use the maxiFFT but its missing in the VS2010 example version)

Maximilian.h error

I'm using visual studio 2010
my operating system is windows 7

2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(147): error C2864: 'maxiFractionalDelay::writePointer' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(148): error C2864: 'maxiFractionalDelay::readPointer' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(300): warning C4244: '=' : conversion from 'double' to 'short', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(458): error C2864: 'maxiEnv::holdtime' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(514): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(539): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(540): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(666): error C2864: 'maxiKick::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(667): error C2864: 'maxiKick::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(669): error C2864: 'maxiKick::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(670): error C2864: 'maxiKick::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(671): error C2864: 'maxiKick::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(672): error C2864: 'maxiKick::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(673): error C2864: 'maxiKick::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(676): error C2864: 'maxiKick::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(691): error C2864: 'maxiSnare::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(692): error C2864: 'maxiSnare::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(694): error C2864: 'maxiSnare::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(695): error C2864: 'maxiSnare::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(696): error C2864: 'maxiSnare::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(697): error C2864: 'maxiSnare::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(698): error C2864: 'maxiSnare::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(701): error C2864: 'maxiSnare::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(721): error C2864: 'maxiHats::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(722): error C2864: 'maxiHats::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(724): error C2864: 'maxiHats::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(725): error C2864: 'maxiHats::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(726): error C2864: 'maxiHats::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(727): error C2864: 'maxiHats::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(728): error C2864: 'maxiHats::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(731): error C2864: 'maxiHats::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(774): error C2864: 'maxiSampler::originalPitch' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(776): error C2864: 'maxiSampler::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(780): error C2864: 'maxiSampler::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(781): error C2864: 'maxiSampler::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(782): error C2864: 'maxiSampler::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(783): error C2864: 'maxiSampler::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(784): error C2864: 'maxiSampler::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(787): error C2864: 'maxiSampler::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(789): error C2864: 'maxiSampler::currentVoice' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(799): error C2864: 'maxiSampler::sustain' : only static const integral data members can be initialized within a class

Multivoice Oscillators

How to get multiple voices in an Oscillator ? I Browser through the library and I didn't find anything that adds sort of unison and detune to an oscillator.
I am looking forward to create a Synth using Maximilian and JUCE, but most synths have a feature to add multiple voices and detune them slightly to get a richer sound. (Not to be confused with Polyphony which is multiple notes).

Is There any way to get it working ? Or there is no feature as such ?

loopRecord method broken.....

Hi Mick. Just letting you know I found a problem with the loopRecord method. I finally got it work by commenting out the 2 lines in the image below. Looking at the code I cant understand why they are in there in the 1st place but commenting them out allows the method to work as expected.

Maxim Loop Record Hack

Also I made an example the demonstrates live granular synthesis using the microphone that can be found here -> https://github.com/JoshuaBatty/LiveAudioGranularSynthesis-Maxim

Would be fine if you felt like including it as an example with the ofxMaxim download, I have wanted to use Maxim to do this for years but only just got around to working out how to do it properly so maybe others may be interested?

compiler error with 072_ios

Hey,
i got a couple of errors after adding the ofxMaxim addon to the openframeworks ios ExampleApp. I'm not sure if i did it the wrong way but your example isn't running as well.

ld: warning: ignoring file ../../../libs/FreeImage/lib/ios/freeimage.a, missing required architecture i386 in file ../../../libs/FreeImage/lib/ios/freeimage.a (2 slices)
ld: warning: ignoring file ../../../libs/glu/lib/ios/glu-ios.a, missing required architecture i386 in file ../../../libs/glu/lib/ios/glu-ios.a (2 slices)
Undefined symbols for architecture i386:
  "_create_fftsetup", referenced from:
      fft::fft(int) in fft.o
  "_ctoz", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
  "_destroy_fftsetup", referenced from:
      fft::~fft() in fft.o
  "_fft_zrip", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
  "_mmul", referenced from:
      maxiMFCCAnalyser<float>::dct(float*) in maxiMFCC.o
      maxiMFCCAnalyser<float>::melFilterAndLogSquare(float*) in maxiMFCC.o
  "_mmulD", referenced from:
      maxiMFCCAnalyser<double>::dct(double*) in maxiMFCC.o
      maxiMFCCAnalyser<double>::melFilterAndLogSquare(float*) in maxiMFCC.o
  "_vDSP_polar", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
  "_vDSP_rect", referenced from:
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
  "_vDSP_vclip", referenced from:
      fft::convToDB_vdsp(float*, float*) in fft.o
  "_vDSP_vdbcon", referenced from:
      fft::convToDB_vdsp(float*, float*) in fft.o
  "_vDSP_vdpsp", referenced from:
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_vDSP_vlint", referenced from:
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_vDSP_vramp", referenced from:
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_vDSP_vsdiv", referenced from:
      maxiMFCCAnalyser<float>::dct(float*) in maxiMFCC.o
  "_vDSP_vsdivD", referenced from:
      maxiMFCCAnalyser<double>::dct(double*) in maxiMFCC.o
  "_vDSP_vsmsa", referenced from:
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_vDSP_vspdp", referenced from:
      maxiMFCCAnalyser<double>::melFilterAndLogSquare(float*) in maxiMFCC.o
  "_vmul", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_vsmul", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
  "_ztoc", referenced from:
      fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
      fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Crash in MaxiSample::Read

When reading the first channel from a 2 channel file, the read function crashes.
this code seems wrong

if (myChannels>1) {
            int position=0;
            int channel=readChannel*2;
            for (int i=channel;i<myDataSize +6;i+=(myChannels*2)) {
                myData[position]=myData[i];
                myData[position+1]=myData[i+1];
                position+=2;
       }
}

I removed the +6 from this line and so the crash no longer occurs;

for (int i=channel;i < myDataSize +6;i+=(myChannels*2)

so now it looks like this

for (int i=channel;i<myDataSize ;i+=(myChannels*2) // removed +6

why is that +6 there? the index of myData should not go beyond myDataSize?

Compiling fails on Linux

Been a while since I looked at this. But trying to compile on Ubuntu 13.10 I get the following (from the command line).

OSS :

RtAudio.cpp:6391:23: fatal error: soundcard.h: No such file or directory
#include "soundcard.h"

ALSA :
RtAudio.cpp:5148:28: fatal error: alsa/asoundlib.h: No such file or directory
#include <alsa/asoundlib.h>

Jack :
RtAudio.cpp:1798:23: fatal error: jack/jack.h: No such file or directory
#include <jack/jack.h>

Are there files? Submodules missing? Or is there something I need to install / do before trying to compile?

maxiClock not working

Hello, I'm trying to implement the clock in openFrameworks, but it is not working as expected.
Here my code:

//header
    void audioOut(float * output, int bufferSize, int nChannels);
    double  outputs[2];
    int     bufferSize;
    int     sampleRate;
    ticksPerBeat = 4; // number of ticks per beat
    tempo = 140; // beats Per Minute

    ofxMaxiOsc myOscill;
    maxiClock  myClock;

    int counter = 0;
    double frequency = 800;

Here the app.cpp file

void ofApp::setup(){
    sampleRate  = 44100;
    bufferSize  = 512;
    ofxMaxiSettings::setup(sampleRate, 2, bufferSize);
    myClock.setTempo(tempo);
    myClock.setTicksPerBeat(ticksPerBeat);
    ofSoundStreamSetup(2,2,this, sampleRate, bufferSize, 4);
}

void ofApp::audioOut(float * output, int bufferSize, int nChannels) {
    myClock.ticker();
    if (myClock.tick) {
        cout << "no" << endl;
        frequency += 200;
    };
    if(counter%10){
        frequency = 800;
    }

    for (int i = 0; i < bufferSize; i++){
        double wave = myOscill.sinewave(frequency) * 0.8;
        output[i*nChannels      ] = wave;
        output[i*nChannels + 1] = wave;
    }
    cout << frequency<< endl; //not changing
}

Compiling in ubuntu gnu/linux

I have tried to compile and I get the following error:

maximilian.cpp:222: error: โ€˜memsetโ€™ was not declared in this scope
maximilian.cpp:401: error: โ€˜strcmpโ€™ was not declared in this scope

I have added this line to maximilian.h

#include <cstring>

Example's Bug On Win32 Platform

Hi,

Today I've tried to compile and run Maximilian's example program under VS2010 on Windows7, everything is correct except some memory alloc & dealloc problems:

In maximilian.cpp, the maxiSample class member 'myData' and 'temp' will be inited by 'malloc' method in read() method, but in its destractor method, these members are released by 'delete' which is not so compatible with 'malloc', there I think we should use 'free' instead~~~

The second problem is 'temp', it is inited by malloc too, but then it is assigned:

temp = (short_) malloc(myDataSize * sizeof(char));
temp=(short_)myData;

This will cause memory leak and also will trigger a invalid memory access in maxiSample's destractor method since there the program release the same memory twice:

if (myData) delete[] myData;
if (temp) delete[] temp;

So I think maybe we should use 'memcpy' instead of direct assignment when init temp :)

better instructions about how to include the Accellerate framework on mac os

Regarding the openFrameworks installing instruction, I think they can be improved as follow:

  1. How to link the accellerate framework:
    go to your project settings on the target, then to click on Build Phases tab.
    Uncollapse the part Link with binaries and click on โ€œ+โ€
    Youโ€™ll have to find the Accelerate.framework in the list and it will work fine.
    via http://julienbayle.net/blog/2012/03/maximilian-audio-library-openframeworks-ios/
  2. Explain how to to try out the examples

If you want I can make a PR for the Readme file.

And, many thanks for your work on Maximilian ;)

is MaxiSample::getLength() correct?

I've noticed the sample.length is getting set differently in maxiSample.read() than it is when calling sample.getLength().

Also it seems to be a fairly ambiguous method name since getLength() doesn't return any values but it does actually mutate the maxi sample which is pretty surprising.

compilation in ubuntu

i'm trying to compile a small app i got running is OSX and tried to port it to Ubuntu (CodeBlocks 10.05)

i got this errors :

../../../addons/ofxMaxim/libs/maxiMFCC.h|62|error: there are no arguments to โ€˜mallocโ€™ that depend on a template parameter, so a declaration of โ€˜mallocโ€™ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h|67|error: there are no arguments to โ€˜mallocโ€™ that depend on a template parameter, so a declaration of โ€˜mallocโ€™ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h||In member function โ€˜void maxiMFCCAnalyser::calcMelFilterBank(double, int)โ€™:|
../../../addons/ofxMaxim/libs/maxiMFCC.h|128|error: there are no arguments to โ€˜mallocโ€™ that depend on a template parameter, so a declaration of โ€˜mallocโ€™ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h|139|error: there are no arguments to โ€˜mallocโ€™ that depend on a template parameter, so a declaration of โ€˜mallocโ€™ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โ€˜void maxiMFCCAnalyser::dct(T_) [with T = double]โ€™:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|16|error: โ€˜vDSP_mmulDโ€™ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|18|error: โ€˜vDSP_vsdivDโ€™ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โ€˜void maxiMFCCAnalyser::dct(T_) [with T = float]โ€™:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|23|error: โ€˜vDSP_mmulโ€™ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|25|error: โ€˜vDSP_vsdivโ€™ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โ€˜void maxiMFCCAnalyser::melFilterAndLogSq_Part2()โ€™:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|58|error: โ€˜powerSpectrumโ€™ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โ€˜void maxiMFCCAnalyser::melFilterAndLogSq_Part2() [with T = double]โ€™:|

i've already added the #include as memset and memalloc where not found ...

hope it's usefull ...

e*

Simple granular synthesis

Hi!

First, thanks and congratulations with Maximilian, it works great and is well optimized.

I use it on OpenFrameworks for iOS. I don't manage to do a simple stuff: a very basic granular synthesis. I would like to play a orchestral wav file with position (in the wav file) as a parameter. I explain, i would like to have 16 grain players, and every xx milliseconds (xx = random numbers) one of these players plays a very short part of the file (at the right play head position), with no loop. Because there are 16 players and they play very quickly small grains, it gives you the impression that the play head stays immobile. I made a Max/MSP patch and it works well, but i cannot make it in OpenFrameworks / Maximilian.

Hope my explanation is obvious. Thanks for your help!

Cheers,
Olivier

Convert & maxiTools

These feel like they should be static functions not methods

Also we have .mtof now letโ€™s have

.ftom .atodb .dbtoa

Multiple C4244 Warnings

Hello I am new to C++ and would like some help on getting started with Maximilian....
I am on Windows XP running Visual Studio 2010 Premium

Any help in sorting these errors would be great

1>------ Build started: Project: maximilianTestWindowsVS2010, Configuration: Debug Win32 ------
1>Build started 13/06/2012 16:08:38.
1>InitializeBuildStatus:
1> Touching "Debug\maximilianTestWindowsVS2010.unsuccessfulbuild".
1>ClCompile:
1> maximilian.cpp
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.h(262): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371) : see declaration of 'sprintf'
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(408): warning C4800: 'void *' : forcing value to bool 'true' or 'false' (performance warning)
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(456): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(534): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(542): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(553): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(560): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(591): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(613): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(732): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(740): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(751): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(758): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(770): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(781): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(803): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(902): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(398): error C4716: 'maxiSample::loadOgg' : must return a value
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.93
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Raspberry Pi 3?

Sorry this is not really an issue. Just very curious if ofx Maximilian is compatible with ofx rPi3? Any foreseeable challenges/issues? Thanks!!!

here are no arguments to 'malloc' ofxMaxim

codeblocks was giving arror :
of\addons\ofxMaxim\libs\maxiMFCC.h|62|error: there are no arguments to
'malloc' that depend on a template parameter, so a declaration of
'malloc' must be available [-fpermissive]|

image

so i made a little reserch and i found solushen to add:

include

image

Phase Vocoder Example?

Hey Mick going back a few years to you mentioned in the oF forum and in you paper on Maximilian released in 2010 in the future work section that you were aiming to make a phase vocoder example with Maxi. Just wondering if you had made a start on this yet or if you had even an alpha version I would be able to take a look at. Really looking to extend my audiovisual granular app to include phase vocoding so I can mess with integrating it with visual slit scanning. Would love to be able to do this with Maxi if possible.

Any news? Cheers.

Magic number error or.....?

Hey Mick, I noticed this +6 in the break condition of the for loop. I removed this +6 a while back and it fixed a few issues I was having at the time and notice that it is still in the recent version of Maxi. Just wanted to know what the '6' represents?

Thanks.

Memory stomp in maxiFFT::setup

Hello, I've run into an issue where if you call maxiIFFT::setup with a _fftSize less than _windowSize, the call to fft::genWindow will cause a memory stomp.

This is the section in question, that I believe is wrong, because it's using fftSize instead of windowSize.

window = (float*) malloc(fftSize * sizeof(float));
memset(window, 0, fftSize * sizeof(float));

Maybe I don't have a clear understanding of how this code is supposed to work, but this seemed wrong to me. Or at a minimum I think that maxiFFT::setup should validate the sizes and catch the case where the memory would be stomp.

Setting the phase of maxiOsc

Is there a way to set the phase of maxiOsc? I tried void phaseReset(), but thats working for me.

Thanks,
Reza

Maxim

Hi Mick,

it would be nice to have a Stop method for interrupting the grains' playback.

[0x19f6bf000] AVAudioSession.mm:692:
-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.

This error comes up when the stream is closed while playback is happening, when exiting the app.

ofSoundStreamStop();
ofSoundStreamClose();

Cheers,
F0

Square and Triangle waves (need band limiting)

The current square and triangle waves really need some work. The current functions are just a basic square/triangle wave and do not take aliasing into account. I am currently trying to figure out how to limit the number of harmonics but I am still very new to audio programming in general, so I am not sure if I will be able to solve this issue myself.

envelope type in ofxMaxim

I find a bit confusing the 3 different types that are available for the envelope in ofxMaxim. Naming maxiEnv, ofxMaxiEnvelope and maxiEnvelope. Is there a reason to not unify all of them in one type?
I've used maxiEnv because the other 2 don't have the methods for the filters, likelowres.
If you want, I could open a PR.
Thanks again for your library and your addon, I find it really useful!

Errors when trying to compile Maximilian on Mac OSX 10.11.6...Are there any dependencies missing?

Shyamals-iMac-174:Maximilian shyamalchandra$ g++ -Wall -D__MACOSX_CORE__ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -framework CoreAudio -lpthread
In file included from main.cpp:1:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
    maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
                 ^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
        long holdtime=1;
                     ^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD =0 ;
                   ^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0 ;
                   ^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = true;
                   ^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0;
                  ^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int originalPitch=67;
                     ^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int currentVoice=0;
                    ^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool sustain = true;
                 ^
36 warnings generated.
RtAudio.cpp:1083:74: warning: '&' within '|' [-Wbitwise-op-parentheses]
    formatFlags = description.mFormatFlags | kLinearPCMFormatFlagIsFloat & ~kLinearPCMFormatFlagIsSignedInteger;
                                           ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RtAudio.cpp:1083:74: note: place parentheses around the '&' expression to silence this warning
    formatFlags = description.mFormatFlags | kLinearPCMFormatFlagIsFloat & ~kLinearPCMFormatFlagIsSignedInteger;
                                                                         ^
                                             (                                                                 )
1 warning generated.
In file included from player.cpp:11:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
    maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
                 ^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
        long holdtime=1;
                     ^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD =0 ;
                   ^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0 ;
                   ^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = true;
                   ^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0;
                  ^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int originalPitch=67;
                     ^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int currentVoice=0;
                    ^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool sustain = true;
                 ^
36 warnings generated.
In file included from maximilian.cpp:34:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
    maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
                 ^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
        long holdtime=1;
                     ^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD =0 ;
                   ^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0 ;
                  ^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0 ;
                   ^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = true;
                   ^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double output = 0;
                  ^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int originalPitch=67;
                     ^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double outputD = 0;
                   ^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useDistortion = false;
                       ^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useLimiter = false;
                    ^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool useFilter = false;
                   ^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double distortion = 0;
                      ^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool inverse = false;
                 ^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    double gain = 1;
                ^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    int currentVoice=0;
                    ^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
    bool sustain = true;
                 ^
./maximilian.h:70:9: warning: private field 'frequency' is not used [-Wunused-private-field]
        double frequency;
               ^
./maximilian.h:72:9: warning: private field 'startphase' is not used [-Wunused-private-field]
        double startphase;
               ^
./maximilian.h:73:9: warning: private field 'endphase' is not used [-Wunused-private-field]
        double endphase;
               ^
./maximilian.h:75:9: warning: private field 'tri' is not used [-Wunused-private-field]
        double tri;
               ^
./maximilian.h:117:9: warning: private field 'frequency' is not used [-Wunused-private-field]
        double frequency;
               ^
./maximilian.h:119:9: warning: private field 'startphase' is not used [-Wunused-private-field]
        double startphase;
               ^
./maximilian.h:120:9: warning: private field 'endphase' is not used [-Wunused-private-field]
        double endphase;
               ^
./maximilian.h:134:9: warning: private field 'gain' is not used [-Wunused-private-field]
        double gain;
               ^
./maximilian.h:135:9: warning: private field 'input' is not used [-Wunused-private-field]
        double input;
               ^
./maximilian.h:139:9: warning: private field 'cutoff1' is not used [-Wunused-private-field]
        double cutoff1;
               ^
./maximilian.h:158:9: warning: private field 'input' is not used [-Wunused-private-field]
        double input;
               ^
./maximilian.h:159:9: warning: private field 'two' is not used [-Wunused-private-field]
        double two[2];
               ^
./maximilian.h:160:9: warning: private field 'four' is not used [-Wunused-private-field]
        double four[4];
               ^
./maximilian.h:161:9: warning: private field 'eight' is not used [-Wunused-private-field]
        double eight[8];
               ^
50 warnings generated.
Undefined symbols for architecture x86_64:
  "_CFRelease", referenced from:
      RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
  "_CFStringGetCString", referenced from:
      RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
  "_CFStringGetLength", referenced from:
      RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
  "_CFStringGetSystemEncoding", referenced from:
      RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Shyamals-iMac-174:Maximilian shyamalchandra$ 

This is the output. What should I do to solve this problem?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.