You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
(43) |
May
(14) |
Jun
(17) |
Jul
(19) |
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
(19) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(13) |
Feb
(15) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mc...@us...> - 2011-03-25 18:58:28
|
Revision: 288 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=288&view=rev Author: mchinen Date: 2011-03-25 18:58:21 +0000 (Fri, 25 Mar 2011) Log Message: ----------- add print options and make sonifyself behave Modified Paths: -------------- FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib FuckingFucker/FuckingAudioIO.cpp FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj FuckingFucker/FuckingFuckerMan.cpp FuckingFucker/FuckingFuckerMan.h FuckingFucker/FuckingFuckerView.h FuckingFucker/FuckingFuckerView.mm Modified: FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: FuckingFucker/FuckingAudioIO.cpp =================================================================== --- FuckingFucker/FuckingAudioIO.cpp 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingAudioIO.cpp 2011-03-25 18:58:21 UTC (rev 288) @@ -114,7 +114,7 @@ //self sonification standard fuckingsound style. int noisefactor; noisefactor = 1; - if(mode==3||FuckingAudioIO::Instance()->IsSonifyOwnGUI()) + if(mode==3 && FuckingAudioIO::Instance()->IsSonifyOwnGUI()) { float * noisearray = new float[framesPerBuffer*(1+noisefactor)]; temp=(float*)outputBuffer; Modified: FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj =================================================================== --- FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-03-25 18:58:21 UTC (rev 288) @@ -134,7 +134,7 @@ 18F4FB7710E1743700ED93B8 /* FuckingFuckerView.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = FuckingFuckerView.mm; sourceTree = "<group>"; }; 18F4FB7810E1743700ED93B8 /* FuckingFuckerView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FuckingFuckerView.h; sourceTree = "<group>"; }; 18F4FBCD10E3A9F700ED93B8 /* FuckingFuckerMan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FuckingFuckerMan.h; sourceTree = "<group>"; }; - 18F4FBCE10E3A9F700ED93B8 /* FuckingFuckerMan.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = FuckingFuckerMan.cpp; sourceTree = "<group>"; }; + 18F4FBCE10E3A9F700ED93B8 /* FuckingFuckerMan.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 3; path = FuckingFuckerMan.cpp; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; 18FCEC541125B43A000FF84C /* GetPID.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = GetPID.c; sourceTree = "<group>"; }; 18FCEC551125B43A000FF84C /* GetPID.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GetPID.h; sourceTree = "<group>"; }; 18FCECAB11278F8E000FF84C /* i386-dis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "i386-dis.c"; sourceTree = "<group>"; }; @@ -231,7 +231,6 @@ 18CE41E6114B2C6500282C50 /* boincbacktrace */ = { isa = PBXGroup; children = ( - 18CE41E7114B2C7F00282C50 /* dyld_gdb.h */, 18CE41E8114B2C7F00282C50 /* mac_backtrace.cpp */, 18CE41E9114B2C7F00282C50 /* mac_backtrace.h */, 18CE41EA114B2C7F00282C50 /* QBacktrace.c */, @@ -284,6 +283,7 @@ 18B445A2117391D60035337F /* StringTexture.m */, 18D4C86C1153F9D90087A465 /* lo */, 18D4C70A1153ED4F0087A465 /* liblo.a */, + 18CE41E7114B2C7F00282C50 /* dyld_gdb.h */, 18CE41E6114B2C6500282C50 /* boincbacktrace */, 18FCECB811278FBB000FF84C /* i386.h */, 18FCECAB11278F8E000FF84C /* i386-dis.c */, @@ -405,6 +405,7 @@ isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "FuckingFucker" */; compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, Modified: FuckingFucker/FuckingFuckerMan.cpp =================================================================== --- FuckingFucker/FuckingFuckerMan.cpp 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingFuckerMan.cpp 2011-03-25 18:58:21 UTC (rev 288) @@ -318,6 +318,10 @@ m_opAnalysis.lastReadAddr = 0xFFFFFFFF; m_opAnalysis.membuf1_size = m_opAnalysis.membuf2_size = m_opAnalysis.membuf2_used = m_opAnalysis.membuf1_used = 0; + m_opAnalysis.print_opcodes = 1; + m_opAnalysis.print_stack = 1; + m_opAnalysis.print_memory = 1; + m_audioBuffer=new float[kFFManAudioBufferSize]; FuckingAudioIO::Instance()->Init(); @@ -766,10 +770,17 @@ //find any pointer on heap. for now guess that ebp has something don't take values below kFFScan start and above0xc0000000 if(threadState.FUCKINGEDX > kFFScanStart && threadState.FUCKINGEDX < 0xc0000000) { - printf("taking edx %x\n",threadState.FUCKINGEDX); +// if (analysis->print_memory) { +// FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: +// @">Loading memory at %x\n", +// threadState.FUCKINGEDX]); +// } scanAdd = threadState.FUCKINGEDX; } else{ - printf("continuing last addr %x\n",analysis->lastReadAddr); +// if (analysis->print_memory) { +// FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: +// @">Memory read continuing at addr %x\n",analysis->lastReadAddr]); +// } scanAdd = analysis->lastReadAddr; } @@ -786,7 +797,10 @@ while(kr!=0 && tries++ < 10) { kr = vm_read_overwrite(port, (vm_address_t) scanAdd, (vm_size_t) kMemoryBufferSize * sizeof(*analysis->membuf1), (vm_address_t) analysis->membuf1, &bytesRead); if(kr!=0) { - printf("scan fail %i, at %x", tries, scanAdd); +// if (analysis->print_memory) { +// FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: +// @"Memory read fail %i, at %x\n", tries, scanAdd]); +// } scanAdd += randint(scanJumpAmount); scanJumpAmount *= 2; } @@ -813,73 +827,82 @@ } if(kr==0){ + if (analysis->print_memory) { + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">Memory read success at addr %x\n",analysis->lastReadAddr]); + } + analysis->membuf2_size = bytesRead; analysis->membuf2_used = 0; - analysis->lastReadAddr = scanAdd + bytesRead; + analysis->lastReadAddr = scanAdd + bytesRead; } } } - FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: - @">%2ipc: 0x%X opcode:%qX byte:%.2X inst:(%s)\n", - attach.currThread, threadState.FUCKINGEIP, - opcode,(int)info->opcodebyte, info->desc]); - + + if (analysis->print_opcodes) { + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">%2ipc: 0x%X opcode:%qX byte:%.2X inst:(%s)\n", + attach.currThread, threadState.FUCKINGEIP, + opcode,(int)info->opcodebyte, info->desc]); + } //start backtrace - doesnt work for intel mac core2duo - QBTFrame * frames; - size_t frameToAllocate; - size_t frameCount = 0; - frameToAllocate = 100; - - frames = (QBTFrame *) calloc(frameToAllocate, sizeof(QBTFrame)); - - int btres = QBacktraceMachThreadState( - port, - /*flavor = */x86_THREAD_STATE32, //x86_THREAD_STATE32; - &threadState, - sizeof(i386_thread_state_t), - CPU_TYPE_X86,// QMOGetLocalCPUType(), - NULL,// &testSymbols,//symRef, - 0, - 0, - frames, - frameToAllocate, - &frameCount - ); - char* space; - space = (char*) malloc(frameToAllocate+1); - //fill it with holes - memset(space, ' ', frameToAllocate); - //terminate it - space[frameToAllocate]=0; - - // we modify our noisetree/ stack here. we don't know how long the functions will last. - // nosiestack elements modify the playback of the edx memory with basic modulation. - // for now we break the callstack up into (callstack / kNoiseStackFramesPerItem) elements - // we compare with the previous one to see if any elements changed, and pop the old and add the new. - // For this to work we need the complete callstack from the root, but sometimes the call stack - // is more than 100 elements, which can be tricky. - if(btres==0) - { - for(int i = 0;i < mymin(50,mymin(frameCount,frameToAllocate));i++) + if (analysis->print_stack) { + + QBTFrame * frames; + size_t frameToAllocate; + size_t frameCount = 0; + frameToAllocate = 100; + + frames = (QBTFrame *) calloc(frameToAllocate, sizeof(QBTFrame)); + + int btres = QBacktraceMachThreadState( + port, + /*flavor = */x86_THREAD_STATE32, //x86_THREAD_STATE32; + &threadState, + sizeof(i386_thread_state_t), + CPU_TYPE_X86,// QMOGetLocalCPUType(), + NULL,// &testSymbols,//symRef, + 0, + 0, + frames, + frameToAllocate, + &frameCount + ); + char* space; + space = (char*) malloc(frameToAllocate+1); + //fill it with holes + memset(space, ' ', frameToAllocate); + //terminate it + space[frameToAllocate]=0; + + // we modify our noisetree/ stack here. we don't know how long the functions will last. + // nosiestack elements modify the playback of the edx memory with basic modulation. + // for now we break the callstack up into (callstack / kNoiseStackFramesPerItem) elements + // we compare with the previous one to see if any elements changed, and pop the old and add the new. + // For this to work we need the complete callstack from the root, but sometimes the call stack + // is more than 100 elements, which can be tricky. + if(btres==0) { - //adds indentation by using pointer arithmathic and the spaces string - FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: - @">%2i%s %s %s pc:%qX fp:%qX offset:+%i\n", - attach.currThread, - space + frameToAllocate - i, - frames[i].symbol ? frames[i].symbol : "(no symbol)", - space + frameToAllocate - (frameToAllocate - i), - frames[i].pc, - frames[i].fp, - (int)frames[i].offset]); - - } - }else - free(space); - - QBacktraceDisposeSymbols(frames,frameToAllocate); - free(frames); - + for(int i = 0;i < mymin(50,mymin(frameCount,frameToAllocate));i++) + { + //adds indentation by using pointer arithmathic and the spaces string + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">%2i%s %s %s pc:%qX fp:%qX offset:+%i\n", + attach.currThread, + space + frameToAllocate - i, + frames[i].symbol ? frames[i].symbol : "(no symbol)", + space + frameToAllocate - (frameToAllocate - i), + frames[i].pc, + frames[i].fp, + (int)frames[i].offset]); + + } + }else + free(space); + + QBacktraceDisposeSymbols(frames,frameToAllocate); + free(frames); + } //end backtrace } @@ -903,22 +926,6 @@ analysis->bufstart = randint(kFFManAudioBufferSize - analysis->buflen); analysis->mode = info->opcodebyte%4;//4 modes - //for(int j=0;j<info.numoperands;j++) - // { - // struct powerpc_operand *operand; - // long value; //holds the register number or the absolute value if one is specified - // operand = &info.operands[j]; - // value = operand_value_powerpc (operand, instruction, 1); - // if ((operand->flags & PPC_OPERAND_GPR) != 0 - // || ((operand->flags & PPC_OPERAND_GPR_0) != 0 && value != 0)) - // { - // //convert the unsigned int at the register to a float from -1.0 to 1.0 - // FuckingFuckerMan::Instance()->SetBufferValue( FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->bufstart/*+randint(FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->buflen)*/, - // /* (float)((*(&ppc_state.r0)+value)-INT_MAX)/INT_MAX * */coinflip()?1.0:-1.0 ); - // FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->lastreg= *((&ppc_state.r0)+value); - // } - // } - // if(FuckingFuckerMan::Instance()->IsOSCOn()) [[OscMan sharedMan] sendDiracWithPan:analysis->cursor]; @@ -1217,6 +1224,11 @@ kr = vm_read_overwrite(port, (vm_address_t) analysis->lastReadAddr, (vm_size_t) kMemoryBufferSize * sizeof(*analysis->membuf1), (vm_address_t) analysis->membuf1, &bytesRead); if(kr==0){ + if (analysis->print_memory) { + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">Memory read success at addr %x\n",analysis->lastReadAddr]); + } + analysis->membuf1_size = bytesRead/sizeof(*analysis->membuf1); analysis->membuf1_used = 0; analysis->lastReadAddr = analysis->lastReadAddr + bytesRead; @@ -1225,6 +1237,10 @@ kr = vm_read_overwrite(port, (vm_address_t) analysis->lastReadAddr, (vm_size_t) kMemoryBufferSize, (vm_address_t) analysis->membuf2, &bytesRead); if(kr==0){ + if (analysis->print_memory) { + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">Memory read success at addr %x\n",analysis->lastReadAddr]); + } analysis->membuf2_size = bytesRead/sizeof(*analysis->membuf2); analysis->membuf2_used = 0; analysis->lastReadAddr = analysis->lastReadAddr + bytesRead; Modified: FuckingFucker/FuckingFuckerMan.h =================================================================== --- FuckingFucker/FuckingFuckerMan.h 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingFuckerMan.h 2011-03-25 18:58:21 UTC (rev 288) @@ -49,6 +49,9 @@ uint8_t membuf2[kMemoryBufferSize]; int curr_buf; + volatile int print_opcodes; + volatile int print_stack; + volatile int print_memory; volatile int thread_num; } opcode_analysis; Modified: FuckingFucker/FuckingFuckerView.h =================================================================== --- FuckingFucker/FuckingFuckerView.h 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingFuckerView.h 2011-03-25 18:58:21 UTC (rev 288) @@ -35,6 +35,9 @@ - (IBAction)changeKeepReading:(id)sender; - (IBAction)changeLoadAddr:(id)sender; - (IBAction)changeThreadMask:(id)sender; +- (IBAction)changePrintOpcodes:(id)sender; +- (IBAction)changePrintStack:(id)sender; +- (IBAction)changePrintMemory:(id)sender; - (IBAction)detachAll:(id)sender; - (IBAction)toggleSonifyOwnProcess:(id)sender; Modified: FuckingFucker/FuckingFuckerView.mm =================================================================== --- FuckingFucker/FuckingFuckerView.mm 2011-03-25 15:16:31 UTC (rev 287) +++ FuckingFucker/FuckingFuckerView.mm 2011-03-25 18:58:21 UTC (rev 288) @@ -318,6 +318,20 @@ [readAddrTextField setSelectable:YES]; } +- (IBAction)changePrintOpcodes:(id)sender +{ + FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->print_opcodes = [sender state] == NSOnState; +} +- (IBAction)changePrintStack:(id)sender +{ + FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->print_stack = [sender state] == NSOnState; +} +- (IBAction)changePrintMemory:(id)sender +{ + FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->print_memory = [sender state] == NSOnState; +} + + - (IBAction)attachToProcess:(id)sender { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-03-25 15:16:37
|
Revision: 287 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=287&view=rev Author: mchinen Date: 2011-03-25 15:16:31 +0000 (Fri, 25 Mar 2011) Log Message: ----------- fix exponential tone scaling for small ranges Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-02-25 19:00:57 UTC (rev 286) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-03-25 15:16:31 UTC (rev 287) @@ -762,6 +762,7 @@ isa = PBXProject; buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "AlgorhythmicSorting" */; compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( English, Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-02-25 19:00:57 UTC (rev 286) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-03-25 15:16:31 UTC (rev 287) @@ -212,8 +212,8 @@ float freq = 0.0f; if(index < dataa->doubleArraySize) { - freq = 100*(100+dataa->doubleArray[index]); //hack - values range from -100 to 100 - freq = freqRange*exp2cursor(freq/20000.0)+freqMin; + freq = (dataa->doubleArray[index] + 100) / 200.0; //hack - values range from -100 to 100 + freq = freqRange*exp2cursor(freq, (logf(freqRange+freqMin)/logf(2) - logf(freqMin)/logf(2)))+freqMin; pan = ((float)index)/dataa->doubleArraySize; } @@ -272,8 +272,8 @@ break; else if (dataa->lastNoteIndex < dataa->doubleArraySize) { - freq = 100*(100+dataa->doubleArray[index]); //hack - values range from -100 to 100 - freq = freqRange*exp2cursor(freq/20000.0)+freqMin; + freq = (dataa->doubleArray[index] + 100) / 200.0; //hack - values range from -100 to 100 + freq = freqRange*exp2cursor(freq, (logf(freqRange+freqMin)/logf(2) - logf(freqMin)/logf(2)))+freqMin; pan = ((float)index)/dataa->doubleArraySize; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-25 19:01:03
|
Revision: 286 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=286&view=rev Author: mchinen Date: 2011-02-25 19:00:57 +0000 (Fri, 25 Feb 2011) Log Message: ----------- fix interleaved bug Modified Paths: -------------- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp =================================================================== --- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp 2011-02-25 17:53:23 UTC (rev 285) +++ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp 2011-02-25 19:00:57 UTC (rev 286) @@ -89,10 +89,12 @@ bool click = false; float* sieveBuf = pop_buffer(); + for (int i = 0; i < framesPerBuffer; i ++) { for( int z = 0; z < NUM_CHANNELS; z++ ) { - memcpy((((float*)outputBuffer)+framesPerBuffer*z), sieveBuf, framesPerBuffer*sizeof(float)); + ((float*)outputBuffer)[i*NUM_CHANNELS + z] = sieveBuf[i]; +// memcpy((((float*)outputBuffer)+framesPerBuffer*z), sieveBuf, framesPerBuffer*sizeof(float)); } - + } // Clip output to [-1.0,+1.0] range for(unsigned int i = 0; i < framesPerBuffer*NUM_CHANNELS; i++) Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 17:53:23 UTC (rev 285) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 19:00:57 UTC (rev 286) @@ -137,12 +137,11 @@ { float* res = output_buffers[output_buffer_cursor]; - output_buffer_cursor = (output_buffer_cursor + 1) % kNumSieveOutputBuffers; - buffers_ready--; - while(!fill_buffers()) ; - + output_buffer_cursor = (output_buffer_cursor + 1) % kNumSieveOutputBuffers; + + buffers_ready--; return res; } @@ -152,7 +151,7 @@ int fpb = AlgorhythmicAudioIO::Instance()->GetFramesPerBuffer(); if (!output_buffers) { - output_buffers = new float*[100]; + output_buffers = new float*[kNumSieveOutputBuffers]; for (i = 0; i < kNumSieveOutputBuffers; i++) output_buffers[i] = new float[fpb]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-25 17:53:29
|
Revision: 285 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=285&view=rev Author: mchinen Date: 2011-02-25 17:53:23 +0000 (Fri, 25 Feb 2011) Log Message: ----------- more sin fixes Modified Paths: -------------- primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 15:16:42 UTC (rev 284) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 17:53:23 UTC (rev 285) @@ -93,7 +93,6 @@ int bufsize = AlgorhythmicAudioIO::Instance()->GetFramesPerBuffer(); int sampindex = 0; int copied = 0; - int oldleftsize = 0; if (pause_samps) { @@ -105,14 +104,13 @@ while (sampindex < bufsize) { if (curr_state.num_leftover_samples) { - copied = mymin(bufsize - sampindex, curr_state.num_leftover_samples); + copied = mymax(0, mymin(bufsize - sampindex, curr_state.num_leftover_samples)); memcpy((output_buffers[bufindex] + sampindex), curr_state.leftover_samples, copied * sizeof(float)); sampindex += copied; - oldleftsize = curr_state.num_leftover_samples; curr_state.num_leftover_samples -= copied; if (curr_state.num_leftover_samples) { - memmove(curr_state.leftover_samples, curr_state.leftover_samples + copied, oldleftsize - curr_state.num_leftover_samples); + memmove(curr_state.leftover_samples, curr_state.leftover_samples + copied, sizeof(float) * curr_state.num_leftover_samples); } } @@ -141,7 +139,9 @@ output_buffer_cursor = (output_buffer_cursor + 1) % kNumSieveOutputBuffers; buffers_ready--; - fill_buffers(); + + while(!fill_buffers()) + ; return res; } @@ -166,6 +166,8 @@ curr_state.q = 0; curr_state.p = 3; curr_state.lastPrime = 3; + curr_state.num_leftover_samples = 0; + curr_state.leftoverTime = 0; pause_samps = 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-25 15:16:48
|
Revision: 284 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=284&view=rev Author: mchinen Date: 2011-02-25 15:16:42 +0000 (Fri, 25 Feb 2011) Log Message: ----------- fix sin tone form Modified Paths: -------------- primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 13:40:26 UTC (rev 283) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 15:16:42 UTC (rev 284) @@ -12,7 +12,7 @@ unsigned long long rest; unsigned long long lastPrime; - float lastQ; + unsigned long long lastQ; float leftoverTime; float leftover_samples[kLeftoverSampleSize]; int num_leftover_samples; @@ -27,7 +27,7 @@ static volatile int buffers_ready; static int pause_samps; #define kFixedTimestep (180/1000000.0f) // (180/1000000.0f) // (10/1000000.0f) -#define kInitialSieveG 34359738369LLU //34359738369LLU // 33333333444433LLU +#define kInitialSieveG 34359738369ULL //34359738369LLU // 33333333444433LLU #define kPrimeFoundPauseSecs 1.0f // 2.0f @@ -45,7 +45,7 @@ #ifdef USESINTONE int sampsOut = 0; - if (curr_state.q & 1 != curr_state.lastQ & 1 || curr_state.leftoverTime / (1.0f / kSampleRate) + curr_state.num_leftover_samples > kLeftoverSampleSize / 2) { + if (((curr_state.q & 1) != (curr_state.lastQ & 1)) || curr_state.leftoverTime / (1.0f / kSampleRate) + curr_state.num_leftover_samples > kLeftoverSampleSize / 2) { // now sonify based on q bool isOdd = curr_state.q & 1; sampsOut = curr_state.leftoverTime / (1.0/kSampleRate); @@ -54,7 +54,7 @@ for (i = 0; i < sampsOut; i++) { res = curr_state.q & 1 ? 1.0f : -1.0f; // only look at the least significant bit - curr_state.leftover_samples[i + curr_state.num_leftover_samples] = cos(((float)i/sampsOut) * 3.141592653589793238 + (isOdd ? 3.141592653589793238 : 0)); + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = sin(((float)i/sampsOut) * 3.141592653589793238 + (isOdd ? 3.141592653589793238 : 0)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-25 13:40:32
|
Revision: 283 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=283&view=rev Author: mchinen Date: 2011-02-25 13:40:26 +0000 (Fri, 25 Feb 2011) Log Message: ----------- non working cos version Modified Paths: -------------- primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-24 20:13:48 UTC (rev 282) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-25 13:40:26 UTC (rev 283) @@ -26,8 +26,8 @@ static volatile int output_buffer_cursor; static volatile int buffers_ready; static int pause_samps; -#define kFixedTimestep (10/1000000.0f) // (180/1000000.0f) // (10/1000000.0f) -#define kInitialSieveG 33333333444433LLU //34359738369LLU // 33333333444433LLU +#define kFixedTimestep (180/1000000.0f) // (180/1000000.0f) // (10/1000000.0f) +#define kInitialSieveG 34359738369LLU //34359738369LLU // 33333333444433LLU #define kPrimeFoundPauseSecs 1.0f // 2.0f @@ -54,7 +54,7 @@ for (i = 0; i < sampsOut; i++) { res = curr_state.q & 1 ? 1.0f : -1.0f; // only look at the least significant bit - curr_state.leftover_samples[i + curr_state.num_leftover_samples] = sin(((float)i/sampsOut) * 3.141592 + (isOdd ? 3.141592 : 0)); + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = cos(((float)i/sampsOut) * 3.141592653589793238 + (isOdd ? 3.141592653589793238 : 0)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-24 20:13:55
|
Revision: 282 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=282&view=rev Author: mchinen Date: 2011-02-24 20:13:48 +0000 (Thu, 24 Feb 2011) Log Message: ----------- add sin tone version Modified Paths: -------------- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj =================================================================== --- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 22:09:30 UTC (rev 281) +++ primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-24 20:13:48 UTC (rev 282) @@ -353,7 +353,7 @@ 84BFF84911C4E64E000DB417 /* Products */ = { isa = PBXGroup; children = ( - 84BFF85011C4E64E000DB417 /* openFrameworksDebug.a */, + 84BFF85011C4E64E000DB417 /* openFrameworks.a */, ); name = Products; sourceTree = "<group>"; @@ -690,7 +690,7 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 84BFF85011C4E64E000DB417 /* openFrameworksDebug.a */ = { + 84BFF85011C4E64E000DB417 /* openFrameworks.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = openFrameworks.a; Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 22:09:30 UTC (rev 281) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-24 20:13:48 UTC (rev 282) @@ -4,16 +4,17 @@ #include "ofxSimpleGuiToo.h" #include "AlgorhythmicAudioIO.h" - +#define kLeftoverSampleSize 8192 typedef struct sieve_state { unsigned long long G; unsigned long long q; unsigned long long p; unsigned long long rest; unsigned long long lastPrime; - + + float lastQ; float leftoverTime; - float leftover_samples[1024]; + float leftover_samples[kLeftoverSampleSize]; int num_leftover_samples; } sieve_state; @@ -25,18 +26,40 @@ static volatile int output_buffer_cursor; static volatile int buffers_ready; static int pause_samps; -#define kFixedTimestep (180/1000000.0f) -#define kInitialSieveG 34359738369LLU -#define kPrimeFoundPauseSecs 2.0f +#define kFixedTimestep (10/1000000.0f) // (180/1000000.0f) // (10/1000000.0f) +#define kInitialSieveG 33333333444433LLU //34359738369LLU // 33333333444433LLU +#define kPrimeFoundPauseSecs 1.0f // 2.0f void sieve_step() { int i; + curr_state.lastQ = curr_state.q; curr_state.q = curr_state.G / curr_state.p; curr_state.rest = curr_state.G % curr_state.p; curr_state.leftoverTime += kFixedTimestep; + + // wait till odd or even state changes and then create a sin tone. +#define USESINTONE 1 + +#ifdef USESINTONE + int sampsOut = 0; + if (curr_state.q & 1 != curr_state.lastQ & 1 || curr_state.leftoverTime / (1.0f / kSampleRate) + curr_state.num_leftover_samples > kLeftoverSampleSize / 2) { + // now sonify based on q + bool isOdd = curr_state.q & 1; + sampsOut = curr_state.leftoverTime / (1.0/kSampleRate); + curr_state.leftoverTime -= sampsOut * (1.0f / kSampleRate); + float res; + + for (i = 0; i < sampsOut; i++) { + res = curr_state.q & 1 ? 1.0f : -1.0f; // only look at the least significant bit + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = sin(((float)i/sampsOut) * 3.141592 + (isOdd ? 3.141592 : 0)); + } + + } + +#else // now sonify based on q int sampsOut = curr_state.leftoverTime / (1.0/kSampleRate); curr_state.leftoverTime -= sampsOut * (1.0f / kSampleRate); @@ -44,8 +67,9 @@ for (i = 0; i < sampsOut; i++) { res = curr_state.q & 1 ? 1.0f : -1.0f; // only look at the least significant bit - curr_state.leftover_samples[i + curr_state.num_leftover_samples] = res; // + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = res; } +#endif curr_state.num_leftover_samples += sampsOut; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 22:09:36
|
Revision: 281 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=281&view=rev Author: mchinen Date: 2011-02-23 22:09:30 +0000 (Wed, 23 Feb 2011) Log Message: ----------- fix backtrace error for core 2 duo. backtrace still broken becase LINKEDIT size is for some reason 35 megs (falsely reporeted) Modified Paths: -------------- FuckingFucker/FuckingFuckerMan.cpp Modified: FuckingFucker/FuckingFuckerMan.cpp =================================================================== --- FuckingFucker/FuckingFuckerMan.cpp 2011-02-23 18:31:49 UTC (rev 280) +++ FuckingFucker/FuckingFuckerMan.cpp 2011-02-23 22:09:30 UTC (rev 281) @@ -390,10 +390,13 @@ is64Bit = IsTask64Bit(dyld); QMOImageDestroy(dyld); - if(is64Bit) + if(is64Bit) { + printf("initx86 64\n"); i386_64_init_attach_data(data); - else + } else { + printf("initi386\n"); i386_init_attach_data(data); + } } else { @@ -588,7 +591,7 @@ //QSymbols testSymbols; QBTFrame * frames; size_t frameToAllocate; - size_t frameCount; + size_t frameCount = 0; frameToAllocate = 10; //testSymbols.didSuspend = true; @@ -824,7 +827,7 @@ //start backtrace - doesnt work for intel mac core2duo QBTFrame * frames; size_t frameToAllocate; - size_t frameCount; + size_t frameCount = 0; frameToAllocate = 100; frames = (QBTFrame *) calloc(frameToAllocate, sizeof(QBTFrame)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 18:31:56
|
Revision: 280 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=280&view=rev Author: mchinen Date: 2011-02-23 18:31:49 +0000 (Wed, 23 Feb 2011) Log Message: ----------- add shintaros comments Modified Paths: -------------- FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj algorhythmicSorting/algoRhythmicSortingCommandline/bubble.cpp algorhythmicSorting/algoRhythmicSortingCommandline/msort.cpp algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj primesieve/ofprimesieve/src/testApp.cpp Modified: FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj =================================================================== --- FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-02-23 18:10:25 UTC (rev 279) +++ FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-02-23 18:31:49 UTC (rev 280) @@ -405,7 +405,6 @@ isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "FuckingFucker" */; compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -477,7 +476,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [[ -f /usr/bin/codesign ]]\nthen\n\t# -f means force to re-sign even if already signed\n\tcodesign -f -s \"Institute for Algorhythmics\" \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/\"\nfi\n"; + shellScript = ""; }; /* End PBXShellScriptBuildPhase section */ @@ -557,6 +556,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + CODE_SIGN_IDENTITY = "Don't Code Sign"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; Modified: algorhythmicSorting/algoRhythmicSortingCommandline/bubble.cpp =================================================================== --- algorhythmicSorting/algoRhythmicSortingCommandline/bubble.cpp 2011-02-23 18:10:25 UTC (rev 279) +++ algorhythmicSorting/algoRhythmicSortingCommandline/bubble.cpp 2011-02-23 18:31:49 UTC (rev 280) @@ -41,10 +41,12 @@ int i,j; for (i=0; i<n; i++) { // counts from 0 to n - printseperator(0); - for (j=n-1; i<j; j--){ // nested (verschachtelt) forloop | starts at the end of the array, as long i is smaller than j >> as long the end of the array is not reached + printseperator(0); // Seperator Noise + + for (j=n-1; i<j; j--){ // nested (verschachtelter) forloop | starts at the end of the array, as long i is smaller than j >> as long the end of the array is not reached //if(j!=n-1) // printseperator(1); + //inner loop happens more // nested loop gives a clue for O(f(n^2)) Modified: algorhythmicSorting/algoRhythmicSortingCommandline/msort.cpp =================================================================== --- algorhythmicSorting/algoRhythmicSortingCommandline/msort.cpp 2011-02-23 18:10:25 UTC (rev 279) +++ algorhythmicSorting/algoRhythmicSortingCommandline/msort.cpp 2011-02-23 18:31:49 UTC (rev 280) @@ -14,7 +14,7 @@ #include <math.h> #include "sorthelp.h" #ifdef SORTING_COCOAGUI - #include "SortingMan.h" + #include "SortingMan.h" #endif /***************************************************** @@ -55,33 +55,36 @@ // >>>>>>>>>>>>>>>> - if (lo>=hi) return; // no action if the array is already sorted + if (lo>=hi) return; // no action if there is only one value in the array int mid = (lo + hi) / 2; // for example 9 / 2 = 4.5 >> 4 - // Recursion breaks up the array in to smaller pieces before they are going to be sorted! +// >>>>>>>>>>>>>>>> Recursion breaks up the array in to smaller pieces before they are going to be sorted! // Partition the list into two lists and sort them recursively - sort(a, lo, mid, depth+1); // compare with void sort(double *a, int lo, int hi, bool toplevel) + sort(a, lo, mid, depth+1); // compare with void sort(double *a, int lo, int hi, int depth) sort(a, mid + 1, hi, depth+1); +// >>>>>>>>>>>>>>>> you can also first ingnore the recursion to understand how the algorithm works + // for assume the following array: [2,3] [5,4] [0,5] [4,6] >> 2 at index 3, 5 at index 4 ... // Merge the two sorted lists int start_hi = mid + 1; int end_lo = mid; - // [2,3] [5,4] [0,5] [4,6] >> 2 at index 3, 5 at index 4 ... - // code which is run on each piece of the whole array + // code which is run on each piece of the whole array + while ((lo <= end_lo) && (start_hi <= hi)) { printseperator(depth); + if (a[lo] < a[start_hi]) // if value of array a at index lo is smaller value at start-hi + // incase of [2,3] [5,4] [0,5] [4,6] it is false - { printdoublearray(original, originalsize, lo, (start_hi-lo)+1, lo, start_hi); // Sonification - //blue means a[lo] < a[start_hi]. lo = first value of a chunk + //BLUE means a[lo] < a[start_hi]. lo = first value of a chunk lo++; // lo gets incremented @@ -90,28 +93,21 @@ else { - // a[lo] >= a[start_hi] - - // The next element comes from the second list, - // move the a[start_hi] element into the next - // position and shuffle all the other elements up. - double T = a[start_hi]; // [2,3] [5,4] [0,5] [4,6] - // 0 (the value at index 5) goes to a storage called T - for (int k = start_hi-1; k >= lo; k--) { // count down from start-1 to lo + for (int k = start_hi-1; k >= lo; k--) { // count down from start_hi-1 to lo a[k+1] = a[k]; // [2,3] [5,4] [<0>,5] [4,6] >> [2,3] [5,4] [<5>,5] [4,6] // = is like arrow pointing to left - // makes a line of red values, because all values change + // makes a line of RED values, because all values change } a[lo] = T; - //print and play as an array segment instaid of a pair since the above for loop moves as a chunk (like memcpy) + //print and play as an array segment instead of a pair since the above for loop moves as a chunk (like memcpy) printdoublearray(original, originalsize, lo, (start_hi-lo)+1); // Sonification // Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-02-23 18:10:25 UTC (rev 279) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-02-23 18:31:49 UTC (rev 280) @@ -762,7 +762,6 @@ isa = PBXProject; buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "AlgorhythmicSorting" */; compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( English, Modified: primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj =================================================================== --- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 18:10:25 UTC (rev 279) +++ primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 18:31:49 UTC (rev 280) @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 3E889E62131584AD00398EE5 /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8416E04311DA9FBA003A3B23 /* openFrameworks.a */; }; 840F2C9511E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2C9311E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp */; }; 840F2CF211E788F300C5CD20 /* ofxSimpleGuiButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CCC11E788F200C5CD20 /* ofxSimpleGuiButton.cpp */; }; 840F2CF311E788F300C5CD20 /* ofxSimpleGuiColorPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CCE11E788F200C5CD20 /* ofxSimpleGuiColorPicker.cpp */; }; @@ -25,7 +26,6 @@ 840F2D0011E788F300C5CD20 /* ofxSimpleGuiPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CEC11E788F300C5CD20 /* ofxSimpleGuiPage.cpp */; }; 840F2D0111E788F300C5CD20 /* ofxSimpleGuiToo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CEF11E788F300C5CD20 /* ofxSimpleGuiToo.cpp */; }; 840F2DF911E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2DF811E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp */; }; - 8416E04411DA9FBA003A3B23 /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8416E04311DA9FBA003A3B23 /* openFrameworks.a */; }; 843BC56112D2B8240040A3BC /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843BC56012D2B8240040A3BC /* OpenGL.framework */; }; 847D386312ABC55E006E9CA2 /* ofxThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 847D386112ABC55E006E9CA2 /* ofxThread.cpp */; }; 8484F4F413154CAF002DF7F0 /* libportaudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484F4F313154CAE002DF7F0 /* libportaudio.a */; }; @@ -223,9 +223,9 @@ E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, 84BFF84611C4E60C000DB417 /* libfmodex.dylib in Frameworks */, 84BFF8AB11C4F069000DB417 /* AudioUnit.framework in Frameworks */, - 8416E04411DA9FBA003A3B23 /* openFrameworks.a in Frameworks */, 843BC56112D2B8240040A3BC /* OpenGL.framework in Frameworks */, 8484F4F413154CAF002DF7F0 /* libportaudio.a in Frameworks */, + 3E889E62131584AD00398EE5 /* openFrameworks.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -353,7 +353,7 @@ 84BFF84911C4E64E000DB417 /* Products */ = { isa = PBXGroup; children = ( - 84BFF85011C4E64E000DB417 /* openFrameworks.a */, + 84BFF85011C4E64E000DB417 /* openFrameworksDebug.a */, ); name = Products; sourceTree = "<group>"; @@ -666,7 +666,6 @@ isa = PBXProject; buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "primesieve" */; compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( English, @@ -691,7 +690,7 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 84BFF85011C4E64E000DB417 /* openFrameworks.a */ = { + 84BFF85011C4E64E000DB417 /* openFrameworksDebug.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = openFrameworks.a; @@ -834,9 +833,11 @@ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", "$(LIBRARY_SEARCH_PATHS_QUOTED_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_3)", ); LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../ofxPango/src/libs/mac/static\""; LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../algorhythmicSorting/ofAlgorhythmicSorting/src\""; + LIBRARY_SEARCH_PATHS_QUOTED_3 = "\"$(SRCROOT)/../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; @@ -889,15 +890,14 @@ "-lpthread", ); OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = ""; }; name = Debug; }; E4B69B4F0A3A1720003C02F2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + ARCHS = i386; CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; COPY_PHASE_STRIP = YES; DEAD_CODE_STRIPPING = YES; @@ -975,9 +975,11 @@ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", ); LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../algorhythmicSorting/ofAlgorhythmicSorting/src\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10 = "\"$(SRCROOT)/../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; @@ -1034,8 +1036,10 @@ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_2)", ); LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../ofxPango/src/libs/mac/static\""; + LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 18:10:25 UTC (rev 279) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 18:31:49 UTC (rev 280) @@ -26,9 +26,8 @@ static volatile int buffers_ready; static int pause_samps; #define kFixedTimestep (180/1000000.0f) - #define kInitialSieveG 34359738369LLU -#define kPrimeFoundPauseSecs 1.0f +#define kPrimeFoundPauseSecs 2.0f void sieve_step() @@ -44,17 +43,17 @@ float res; for (i = 0; i < sampsOut; i++) { - res = curr_state.q & 1 ? 1.0f : -1.0f; - curr_state.leftover_samples[i + curr_state.num_leftover_samples] = res; + res = curr_state.q & 1 ? 1.0f : -1.0f; // only look at the least significant bit + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = res; // } curr_state.num_leftover_samples += sampsOut; //update - if (curr_state.rest == 0 || curr_state.p > curr_state.q) { - if (curr_state.rest != 0 && curr_state.p > curr_state.q) { - pause_samps = kPrimeFoundPauseSecs * kSampleRate; + if (curr_state.rest == 0 || curr_state.p > curr_state.q) { // or + if (curr_state.rest != 0 && curr_state.p > curr_state.q) { //not curr_state.lastPrime = curr_state.G; + pause_samps = kPrimeFoundPauseSecs * kSampleRate; } curr_state.p = 3; curr_state.G += 2; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 18:10:31
|
Revision: 279 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=279&view=rev Author: mchinen Date: 2011-02-23 18:10:25 +0000 (Wed, 23 Feb 2011) Log Message: ----------- add pause and change speed Modified Paths: -------------- primesieve/ofprimesieve/src/testApp.cpp Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 17:35:26 UTC (rev 278) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 18:10:25 UTC (rev 279) @@ -24,11 +24,13 @@ static float ** output_buffers; static volatile int output_buffer_cursor; static volatile int buffers_ready; +static int pause_samps; +#define kFixedTimestep (180/1000000.0f) -#define kFixedTimestep (170/1000000.0f) - #define kInitialSieveG 34359738369LLU +#define kPrimeFoundPauseSecs 1.0f + void sieve_step() { int i; @@ -50,8 +52,10 @@ //update if (curr_state.rest == 0 || curr_state.p > curr_state.q) { - if (curr_state.rest != 0 && curr_state.p > curr_state.q) + if (curr_state.rest != 0 && curr_state.p > curr_state.q) { + pause_samps = kPrimeFoundPauseSecs * kSampleRate; curr_state.lastPrime = curr_state.G; + } curr_state.p = 3; curr_state.G += 2; @@ -68,6 +72,14 @@ int copied = 0; int oldleftsize = 0; + if (pause_samps) { + + copied = mymin(bufsize - sampindex, pause_samps); + memset((output_buffers[bufindex] + sampindex), 0, copied * sizeof(float)); + sampindex += copied; + pause_samps -= copied; + } + while (sampindex < bufsize) { if (curr_state.num_leftover_samples) { copied = mymin(bufsize - sampindex, curr_state.num_leftover_samples); @@ -131,6 +143,7 @@ curr_state.q = 0; curr_state.p = 3; curr_state.lastPrime = 3; + pause_samps = 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 17:35:33
|
Revision: 278 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=278&view=rev Author: mchinen Date: 2011-02-23 17:35:26 +0000 (Wed, 23 Feb 2011) Log Message: ----------- add working prototype Modified Paths: -------------- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h primesieve/ofprimesieve/src/testApp.cpp primesieve/ofprimesieve/src/testApp.h Modified: primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj =================================================================== --- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 14:18:41 UTC (rev 277) +++ primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 17:35:26 UTC (rev 278) @@ -178,7 +178,7 @@ E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; }; - E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlgorhythmicSorting.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlgorhythmicSortingDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; @@ -538,7 +538,7 @@ isa = PBXGroup; children = ( 84BFF66D11C4CD9C000DB417 /* addons */, - E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */, + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */, E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, E4B69E1C0A3A1BDC003C02F2 /* src */, E4C2422310CC54B6004149E2 /* openFrameworks */, @@ -656,7 +656,7 @@ ); name = AlgorhythmicSorting; productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */; + productReference = E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -779,6 +779,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; HEADER_SEARCH_PATHS = ( + "../../algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include", "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, @@ -875,6 +876,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; HEADER_SEARCH_PATHS = ( + "../../algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include", "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, @@ -915,6 +917,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; HEADER_SEARCH_PATHS = ( + "../../algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include", "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, Modified: primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp =================================================================== --- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp 2011-02-23 14:18:41 UTC (rev 277) +++ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp 2011-02-23 17:35:26 UTC (rev 278) @@ -14,13 +14,15 @@ #include <algorithm> #include <limits.h> +#include "testApp.h" + void SortingInitAudio(); void SortingStartAudio(); #define SAMPLE_RATE (44100) #define NUM_CHANNELS 2 - +#define kFramesPerBuffer 256 typedef struct { float left_phase; @@ -69,6 +71,7 @@ ** It may called at interrupt level on some machines so don't do anything ** that could mess up the system like calling malloc() or free(). */ + static int SortingPortAudioCallback( const void *inputBuffer, void *outputBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo* timeInfo, @@ -84,10 +87,11 @@ bool notesOn = AlgorhythmicAudioIO::Instance()->IsNotesOn(); bool sepOn = AlgorhythmicAudioIO::Instance()->IsSeperatorOn(); bool click = false; + float* sieveBuf = pop_buffer(); - for( int z = 0; z < NUM_CHANNELS; z++ ) - memset(((float*)outputBuffer)+framesPerBuffer*z, 0, framesPerBuffer*sizeof(float)); - + for( int z = 0; z < NUM_CHANNELS; z++ ) { + memcpy((((float*)outputBuffer)+framesPerBuffer*z), sieveBuf, framesPerBuffer*sizeof(float)); + } // Clip output to [-1.0,+1.0] range @@ -175,7 +179,7 @@ err = Pa_OpenStream( &m_stream, NULL, &playbackParameters, - SAMPLE_RATE, /*paFramesPerBufferUnspecified, */256, + SAMPLE_RATE, /*paFramesPerBufferUnspecified, */kFramesPerBuffer, paNoFlag, SortingPortAudioCallback, &data ); @@ -191,12 +195,18 @@ if(info && info->outputLatency > 0) m_actualLatency = info->outputLatency; else { - m_actualLatency = (256.0/44100.0)/1000.0; + m_actualLatency = (kFramesPerBuffer/44100.0)/1000.0; } return true; } + +int AlgorhythmicAudioIO::GetFramesPerBuffer() +{ + return kFramesPerBuffer; +} + bool AlgorhythmicAudioIO::Stop() { PaError err; Modified: primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h =================================================================== --- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h 2011-02-23 14:18:41 UTC (rev 277) +++ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h 2011-02-23 17:35:26 UTC (rev 278) @@ -59,6 +59,8 @@ int CurrentIndex() { return m_currentIndex; } void RemoveCurrentIndex() { m_currentIndex = -1; } void ComputeCurrentIndex(int localIndex); + + int GetFramesPerBuffer(); protected: //private constructor - Singleton. AlgorhythmicAudioIO(); Modified: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 14:18:41 UTC (rev 277) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 17:35:26 UTC (rev 278) @@ -4,6 +4,137 @@ #include "ofxSimpleGuiToo.h" #include "AlgorhythmicAudioIO.h" + +typedef struct sieve_state { + unsigned long long G; + unsigned long long q; + unsigned long long p; + unsigned long long rest; + unsigned long long lastPrime; + + float leftoverTime; + float leftover_samples[1024]; + int num_leftover_samples; +} sieve_state; + +sieve_state curr_state; + +#define kSampleRate (44100.0) +#define kNumSieveOutputBuffers 18 +static float ** output_buffers; +static volatile int output_buffer_cursor; +static volatile int buffers_ready; + +#define kFixedTimestep (170/1000000.0f) + +#define kInitialSieveG 34359738369LLU + +void sieve_step() +{ + int i; + curr_state.q = curr_state.G / curr_state.p; + curr_state.rest = curr_state.G % curr_state.p; + + curr_state.leftoverTime += kFixedTimestep; + // now sonify based on q + int sampsOut = curr_state.leftoverTime / (1.0/kSampleRate); + curr_state.leftoverTime -= sampsOut * (1.0f / kSampleRate); + float res; + + for (i = 0; i < sampsOut; i++) { + res = curr_state.q & 1 ? 1.0f : -1.0f; + curr_state.leftover_samples[i + curr_state.num_leftover_samples] = res; + } + + curr_state.num_leftover_samples += sampsOut; + + //update + if (curr_state.rest == 0 || curr_state.p > curr_state.q) { + if (curr_state.rest != 0 && curr_state.p > curr_state.q) + curr_state.lastPrime = curr_state.G; + curr_state.p = 3; + curr_state.G += 2; + + } else { + curr_state.p += 2; + } +} + +void fill_buffer() +{ + int bufindex = (output_buffer_cursor + buffers_ready + 1) % kNumSieveOutputBuffers; + int bufsize = AlgorhythmicAudioIO::Instance()->GetFramesPerBuffer(); + int sampindex = 0; + int copied = 0; + int oldleftsize = 0; + + while (sampindex < bufsize) { + if (curr_state.num_leftover_samples) { + copied = mymin(bufsize - sampindex, curr_state.num_leftover_samples); + memcpy((output_buffers[bufindex] + sampindex), curr_state.leftover_samples, copied * sizeof(float)); + sampindex += copied; + oldleftsize = curr_state.num_leftover_samples; + curr_state.num_leftover_samples -= copied; + + if (curr_state.num_leftover_samples) { + memmove(curr_state.leftover_samples, curr_state.leftover_samples + copied, oldleftsize - curr_state.num_leftover_samples); + } + } + + if (sampindex < bufsize) { + // do the computation + sieve_step(); + } + } + + buffers_ready++; +} + +//returns 1 when filled to capacity +int fill_buffers() +{ + if (buffers_ready < kNumSieveOutputBuffers * 0.8) { + fill_buffer(); + return 0; + } + return 1; +} + +float* pop_buffer() +{ + float* res = output_buffers[output_buffer_cursor]; + + output_buffer_cursor = (output_buffer_cursor + 1) % kNumSieveOutputBuffers; + buffers_ready--; + fill_buffers(); + + return res; +} + +void init_output_buffers() +{ + int i; + int fpb = AlgorhythmicAudioIO::Instance()->GetFramesPerBuffer(); + + if (!output_buffers) { + output_buffers = new float*[100]; + for (i = 0; i < kNumSieveOutputBuffers; i++) + output_buffers[i] = new float[fpb]; + } +} + + +void init_sieve() +{ + init_output_buffers(); + curr_state.G = kInitialSieveG; + curr_state.q = 0; + curr_state.p = 3; + curr_state.lastPrime = 3; +} + + + float speedSliderVal_old; int myInt1; bool startButton; @@ -53,11 +184,18 @@ gui.show(); drawGUI=true; + + AlgorhythmicAudioIO::Instance(); + init_sieve(); + while (!fill_buffers()) + ; + ofSetFrameRate(60); ofBackground(0,0,0); } + //-------------------------------------------------------------- void testApp::update(){ if (bToggleFullscreen) { @@ -67,6 +205,7 @@ } if(startButton) { + AlgorhythmicAudioIO::Instance()->Start(); startButton = false; } @@ -76,6 +215,13 @@ //-------------------------------------------------------------- void testApp::draw(){ + char numoutbuf[100]; + + sprintf(numoutbuf, "G %lld p %lld q %lld lastprime %lld", curr_state.G, curr_state.p, curr_state.q, curr_state.lastPrime); + arrayFont->drawString(numoutbuf, + 500, + 500); + if(drawGUI) gui.draw(); } Modified: primesieve/ofprimesieve/src/testApp.h =================================================================== --- primesieve/ofprimesieve/src/testApp.h 2011-02-23 14:18:41 UTC (rev 277) +++ primesieve/ofprimesieve/src/testApp.h 2011-02-23 17:35:26 UTC (rev 278) @@ -5,6 +5,9 @@ #include "ofMain.h" #include <vector> +float* pop_buffer(); + + class testApp : public ofBaseApp{ public: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 14:18:51
|
Revision: 277 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=277&view=rev Author: mchinen Date: 2011-02-23 14:18:41 +0000 (Wed, 23 Feb 2011) Log Message: ----------- lstn updates (forgot to checkin) Modified Paths: -------------- FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib FuckingFucker/FuckingAudioIO.cpp FuckingFucker/FuckingAudioIO.h FuckingFucker/FuckingFuckerView.h FuckingFucker/FuckingFuckerView.mm Modified: FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: FuckingFucker/FuckingAudioIO.cpp =================================================================== --- FuckingFucker/FuckingAudioIO.cpp 2011-02-23 14:17:28 UTC (rev 276) +++ FuckingFucker/FuckingAudioIO.cpp 2011-02-23 14:18:41 UTC (rev 277) @@ -50,6 +50,7 @@ int mode = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->mode; int lastreg = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->lastreg; SonificationFormat memoryFormat = FuckingAudioIO::Instance()->GetSonificationFormat(); + float volume = FuckingAudioIO::Instance()->GetVolume(); int itemp; temp = FuckingFuckerMan::Instance()->GetBuffer() + bufstart; @@ -202,9 +203,13 @@ ((float*)outputBuffer)[i] = f/std::numeric_limits<float>::max(); else if (f < -1.0) ((float*)outputBuffer)[i] = f/std::numeric_limits<float>::max(); + //scale by volume + ((float*)outputBuffer)[i] *= volume; } + + return 0; } @@ -270,6 +275,7 @@ m_soundOn=true; m_manCursor=0; m_isStarted=false; + m_volume = 0.8f; return m_inited; } bool FuckingAudioIO::Start() Modified: FuckingFucker/FuckingAudioIO.h =================================================================== --- FuckingFucker/FuckingAudioIO.h 2011-02-23 14:17:28 UTC (rev 276) +++ FuckingFucker/FuckingAudioIO.h 2011-02-23 14:18:41 UTC (rev 277) @@ -46,6 +46,9 @@ int GetManCursor(){return m_manCursor;} void SetManCursor(int x){m_manCursor=x;} + void SetVolumeControl(float v) {m_volume = v;} + float GetVolume(){return m_volume;} + SonificationFormat ToggleSonificationFormat(); SonificationFormat GetSonificationFormat() {return m_sonificationFormat;} protected: @@ -54,6 +57,8 @@ virtual ~FuckingAudioIO(); + float m_volume; + bool m_isStarted; PaStream* m_stream; bool m_inited; Modified: FuckingFucker/FuckingFuckerView.h =================================================================== --- FuckingFucker/FuckingFuckerView.h 2011-02-23 14:17:28 UTC (rev 276) +++ FuckingFucker/FuckingFuckerView.h 2011-02-23 14:18:41 UTC (rev 277) @@ -30,6 +30,7 @@ - (IBAction)toggleSound:(id)sender; - (IBAction)toggleOSC:(id)sender; - (IBAction)changeSpeedControll:(id)sender; +- (IBAction)changeVolumeControll:(id)sender; - (IBAction)changeReadAddr:(id)sender; - (IBAction)changeKeepReading:(id)sender; - (IBAction)changeLoadAddr:(id)sender; Modified: FuckingFucker/FuckingFuckerView.mm =================================================================== --- FuckingFucker/FuckingFuckerView.mm 2011-02-23 14:17:28 UTC (rev 276) +++ FuckingFucker/FuckingFuckerView.mm 2011-02-23 14:18:41 UTC (rev 277) @@ -282,6 +282,13 @@ FuckingFuckerMan::Instance()->SetSpeedControl([sender floatValue]); } +- (IBAction)changeVolumeControll:(id)sender +{ + FuckingAudioIO::Instance()->SetVolumeControl([sender floatValue]); +} + + + - (IBAction)toggleSonifyOwnProcess:(id)sender { FuckingAudioIO::Instance()->ToggleSonifyOwnGUI(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 14:17:36
|
Revision: 276 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=276&view=rev Author: mchinen Date: 2011-02-23 14:17:28 +0000 (Wed, 23 Feb 2011) Log Message: ----------- add mac project to primesieve Added Paths: ----------- primesieve/ofprimesieve/openFrameworks-Info.plist primesieve/ofprimesieve/primesieve.xcodeproj/ primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj Added: primesieve/ofprimesieve/openFrameworks-Info.plist =================================================================== --- primesieve/ofprimesieve/openFrameworks-Info.plist (rev 0) +++ primesieve/ofprimesieve/openFrameworks-Info.plist 2011-02-23 14:17:28 UTC (rev 276) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.openFrameworks</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> +</dict> +</plist> Added: primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj =================================================================== --- primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj (rev 0) +++ primesieve/ofprimesieve/primesieve.xcodeproj/project.pbxproj 2011-02-23 14:17:28 UTC (rev 276) @@ -0,0 +1,1080 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 840F2C9511E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2C9311E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp */; }; + 840F2CF211E788F300C5CD20 /* ofxSimpleGuiButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CCC11E788F200C5CD20 /* ofxSimpleGuiButton.cpp */; }; + 840F2CF311E788F300C5CD20 /* ofxSimpleGuiColorPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CCE11E788F200C5CD20 /* ofxSimpleGuiColorPicker.cpp */; }; + 840F2CF411E788F300C5CD20 /* ofxSimpleGuiComboBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CD011E788F200C5CD20 /* ofxSimpleGuiComboBox.cpp */; }; + 840F2CF511E788F300C5CD20 /* ofxSimpleGuiContent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CD211E788F200C5CD20 /* ofxSimpleGuiContent.cpp */; }; + 840F2CF611E788F300C5CD20 /* ofxSimpleGuiFPSCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CD411E788F200C5CD20 /* ofxSimpleGuiFPSCounter.cpp */; }; + 840F2CF711E788F300C5CD20 /* ofxSimpleGuiMovieSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CD611E788F200C5CD20 /* ofxSimpleGuiMovieSlider.cpp */; }; + 840F2CF811E788F300C5CD20 /* ofxSimpleGuiOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CD811E788F200C5CD20 /* ofxSimpleGuiOption.cpp */; }; + 840F2CF911E788F300C5CD20 /* ofxSimpleGuiOptionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CDA11E788F200C5CD20 /* ofxSimpleGuiOptionGroup.cpp */; }; + 840F2CFA11E788F300C5CD20 /* ofxSimpleGuiQuadWarp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CDC11E788F200C5CD20 /* ofxSimpleGuiQuadWarp.cpp */; }; + 840F2CFB11E788F300C5CD20 /* ofxSimpleGuiSlider2d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CDE11E788F200C5CD20 /* ofxSimpleGuiSlider2d.cpp */; }; + 840F2CFC11E788F300C5CD20 /* ofxSimpleGuiTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CE311E788F300C5CD20 /* ofxSimpleGuiTitle.cpp */; }; + 840F2CFD11E788F300C5CD20 /* ofxSimpleGuiToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CE511E788F300C5CD20 /* ofxSimpleGuiToggle.cpp */; }; + 840F2CFE11E788F300C5CD20 /* ofxSimpleGuiConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CE711E788F300C5CD20 /* ofxSimpleGuiConfig.cpp */; }; + 840F2CFF11E788F300C5CD20 /* ofxSimpleGuiControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CE911E788F300C5CD20 /* ofxSimpleGuiControl.cpp */; }; + 840F2D0011E788F300C5CD20 /* ofxSimpleGuiPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CEC11E788F300C5CD20 /* ofxSimpleGuiPage.cpp */; }; + 840F2D0111E788F300C5CD20 /* ofxSimpleGuiToo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2CEF11E788F300C5CD20 /* ofxSimpleGuiToo.cpp */; }; + 840F2DF911E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840F2DF811E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp */; }; + 8416E04411DA9FBA003A3B23 /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8416E04311DA9FBA003A3B23 /* openFrameworks.a */; }; + 843BC56112D2B8240040A3BC /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843BC56012D2B8240040A3BC /* OpenGL.framework */; }; + 847D386312ABC55E006E9CA2 /* ofxThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 847D386112ABC55E006E9CA2 /* ofxThread.cpp */; }; + 8484F4F413154CAF002DF7F0 /* libportaudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8484F4F313154CAE002DF7F0 /* libportaudio.a */; }; + 84BE5526119B20CA0092BDA7 /* handyfuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BE5524119B20CA0092BDA7 /* handyfuncs.cpp */; }; + 84BFF6B111C4CECD000DB417 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF6AA11C4CECD000DB417 /* tinyxml.cpp */; }; + 84BFF6B211C4CECD000DB417 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF6AC11C4CECD000DB417 /* tinyxmlerror.cpp */; }; + 84BFF6B311C4CECD000DB417 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF6AD11C4CECD000DB417 /* tinyxmlparser.cpp */; }; + 84BFF6B411C4CECD000DB417 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF6AF11C4CECD000DB417 /* ofxXmlSettings.cpp */; }; + 84BFF84611C4E60C000DB417 /* libfmodex.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 84BFF84511C4E60C000DB417 /* libfmodex.dylib */; }; + 84BFF89811C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */; }; + 84BFF8AB11C4F069000DB417 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84BFF8AA11C4F069000DB417 /* AudioUnit.framework */; }; + E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE0A90E8CC67C009D7055 /* GLee.a */; }; + E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE2E30E8CC69C009D7055 /* rtAudio.a */; }; + E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; + E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; + E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; + E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; + E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; + E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; + E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; + E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; + E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; + E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; + E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; + E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; + E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; + E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427A10CC5B66004149E2 /* CppUnit.a */; }; + E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427B10CC5B66004149E2 /* PocoFoundation.a */; }; + E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427C10CC5B66004149E2 /* PocoNet.a */; }; + E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427D10CC5B66004149E2 /* PocoUtil.a */; }; + E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427E10CC5B66004149E2 /* PocoXML.a */; }; + E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2429310CC5C38004149E2 /* freetype.a */; }; + E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */; }; + E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C246D910CCAE22004149E2 /* freeimage.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 84BFF84F11C4E64E000DB417 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84BFF84811C4E64E000DB417 /* openFrameworksLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = E4B27C1510CBEB8E00536013; + remoteInfo = openFrameworks; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + E4C2427710CC5ABF004149E2 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E4C2444710CC769B004149E2 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 7; + files = ( + E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 840F2C9311E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMSAInteractiveObject.cpp; sourceTree = "<group>"; }; + 840F2C9411E7869C00C5CD20 /* ofxMSAInteractiveObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMSAInteractiveObject.h; sourceTree = "<group>"; }; + 840F2CCC11E788F200C5CD20 /* ofxSimpleGuiButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiButton.cpp; sourceTree = "<group>"; }; + 840F2CCD11E788F200C5CD20 /* ofxSimpleGuiButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiButton.h; sourceTree = "<group>"; }; + 840F2CCE11E788F200C5CD20 /* ofxSimpleGuiColorPicker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiColorPicker.cpp; sourceTree = "<group>"; }; + 840F2CCF11E788F200C5CD20 /* ofxSimpleGuiColorPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiColorPicker.h; sourceTree = "<group>"; }; + 840F2CD011E788F200C5CD20 /* ofxSimpleGuiComboBox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiComboBox.cpp; sourceTree = "<group>"; }; + 840F2CD111E788F200C5CD20 /* ofxSimpleGuiComboBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiComboBox.h; sourceTree = "<group>"; }; + 840F2CD211E788F200C5CD20 /* ofxSimpleGuiContent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiContent.cpp; sourceTree = "<group>"; }; + 840F2CD311E788F200C5CD20 /* ofxSimpleGuiContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiContent.h; sourceTree = "<group>"; }; + 840F2CD411E788F200C5CD20 /* ofxSimpleGuiFPSCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiFPSCounter.cpp; sourceTree = "<group>"; }; + 840F2CD511E788F200C5CD20 /* ofxSimpleGuiFPSCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiFPSCounter.h; sourceTree = "<group>"; }; + 840F2CD611E788F200C5CD20 /* ofxSimpleGuiMovieSlider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiMovieSlider.cpp; sourceTree = "<group>"; }; + 840F2CD711E788F200C5CD20 /* ofxSimpleGuiMovieSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiMovieSlider.h; sourceTree = "<group>"; }; + 840F2CD811E788F200C5CD20 /* ofxSimpleGuiOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiOption.cpp; sourceTree = "<group>"; }; + 840F2CD911E788F200C5CD20 /* ofxSimpleGuiOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiOption.h; sourceTree = "<group>"; }; + 840F2CDA11E788F200C5CD20 /* ofxSimpleGuiOptionGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiOptionGroup.cpp; sourceTree = "<group>"; }; + 840F2CDB11E788F200C5CD20 /* ofxSimpleGuiOptionGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiOptionGroup.h; sourceTree = "<group>"; }; + 840F2CDC11E788F200C5CD20 /* ofxSimpleGuiQuadWarp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiQuadWarp.cpp; sourceTree = "<group>"; }; + 840F2CDD11E788F200C5CD20 /* ofxSimpleGuiQuadWarp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiQuadWarp.h; sourceTree = "<group>"; }; + 840F2CDE11E788F200C5CD20 /* ofxSimpleGuiSlider2d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiSlider2d.cpp; sourceTree = "<group>"; }; + 840F2CDF11E788F300C5CD20 /* ofxSimpleGuiSlider2d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiSlider2d.h; sourceTree = "<group>"; }; + 840F2CE011E788F300C5CD20 /* ofxSimpleGuiSliderBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiSliderBase.h; sourceTree = "<group>"; }; + 840F2CE111E788F300C5CD20 /* ofxSimpleGuiSliderFloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiSliderFloat.h; sourceTree = "<group>"; }; + 840F2CE211E788F300C5CD20 /* ofxSimpleGuiSliderInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiSliderInt.h; sourceTree = "<group>"; }; + 840F2CE311E788F300C5CD20 /* ofxSimpleGuiTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiTitle.cpp; sourceTree = "<group>"; }; + 840F2CE411E788F300C5CD20 /* ofxSimpleGuiTitle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiTitle.h; sourceTree = "<group>"; }; + 840F2CE511E788F300C5CD20 /* ofxSimpleGuiToggle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiToggle.cpp; sourceTree = "<group>"; }; + 840F2CE611E788F300C5CD20 /* ofxSimpleGuiToggle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiToggle.h; sourceTree = "<group>"; }; + 840F2CE711E788F300C5CD20 /* ofxSimpleGuiConfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiConfig.cpp; sourceTree = "<group>"; }; + 840F2CE811E788F300C5CD20 /* ofxSimpleGuiConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiConfig.h; sourceTree = "<group>"; }; + 840F2CE911E788F300C5CD20 /* ofxSimpleGuiControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiControl.cpp; sourceTree = "<group>"; }; + 840F2CEA11E788F300C5CD20 /* ofxSimpleGuiControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiControl.h; sourceTree = "<group>"; }; + 840F2CEB11E788F300C5CD20 /* ofxSimpleGuiIncludes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiIncludes.h; sourceTree = "<group>"; }; + 840F2CEC11E788F300C5CD20 /* ofxSimpleGuiPage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiPage.cpp; sourceTree = "<group>"; }; + 840F2CED11E788F300C5CD20 /* ofxSimpleGuiPage.cpp.rej */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ofxSimpleGuiPage.cpp.rej; sourceTree = "<group>"; }; + 840F2CEE11E788F300C5CD20 /* ofxSimpleGuiPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiPage.h; sourceTree = "<group>"; }; + 840F2CEF11E788F300C5CD20 /* ofxSimpleGuiToo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiToo.cpp; sourceTree = "<group>"; }; + 840F2CF011E788F300C5CD20 /* ofxSimpleGuiToo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiToo.h; sourceTree = "<group>"; }; + 840F2CF111E788F300C5CD20 /* ofxSimpleGuiToo.h.rej */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ofxSimpleGuiToo.h.rej; sourceTree = "<group>"; }; + 840F2DF711E7B63300C5CD20 /* ofxSimpleGuiTextInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSimpleGuiTextInput.h; sourceTree = "<group>"; }; + 840F2DF811E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSimpleGuiTextInput.cpp; sourceTree = "<group>"; }; + 8416E04311DA9FBA003A3B23 /* openFrameworks.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = openFrameworks.a; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/lib/osx/openFrameworks.a; sourceTree = SOURCE_ROOT; }; + 843BC56012D2B8240040A3BC /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 847D386112ABC55E006E9CA2 /* ofxThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxThread.cpp; sourceTree = "<group>"; }; + 847D386212ABC55E006E9CA2 /* ofxThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxThread.h; sourceTree = "<group>"; }; + 8484F4F313154CAE002DF7F0 /* libportaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libportaudio.a; path = ../../algorhythmicSorting/ofAlgorhythmicSorting/src/libportaudio.a; sourceTree = SOURCE_ROOT; }; + 84BE5524119B20CA0092BDA7 /* handyfuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = handyfuncs.cpp; sourceTree = "<group>"; }; + 84BE5525119B20CA0092BDA7 /* handyfuncs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = handyfuncs.h; sourceTree = "<group>"; }; + 84BFF6A811C4CECD000DB417 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = "<group>"; }; + 84BFF6AA11C4CECD000DB417 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = "<group>"; }; + 84BFF6AB11C4CECD000DB417 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = "<group>"; }; + 84BFF6AC11C4CECD000DB417 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = "<group>"; }; + 84BFF6AD11C4CECD000DB417 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = "<group>"; }; + 84BFF6AF11C4CECD000DB417 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxXmlSettings.cpp; sourceTree = "<group>"; }; + 84BFF6B011C4CECD000DB417 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxXmlSettings.h; sourceTree = "<group>"; }; + 84BFF72011C4DAC1000DB417 /* of.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = of.xcconfig; sourceTree = "<group>"; }; + 84BFF84511C4E60C000DB417 /* libfmodex.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libfmodex.dylib; sourceTree = "<group>"; }; + 84BFF84811C4E64E000DB417 /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; + 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = AlgorhythmicAudioIO.cpp; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; + 84BFF89711C4ECE1000DB417 /* AlgorhythmicAudioIO.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.h; path = AlgorhythmicAudioIO.h; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; + 84BFF8AA11C4F069000DB417 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; }; + E45BE0390E8CC647009D7055 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeImage.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/FreeImage/include/FreeImage.h; sourceTree = SOURCE_ROOT; }; + E45BE03F0E8CC650009D7055 /* fmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod.h; sourceTree = SOURCE_ROOT; }; + E45BE0400E8CC650009D7055 /* fmod.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fmod.hpp; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod.hpp; sourceTree = SOURCE_ROOT; }; + E45BE0410E8CC650009D7055 /* fmod_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_codec.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod_codec.h; sourceTree = SOURCE_ROOT; }; + E45BE0420E8CC650009D7055 /* fmod_dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_dsp.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod_dsp.h; sourceTree = SOURCE_ROOT; }; + E45BE0430E8CC650009D7055 /* fmod_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_errors.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod_errors.h; sourceTree = SOURCE_ROOT; }; + E45BE0440E8CC650009D7055 /* fmod_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_output.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/include/fmod_output.h; sourceTree = SOURCE_ROOT; }; + E45BE0A70E8CC67C009D7055 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLee.h; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/glee/include/GLee.h; sourceTree = SOURCE_ROOT; }; + E45BE0A90E8CC67C009D7055 /* GLee.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = GLee.a; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/glee/lib/osx/GLee.a; sourceTree = SOURCE_ROOT; }; + E45BE2E00E8CC69C009D7055 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtAudio.h; sourceTree = "<group>"; }; + E45BE2E10E8CC69C009D7055 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtError.h; sourceTree = "<group>"; }; + E45BE2E30E8CC69C009D7055 /* rtAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = rtAudio.a; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/rtAudio/lib/osx/rtAudio.a; sourceTree = SOURCE_ROOT; }; + E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; + E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; }; + E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; }; + E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; }; + E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; + E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; + E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; }; + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlgorhythmicSorting.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = "<group>"; }; + E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; + E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; + E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; }; + E4C2425F10CC5A78004149E2 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/glut/lib/osx/GLUT.framework; sourceTree = SOURCE_ROOT; }; + E4C2427A10CC5B66004149E2 /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = CppUnit.a; sourceTree = "<group>"; }; + E4C2427B10CC5B66004149E2 /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = PocoFoundation.a; sourceTree = "<group>"; }; + E4C2427C10CC5B66004149E2 /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = PocoNet.a; sourceTree = "<group>"; }; + E4C2427D10CC5B66004149E2 /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = PocoUtil.a; sourceTree = "<group>"; }; + E4C2427E10CC5B66004149E2 /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = PocoXML.a; sourceTree = "<group>"; }; + E4C2429310CC5C38004149E2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; + E4C246D910CCAE22004149E2 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E4B69B590A3A1756003C02F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */, + E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */, + E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, + E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, + E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, + E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, + E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, + E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, + E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, + E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, + E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, + E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, + E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */, + E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */, + E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */, + E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */, + E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */, + E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */, + E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */, + E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, + 84BFF84611C4E60C000DB417 /* libfmodex.dylib in Frameworks */, + 84BFF8AB11C4F069000DB417 /* AudioUnit.framework in Frameworks */, + 8416E04411DA9FBA003A3B23 /* openFrameworks.a in Frameworks */, + 843BC56112D2B8240040A3BC /* OpenGL.framework in Frameworks */, + 8484F4F413154CAF002DF7F0 /* libportaudio.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 840F2C9211E7869C00C5CD20 /* src */ = { + isa = PBXGroup; + children = ( + 840F2C9311E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp */, + 840F2C9411E7869C00C5CD20 /* ofxMSAInteractiveObject.h */, + ); + name = src; + path = ../../../ofxMSA/ofxMSAInteractiveObject/src; + sourceTree = SOURCE_ROOT; + }; + 840F2CCA11E788F200C5CD20 /* src */ = { + isa = PBXGroup; + children = ( + 840F2CCB11E788F200C5CD20 /* Controls */, + 840F2CE711E788F300C5CD20 /* ofxSimpleGuiConfig.cpp */, + 840F2CE811E788F300C5CD20 /* ofxSimpleGuiConfig.h */, + 840F2CE911E788F300C5CD20 /* ofxSimpleGuiControl.cpp */, + 840F2CEA11E788F300C5CD20 /* ofxSimpleGuiControl.h */, + 840F2CEB11E788F300C5CD20 /* ofxSimpleGuiIncludes.h */, + 840F2CEC11E788F300C5CD20 /* ofxSimpleGuiPage.cpp */, + 840F2CED11E788F300C5CD20 /* ofxSimpleGuiPage.cpp.rej */, + 840F2CEE11E788F300C5CD20 /* ofxSimpleGuiPage.h */, + 840F2CEF11E788F300C5CD20 /* ofxSimpleGuiToo.cpp */, + 840F2CF011E788F300C5CD20 /* ofxSimpleGuiToo.h */, + 840F2CF111E788F300C5CD20 /* ofxSimpleGuiToo.h.rej */, + ); + name = src; + path = ../../../ofxMSA/ofxSimpleGuiToo/src; + sourceTree = SOURCE_ROOT; + }; + 840F2CCB11E788F200C5CD20 /* Controls */ = { + isa = PBXGroup; + children = ( + 840F2CCC11E788F200C5CD20 /* ofxSimpleGuiButton.cpp */, + 840F2CCD11E788F200C5CD20 /* ofxSimpleGuiButton.h */, + 840F2CCE11E788F200C5CD20 /* ofxSimpleGuiColorPicker.cpp */, + 840F2CCF11E788F200C5CD20 /* ofxSimpleGuiColorPicker.h */, + 840F2CD011E788F200C5CD20 /* ofxSimpleGuiComboBox.cpp */, + 840F2CD111E788F200C5CD20 /* ofxSimpleGuiComboBox.h */, + 840F2CD211E788F200C5CD20 /* ofxSimpleGuiContent.cpp */, + 840F2CD311E788F200C5CD20 /* ofxSimpleGuiContent.h */, + 840F2CD411E788F200C5CD20 /* ofxSimpleGuiFPSCounter.cpp */, + 840F2CD511E788F200C5CD20 /* ofxSimpleGuiFPSCounter.h */, + 840F2CD611E788F200C5CD20 /* ofxSimpleGuiMovieSlider.cpp */, + 840F2CD711E788F200C5CD20 /* ofxSimpleGuiMovieSlider.h */, + 840F2CD811E788F200C5CD20 /* ofxSimpleGuiOption.cpp */, + 840F2CD911E788F200C5CD20 /* ofxSimpleGuiOption.h */, + 840F2CDA11E788F200C5CD20 /* ofxSimpleGuiOptionGroup.cpp */, + 840F2CDB11E788F200C5CD20 /* ofxSimpleGuiOptionGroup.h */, + 840F2CDC11E788F200C5CD20 /* ofxSimpleGuiQuadWarp.cpp */, + 840F2CDD11E788F200C5CD20 /* ofxSimpleGuiQuadWarp.h */, + 840F2CDE11E788F200C5CD20 /* ofxSimpleGuiSlider2d.cpp */, + 840F2CDF11E788F300C5CD20 /* ofxSimpleGuiSlider2d.h */, + 840F2CE011E788F300C5CD20 /* ofxSimpleGuiSliderBase.h */, + 840F2CE111E788F300C5CD20 /* ofxSimpleGuiSliderFloat.h */, + 840F2CE211E788F300C5CD20 /* ofxSimpleGuiSliderInt.h */, + 840F2CE311E788F300C5CD20 /* ofxSimpleGuiTitle.cpp */, + 840F2CE411E788F300C5CD20 /* ofxSimpleGuiTitle.h */, + 840F2CE511E788F300C5CD20 /* ofxSimpleGuiToggle.cpp */, + 840F2CE611E788F300C5CD20 /* ofxSimpleGuiToggle.h */, + 840F2DF711E7B63300C5CD20 /* ofxSimpleGuiTextInput.h */, + 840F2DF811E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp */, + ); + path = Controls; + sourceTree = "<group>"; + }; + 847D386012ABC55E006E9CA2 /* src */ = { + isa = PBXGroup; + children = ( + 847D386112ABC55E006E9CA2 /* ofxThread.cpp */, + 847D386212ABC55E006E9CA2 /* ofxThread.h */, + ); + name = src; + path = ../../../../of/of_preRelease_v0061_osx_FAT/addons/ofxThread/src; + sourceTree = SOURCE_ROOT; + }; + 84BFF66D11C4CD9C000DB417 /* addons */ = { + isa = PBXGroup; + children = ( + 847D386012ABC55E006E9CA2 /* src */, + 840F2CCA11E788F200C5CD20 /* src */, + 840F2C9211E7869C00C5CD20 /* src */, + 84BFF6A711C4CECD000DB417 /* ofxXmlSettings */, + ); + name = addons; + sourceTree = "<group>"; + }; + 84BFF6A711C4CECD000DB417 /* ofxXmlSettings */ = { + isa = PBXGroup; + children = ( + 84BFF6A811C4CECD000DB417 /* install.xml */, + 84BFF6A911C4CECD000DB417 /* libs */, + 84BFF6AE11C4CECD000DB417 /* src */, + ); + name = ofxXmlSettings; + path = ../../../../of/of_preRelease_v0061_osx_FAT/addons/ofxXmlSettings; + sourceTree = SOURCE_ROOT; + }; + 84BFF6A911C4CECD000DB417 /* libs */ = { + isa = PBXGroup; + children = ( + 84BFF6AA11C4CECD000DB417 /* tinyxml.cpp */, + 84BFF6AB11C4CECD000DB417 /* tinyxml.h */, + 84BFF6AC11C4CECD000DB417 /* tinyxmlerror.cpp */, + 84BFF6AD11C4CECD000DB417 /* tinyxmlparser.cpp */, + ); + path = libs; + sourceTree = "<group>"; + }; + 84BFF6AE11C4CECD000DB417 /* src */ = { + isa = PBXGroup; + children = ( + 84BFF6AF11C4CECD000DB417 /* ofxXmlSettings.cpp */, + 84BFF6B011C4CECD000DB417 /* ofxXmlSettings.h */, + ); + path = src; + sourceTree = "<group>"; + }; + 84BFF84911C4E64E000DB417 /* Products */ = { + isa = PBXGroup; + children = ( + 84BFF85011C4E64E000DB417 /* openFrameworks.a */, + ); + name = Products; + sourceTree = "<group>"; + }; + E45BE0360E8CC5DE009D7055 /* libs */ = { + isa = PBXGroup; + children = ( + 8484F4F313154CAE002DF7F0 /* libportaudio.a */, + 84BFF8AA11C4F069000DB417 /* AudioUnit.framework */, + E45BEED60E8CCB34009D7055 /* core */, + 843BC56012D2B8240040A3BC /* OpenGL.framework */, + ); + name = libs; + sourceTree = "<group>"; + }; + E45BE0370E8CC647009D7055 /* freeimage */ = { + isa = PBXGroup; + children = ( + E4C246D810CCAE22004149E2 /* osx */, + E45BE0380E8CC647009D7055 /* include */, + ); + name = freeimage; + path = ../../../libs/freeimage; + sourceTree = SOURCE_ROOT; + }; + E45BE0380E8CC647009D7055 /* include */ = { + isa = PBXGroup; + children = ( + E45BE0390E8CC647009D7055 /* FreeImage.h */, + ); + name = include; + path = ../../../libs/freeimage/include; + sourceTree = SOURCE_ROOT; + }; + E45BE03D0E8CC650009D7055 /* fmodex */ = { + isa = PBXGroup; + children = ( + E45BE03E0E8CC650009D7055 /* inc */, + E4C2428E10CC5C18004149E2 /* osx */, + ); + path = fmodex; + sourceTree = "<group>"; + }; + E45BE03E0E8CC650009D7055 /* inc */ = { + isa = PBXGroup; + children = ( + E45BE03F0E8CC650009D7055 /* fmod.h */, + E45BE0400E8CC650009D7055 /* fmod.hpp */, + E45BE0410E8CC650009D7055 /* fmod_codec.h */, + E45BE0420E8CC650009D7055 /* fmod_dsp.h */, + E45BE0430E8CC650009D7055 /* fmod_errors.h */, + E45BE0440E8CC650009D7055 /* fmod_output.h */, + ); + name = inc; + path = ../../../libs/fmodex/include; + sourceTree = SOURCE_ROOT; + }; + E45BE0480E8CC657009D7055 /* libs */ = { + isa = PBXGroup; + children = ( + E4C2425B10CC5A78004149E2 /* glut */, + E45BEC7B0E8CC911009D7055 /* poco */, + E45BE2D50E8CC69C009D7055 /* rtAudio */, + E45BE0A50E8CC67C009D7055 /* GLee */, + E45BE0490E8CC676009D7055 /* freetype */, + E45BE03D0E8CC650009D7055 /* fmodex */, + E45BE0370E8CC647009D7055 /* freeimage */, + ); + name = libs; + path = ../../../../of/of_preRelease_v0061_osx_FAT/libs; + sourceTree = "<group>"; + }; + E45BE0490E8CC676009D7055 /* freetype */ = { + isa = PBXGroup; + children = ( + E4C2429210CC5C38004149E2 /* osx */, + ); + name = freetype; + path = ../../../libs/freetype; + sourceTree = SOURCE_ROOT; + }; + E45BE0A50E8CC67C009D7055 /* GLee */ = { + isa = PBXGroup; + children = ( + E45BE0A60E8CC67C009D7055 /* include */, + E45BE0A80E8CC67C009D7055 /* lib */, + ); + name = GLee; + path = ../../../libs/GLee; + sourceTree = SOURCE_ROOT; + }; + E45BE0A60E8CC67C009D7055 /* include */ = { + isa = PBXGroup; + children = ( + E45BE0A70E8CC67C009D7055 /* GLee.h */, + ); + name = include; + path = ../../../libs/GLee/include; + sourceTree = SOURCE_ROOT; + }; + E45BE0A80E8CC67C009D7055 /* lib */ = { + isa = PBXGroup; + children = ( + E45BE0A90E8CC67C009D7055 /* GLee.a */, + ); + name = lib; + path = ../../../libs/GLee/lib/osx; + sourceTree = SOURCE_ROOT; + }; + E45BE2D50E8CC69C009D7055 /* rtAudio */ = { + isa = PBXGroup; + children = ( + E45BE2D60E8CC69C009D7055 /* include */, + E45BE2E20E8CC69C009D7055 /* lib */, + ); + path = rtAudio; + sourceTree = "<group>"; + }; + E45BE2D60E8CC69C009D7055 /* include */ = { + isa = PBXGroup; + children = ( + E45BE2D70E8CC69C009D7055 /* asio */, + E45BE2E00E8CC69C009D7055 /* RtAudio.h */, + E45BE2E10E8CC69C009D7055 /* RtError.h */, + ); + path = include; + sourceTree = "<group>"; + }; + E45BE2D70E8CC69C009D7055 /* asio */ = { + isa = PBXGroup; + children = ( + ); + name = asio; + path = ../../../libs/rtAudio/include/asio; + sourceTree = SOURCE_ROOT; + }; + E45BE2E20E8CC69C009D7055 /* lib */ = { + isa = PBXGroup; + children = ( + E45BE2E30E8CC69C009D7055 /* rtAudio.a */, + ); + name = lib; + path = ../../../libs/rtAudio/lib/osx; + sourceTree = SOURCE_ROOT; + }; + E45BE5980E8CC70C009D7055 /* core frameworks */ = { + isa = PBXGroup; + children = ( + E4C2424410CC5A17004149E2 /* AppKit.framework */, + E4C2424510CC5A17004149E2 /* Cocoa.framework */, + E4C2424610CC5A17004149E2 /* IOKit.framework */, + E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, + E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, + E45BE9740E8CC7DD009D7055 /* Carbon.framework */, + E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, + E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, + E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, + E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, + ); + name = "core frameworks"; + sourceTree = "<group>"; + }; + E45BEC7B0E8CC911009D7055 /* poco */ = { + isa = PBXGroup; + children = ( + E4C2427910CC5B66004149E2 /* osx */, + ); + name = poco; + path = ../../../libs/poco; + sourceTree = SOURCE_ROOT; + }; + E45BEED60E8CCB34009D7055 /* core */ = { + isa = PBXGroup; + children = ( + E45BE0480E8CC657009D7055 /* libs */, + E45BE5980E8CC70C009D7055 /* core frameworks */, + ); + name = core; + sourceTree = "<group>"; + }; + E4B69B4A0A3A1720003C02F2 = { + isa = PBXGroup; + children = ( + 84BFF66D11C4CD9C000DB417 /* addons */, + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */, + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, + E4B69E1C0A3A1BDC003C02F2 /* src */, + E4C2422310CC54B6004149E2 /* openFrameworks */, + E45BE0360E8CC5DE009D7055 /* libs */, + 84BFF72011C4DAC1000DB417 /* of.xcconfig */, + ); + sourceTree = "<group>"; + }; + E4B69E1C0A3A1BDC003C02F2 /* src */ = { + isa = PBXGroup; + children = ( + 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */, + 84BFF89711C4ECE1000DB417 /* AlgorhythmicAudioIO.h */, + 84BE5524119B20CA0092BDA7 /* handyfuncs.cpp */, + 84BE5525119B20CA0092BDA7 /* handyfuncs.h */, + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, + E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, + E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, + ); + path = src; + sourceTree = SOURCE_ROOT; + }; + E4C2422310CC54B6004149E2 /* openFrameworks */ = { + isa = PBXGroup; + children = ( + 8416E04311DA9FBA003A3B23 /* openFrameworks.a */, + 84BFF84811C4E64E000DB417 /* openFrameworksLib.xcodeproj */, + ); + name = openFrameworks; + sourceTree = "<group>"; + }; + E4C2425B10CC5A78004149E2 /* glut */ = { + isa = PBXGroup; + children = ( + E4C2425D10CC5A78004149E2 /* lib */, + ); + name = glut; + path = ../../../libs/glut; + sourceTree = SOURCE_ROOT; + }; + E4C2425D10CC5A78004149E2 /* lib */ = { + isa = PBXGroup; + children = ( + E4C2425E10CC5A78004149E2 /* osx */, + ); + name = lib; + path = ../../../libs/glut/lib; + sourceTree = SOURCE_ROOT; + }; + E4C2425E10CC5A78004149E2 /* osx */ = { + isa = PBXGroup; + children = ( + E4C2425F10CC5A78004149E2 /* GLUT.framework */, + ); + name = osx; + path = ../../../libs/glut/lib/osx; + sourceTree = SOURCE_ROOT; + }; + E4C2427910CC5B66004149E2 /* osx */ = { + isa = PBXGroup; + children = ( + E4C2427A10CC5B66004149E2 /* CppUnit.a */, + E4C2427B10CC5B66004149E2 /* PocoFoundation.a */, + E4C2427C10CC5B66004149E2 /* PocoNet.a */, + E4C2427D10CC5B66004149E2 /* PocoUtil.a */, + E4C2427E10CC5B66004149E2 /* PocoXML.a */, + ); + name = osx; + path = ../../../../of/of_preRelease_v0061_osx_FAT/libs/poco/lib/osx; + sourceTree = SOURCE_ROOT; + }; + E4C2428E10CC5C18004149E2 /* osx */ = { + isa = PBXGroup; + children = ( + 84BFF84511C4E60C000DB417 /* libfmodex.dylib */, + ); + name = osx; + path = lib/osx; + sourceTree = "<group>"; + }; + E4C2429210CC5C38004149E2 /* osx */ = { + isa = PBXGroup; + children = ( + E4C2429310CC5C38004149E2 /* freetype.a */, + ); + name = osx; + path = ../../../libs/freetype/lib/osx; + sourceTree = SOURCE_ROOT; + }; + E4C246D810CCAE22004149E2 /* osx */ = { + isa = PBXGroup; + children = ( + E4C246D910CCAE22004149E2 /* freeimage.a */, + ); + name = osx; + path = ../../../libs/FreeImage/lib/osx; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E4B69B5A0A3A1756003C02F2 /* AlgorhythmicSorting */ = { + isa = PBXNativeTarget; + buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "AlgorhythmicSorting" */; + buildPhases = ( + E4B69B580A3A1756003C02F2 /* Sources */, + E4B69B590A3A1756003C02F2 /* Frameworks */, + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, + E4C2427710CC5ABF004149E2 /* CopyFiles */, + E4C2444710CC769B004149E2 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AlgorhythmicSorting; + productName = myOFApp; + productReference = E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E4B69B4C0A3A1720003C02F2 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "primesieve" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = E4B69B4A0A3A1720003C02F2; + productRefGroup = E4B69B4A0A3A1720003C02F2; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 84BFF84911C4E64E000DB417 /* Products */; + ProjectRef = 84BFF84811C4E64E000DB417 /* openFrameworksLib.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + E4B69B5A0A3A1756003C02F2 /* AlgorhythmicSorting */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 84BFF85011C4E64E000DB417 /* openFrameworks.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = openFrameworks.a; + remoteRef = 84BFF84F11C4E64E000DB417 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXShellScriptBuildPhase section */ + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cp -f ../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"\ninstall_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\" "; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E4B69B580A3A1756003C02F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, + E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, + 84BE5526119B20CA0092BDA7 /* handyfuncs.cpp in Sources */, + 84BFF6B111C4CECD000DB417 /* tinyxml.cpp in Sources */, + 84BFF6B211C4CECD000DB417 /* tinyxmlerror.cpp in Sources */, + 84BFF6B311C4CECD000DB417 /* tinyxmlparser.cpp in Sources */, + 84BFF6B411C4CECD000DB417 /* ofxXmlSettings.cpp in Sources */, + 84BFF89811C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp in Sources */, + 840F2C9511E7869C00C5CD20 /* ofxMSAInteractiveObject.cpp in Sources */, + 840F2CF211E788F300C5CD20 /* ofxSimpleGuiButton.cpp in Sources */, + 840F2CF311E788F300C5CD20 /* ofxSimpleGuiColorPicker.cpp in Sources */, + 840F2CF411E788F300C5CD20 /* ofxSimpleGuiComboBox.cpp in Sources */, + 840F2CF511E788F300C5CD20 /* ofxSimpleGuiContent.cpp in Sources */, + 840F2CF611E788F300C5CD20 /* ofxSimpleGuiFPSCounter.cpp in Sources */, + 840F2CF711E788F300C5CD20 /* ofxSimpleGuiMovieSlider.cpp in Sources */, + 840F2CF811E788F300C5CD20 /* ofxSimpleGuiOption.cpp in Sources */, + 840F2CF911E788F300C5CD20 /* ofxSimpleGuiOptionGroup.cpp in Sources */, + 840F2CFA11E788F300C5CD20 /* ofxSimpleGuiQuadWarp.cpp in Sources */, + 840F2CFB11E788F300C5CD20 /* ofxSimpleGuiSlider2d.cpp in Sources */, + 840F2CFC11E788F300C5CD20 /* ofxSimpleGuiTitle.cpp in Sources */, + 840F2CFD11E788F300C5CD20 /* ofxSimpleGuiToggle.cpp in Sources */, + 840F2CFE11E788F300C5CD20 /* ofxSimpleGuiConfig.cpp in Sources */, + 840F2CFF11E788F300C5CD20 /* ofxSimpleGuiControl.cpp in Sources */, + 840F2D0011E788F300C5CD20 /* ofxSimpleGuiPage.cpp in Sources */, + 840F2D0111E788F300C5CD20 /* ofxSimpleGuiToo.cpp in Sources */, + 840F2DF911E7B63300C5CD20 /* ofxSimpleGuiTextInput.cpp in Sources */, + 847D386312ABC55E006E9CA2 /* ofxThread.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + E4B27CA010CBF8A600536013 /* ReleaseUniversal */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_UNROLL_LOOPS = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = ( + "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/poco/include, + ../../../../of/of_preRelease_v0061_osx_FAT/addons/, + ); + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + ); + OTHER_LDFLAGS = ""; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = ReleaseUniversal; + }; + E4B27CA110CBF8A600536013 /* ReleaseUniversal */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_2)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../ofxPango/src/libs/mac/static\""; + LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../algorhythmicSorting/ofAlgorhythmicSorting/src\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../../../of/of_preRelease_v0061_osx_FAT/libs/fmodex/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7 = "\"$(SRCROOT)/src\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8 = "\"$(SRCROOT)/../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworksCompiled/lib/osx\""; + PREBINDING = NO; + PRODUCT_NAME = "$(TARGET_NAME)Universal"; + WRAPPER_EXTENSION = app; + ZERO_LINK = NO; + }; + name = ReleaseUniversal; + }; + E4B69B4E0A3A1720003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_MODEL_TUNING = G5; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = 4.0; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = ( + "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/poco/include, + ../../../../of/of_preRelease_v0061_osx_FAT/addons/, + "../../../ofxPango/src/includes//**", + ); + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + ); + OTHER_LDFLAGS = ""; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Debug; + }; + E4B69B4F0A3A1720003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_UNROLL_LOOPS = YES; + GCC_VERSION = 4.0; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = ( + "../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/**", + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/openFrameworks/libs/freetype/include/freetype2, + ../../../../of/of_preRelease_v0061_osx_FAT/libs/poco/include, + ../../../../of/of_preRelease_v0061_osx_FAT/addons/, + "../../algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include", + ); + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + ); + OTHER_LDFLAGS = ""; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Release; + }; + E4B69B600A3A1757003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)"... [truncated message content] |
From: <mc...@us...> - 2011-02-23 13:49:58
|
Revision: 275 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=275&view=rev Author: mchinen Date: 2011-02-23 13:49:51 +0000 (Wed, 23 Feb 2011) Log Message: ----------- add primesieve (windows project) Added Paths: ----------- primesieve/ primesieve/ofprimesieve/ primesieve/ofprimesieve/bin/ primesieve/ofprimesieve/bin/data/ primesieve/ofprimesieve/bin/data/Inconsolata.otf primesieve/ofprimesieve/primesieve.sln primesieve/ofprimesieve/primesieve.vcproj primesieve/ofprimesieve/src/ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h primesieve/ofprimesieve/src/handyfuncs.cpp primesieve/ofprimesieve/src/handyfuncs.h primesieve/ofprimesieve/src/main.cpp primesieve/ofprimesieve/src/testApp.cpp primesieve/ofprimesieve/src/testApp.h Added: primesieve/ofprimesieve/bin/data/Inconsolata.otf =================================================================== (Binary files differ) Property changes on: primesieve/ofprimesieve/bin/data/Inconsolata.otf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: primesieve/ofprimesieve/primesieve.sln =================================================================== --- primesieve/ofprimesieve/primesieve.sln (rev 0) +++ primesieve/ofprimesieve/primesieve.sln 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "algorhythmicSorting", "primesieve.vcproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 + {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 + {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 + {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: primesieve/ofprimesieve/primesieve.vcproj =================================================================== --- primesieve/ofprimesieve/primesieve.vcproj (rev 0) +++ primesieve/ofprimesieve/primesieve.vcproj 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,449 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="primesieve" + ProjectGUID="{7FD42DF7-442E-479A-BA76-D0022F99702A}" + RootNamespace="emptyExample" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="bin" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\algorhythmicSorting\ofAlgorhythmicSorting\src\portaudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\graphics;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\app;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\sound;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\utils;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\communication;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\video;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\events;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include\freetype2;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freeImage\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\poco\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxThread\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\src;..\..\..\ofxMSA\ofxMSAInteractiveObject\src;..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls;..\..\..\ofxMSA\ofxSimpleGuiToo\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;POCO_STATIC" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="openframeworksLibDebug.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudioD.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmtd.lib PocoNetmtd.lib PocoUtilmtd.lib PocoXMLmtd.lib portaudio-v19.lib" + OutputFile="$(OutDir)\$(ProjectName)_debug.exe" + LinkIncremental="2" + AdditionalLibraryDirectories="src;..\..\algorhythmicSorting\ofAlgorhythmicSorting\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\FreeImage\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\Poco\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworksCompiled\lib\vs2008" + GenerateManifest="true" + IgnoreDefaultLibraryNames="atlthunk.lib; LIBC.lib; LIBCMT;" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(TargetDir)$(TargetName)_debugInfo.pdb" + SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + Description="adding DLLs and creating data folder" + CommandLine="xcopy /e /i /y "$(ProjectDir)..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\export\vs2008\*.dll" "$(ProjectDir)bin"
if not exist "$(ProjectDir)bin\data" mkdir "$(ProjectDir)bin\data"
" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="bin" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + WholeProgramOptimization="false" + AdditionalIncludeDirectories="src\portaudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\graphics;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\app;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\sound;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\utils;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\communication;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\video;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\events;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include\freetype2;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freeImage\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\poco\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxThread\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\src;..\..\..\ofxMSA\ofxMSAInteractiveObject\src;..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls;..\..\..\ofxMSA\ofxSimpleGuiToo\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;POCO_STATIC" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="false" + DebugInformationFormat="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="openframeworksLib.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmt.lib PocoNetmt.lib PocoUtilmt.lib PocoXMLmt.lib portaudio-v19.lib" + LinkIncremental="1" + AdditionalLibraryDirectories="src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\FreeImage\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\Poco\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworksCompiled\lib\vs2008" + IgnoreAllDefaultLibraries="false" + IgnoreDefaultLibraryNames="atlthunk.lib; LIBC.lib; LIBCMT;" + GenerateDebugInformation="false" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + Description="adding DLLs and creating data folder" + CommandLine="xcopy /e /i /y "$(ProjectDir)..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\export\vs2008\*.dll" "$(ProjectDir)bin"" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="src" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\src\AlgorhythmicAudioIO.cpp" + > + </File> + <File + RelativePath=".\src\AlgorhythmicAudioIO.h" + > + </File> + <File + RelativePath=".\src\handyfuncs.cpp" + > + </File> + <File + RelativePath=".\src\handyfuncs.h" + > + </File> + <File + RelativePath=".\src\main.cpp" + > + </File> + <File + RelativePath=".\src\testApp.cpp" + > + </File> + <File + RelativePath=".\src\testApp.h" + > + </File> + </Filter> + <Filter + Name="addons" + > + <Filter + Name="ofxMSAInteractiveObject" + > + <File + RelativePath="..\..\..\ofxMSA\ofxMSAInteractiveObject\src\ofxMSAInteractiveObject.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxMSAInteractiveObject\src\ofxMSAInteractiveObject.h" + > + </File> + </Filter> + <Filter + Name="ofxSimpleGuiToo" + > + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiConfig.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiConfig.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiControl.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiControl.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiIncludes.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiPage.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiPage.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiToo.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\ofxSimpleGuiToo.h" + > + </File> + <Filter + Name="Controls" + > + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiButton.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiButton.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiColorPicker.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiColorPicker.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiComboBox.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiComboBox.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiContent.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiContent.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiFPSCounter.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiFPSCounter.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiMovieSlider.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiMovieSlider.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiOption.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiOption.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiOptionGroup.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiOptionGroup.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiQuadWarp.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiQuadWarp.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiSlider2d.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiSlider2d.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiSliderBase.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiSliderFloat.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiSliderInt.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiTextInput.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiTextInput.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiTitle.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiTitle.h" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiToggle.cpp" + > + </File> + <File + RelativePath="..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls\ofxSimpleGuiToggle.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="ofxXmlSettings" + > + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\src\ofxXmlSettings.cpp" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\src\ofxXmlSettings.h" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs\tinyxml.cpp" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs\tinyxml.h" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs\tinyxmlerror.cpp" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs\tinyxmlparser.cpp" + > + </File> + </Filter> + <Filter + Name="ofxThread" + > + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxThread\src\ofxThread.cpp" + > + </File> + <File + RelativePath="..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxThread\src\ofxThread.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="portaudio" + > + <File + RelativePath="..\algorhythmicSorting\ofAlgorhythmicSorting\lib-src\portaudio-v19\include\portaudio.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp =================================================================== --- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp (rev 0) +++ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.cpp 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,215 @@ +/* + * AlgorhythmicAudioIO.c + * + * Created by michael takezo chinen on 12/19/09. + */ + +#include "AlgorhythmicAudioIO.h" +#include "portaudio.h" +#include "stdio.h" +#include <cstdlib> +#include "handyfuncs.h" +#include <math.h> +#include <stdlib.h> +#include <algorithm> +#include <limits.h> + +void SortingInitAudio(); +void SortingStartAudio(); + + +#define SAMPLE_RATE (44100) +#define NUM_CHANNELS 2 + +typedef struct + { + float left_phase; + float right_phase; + } + paTestData; + +static paTestData data; +static bool gManagerCreated = false; + +//actual desired params +float nb_freq =1000; +float nb_bw = 0.99; +float nb_phase = 0.0; +float nb_amp = 0.5; + +//for real time state keeping +bool laston; +float lastfreq; +float lastamp; +float lastbw; +float instfreq; +float phase; +float targetfreq; +int samplesTillNextTarget; +bool initedForRealTime = false; + +static void ComputeCurrentIndex(int localIndex) +{ + AlgorhythmicAudioIO *io = AlgorhythmicAudioIO::Instance(); + + io->ComputeCurrentIndex(localIndex); +} +void AlgorhythmicAudioIO::ComputeCurrentIndex(int localIndex) +{ + if (m_playingIndividual) + m_currentIndex = localIndex ? m_playIndexB : m_playIndexA; + else + m_currentIndex = m_playIndexA + localIndex; + +} + +int nb_samples_left = 0; +int nb_samples_total = 0; +/* This routine will be called by the PortAudio engine when audio is needed. + ** It may called at interrupt level on some machines so don't do anything + ** that could mess up the system like calling malloc() or free(). + */ +static int SortingPortAudioCallback( const void *inputBuffer, void *outputBuffer, + unsigned long framesPerBuffer, + const PaStreamCallbackTimeInfo* timeInfo, + PaStreamCallbackFlags statusFlags, + void *userData ) +{ + int noisefactor; + noisefactor = 1; + + float vol = AlgorhythmicAudioIO::Instance()->GetVolume(); + float freqMin = AlgorhythmicAudioIO::Instance()->GetFreqMin(); + float freqRange = AlgorhythmicAudioIO::Instance()->GetFreqMax() - freqMin; + bool notesOn = AlgorhythmicAudioIO::Instance()->IsNotesOn(); + bool sepOn = AlgorhythmicAudioIO::Instance()->IsSeperatorOn(); + bool click = false; + + for( int z = 0; z < NUM_CHANNELS; z++ ) + memset(((float*)outputBuffer)+framesPerBuffer*z, 0, framesPerBuffer*sizeof(float)); + + + + // Clip output to [-1.0,+1.0] range + for(unsigned int i = 0; i < framesPerBuffer*NUM_CHANNELS; i++) + { + float f = ((float*)outputBuffer)[i]; + if (f > 1.0f) + ((float*)outputBuffer)[i] = 1.0f; + else if (f < -1.0f) + ((float*)outputBuffer)[i] = -1.0f; + } + return 0; +} + +AlgorhythmicAudioIO* AlgorhythmicAudioIO::Instance() +{ + static AlgorhythmicAudioIO* man=NULL; + //this isn't 100% threadsafe but I think Okay for this purpose.; + if(!man) + { + man = new AlgorhythmicAudioIO(); + man->Init(); + gManagerCreated = true; + } + return man; +} + +AlgorhythmicAudioIO::AlgorhythmicAudioIO() +{ + m_stream = NULL; +} + +AlgorhythmicAudioIO::~AlgorhythmicAudioIO() +{ + //[[NSAutoreleasePool alloc] init]; + //[audioDataMutex release]; +} + +//Change Preset values +bool AlgorhythmicAudioIO::Init() +{ + PaError err; + m_speed = 0.025; + m_seperatorOn=m_notesOn=true; + m_freqMin = 100; + m_freqMax = 4000; + m_volume = 0.8; + + /* Initialize our data for use by callback. */ + data.left_phase = data.right_phase = 0.0; + /* Initialize library before making any other calls. */ + err = Pa_Initialize(); + m_actualLatency = 0.0001f; + m_inited= err == paNoError ; + + // audioDataMutex = [[NSLock alloc] init]; + + return m_inited; +} + +void AlgorhythmicAudioIO::ChangeFreqMin(float min) +{ + m_freqMin = mymax(mymin(20000,min),20); +} + +void AlgorhythmicAudioIO::ChangeFreqMax(float max) +{ + m_freqMax = mymax(mymin(20000,max),m_freqMin); +} + +bool AlgorhythmicAudioIO::Start() +{ + if(!m_inited && !Init()) + return false; + + PaError err; + /* Open an audio I/O stream. */ + PaDeviceIndex outDev = Pa_GetDefaultOutputDevice(); + PaStreamParameters playbackParameters; + playbackParameters.device = outDev; + playbackParameters.sampleFormat = paFloat32; + playbackParameters.hostApiSpecificStreamInfo = NULL; + playbackParameters.channelCount = 2; + playbackParameters.suggestedLatency = kAudioLatency/1000.0; + + err = Pa_OpenStream( &m_stream, + NULL, &playbackParameters, + SAMPLE_RATE, /*paFramesPerBufferUnspecified, */256, + paNoFlag, + SortingPortAudioCallback, &data ); + + if( err != paNoError ) return false; + + + err = Pa_StartStream( m_stream ); + if( err != paNoError ) return false; + + const PaStreamInfo *info; + info = Pa_GetStreamInfo(&m_stream); + + if(info && info->outputLatency > 0) + m_actualLatency = info->outputLatency; + else { + m_actualLatency = (256.0/44100.0)/1000.0; + } + + return true; +} + +bool AlgorhythmicAudioIO::Stop() +{ + PaError err; + + err = Pa_StopStream( m_stream ); + if( err != paNoError ) return false; + err = Pa_CloseStream( m_stream ); + if( err != paNoError ) return false; + + return true; +} + +void AlgorhythmicAudioIO::Terminate() +{ + Pa_Terminate(); +} Added: primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h =================================================================== --- primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h (rev 0) +++ primesieve/ofprimesieve/src/AlgorhythmicAudioIO.h 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,88 @@ +/* + * AlgorhythmicAudioIO.h + * + * Created by michael takezo chinen on 12/19/09. + * + * A singleton that manages SORTING audio +*//*******************************************************************/ + + + + + +#ifndef __AlgorhythmicAudioIO__ +#define __AlgorhythmicAudioIO__ + +//audio latency in millis +#define kAudioLatency 80.0 + +#include "portaudio.h" + +class AlgorhythmicAudioIO +{ + public: + ///Gets the singleton instance + static AlgorhythmicAudioIO* Instance(); + ///init audio, but don't start the stream + bool Init(); + + ///Start the stream + bool Start(); + bool Stop(); + void Terminate(); + + float GetSpeed(){return m_speed;} + void ChangeSpeed(float newSpeed){m_speed=newSpeed;} + void ToggleSeperator(){m_seperatorOn = !m_seperatorOn;} + + void ToggleNotes(){m_notesOn = !m_notesOn;} + void SetSeperator(bool yn) {m_seperatorOn = yn;} + void SetNotes(bool yn) {m_notesOn = yn;} + + void ChangeVolume(float vol){m_volume=vol;} + + void ChangeFreqMin(float min); + + void ChangeFreqMax(float max); + + float GetVolume(){return m_volume;} + bool IsNotesOn(){return m_notesOn;} + bool IsSeperatorOn(){return m_seperatorOn;} + float GetFreqMin(){return m_freqMin;} + float GetFreqMax(){return m_freqMax;} + + float GetActualLatency(){return m_actualLatency;} + + void SetIndividual(bool i) { m_playingIndividual = i; } + void SetAIndex(int a) { m_playIndexA = a; } + void SetBIndex(int b) { m_playIndexB = b; } + int CurrentIndex() { return m_currentIndex; } + void RemoveCurrentIndex() { m_currentIndex = -1; } + void ComputeCurrentIndex(int localIndex); + protected: + //private constructor - Singleton. + AlgorhythmicAudioIO(); + + virtual ~AlgorhythmicAudioIO(); + + PaStream* m_stream; + float m_actualLatency; + bool m_inited; + float m_speed; + float m_volume; + float m_freqMin; + float m_freqMax; + + bool m_seperatorOn; + bool m_notesOn; + + //these variables let the audio thread compute which index is currently being played back + bool m_playingIndividual; + int m_playIndexA; + int m_playIndexB; + int m_currentIndex; + +}; + +#endif + Added: primesieve/ofprimesieve/src/handyfuncs.cpp =================================================================== --- primesieve/ofprimesieve/src/handyfuncs.cpp (rev 0) +++ primesieve/ofprimesieve/src/handyfuncs.cpp 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,288 @@ +/* + * handyfuncs.c + * Genesynth + * + * Created by Michael Chinen on 4/13/06. + * Copyright 2006 Michael Chinen. All rights reserved. + * + */ + +#include "math.h" +#include "stdlib.h" + + +float amptodb(float); +float dbtoamp(float); +int randint(int); +float randfloat(float); +float randfloatexp2(float, int); +float exp2cursor(float, int); + +void cfft (double x [],int NC,int forward ); +void bitreverse (double x [],int N); + +//this next number essentially should be the number of octaves you want. +#define kRandFloatExp2Limit 9 + +float amptodb(float amp) +{ + return 20 * log10((double)amp); +} + +float dbtoamp(float db) +{ + return powf(10, db/20.0); +} + +int randint(int under) +{ + double randpart = rand()/(RAND_MAX+1.0); + int r = randpart*under; + return r; +} + +float randfloat(float under) +{ + double randpart = rand()/(RAND_MAX+1.0); + return randpart*under; +} + +//expontential in div by 2 - the last 50% has the same chance as the 25-50%,12.5-25%bracket, and so on. this will make +//lower values more likely, but it can't go on for infinity. we cut it once we reach a 1% bracket. +float randfloatexp2(float under, int divs) +{ + int part = randint(kRandFloatExp2Limit); + + if(part>0) + return (1.0/(1 << part) + randfloat(1.0/(1<<part)))*under; + else + { + //special case for the remainder. + return randfloat(1.0/(1<<((divs<1?kRandFloatExp2Limit:divs)-1))); + } +} + + +//cursor from 0 to 1, return a logarithmic cursor s.t. the 50%-100% bracket has the same cursor width as the 25-50%etc. +//we use randfloatexp2limit to define the smallest unit. +float exp2cursor(float cursor, int octaves) +{ + int useOctaves = octaves?octaves:kRandFloatExp2Limit; + if(cursor<2.0/((float)useOctaves)) + return cursor*useOctaves/2.0 * powf(2.0,(2.0/((float)useOctaves) - 1.0)* useOctaves); + else + return powf(2.0,(cursor - 1.0)* useOctaves); +} + +int coinflip() +{ + return randint(2); +} + +double mymin(double a, double b) +{ + return a<b?a:b; +} + +double mymax(double a, double b) +{ + return a>b?a:b; +} + +//borrowed from the Moore text. +void rfft ( + double x [], + int N, + int forward) +{ + double c1; + double c2; + double h1r; + double h1i; + double h2r; + double h2i; + double wr; + double wi; + double wpr; + double wpi; + double temp; + double theta; + double xr; + double xi; + int i; + int i1; + int i2; + int i3; + int i4; + int N2p1; + + double PII = 4.0 * atan (1.0); + + theta = PII / N; + wr = 1.0; + wi = 0.0; + c1 = 0.5; + + if (forward) + { + c2 = -0.5; + cfft (x,N,forward); + xr = x [0]; + xi = x [1]; + } + else + { + c2 = 0.5; + theta = -theta; + xr = x [1]; + xi = 0.0; + x [1] = 0.0; + } + + temp = sin (0.5 * theta); + wpr = -2.0 * (temp * temp); + wpi = sin (theta); + N2p1 = (N << 1) + 1; + + for (i=0; i<=N>>1; i++) + { + i1 = i << 1; + i2 = i1 + 1; + i3 = N2p1 - i2; + i4 = i3 + 1; + + if (i == 0) + { + h1r = c1 * (x [i1] + xr); + h1i = c1 * (x [i2] - xi); + h2r = -c2 * (x [i2] + xi); + h2i = c2 * (x [i1] - xr); + + x [i1] = h1r + wr * h2r - wi * h2i; + x [i2] = h1i + wr * h2i + wi * h2r; + + xr = h1r - wr * h2r + wi * h2i; + xi = -h1i + wr * h2i + wi * h2r; + } + else + { + h1r = c1 * (x [i1] + x [i3]); + h1i = c1 * (x [i2] - x [i4]); + h2r = -c2 * (x [i2] + x [i4]); + h2i = c2 * (x [i1] - x [i3]); + + x [i1] = h1r + wr * h2r - wi * h2i; + x [i2] = h1i + wr * h2i + wi * h2r; + x [i3] = h1r - wr * h2r + wi * h2i; + x [i4] = -h1i + wr * h2i + wi * h2r; + } + + wr = (temp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + temp * wpi + wi; + } + + if (forward) + x [1] = xr; + else + cfft (x,N,forward); +} + +void cfft ( + double x [], + int NC, + int forward ) +{ + double wr; + double wi; + double wpr; + double wpi; + double theta; + double scale; + double temp; + int mmax; + int ND; + int m; + int i; + int j; + int delta; + + double TWOPI = 8.0 * atan (1.0); + ND = NC << 1; + bitreverse (x,ND); + + delta = 0; + for (mmax=2; mmax<ND; mmax=delta) + { + delta = mmax << 1; + theta = TWOPI / (forward ? mmax : -mmax); + temp = sin (0.5 * theta); + wpr = -2.0 * (temp * temp); + wpi = sin (theta); + wr = 1.0; + wi = 0.0; + + for (m=0; m<mmax; m+=2) + { +#ifdef USEREGISTERS + register double rtemp; + register double itemp; +#else + double rtemp; + double itemp; +#endif + + for (i=m; i<ND; i+=delta) + { + j = i + mmax; + rtemp = wr * x [j] - wi * x [j+1]; + itemp = wr * x [j+1] + wi * x [j]; + x [j] = x [i] - rtemp; + x [j+1] = x [i+1] - itemp; + x [i] += rtemp; + x [i+1] += itemp; + } + + wr = (rtemp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + rtemp * wpi + wi; + } + } + + scale = forward ? 1.0 / ND : 2.0; + for (i=0; i<ND; i++) + { + x [i] *= scale; + } +} + +void bitreverse ( + double x [], + int N) +{ + double rtemp; + double itemp; + int i; + int j; + int m; + + m = 0; + for (i=j=0; i<N; i+=2,j+=m) + { + if (j>i) + { + rtemp = x [j]; + itemp = x [j+1]; + x [j] = x [i]; + x [j+1] = x [i+1]; + x [i] = rtemp; + x [i+1] = itemp; + } + + for (m=N>>1; m>=2 && j>=m; m>>=1) + { + j -= m; + } + } +} + + + Added: primesieve/ofprimesieve/src/handyfuncs.h =================================================================== --- primesieve/ofprimesieve/src/handyfuncs.h (rev 0) +++ primesieve/ofprimesieve/src/handyfuncs.h 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,44 @@ +/* + * handyfuncs.h + * Genesynth + * + * Created by Michael Chinen on 4/13/06. + * Copyright 2006 Michael Chinen. All rights reserved. + * + * a small collection of c functions that are good to have. + */ + + +#ifndef __HANDYFUNCS__ +#define __HANDYFUNCS__ + +/* +#ifdef __cplusplus + +extern "C"{ + +#endif +*/ + float amptodb(float amp); + + float dbtoamp(float db); + + int randint(int under); + + float randfloat(float); + float randfloatexp2(float under, int divs = -1); +float exp2cursor(float, int octaves=0); + int coinflip(); + + double mymin(double a, double b); + + double mymax(double a, double b); + void rfft (double x [],int N,int forward); + void cfft (double x [],int NC,int forward ); + void bitreverse (double x [],int N); +/* +#ifdef __cplusplus +} +#endif +*/ +#endif \ No newline at end of file Added: primesieve/ofprimesieve/src/main.cpp =================================================================== --- primesieve/ofprimesieve/src/main.cpp (rev 0) +++ primesieve/ofprimesieve/src/main.cpp 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,16 @@ +#include "ofMain.h" +#include "testApp.h" +#include "ofAppGlutWindow.h" + +//======================================================================== +int main( ){ + + ofAppGlutWindow window; + ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp()); + +} Added: primesieve/ofprimesieve/src/testApp.cpp =================================================================== --- primesieve/ofprimesieve/src/testApp.cpp (rev 0) +++ primesieve/ofprimesieve/src/testApp.cpp 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,129 @@ +#include "testApp.h" + +#include "handyfuncs.h" +#include "ofxSimpleGuiToo.h" +#include "AlgorhythmicAudioIO.h" + +float speedSliderVal_old; +int myInt1; +bool startButton; +bool bToggleFullscreen = false; +string textInput; +ofxSimpleGuiButton *startButtonControl; +//-------------------------------------------------------------- +void testApp::setup(){ + int currFontSize = 10; + arrayFont = new ofTrueTypeFont; + arrayFont->loadFont("Inconsolata.otf", currFontSize, true, true); + // arrayFont.setLineHeight(10.0f); + ofBackground(255,255,255); + + gui.setup(); + ofxSimpleGuiConfig &config = *gui.config; + + config.sliderHeight = 10; + config.sliderTextHeight = 15; + config.titleHeight = config.sliderHeight + config.sliderTextHeight; + config.toggleHeight = config.titleHeight; + config.buttonHeight = config.titleHeight; + config.slider2DTextHeight = config.titleHeight * 1.5; + config.comboBoxHeight = 47; //15 + config.comboBoxTextHeight = 16; + + + config.padding.set (config.titleHeight/2, 10); + config.offset.set (config.titleHeight/2, config.titleHeight/2); + config.slider2DSize.set (config.titleHeight * 4, config.titleHeight * 4); + + config.gridSize.x = 200 + config.padding.x; + config.gridSize.y = config.toggleHeight + config.padding.y; + +// gui.headerPage = &gui.addPage(" "); + gui.addPage(" "); + + speedSliderVal = speedSliderVal_old = 25; + volumeSliderVal = 0.8f; + gui.addSlider("Speed", speedSliderVal, 1.0f, 500.0f, false); + gui.addSlider("Volume", volumeSliderVal, 0.0f, 1.0f, false); + + gui.addButton("Toggle Fullscreen", bToggleFullscreen); + + gui.loadFromXML(); + gui.setPage(2); + gui.show(); + + drawGUI=true; + ofSetFrameRate(60); + ofBackground(0,0,0); +} + + +//-------------------------------------------------------------- +void testApp::update(){ + if (bToggleFullscreen) { + ofToggleFullscreen(); + ofSetVerticalSync(true); + bToggleFullscreen = false; + } + + if(startButton) { + startButton = false; + } + + AlgorhythmicAudioIO::Instance()->ChangeVolume(volumeSliderVal); +} + +//-------------------------------------------------------------- +void testApp::draw(){ + + if(drawGUI) + gui.draw(); +} +#define kArraysStringMaxSize 32767 + +static char lastDrawString[kArraysStringMaxSize+1]=""; + +#define kDrawMethodBorder 10 + +void testApp::keyPressed (int key){ + if(key == 'c') { + drawGUI=!drawGUI; + }else if(key == ' ') + { + startButton = 1; + } + +} + +//-------------------------------------------------------------- +void testApp::keyReleased (int key){ + +} + +//-------------------------------------------------------------- +void testApp::mouseMoved(int x, int y ){ +} + +//-------------------------------------------------------------- +void testApp::mouseDragged(int x, int y, int button){ + + +} + +//-------------------------------------------------------------- +void testApp::mousePressed(int x, int y, int button){ + + +} + + +//-------------------------------------------------------------- +void testApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + Added: primesieve/ofprimesieve/src/testApp.h =================================================================== --- primesieve/ofprimesieve/src/testApp.h (rev 0) +++ primesieve/ofprimesieve/src/testApp.h 2011-02-23 13:49:51 UTC (rev 275) @@ -0,0 +1,36 @@ +#ifndef _TEST_APP +#define _TEST_APP + + +#include "ofMain.h" +#include <vector> + +class testApp : public ofBaseApp{ + +public: + + + void setup(); + void update(); + void draw(); + + void keyPressedMouseMode(int key); + void keyPressedZoomMode(int key); + void keyPressedEffectsMode(int key); + void keyPressed (int key); + + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + +protected: + float speedSliderVal, volumeSliderVal; + ofTrueTypeFont *arrayFont; + int currFontSize; + bool drawGUI; +}; + +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-23 01:21:16
|
Revision: 274 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=274&view=rev Author: mchinen Date: 2011-02-23 01:21:10 +0000 (Wed, 23 Feb 2011) Log Message: ----------- commit windows build fix for Sorting Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj 2011-02-10 23:08:44 UTC (rev 273) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj 2011-02-23 01:21:10 UTC (rev 274) @@ -125,7 +125,7 @@ <Tool Name="VCCLCompilerTool" WholeProgramOptimization="false" - AdditionalIncludeDirectories="..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut\include;..\..\..\libs\rtAudio\include;..\..\..\libs\quicktime\include;..\..\..\libs\freetype\include;..\..\..\libs\freetype\include\freetype2;..\..\..\libs\freeImage\include;..\..\..\libs\fmodex\include;..\..\..\libs\videoInput\include;..\..\..\libs\glee\include;..\..\..\libs\glu\include;..\..\..\libs\poco\include;..\..\..\addons" + AdditionalIncludeDirectories="src\portaudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\graphics;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\app;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\sound;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\utils;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\communication;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\video;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworks\events;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\include\freetype2;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freeImage\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\poco\include;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxThread\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\libs;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons\ofxXmlSettings\src;..\..\..\ofxMSA\ofxMSAInteractiveObject\src;..\..\..\ofxMSA\ofxSimpleGuiToo\src\Controls;..\..\..\ofxMSA\ofxSimpleGuiToo\src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\addons" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;POCO_STATIC" RuntimeLibrary="2" UsePrecompiledHeader="0" @@ -144,9 +144,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="openframeworksLib.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmt.lib PocoNetmt.lib PocoUtilmt.lib PocoXMLmt.lib" + AdditionalDependencies="openframeworksLib.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmt.lib PocoNetmt.lib PocoUtilmt.lib PocoXMLmt.lib portaudio-v19.lib" LinkIncremental="1" - AdditionalLibraryDirectories="..\..\..\libs\glut\lib\vs2008;..\..\..\libs\rtAudio\lib\vs2008;..\..\..\libs\FreeImage\lib\vs2008;..\..\..\libs\freetype\lib\vs2008;..\..\..\libs\quicktime\lib\vs2008;..\..\..\libs\fmodex\lib\vs2008;..\..\..\libs\videoInput\lib\vs2008;..\..\..\libs\glee\lib\vs2008;..\..\..\libs\glu\lib\vs2008;..\..\..\libs\Poco\lib\vs2008;..\..\..\libs\openFrameworksCompiled\lib\vs2008" + AdditionalLibraryDirectories="src;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glut\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\rtAudio\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\FreeImage\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\freetype\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\quicktime\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\fmodex\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\videoInput\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glee\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\glu\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\Poco\lib\vs2008;..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\libs\openFrameworksCompiled\lib\vs2008" IgnoreAllDefaultLibraries="false" IgnoreDefaultLibraryNames="atlthunk.lib; LIBC.lib; LIBCMT;" GenerateDebugInformation="false" @@ -178,7 +178,7 @@ <Tool Name="VCPostBuildEventTool" Description="adding DLLs and creating data folder" - CommandLine="xcopy /e /i /y "$(ProjectDir)\..\..\..\export\vs2008\*.dll" "$(ProjectDir)\bin"
if not exist "$(ProjectDir)\bin\data" mkdir "$(ProjectDir)\bin\data"

" + CommandLine="xcopy /e /i /y "$(ProjectDir)..\..\..\..\of\of_preRelease_v0062_vs2008_FAT\export\vs2008\*.dll" "$(ProjectDir)bin"" /> </Configuration> </Configurations> Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-02-10 23:08:44 UTC (rev 273) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-02-23 01:21:10 UTC (rev 274) @@ -506,6 +506,8 @@ if( err != paNoError ) return false; err = Pa_CloseStream( m_stream ); if( err != paNoError ) return false; + + return true; } void AlgorhythmicAudioIO::Terminate() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-10 23:08:50
|
Revision: 273 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=273&view=rev Author: mchinen Date: 2011-02-10 23:08:44 +0000 (Thu, 10 Feb 2011) Log Message: ----------- CMake file beginnings Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/makefile Added Paths: ----------- algorhythmicSorting/ofAlgorhythmicSorting/CMakeLists.txt Added: algorhythmicSorting/ofAlgorhythmicSorting/CMakeLists.txt =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/CMakeLists.txt (rev 0) +++ algorhythmicSorting/ofAlgorhythmicSorting/CMakeLists.txt 2011-02-10 23:08:44 UTC (rev 273) @@ -0,0 +1,44 @@ +cmake_minimum_required (VERSION 2.6) +project (AlgorhythmicSorting) + +set(SRCS + src/AlgorhythmicAudioIO.cpp + src/ArrayView.cpp + src/BarsView.cpp + src/bubble.cpp + src/cleanerinsert.cpp + src/ConsoleView.cpp + src/handyfuncs.cpp + src/heap.cpp + src/ImageWriterSquaresView.cpp + src/main.cpp + src/msort.cpp + src/ofxMutex.cpp + src/quicksort.cpp + src/shell.cpp + src/sorthelp.cpp + src/SortingMan.cpp + src/SquaresView.cpp + src/testApp.cpp) + +find_path(PORTAUDIO_INCLUDE_DIR + NAMES + portaudio.h + PATHS + /home/shahn/src/algorhythmics/algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include + ) + +if (NOT PORTAUDIO_INCLUDE_DIR) + message(FATAL_ERROR "Could not find Portaudio") +else (NOT PORTAUDIO_INCLUDE_DIR) + message(STATUS "portaudio found in " ${PORTAUDIO_INCLUDE_DIR}) + include_directories(${PORTAUDIO_INCLUDE_DIR}) +endif (NOT PORTAUDIO_INCLUDE_DIR) + +set(OF_ROOT /home/shahn/of/of_preRelease_v0062_linux64_FAT) + +include_directories( + ${OF_ROOT}/libs/openFrameworks/utils/ + ${OF_ROOT}/libs/glee/include/) + +add_executable(AlgorhythmicSorting ${SRCS}) Modified: algorhythmicSorting/ofAlgorhythmicSorting/makefile =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/makefile 2011-02-01 00:04:22 UTC (rev 272) +++ algorhythmicSorting/ofAlgorhythmicSorting/makefile 2011-02-10 23:08:44 UTC (rev 273) @@ -53,12 +53,13 @@ SOURCES = $(shell find $(SOURCE_DIRS) -name "*.cpp" -or -name "*.c") OBJFILES = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES))) APPNAME = $(shell basename `pwd`) -OFPATH = ../../../../of/of_preRelease_v0062_linux_FAT +OFPATH = ../../../../of/of_preRelease_v0062_linux64_FAT OFXPATH = $(OFPATH)/addons OFXMSAPATH = ../../../ofxMSA CORE_INCLUDES = $(shell find $(OFPATH)/libs/openFrameworks/ -type d) CORE_INCLUDE_FLAGS = $(addprefix -I,$(CORE_INCLUDES)) INCLUDES = $(shell find $(OFPATH)/libs/*/include -type d) +INCLUDES += $(shell find $(OFXPATH) -type d) INCLUDES += $(shell find lib-src/*/include -type d) INCLUDES_FLAGS = $(addprefix -I,$(INCLUDES)) LIB_STATIC = $(shell ls $(OFPATH)/libs/*/lib/$(LIBSPATH)/*.a | grep -v openFrameworksCompiled | sed "s/.*\\/lib\([^/]*\)\.a/-l\1/") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-02-01 00:04:33
|
Revision: 272 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=272&view=rev Author: mchinen Date: 2011-02-01 00:04:22 +0000 (Tue, 01 Feb 2011) Log Message: ----------- add linux build Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/howtobuild.txt algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp Added Paths: ----------- algorhythmicSorting/ofAlgorhythmicSorting/lib-src/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Doxyfile algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/LICENSE.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/README.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/SConstruct algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/AUTHORS algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/COPYING algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/ChangeLog algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/INSTALL algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/Makefile.am algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/NEWS algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/README algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/SConscript algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/aclocal.m4 algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/bin/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/bin/Makefile.am algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/bin/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/OUT_OF_DATE algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/aclocal.m4 algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/config.guess algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/config.sub algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/configure algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/configure.ac algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/gnu/install-sh algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/devs_example.dsp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/devs_example.dsw algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/sine_example.dsp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/sine_example.dsw algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/static_library.dsp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc6/static_library.dsw algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7/OUT_OF_DATE algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/devs_example.sln algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/devs_example.vcproj algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/sine_example.sln algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/sine_example.vcproj algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/static_library.sln algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/build/vc7_1/static_library.vcproj algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/configure algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/configure.ac algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/Makefile.am algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/README algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/config.doxy algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/doc/config.doxy.linux algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/example/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/example/devs.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/example/sine.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/Makefile.am algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/AsioDeviceAdapter.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/AutoSystem.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/BlockingStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/CallbackStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/CppFunCallbackStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/Device.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/Exception.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/HostApi.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/InterfaceCallbackStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/MemFunCallbackStream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/PortAudioCpp.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/SampleDataFormat.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/Stream.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/StreamParameters.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/System.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/lib/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/lib/Makefile.am algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/lib/Makefile.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/portaudiocpp.pc.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/BlockingStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/CallbackStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/CppFunCallbackStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/Device.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/DirectionSpecificStreamParameters.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/Exception.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/HostApi.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/MemFunCallbackStream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/Stream.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/StreamParameters.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/System.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/Makefile-dll algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/Makefile-static algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/portaudio-dll.dev algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/portaudio-static.dev algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/dev-cpp/readme.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/portaudio.def algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/portaudio.dsp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/portaudio.dsw algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/portaudio.sln algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/portaudio.vcproj algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/msvc/readme.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/scons/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/scons/SConscript_common algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/build/scons/SConscript_opts algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/config.guess algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/config.log algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/config.status algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/config.sub algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/configure algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/configure.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/depcomp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/api_overview.dox algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/images/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/images/portaudio-external-architecture-diagram.png algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/license.dox algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/mainpage.dox algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/src/srcguide.dox algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/utils/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/doc/utils/checkfiledocs.py algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/fixdir.bat algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/fixfile.bat algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_asio.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_jack.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_linux_alsa.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_mac_core.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_unix_oss.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_win_ds.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_win_wasapi.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_win_waveformat.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/pa_win_wmme.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/include/portaudio.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/index.html algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/install-sh algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/libtool algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/libtool22.patch algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/ltmain.sh algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/missing algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/README.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/pablio.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/pablio.def algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/pablio.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/test_rw.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/test_rw_echo.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/test_w_saw.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/pablio/test_w_saw8.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/portaudio-2.0.pc algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/portaudio-2.0.pc.in algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/SConscript algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_allocation.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_allocation.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_converters.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_converters.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_cpuload.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_cpuload.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_debugprint.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_debugprint.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_dither.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_dither.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_endianness.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_front.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_hostapi.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_memorybarrier.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_process.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_process.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_ringbuffer.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_ringbuffer.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_skeleton.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_stream.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_stream.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_trace.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_trace.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_types.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/common/pa_util.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/alsa/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asihpi/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asihpi/pa_linux_asihpi.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/ASIO-README.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/Callback_adaptation_.pdf algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/Pa_ASIO.pdf algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/iasiothiscallresolver.cpp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/iasiothiscallresolver.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/asio/pa_asio.cpp algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/notes.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_blocking.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_blocking.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_internal.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_old.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_utilities.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/coreaudio/pa_mac_core_utilities.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/dsound/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds_dynlink.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds_dynlink.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/jack/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/jack/pa_jack.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/oss/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/oss/low_latency_tip.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/oss/recplay.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/AudioSessionTypes.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/FunctionDiscoveryKeys_devpkey.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/audioclient.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/devicetopology.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/endpointvolume.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/functiondiscoverykeys.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ks.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ksguid.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ksmedia.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ksproxy.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/ksuuids.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/mmdeviceapi.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/propidl.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/propkey.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/propkeydef.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/propsys.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/rpcsal.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/sal.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/sdkddkver.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/shtypes.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/mingw-include/structuredquery.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wasapi/readme.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wdmks/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wdmks/readme.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wmme/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/hostapi/wmme/pa_win_wmme.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/unix/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/unix/pa_unix_hostapis.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/unix/pa_unix_util.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/unix/pa_unix_util.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_win_hostapis.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_win_util.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_win_waveformat.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_win_wdmks_utils.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_win_wdmks_utils.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_x86_plain_converters.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/src/os/win/pa_x86_plain_converters.h algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/README.txt algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_convert.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_dither_calc.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_dual.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_multi_in.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_multi_out.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_record.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_record_reuse.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_sine.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_sine_amp.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_sine_formats.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_srate.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/debug_test1.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/pa_devs.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/pa_fuzz.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/pa_minlat.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/paqa_devs.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/paqa_errs.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest1.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_buffer.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_callbackstop.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_clip.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_converters.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_dither.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_dsound_surround.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_hang.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_in_overflow.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_jack_wasapi.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_latency.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_leftright.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_longsine.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_many.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_maxsines.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_mono.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_mono_asio_channel_select.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_multi_sine.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_out_underflow.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_pink.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_prime.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_read_record.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_read_write_wire.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_record.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_ringmix.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_saw.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine8.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine_channelmaps.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine_formats.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine_srate.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sine_time.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_start_stop.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_stop.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_stop_playout.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_sync.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_timing.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_toomanysines.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_two_rates.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_underflow.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_wire.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_wmme_low_level_latency_params.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_wmme_surround.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_write_sine.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/test/patest_write_stop.c algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/testcvs/ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/testcvs/changeme.txt algorhythmicSorting/ofAlgorhythmicSorting/makefile Modified: algorhythmicSorting/ofAlgorhythmicSorting/howtobuild.txt =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/howtobuild.txt 2011-01-21 01:00:46 UTC (rev 271) +++ algorhythmicSorting/ofAlgorhythmicSorting/howtobuild.txt 2011-02-01 00:04:22 UTC (rev 272) @@ -1,17 +1,22 @@ How to build ofAlgorithmicSorting -dec 5 2010 +jan 31 2011 mchinen My directory structure is that I have a folder called svncheckouts in my home directory. Steps to build: +0. Install openframeworks from the download from their website, and build a (preexisting) example in the apps foler to make sure it works. +For linux you will need to run some scripts as their documentation says (in the README) to get all dependencies. + 1.You need to have git installed and place a git clone of my ofxMSA addons at ../../../ofxMSA relative to this directory. -I keep my algorhythmics checkout folder in ~/scm on both mac and windows. So I put the ofxMSA in scm to acheive this. -For me that means I type "cd ~/scm; ls" and I can see ofxMSA there. +I keep my algorhythmics checkout folder in ~/scm on both mac and windows. So I put the ofxMSA in scm as well to acheive this. +For me that means I type "cd ~/scm; ls" and I can see ofxMSA as well as the algorhythmics folder there. 1.1. install git if you don't have it on mac with "sudo apt-get install git" or "sudo fink install git" on pc you can download tortisegit although you first need to download git for windows. -1.2. cd to the correct directory (for me "cd ~/svncheckouts") -1.3. type "git clone git://github.com/mchinen/ofxMSA.git" +1.2. cd to the correct directory (for me "cd ~/scm") +1.3. to get the msa addon, move to the directory and then type +git clone git://github.com/mchinen/ofxMSA.git +(for windows you can use tortise svn) 2.You need to have of installed to a directory that is on mac: @@ -19,5 +24,17 @@ on win: ../../../../of/of_preRelease_v0062_vs2008_FAT (relative to this directory) +on linux: +../../../../of/of_preRelease_v0062_linux_FAT -ttt \ No newline at end of file +3. + +on linux: +in the directory where this file is, do: +cd lib-src/portaudio-v19 +./configure --enable-static --prefix=$(pwd) +make +make install +you will get errors but that's okay, the libararies will be installed in the lib folder +then cd back to the directory that contains this file and do +make Added: algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Doxyfile =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Doxyfile (rev 0) +++ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Doxyfile 2011-02-01 00:04:22 UTC (rev 272) @@ -0,0 +1,239 @@ +# Doxyfile 1.4.6 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = PortAudio +PROJECT_NUMBER = 2.0 +OUTPUT_DIRECTORY = ./doc/ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = doc/src \ + src \ + include \ + test +FILE_PATTERNS = *.h \ + *.c \ + *.cpp \ + *.dox +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = doc/src/images +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO Added: algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/LICENSE.txt =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/LICENSE.txt (rev 0) +++ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/LICENSE.txt 2011-02-01 00:04:22 UTC (rev 272) @@ -0,0 +1,81 @@ +Portable header file to contain: +>>>>> +/* + * PortAudio Portable Real-Time Audio Library + * PortAudio API Header File + * Latest version available at: http://www.portaudio.com + * + * Copyright (c) 1999-2006 Ross Bencina and Phil Burk + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files + * (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + * The text above constitutes the entire PortAudio license; however, + * the PortAudio community also makes the following non-binding requests: + * + * Any person wishing to distribute modifications to the Software is + * requested to send the modifications to the original developer so that + * they can be incorporated into the canonical version. It is also + * requested that these non-binding requests be included along with the + * license above. + */ +<<<<< + + +Implementation files to contain: +>>>>> +/* + * PortAudio Portable Real-Time Audio Library + * Latest version at: http://www.portaudio.com + * <platform> Implementation + * Copyright (c) 1999-2000 <author(s)> + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files + * (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + * The text above constitutes the entire PortAudio license; however, + * the PortAudio community also makes the following non-binding requests: + * + * Any person wishing to distribute modifications to the Software is + * requested to send the modifications to the original developer so that + * they can be incorporated into the canonical version. It is also + * requested that these non-binding requests be included along with the + * license above. + */ +<<<<< \ No newline at end of file Added: algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile (rev 0) +++ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile 2011-02-01 00:04:22 UTC (rev 272) @@ -0,0 +1,223 @@ +# +# PortAudio V19 Makefile.in +# +# Dominic Mazzoni +# Modifications by Mikael Magnusson +# Modifications by Stelios Bounanos +# + +top_srcdir = . +srcdir = . + +top_builddir = . +PREFIX = /home/mchinen/scm/algorhythmics/algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19 +prefix = $(PREFIX) +exec_prefix = ${prefix} +bindir = ${exec_prefix}/bin +libdir = ${exec_prefix}/lib +includedir = ${prefix}/include +CC = gcc +CXX = @CXX@ +CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/common -I$(top_srcdir)/src/os/unix -g -O2 -DPA_LITTLE_ENDIAN -pthread -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_SYS_SOUNDCARD_H=1 -DHAVE_LINUX_SOUNDCARD_H=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DHAVE_CLOCK_GETTIME=1 -DHAVE_NANOSLEEP=1 -DPA_USE_ALSA=1 -DPA_USE_OSS=1 +LIBS = -lasound -lm -lpthread +AR = /usr/bin/ar +RANLIB = ranlib +SHELL = /bin/bash +LIBTOOL = $(SHELL) $(top_builddir)/libtool +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +SHARED_FLAGS = -shared -fPIC +LDFLAGS = +DLL_LIBS = -lrt -lasound -lm -lpthread +CXXFLAGS = +NASM = +NASMOPT = +LN_S = ln -s +LT_CURRENT=2 +LT_REVISION=0 +LT_AGE=0 + +OTHER_OBJS = src/hostapi/alsa/pa_linux_alsa.o src/hostapi/oss/pa_unix_oss.o src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o + +PALIB = libportaudio.la +PAINC = include/portaudio.h + +PA_LDFLAGS = $(LDFLAGS) -rpath $(libdir) -no-undefined \ + -export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa|PaAsio)_.*" \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) + +COMMON_OBJS = \ + src/common/pa_allocation.o \ + src/common/pa_converters.o \ + src/common/pa_cpuload.o \ + src/common/pa_dither.o \ + src/common/pa_debugprint.o \ + src/common/pa_front.o \ + src/common/pa_process.o \ + src/common/pa_skeleton.o \ + src/common/pa_stream.o \ + src/common/pa_trace.o + +TESTS = \ + bin/paqa_devs \ + bin/paqa_errs \ + bin/patest1 \ + bin/patest_buffer \ + bin/patest_callbackstop \ + bin/patest_clip \ + bin/patest_dither \ + bin/patest_hang \ + bin/patest_in_overflow \ + bin/patest_latency \ + bin/patest_leftright \ + bin/patest_longsine \ + bin/patest_many \ + bin/patest_maxsines \ + bin/patest_multi_sine \ + bin/patest_out_underflow \ + bin/patest_pink \ + bin/patest_prime \ + bin/patest_read_record \ + bin/patest_read_write_wire \ + bin/patest_record \ + bin/patest_ringmix \ + bin/patest_saw \ + bin/patest_sine8 \ + bin/patest_sine \ + bin/patest_sine_channelmaps \ + bin/patest_sine_formats \ + bin/patest_sine_time \ + bin/patest_sine_srate \ + bin/patest_start_stop \ + bin/patest_stop \ + bin/patest_stop_playout \ + bin/patest_toomanysines \ + bin/patest_underflow \ + bin/patest_wire \ + bin/patest_write_sine \ + bin/pa_devs \ + bin/pa_fuzz \ + bin/pa_minlat + +# Most of these don't compile yet. Put them in TESTS, above, if +# you want to try to compile them... +ALL_TESTS = \ + $(TESTS) \ + bin/patest_sync \ + bin/debug_convert \ + bin/debug_dither_calc \ + bin/debug_dual \ + bin/debug_multi_in \ + bin/debug_multi_out \ + bin/debug_record \ + bin/debug_record_reuse \ + bin/debug_sine_amp \ + bin/debug_sine \ + bin/debug_sine_formats \ + bin/debug_srate \ + bin/debug_test1 + +OBJS := $(COMMON_OBJS) $(OTHER_OBJS) + +LTOBJS := $(OBJS:.o=.lo) + +SRC_DIRS = \ + src/common \ + src/hostapi/alsa \ + src/hostapi/asihpi \ + src/hostapi/asio \ + src/hostapi/coreaudio \ + src/hostapi/dsound \ + src/hostapi/jack \ + src/hostapi/oss \ + src/hostapi/wasapi \ + src/hostapi/wdmks \ + src/hostapi/wmme \ + src/os/unix \ + src/os/win + +SUBDIRS = +#SUBDIRS += bindings/cpp + +all: lib/$(PALIB) all-recursive tests + +tests: bin-stamp $(TESTS) + + +# With ASIO enabled we must link libportaudio and all test programs with CXX +lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC) + $(LIBTOOL) --mode=link $(CC) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) + @ # $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) + +$(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c + $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) + @ # $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) + + +install: lib/$(PALIB) portaudio-2.0.pc + $(INSTALL) -d $(DESTDIR)$(libdir) + $(LIBTOOL) --mode=install $(INSTALL) lib/$(PALIB) $(DESTDIR)$(libdir) + $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL_DATA) -m 644 $(top_srcdir)/$(PAINC) $(DESTDIR)$(includedir)/portaudio.h + $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig + $(INSTALL) -m 644 portaudio-2.0.pc $(DESTDIR)$(libdir)/pkgconfig/portaudio-2.0.pc + @echo "" + @echo "------------------------------------------------------------" + @echo "PortAudio was successfully installed." + @echo "" + @echo "On some systems (e.g. Linux) you should run 'ldconfig' now" + @echo "to make the shared object available. You may also need to" + @echo "modify your LD_LIBRARY_PATH environment variable to include" + @echo "the directory $(libdir)" + @echo "------------------------------------------------------------" + @echo "" + $(MAKE) install-recursive + +uninstall: + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(PALIB) + $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(includedir)/portaudio.h + $(MAKE) uninstall-recursive + +clean: + $(LIBTOOL) --mode=clean rm -f $(LTOBJS) $(ALL_TESTS) lib/$(PALIB) + $(RM) bin-stamp lib-stamp + -$(RM) -r bin lib + +distclean: clean + $(RM) config.log config.status Makefile libtool portaudio-2.0.pc + +%.o: %.c $(MAKEFILE) $(PAINC) + $(CC) -c $(CFLAGS) $< -o $@ + +%.lo: %.c $(MAKEFILE) $(PAINC) + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@ + +%.lo: %.cpp $(MAKEFILE) $(PAINC) + $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@ + +%.o: %.cpp $(MAKEFILE) $(PAINC) + $(CXX) -c $(CXXFLAGS) $< -o $@ + +%.o: %.asm + $(NASM) $(NASMOPT) -o $@ $< + +bin-stamp: + -mkdir bin + touch $@ + +lib-stamp: + -mkdir lib + -mkdir -p $(SRC_DIRS) + touch $@ + +Makefile: Makefile.in config.status + $(SHELL) config.status + +all-recursive: + if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir all; done ; fi + +install-recursive: + if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir install; done ; fi + +uninstall-recursive: + if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir uninstall; done ; fi Added: algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile.in =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile.in (rev 0) +++ algorhythmicSorting/ofAlgorhythmicSorting/lib-src/portaudio-v19/Makefile.in 2011-02-01 00:04:22 UTC (rev 272) @@ -0,0 +1,223 @@ +# +# PortAudio V19 Makefile.in +# +# Dominic Mazzoni +# Modifications by Mikael Magnusson +# Modifications by Stelios Bounanos +# + +top_srcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ +top_builddir = . +PREFIX = @prefix@ +prefix = $(PREFIX) +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +includedir = @includedir@ +CC = @CC@ +CXX = @CXX@ +CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/common -I$(top_srcdir)/src/os/unix @CFLAGS@ @DEFS@ +LIBS = @LIBS@ +AR = @AR@ +RANLIB = @RANLIB@ +SHELL = @SHELL@ +LIBTOOL = @LIBTOOL@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +SHARED_FLAGS = @SHARED_FLAGS@ +LDFLAGS = @LDFLAGS@ +DLL_LIBS = @DLL_LIBS@ +CXXFLAGS = @CXXFLAGS@ +NASM = @NASM@ +NASMOPT = @NASMOPT@ +LN_S = @LN_S@ +LT_CURRENT=@LT_CURRENT@ +LT_REVISION=@LT_REVISION@ +LT_AGE=@LT_AGE@ + +OTHER_OBJS = @OTHER_OBJS@ + +PALIB = libportaudio.la +PAINC = include/portaudio.h + +PA_LDFLAGS = $(LDFLAGS) -rpath $(libdir) -no-undefined \ + -export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa|PaAsio)_.*" \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) + +COMMON_OBJS = \ + src/common/pa_allocation.o \ + src/common/pa_converters.o \ + src/common/pa_cpuload.o \ + src/common/pa_dither.o \ + src/common/pa_debugprint.o \ + src/common/pa_front.o \ + src/common/pa_process.o \ + src/common/pa_skeleton.o \ + src/common/pa_stream.o \ + src/common/pa_trace.o + +TESTS = \ + bin/paqa_devs \ + bin/paqa_errs \ + bin/patest1 \ + bin/patest_buffer \ + bin/patest_callbackstop \ + bin/patest_clip \ + bin/patest_dither \ + bin/patest_hang \ + bin/patest_in_overflow \ + bin/patest_latency \ + bin/patest_leftright \ + bin/patest_longsine \ + bin/patest_many \ + bin/patest_maxsines \ + bin/patest_multi_sine \ + bin/patest_out_underflow \ + bin/patest_pink \ + bin/patest_prime \ + bin/patest_read_record \ + bin/patest_read_write_wire \ + bin/patest_record \ + bin/patest_ringmix \ + bin/patest_saw \ + bin/patest_sine8 \ + bin/patest_sine \ + bin/patest_sine_channelmaps \ + bin/patest_sine_formats \ + bin/patest_sine_time \ + bin/patest_sine_srate \ + bin/patest_start_stop \ + bin/patest_stop \ + bin/patest_stop_playout \ + bin/patest_toomanysines \ + bin/patest_underflow \ + bin/patest_wire \ + bin/patest_write_sine \ + bin/pa_devs \ + bin/pa_fuzz \ + bin/pa_minlat + +# Most of these don't compile yet. Put them in TESTS, above, if +# you want to try to compile them... +ALL_TESTS = \ + $(TESTS) \ + bin/patest_sync \ + bin/debug_convert \ + bin/debug_dither_calc \ + bin/debug_dual \ + bin/debug_multi_in \ + bin/debug_multi_out \ + bin/debug_record \ + bin/debug_record_reuse \ + bin/debug_sine_amp \ + bin/debug_sine \ + bin/debug_sine_formats \ + bin/debug_srate \ + bin/debug_test1 + +OBJS := $(COMMON_OBJS) $(OTHER_OBJS) + +LTOBJS := $(OBJS:.o=.lo) + +SRC_DIRS = \ + src/common \ + src/hostapi/alsa \ + src/hostapi/asihpi \ + src/hostapi/asio \ + src/hostapi/coreaudio \ + src/hostapi/dsound \ + src/hostapi/jack \ + src/hostapi/oss \ + src/hostapi/wasapi \ + src/hostapi/wdmks \ + src/hostapi/wmme \ + src/os/unix \ + src/os/win + +SUBDIRS = +@ENABLE_CXX_TRUE@SUBDIRS += bindings/cpp + +all: lib/$(PALIB) all-recursive tests + +tests: bin-stamp $(TESTS) + + +# With ASIO enabled we must link libportaudio and all test programs with CXX +lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC) + @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) + @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) + +$(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c + @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) + @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) + + +install: lib/$(PALIB) portaudio-2.0.pc... [truncated message content] |
From: <mc...@us...> - 2011-01-21 01:00:53
|
Revision: 271 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=271&view=rev Author: mchinen Date: 2011-01-21 01:00:46 +0000 (Fri, 21 Jan 2011) Log Message: ----------- add fullscreen button Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-01-20 22:00:18 UTC (rev 270) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-01-21 01:00:46 UTC (rev 271) @@ -225,7 +225,7 @@ E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; }; - E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlgorhythmicSortingDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlgorhythmicSorting.app; sourceTree = BUILT_PRODUCTS_DIR; }; E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; @@ -609,7 +609,7 @@ isa = PBXGroup; children = ( 84BFF66D11C4CD9C000DB417 /* addons */, - E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */, + E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */, E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, E4B69E1C0A3A1BDC003C02F2 /* src */, E4C2422310CC54B6004149E2 /* openFrameworks */, @@ -752,7 +752,7 @@ ); name = AlgorhythmicSorting; productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSortingDebug.app */; + productReference = E4B69B5B0A3A1756003C02F2 /* AlgorhythmicSorting.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -964,7 +964,8 @@ E4B69B4E0A3A1720003C02F2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; @@ -1001,7 +1002,8 @@ E4B69B4F0A3A1720003C02F2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; COPY_PHASE_STRIP = YES; DEAD_CODE_STRIPPING = YES; Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-20 22:00:18 UTC (rev 270) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-21 01:00:46 UTC (rev 271) @@ -45,6 +45,7 @@ bool startButton; bool genButton; bool bSaveImage = false; +bool bToggleFullscreen = false; string textInput; ofxSimpleGuiButton *startButtonControl; //-------------------------------------------------------------- @@ -114,7 +115,11 @@ gui.addButton("Generate New Array", genButton); startButtonControl = &gui.addButton("Start", startButton); + gui.addButton("Toggle Fullscreen", bToggleFullscreen); gui.addButton("Save History as Image", bSaveImage); + + + gui.loadFromXML(); gui.setPage(2); @@ -144,6 +149,11 @@ writePng(); bSaveImage = false; } + if (bToggleFullscreen) { + ofToggleFullscreen(); + ofSetVerticalSync(true); + bToggleFullscreen = false; + } if(startButton) { startButton = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-20 22:00:27
|
Revision: 270 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=270&view=rev Author: mchinen Date: 2011-01-20 22:00:18 +0000 (Thu, 20 Jan 2011) Log Message: ----------- Add several new features: Focus on one or more threads via the thread mask Change the memory format from int16 to float. Beginnings of stack depth sonification. GUI touchup Modified Paths: -------------- FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib FuckingFucker/FuckingAudioIO.cpp FuckingFucker/FuckingAudioIO.h FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj FuckingFucker/FuckingFuckerMan.cpp FuckingFucker/FuckingFuckerMan.h FuckingFucker/FuckingFuckerView.h FuckingFucker/FuckingFuckerView.mm Modified: FuckingFucker/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: FuckingFucker/FuckingAudioIO.cpp =================================================================== --- FuckingFucker/FuckingAudioIO.cpp 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingAudioIO.cpp 2011-01-20 22:00:18 UTC (rev 270) @@ -45,13 +45,11 @@ { float* temp; - - - - int buflen = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->buflen; + int buflen = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->buflen; int bufstart = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->bufstart; - int mode = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->mode; - int lastreg = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->lastreg; + int mode = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->mode; + int lastreg = FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->lastreg; + SonificationFormat memoryFormat = FuckingAudioIO::Instance()->GetSonificationFormat(); int itemp; temp = FuckingFuckerMan::Instance()->GetBuffer() + bufstart; @@ -59,8 +57,11 @@ if(start>buflen||start<0) start=0; - if(start<buflen -framesPerBuffer*NUM_CHANNELS) +//-- shuttering game of life style noise on register impulses +// Use a buffer that comes from the opcode activity thread + if(start<buflen -framesPerBuffer * NUM_CHANNELS) { memcpy(((float*)outputBuffer),temp+start,framesPerBuffer*NUM_CHANNELS*sizeof(float)); + } else { memcpy(((float*)outputBuffer),temp+start,(buflen-start)*sizeof(float)); @@ -68,6 +69,7 @@ memcpy(((float*)outputBuffer)+(buflen-start),temp, (framesPerBuffer*NUM_CHANNELS-(buflen-start))*sizeof(float)); } + //dilute the samples int moveamount =3; float schwach = (((lastreg+41)*313)%1000 -500)/600.0; @@ -131,11 +133,17 @@ delete [] noisearray; } +//-- Memory Sonification from target (attached) app ---------------------------------- + opcode_analysis* analysis = FuckingFuckerMan::Instance()->GetOpcodeAnalysis(); - int16_t *membuf = NULL; + uint8_t *membuf = NULL; + int sizeOfMemorySample; int use_size; int mem_out_cursor; + + sizeOfMemorySample = memoryFormat == eFloatSonificationFormat ? sizeof (float) : sizeof(int16_t); + if(analysis->curr_buf == 0 && analysis->membuf1_used < analysis->membuf1_size){ use_size = mymin(framesPerBuffer, analysis->membuf1_size - analysis->membuf1_used); membuf = analysis->membuf1 + analysis->membuf1_used; @@ -146,19 +154,33 @@ } if(membuf) { - for(int i=0;i<use_size;i++) { + for(int i = 0; i < use_size; i++) { for( int z = 0; z < NUM_CHANNELS; z++ ) { - ((float*)outputBuffer)[i*NUM_CHANNELS+z] += membuf[i]/32768.0; + if (eInt16SonificationFormat == memoryFormat) + ((float*)outputBuffer)[i*NUM_CHANNELS+z] += ((int16_t*)membuf)[i]/32768.0; + else if (eFloatSonificationFormat == memoryFormat) { + //the last 24 bits are the mantissa. We don't care about the exponent because + //very large or small values will not be sonifyable + float fval = ((float*)membuf)[i]; + double fraction; + int n; + + fraction = frexpf(fval, &n); + //much of this will be clipped, so handle in a reasonable way; + fval = fraction; + ((float*)outputBuffer)[i*NUM_CHANNELS+z] += fval; + + } } } } if(analysis->curr_buf == 0 && analysis->membuf1_used < analysis->membuf1_size){ - analysis->membuf1_used += use_size; + analysis->membuf1_used += use_size * sizeOfMemorySample; if(analysis->membuf1_used >= analysis->membuf1_size) analysis->curr_buf = 1; } if(analysis->curr_buf == 1 && analysis->membuf2_used < analysis->membuf2_size){ - analysis->membuf2_used += use_size; + analysis->membuf2_used += use_size * sizeOfMemorySample; if(analysis->membuf2_used >= analysis->membuf2_size) analysis->curr_buf = 0; } @@ -209,6 +231,16 @@ } +SonificationFormat FuckingAudioIO::ToggleSonificationFormat() +{ + if (m_sonificationFormat + 1 < eNumSonificationFormats) + m_sonificationFormat = (SonificationFormat) (m_sonificationFormat + 1); + else { + m_sonificationFormat = (SonificationFormat) 0; + } + return m_sonificationFormat; +} + void FuckingAudioIO::ToggleSoundOn() { m_soundOn=!m_soundOn; @@ -233,6 +265,7 @@ err = Pa_Initialize(); m_inited= err == paNoError ; + m_sonificationFormat = eInt16SonificationFormat; m_sonifyOwnGUI=false; m_soundOn=true; m_manCursor=0; Modified: FuckingFucker/FuckingAudioIO.h =================================================================== --- FuckingFucker/FuckingAudioIO.h 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingAudioIO.h 2011-01-20 22:00:18 UTC (rev 270) @@ -17,6 +17,12 @@ #include "portaudio.h" +enum SonificationFormat { + eFloatSonificationFormat = 0, + eInt16SonificationFormat = 1, + eNumSonificationFormats +}; + class FuckingAudioIO { public: @@ -39,6 +45,9 @@ bool IsSoundOn(){return m_soundOn;} int GetManCursor(){return m_manCursor;} void SetManCursor(int x){m_manCursor=x;} + + SonificationFormat ToggleSonificationFormat(); + SonificationFormat GetSonificationFormat() {return m_sonificationFormat;} protected: //private constructor - Singleton. FuckingAudioIO(); @@ -50,6 +59,7 @@ bool m_inited; bool m_sonifyOwnGUI; bool m_soundOn; + SonificationFormat m_sonificationFormat; int m_manCursor; }; Modified: FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj =================================================================== --- FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingFucker.xcodeproj/project.pbxproj 2011-01-20 22:00:18 UTC (rev 270) @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 42; + objectVersion = 45; objects = { /* Begin PBXBuildFile section */ @@ -83,7 +83,7 @@ 1857B95311128E6F00F153F5 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; }; 1857B95411128E6F00F153F5 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; }; 1857B95511128E6F00F153F5 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; - 1857B97E1112902B00F153F5 /* FuckingAudioIO.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; path = FuckingAudioIO.cpp; sourceTree = "<group>"; }; + 1857B97E1112902B00F153F5 /* FuckingAudioIO.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; indentWidth = 3; path = FuckingAudioIO.cpp; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; 1857B97F1112902B00F153F5 /* FuckingAudioIO.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FuckingAudioIO.h; sourceTree = "<group>"; }; 1857B9811112902B00F153F5 /* handyfuncs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = handyfuncs.h; sourceTree = "<group>"; }; 1857B992111290E800F153F5 /* handyfuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = handyfuncs.cpp; sourceTree = "<group>"; }; @@ -555,7 +555,7 @@ 3E636552116A28630095817A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -573,9 +573,9 @@ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)\""; - ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)"; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = lstn; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SDKROOT = macosx10.5; VALID_ARCHS = "x86_64 i386 ppc"; WRAPPER_EXTENSION = app; ZERO_LINK = YES; @@ -602,7 +602,9 @@ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)\""; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = lstn; + SDKROOT = macosx10.5; WRAPPER_EXTENSION = app; }; name = Release; @@ -610,8 +612,7 @@ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; @@ -665,6 +666,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; + CODE_SIGN_IDENTITY = "Institute for Algorhythmics"; GCC_VERSION = 4.0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -672,7 +674,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.6; PREBINDING = NO; PRODUCT_NAME = lstn; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = macosx10.4; }; name = Debug; }; @@ -687,7 +689,7 @@ ONLY_LINK_ESSENTIAL_SYMBOLS = YES; PREBINDING = NO; PRODUCT_NAME = lstn; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT = macosx10.4; VALID_ARCHS = "i386 ppc"; }; name = Release; Modified: FuckingFucker/FuckingFuckerMan.cpp =================================================================== --- FuckingFucker/FuckingFuckerMan.cpp 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingFuckerMan.cpp 2011-01-20 22:00:18 UTC (rev 270) @@ -60,8 +60,11 @@ int token; int read_ok; void* thread_state;//can be ppc_thread_state_t or i386_thread_state_t - void* float_state; + void* float_state; + int numThreads; + int currThread; + void* priv;//for things such as i386_dissasemble_info which need function pointers inited void (*pf_get_thread_state)(thread_act_t , void*,mach_msg_type_number_t*); @@ -298,6 +301,7 @@ pthread_mutex_init (&m_outViewMutex, NULL); m_outputString = @""; + m_threadMask = 0xFFFF; //allow all threads to be read. m_oscOn = false; m_speedControl=1.0;//full speed. m_opAnalysis.minpc = 0xFFFFFFF; @@ -375,7 +379,7 @@ cpu_type_t cputype; bool is64Bit = false; - err = task_for_pid(mach_task_self(), pid, &task); //TODO:are we leaking this? + err = task_for_pid(mach_task_self(), pid, &task); //first attempt 32 bit. if that fails, do 64 //this below will fail if not run with sudo @@ -545,7 +549,7 @@ //thread_set_exception_ports() - enable single stepping // we can get single step by bit ORing the 0x400UL bit to the srr0 (PC) register. for ppc i guess -#define kOpDelayMicros 1000 +#define kOpDelayMicros 10000 #define kPrintTimerFireMicros 100000 //#define kPrintTimerFireMicros 1000000 //returns -1 if no error @@ -735,14 +739,14 @@ } - opcode_analysis* analysis = FuckingFuckerMan::Instance()->GetOpcodeAnalysis(); + opcode_analysis* analysis = FuckingFuckerMan::Instance()->GetOpcodeAnalysis(attach.currThread); if(printtimer<0) { printtimer=kPrintTimerFireMicros; - if(attach.read_ok && FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->load_addr) + if(attach.read_ok && analysis->load_addr) { #define kFFScanStart 0x00180000 //right now this only works with one task @@ -769,6 +773,7 @@ // scanAdd = kFFScanStart; static vm_address_t lastAlloc = 0xFFFFFFFF; static vm_size_t lastSize = 0; + int scanJumpAmount = 0x1000; if(1 || analysis->membuf1_size <= analysis->membuf1_used) { //try the next address. @@ -776,23 +781,17 @@ tries = 0; while(kr!=0 && tries++ < 10) { - // if(lastAlloc != 0xFFFFFFFF) - // vm_deallocate(port, lastAlloc, lastSize); - // kr = vm_allocate(port, &lastAlloc, kMemoryBufferSize * sizeof(*analysis->membuf1), TRUE); - // if(kr == 0) - // kr = vm_read_overwrite(port, (vm_address_t) lastAlloc, (vm_size_t) kMemoryBufferSize * sizeof(*analysis->membuf1), (vm_address_t) analysis->membuf1, &bytesRead); - // - kr = vm_read_overwrite(port, (vm_address_t) scanAdd, (vm_size_t) kMemoryBufferSize * sizeof(*analysis->membuf1), (vm_address_t) analysis->membuf1, &bytesRead); if(kr!=0) { - printf("scan fail %x",scanAdd); - scanAdd = coinflip()?kFFScanStart:randint(0x80000000); + printf("scan fail %i, at %x", tries, scanAdd); + scanAdd += randint(scanJumpAmount); + scanJumpAmount *= 2; } } if(kr==0){ // printf("scan ok %i",bytesRead); - analysis->membuf1_size = bytesRead/sizeof(*analysis->membuf1); + analysis->membuf1_size = bytesRead; analysis->membuf1_used = 0; analysis->lastReadAddr = scanAdd + bytesRead; analysis->curr_buf = 0; @@ -801,35 +800,32 @@ kr = 1; tries = 0; - while(kr!=0 && tries++ < 10) { - // if(lastAlloc != 0xFFFFFFFF) - // vm_deallocate(port, lastAlloc, lastSize); - // kr = vm_allocate(port, &lastAlloc, kMemoryBufferSize * sizeof(*analysis->membuf1), TRUE); - // if(kr == 0) - // kr = vm_read_overwrite(port, (vm_address_t) lastAlloc, (vm_size_t) kMemoryBufferSize * sizeof(*analysis->membuf1), (vm_address_t) analysis->membuf1, &bytesRead); - // - + while(kr!=0 && tries++ < 10) { kr = vm_read_overwrite(port, (vm_address_t) scanAdd, (vm_size_t) kMemoryBufferSize, (vm_address_t) analysis->membuf2, &bytesRead); if(kr!=0) { - printf("scan fail %x",scanAdd); - scanAdd = coinflip()?kFFScanStart:randint(0x80000000); + printf("scan fail %i, at %x", tries, scanAdd); + scanAdd += randint(scanJumpAmount); + scanJumpAmount *= 2; } } if(kr==0){ - analysis->membuf2_size = bytesRead/sizeof(*analysis->membuf2); + analysis->membuf2_size = bytesRead; analysis->membuf2_used = 0; analysis->lastReadAddr = scanAdd + bytesRead; } } } - FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat:@"pc: 0x%X opcode:%qX byte:%.2X inst:(%s)\n",threadState.FUCKINGEIP,opcode,(int)info->opcodebyte, info->desc]); + FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: + @">%2ipc: 0x%X opcode:%qX byte:%.2X inst:(%s)\n", + attach.currThread, threadState.FUCKINGEIP, + opcode,(int)info->opcodebyte, info->desc]); //start backtrace - doesnt work for intel mac core2duo QBTFrame * frames; size_t frameToAllocate; size_t frameCount; - frameToAllocate = 10; + frameToAllocate = 100; frames = (QBTFrame *) calloc(frameToAllocate, sizeof(QBTFrame)); @@ -849,18 +845,30 @@ char* space; space = (char*) malloc(frameToAllocate+1); //fill it with holes - memset(space,' ',frameToAllocate); + memset(space, ' ', frameToAllocate); //terminate it space[frameToAllocate]=0; + // we modify our noisetree/ stack here. we don't know how long the functions will last. + // nosiestack elements modify the playback of the edx memory with basic modulation. + // for now we break the callstack up into (callstack / kNoiseStackFramesPerItem) elements + // we compare with the previous one to see if any elements changed, and pop the old and add the new. + // For this to work we need the complete callstack from the root, but sometimes the call stack + // is more than 100 elements, which can be tricky. if(btres==0) { - for(int i=0;i<mymin(frameCount,frameToAllocate);i++) + for(int i = 0;i < mymin(50,mymin(frameCount,frameToAllocate));i++) { //adds indentation by using pointer arithmathic and the spaces string FuckingFuckerMan::Instance()->AppendToOutput( [NSString stringWithFormat: - @"%spc:%qX fp:%qX %s\n", - space+frameToAllocate-i,frames[i].pc,frames[i].fp,frames[i].symbol?frames[i].symbol:"(no symbol)"]);//,frames[i].library?frames[i].library:"" ]); + @">%2i%s %s %s pc:%qX fp:%qX offset:+%i\n", + attach.currThread, + space + frameToAllocate - i, + frames[i].symbol ? frames[i].symbol : "(no symbol)", + space + frameToAllocate - (frameToAllocate - i), + frames[i].pc, + frames[i].fp, + (int)frames[i].offset]); } }else @@ -889,7 +897,7 @@ analysis->buflen =((float)info->opcodebyte/256.0)*kFFManAudioBufferSize*0.5+512; //analysis->bufstart = randfloat(mymin(1.0,analysis->cursor+0.3))*(kFFManAudioBufferSize-analysis->buflen); - FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->bufstart = randint(kFFManAudioBufferSize-FuckingFuckerMan::Instance()->GetOpcodeAnalysis()->buflen); + analysis->bufstart = randint(kFFManAudioBufferSize - analysis->buflen); analysis->mode = info->opcodebyte%4;//4 modes //for(int j=0;j<info.numoperands;j++) @@ -1158,8 +1166,16 @@ //decrement the timer so that it can fire. printtimer -=kOpDelayMicros; + attach->numThreads = thread_count; + for(i=0;i<thread_count;i++) { + //check the thread mask to see if the user wants to analyze this thread + if (!((1 << i) & FuckingFuckerMan::Instance()->GetThreadMask())) + continue; + + attach->currThread = i; + //fetch thread state using function pointers that point to functions for given cpu (*attach->pf_get_thread_state)(thread_list[i], attach->thread_state, &sc ); (*attach->pf_get_float_state)(thread_list[i], attach->float_state, &sc ); @@ -1260,10 +1276,16 @@ [pool release]; } +opcode_analysis* FuckingFuckerMan::GetOpcodeAnalysis(int threadnum) +{ + return &m_opAnalysis; +} + + Modified: FuckingFucker/FuckingFuckerMan.h =================================================================== --- FuckingFucker/FuckingFuckerMan.h 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingFuckerMan.h 2011-01-20 22:00:18 UTC (rev 270) @@ -15,10 +15,18 @@ //#define kMemoryBufferSize 4096 //#define kMemoryBufferSize (256*13) -#define kMemoryBufferSize 32768 +#define kMemoryBufferSize 65536 #include <pthread.h> +#include <vector> +#include "QBacktrace.h" +#import <Foundation/NSString.h> -#import <Foundation/NSString.h> +typedef struct { + std::vector<QBTFrame> stackframes; + //number of actual stacktrace frames per sonification stack frame. + int framestep; +} sonification_stack; + typedef struct{ volatile float phase; volatile float freq; @@ -37,10 +45,11 @@ volatile int membuf2_size; volatile int membuf1_used; volatile int membuf2_used; - int16_t membuf1[kMemoryBufferSize]; - int16_t membuf2[kMemoryBufferSize]; + uint8_t membuf1[kMemoryBufferSize]; + uint8_t membuf2[kMemoryBufferSize]; int curr_buf; + volatile int thread_num; } opcode_analysis; @@ -70,14 +79,14 @@ void DetachAll(){m_attachToken++; m_readToken=0;} int GetCurrentAttachToken(){return m_attachToken;} - opcode_analysis* GetOpcodeAnalysis(){return &m_opAnalysis;} + opcode_analysis* GetOpcodeAnalysis(int threadnum = -1); void ToggleOSC(){m_oscOn=!m_oscOn;} bool IsOSCOn(){return m_oscOn;} void SetSpeedControl(float f){m_speedControl = f;} float GetSpeedControl(){return m_speedControl;} - - + void SetThreadMask(unsigned int mask) {m_threadMask = mask;} + unsigned int GetThreadMask(){return m_threadMask;} protected: //private constructor - Singleton. FuckingFuckerMan(); @@ -92,6 +101,8 @@ pthread_mutex_t m_outViewMutex; opcode_analysis m_opAnalysis; + //maintain a vector of opcode_analysis, one for each thread we focus one, and one for a default. +// std::vector<opcode_analysis*> m_opcodeAnalyses; float* m_audioBuffer; float m_speedControl; @@ -99,6 +110,7 @@ int m_readToken; bool m_oscOn; + unsigned int m_threadMask; }; #endif Modified: FuckingFucker/FuckingFuckerView.h =================================================================== --- FuckingFucker/FuckingFuckerView.h 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingFuckerView.h 2011-01-20 22:00:18 UTC (rev 270) @@ -11,15 +11,19 @@ IBOutlet NSTextField *readAddrTextField; - + IBOutlet NSTextField *catchNameTextField; + + + IBOutlet NSTextField *threadMaskTextField; NSBitmapImageRep* renderBitmap; NSTimer* timer; } - (id)initWithFrame:(NSRect)frame; - dealloc ; +- (IBAction)toggleMemorySonificationFormat:(id)sender; - (IBAction)attachToProcess:(id)sender; - (IBAction)catchProcess:(id)sender; - (IBAction)sonifyAttachedProcess:(id)sender; @@ -29,6 +33,7 @@ - (IBAction)changeReadAddr:(id)sender; - (IBAction)changeKeepReading:(id)sender; - (IBAction)changeLoadAddr:(id)sender; +- (IBAction)changeThreadMask:(id)sender; - (IBAction)detachAll:(id)sender; - (IBAction)toggleSonifyOwnProcess:(id)sender; Modified: FuckingFucker/FuckingFuckerView.mm =================================================================== --- FuckingFucker/FuckingFuckerView.mm 2011-01-13 22:34:21 UTC (rev 269) +++ FuckingFucker/FuckingFuckerView.mm 2011-01-20 22:00:18 UTC (rev 270) @@ -113,7 +113,7 @@ StringTexture* activityString=[[StringTexture alloc] initWithString: printString withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSColor blackColor],NSForegroundColorAttributeName, - [NSFont systemFontOfSize:gray?7.5:9.5],NSFontAttributeName, + [NSFont userFixedPitchFontOfSize:gray?7.5:9.5],NSFontAttributeName, style,NSParagraphStyleAttributeName,nil] withTextColor:[NSColor colorWithDeviceRed:gray?0.15f:1.0f green:gray?0.15f:1.0f blue:gray?0.15f:1.0f alpha:0.01f] withBoxColor:[NSColor colorWithDeviceRed:1.0f green:1.0f blue:1.0f alpha: 0.0f] @@ -378,4 +378,30 @@ { } +- (IBAction)toggleMemorySonificationFormat:(id)sender +{ + SonificationFormat newFormat; + NSString *string = @""; + newFormat = FuckingAudioIO::Instance()->ToggleSonificationFormat(); + + switch (newFormat) { + case eInt16SonificationFormat: + string = @"int16"; + break; + default: + string = @"float"; + break; + } + [sender setTitle:string]; +} + +- (IBAction)changeThreadMask:(id)sender +{ + unsigned int val; + + if ( [[NSScanner scannerWithString:[sender stringValue]] scanHexInt:&val] ) { + FuckingFuckerMan::Instance()->SetThreadMask(val); + + } +} @end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-13 22:34:28
|
Revision: 269 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=269&view=rev Author: mchinen Date: 2011-01-13 22:34:21 +0000 (Thu, 13 Jan 2011) Log Message: ----------- fix double array playback for insertsort and probably others Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-01-13 21:44:02 UTC (rev 268) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-01-13 22:34:21 UTC (rev 269) @@ -377,7 +377,7 @@ { mzsortdata.approxEvals+=size; - if(array!=mzsortdata.doubleArray) + if(array!=mzsortdata.doubleArray || size != mzsortdata.doubleArraySize) { LockSortData(); mzsortdata.doubleArray=array; Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-13 21:44:02 UTC (rev 268) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-13 22:34:21 UTC (rev 269) @@ -33,22 +33,22 @@ void insertion_sort(double a[], int length) { int i; + int broke = 0; for (i=0; i < length; i++) { /* Insert a[i] into the sorted sublist */ int j; double v = a[i]; - + broke = 0; for (j = i - 1; j >= 0; j--) { - // printseperator(1); - printdoublearray(a, length, j, i - j + 1, j, i); // function defined somewhere else + printdoublearray(a, length, j, i - j + 1, j, i); if (a[j] <= v) { - + broke = 1; break; } a[j + 1] = a[j]; - printdoublearray(a, length, j, i - j + 1, j+1); // function defined somewhere else + printdoublearray(a, length, j, i - j + 1, j+1); // stopping the loop @@ -57,7 +57,7 @@ } a[j + 1] = v; printseperator(0); - printdoublearray(a, length, j, i - j + 2, j+1); // function defined somewhere else + printdoublearray(a, length, j, i - j + 1, j+1); // function defined somewhere else } } // Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-13 21:44:02 UTC (rev 268) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-13 22:34:21 UTC (rev 269) @@ -1,197 +1,197 @@ -#include <stdio.h> -#include "sorthelp.h" - -#ifdef WIN32 -#include <Windows.h> -#else -#include <unistd.h> -#endif +#include <stdio.h> +#include "sorthelp.h" -#include <algorithm> -#include "AlgorhythmicAudioIO.h" -#include "handyfuncs.h" - -#include "SortingMan.h" - -static int *arrayStatus = NULL; -static double doublePair[2]; -void printdoublearray(double* array, int size, int focusstart, int focussize, int swapaindex, int swapbindex){ - int i; - //audio has latency so we do this first then rest by the latency amt. - float secondsToRest; - if(swapaindex!=-1 && swapbindex !=-1) - { - //if we were given a pair, we just play the pair. - doublePair[0]=array[swapaindex]; - doublePair[1]=array[swapbindex]; - //mark that we are just playing two possibly seperated values and their indexes - //so we audio io thread can tell us which index is currently being played - AlgorhythmicAudioIO::Instance()->SetIndividual(true); - AlgorhythmicAudioIO::Instance()->SetAIndex(mymin(swapaindex, swapbindex)); - AlgorhythmicAudioIO::Instance()->SetBIndex(mymax(swapaindex, swapbindex)); - secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray((double*)doublePair, 2); // - }else if(swapaindex!=-1) - { - //some cases have just one number in focus - doublePair[0]=array[swapaindex]; - AlgorhythmicAudioIO::Instance()->SetIndividual(true); - AlgorhythmicAudioIO::Instance()->SetAIndex(swapaindex); - secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray((double*)doublePair, 1); // - }else - { - // play the values (freq) of a block - //in the array case we overload A index as starting point and b as size - AlgorhythmicAudioIO::Instance()->SetIndividual(false); - AlgorhythmicAudioIO::Instance()->SetAIndex(focusstart); - AlgorhythmicAudioIO::Instance()->SetBIndex(focussize); - secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray(array+focusstart, focussize); // - } - float secsLatency = AlgorhythmicAudioIO::Instance()->GetActualLatency()/1000.0f; - - //rest so the visuals don't popup before audio. - #ifdef WIN32 - timeBeginPeriod(1); - Sleep(1000*(mymin(secsLatency, secondsToRest))); //windows sleep in milliseconds - #else - usleep(1000000*(mymin(secsLatency, secondsToRest))); //mac sleep in microseconds - cooler :) - #endif - - static double* last = NULL; - static int lastSize = -1; - bool haveLast = false; - - if(-1==focussize) - { - focussize=size; - } - - if(-1 == lastSize) - { - lastSize = size; - last = new double[size]; - arrayStatus = new int[size]; - } - else if(lastSize!=size) - { - delete [] last; - delete [] arrayStatus; - lastSize = size; - last = new double[size]; - arrayStatus = new int[size]; - } - else - { - //we have a previous array, so diff the values - haveLast = true; - - } - - char myString[64]; - for(i=0; i<size; i++) - { - bool changed; - changed = false; - arrayStatus[i] = 0; - //see if the value changed from last array - if(haveLast) - { - if (last[i] != array[i]) { - arrayStatus[i] |= kMarkerChanged; - changed= true; - } - if (i >= focusstart && i < focusstart + focussize) { - arrayStatus[i] |= kMarkerFocused; - } - if (i == swapaindex || i == swapbindex) { - arrayStatus[i] |= kMarkerCompared; - } - } - //save - last[i] = array[i]; -// sprintf(myString," %3.0f",array[i]); - -// SortingMan::Instance()->AppendToOutput(myString); - } - SortingMan::Instance()->AppendToHistory(array, arrayStatus, size); - SortingMan::Instance()->SetArrayStatus(arrayStatus); - -// sprintf(myString,"\n"); -// SortingMan::Instance()->AppendToOutput(myString); - - - #ifdef WIN32 - timeBeginPeriod(1); - Sleep(1000 * mymax(0,secondsToRest - secsLatency)); //windows sleep in milliseconds - #else - usleep(1000000 * mymax(0,secondsToRest - secsLatency)); //mac sleep in microseconds - cooler :) - #endif - - -} - -void printseperator(int depth) -{ - AlgorhythmicAudioIO::Instance()->PlaySeperator(depth); -} - -void printintarray(int* array, int size){ - int i; - float delayseconds=1; - for(i=0; i<size; i++){ - printf(" %d ",array[i]); // type (d integer) for float f variable type - #ifdef WIN32 - timeBeginPeriod(1); - Sleep(1000*(delayseconds/size)); //windows sleep in milliseconds - #else - usleep(1000000*(delayseconds/size)); //mac sleep in microseconds - cooler :) - #endif - } - printf("\n"); - - AlgorhythmicAudioIO::Instance()->PlayIntArray(array, size, delayseconds); // - //microseconds -} - -void fillIntArray(int* array, int size, int minval, int maxval ) -{ - for(int i=0;i<size;i++) - { - array[i] = randint(maxval-minval) + minval; - } -} -void fillDoubleArray(double* array, int size, unsigned int fillStyle, double minval, double maxval) -{ - //for some reason the first value is always the same... - float junk = randfloat(1.0); - for(int i=0;i<size;i++) - { - array[i] = randfloat(maxval-minval) + minval; - } - - if (fillStyle & eSortedFillStyle) { - std::vector<double> vec; - for (int i = 0; i < size; i++) - vec.push_back(array[i]); - - std::sort(vec.begin(), vec.end()); - - for (int i = 0; i < size; i++) { - if ((fillStyle & eReverseSortedFillStyle) == eReverseSortedFillStyle) - array[i] = vec[size - 1 - i]; - else - array[i] = vec[i]; - } - } - - if (fillStyle & eDiscreteFillStyle) { - //take the second byte as the number of discrete values - int numDiscrete = (fillStyle & 0xFF00) >> 8; - float stepSize; - if (numDiscrete == 0) - numDiscrete = 2; - stepSize = (maxval - minval) / numDiscrete; - for (int i = 0; i < size; i++) { - array[i] = ((int) ((array[i] - minval) / stepSize)) * stepSize + minval + stepSize*3.0/4.0; - } - } -} +#ifdef WIN32 +#include <Windows.h> +#else +#include <unistd.h> +#endif + +#include <algorithm> +#include "AlgorhythmicAudioIO.h" +#include "handyfuncs.h" + +#include "SortingMan.h" + +static int *arrayStatus = NULL; +static double doublePair[2]; +void printdoublearray(double* array, int size, int focusstart, int focussize, int swapaindex, int swapbindex){ + int i; + //audio has latency so we do this first then rest by the latency amt. + float secondsToRest; + if(swapaindex!=-1 && swapbindex !=-1) + { + //if we were given a pair, we just play the pair. + doublePair[0]=array[swapaindex]; + doublePair[1]=array[swapbindex]; + //mark that we are just playing two possibly seperated values and their indexes + //so we audio io thread can tell us which index is currently being played + AlgorhythmicAudioIO::Instance()->SetIndividual(true); + AlgorhythmicAudioIO::Instance()->SetAIndex(mymin(swapaindex, swapbindex)); + AlgorhythmicAudioIO::Instance()->SetBIndex(mymax(swapaindex, swapbindex)); + secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray((double*)doublePair, 2); // + }else if(swapaindex!=-1) + { + //some cases have just one number in focus + doublePair[0]=array[swapaindex]; + AlgorhythmicAudioIO::Instance()->SetIndividual(true); + AlgorhythmicAudioIO::Instance()->SetAIndex(swapaindex); + secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray((double*)doublePair, 1); // + }else + { + // play the values (freq) of a block + //in the array case we overload A index as starting point and b as size + AlgorhythmicAudioIO::Instance()->SetIndividual(false); + AlgorhythmicAudioIO::Instance()->SetAIndex(focusstart); + AlgorhythmicAudioIO::Instance()->SetBIndex(focussize); + secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray(array+focusstart, focussize); // + } + float secsLatency = AlgorhythmicAudioIO::Instance()->GetActualLatency()/1000.0f; + + //rest so the visuals don't popup before audio. + #ifdef WIN32 + timeBeginPeriod(1); + Sleep(1000*(mymin(secsLatency, secondsToRest))); //windows sleep in milliseconds + #else + usleep(1000000*(mymin(secsLatency, secondsToRest))); //mac sleep in microseconds - cooler :) + #endif + + static double* last = NULL; + static int lastSize = -1; + bool haveLast = false; + + if(-1==focussize) + { + focussize=size; + } + + if(-1 == lastSize) + { + lastSize = size; + last = new double[size]; + arrayStatus = new int[size]; + } + else if(lastSize!=size) + { + delete [] last; + delete [] arrayStatus; + lastSize = size; + last = new double[size]; + arrayStatus = new int[size]; + } + else + { + //we have a previous array, so diff the values + haveLast = true; + + } + + char myString[64]; + for(i=0; i<size; i++) + { + bool changed; + changed = false; + arrayStatus[i] = 0; + //see if the value changed from last array + if(haveLast) + { + if (last[i] != array[i]) { + arrayStatus[i] |= kMarkerChanged; + changed= true; + } + if (i >= focusstart && i < focusstart + focussize) { + arrayStatus[i] |= kMarkerFocused; + } + if (i == swapaindex || i == swapbindex) { + arrayStatus[i] |= kMarkerCompared; + } + } + //save + last[i] = array[i]; +// sprintf(myString," %3.0f",array[i]); + +// SortingMan::Instance()->AppendToOutput(myString); + } + SortingMan::Instance()->AppendToHistory(array, arrayStatus, size); + SortingMan::Instance()->SetArrayStatus(arrayStatus); + +// sprintf(myString,"\n"); +// SortingMan::Instance()->AppendToOutput(myString); + + + #ifdef WIN32 + timeBeginPeriod(1); + Sleep(1000 * mymax(0,secondsToRest - secsLatency)); //windows sleep in milliseconds + #else + usleep(1000000 * mymax(0,secondsToRest - secsLatency)); //mac sleep in microseconds - cooler :) + #endif + + +} + +void printseperator(int depth) +{ + AlgorhythmicAudioIO::Instance()->PlaySeperator(depth); +} + +void printintarray(int* array, int size){ + int i; + float delayseconds=1; + for(i=0; i<size; i++){ + printf(" %d ",array[i]); // type (d integer) for float f variable type + #ifdef WIN32 + timeBeginPeriod(1); + Sleep(1000*(delayseconds/size)); //windows sleep in milliseconds + #else + usleep(1000000*(delayseconds/size)); //mac sleep in microseconds - cooler :) + #endif + } + printf("\n"); + + AlgorhythmicAudioIO::Instance()->PlayIntArray(array, size, delayseconds); // + //microseconds +} + +void fillIntArray(int* array, int size, int minval, int maxval ) +{ + for(int i=0;i<size;i++) + { + array[i] = randint(maxval-minval) + minval; + } +} +void fillDoubleArray(double* array, int size, unsigned int fillStyle, double minval, double maxval) +{ + //for some reason the first value is always the same... + float junk = randfloat(1.0); + for(int i=0;i<size;i++) + { + array[i] = randfloat(maxval-minval) + minval; + } + + if (fillStyle & eSortedFillStyle) { + std::vector<double> vec; + for (int i = 0; i < size; i++) + vec.push_back(array[i]); + + std::sort(vec.begin(), vec.end()); + + for (int i = 0; i < size; i++) { + if ((fillStyle & eReverseSortedFillStyle) == eReverseSortedFillStyle) + array[i] = vec[size - 1 - i]; + else + array[i] = vec[i]; + } + } + + if (fillStyle & eDiscreteFillStyle) { + //take the second byte as the number of discrete values + int numDiscrete = (fillStyle & 0xFF00) >> 8; + float stepSize; + if (numDiscrete == 0) + numDiscrete = 2; + stepSize = (maxval - minval) / numDiscrete; + for (int i = 0; i < size; i++) { + array[i] = ((int) ((array[i] - minval) / stepSize)) * stepSize + minval + stepSize*3.0/4.0; + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-13 21:44:09
|
Revision: 268 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=268&view=rev Author: mchinen Date: 2011-01-13 21:44:02 +0000 (Thu, 13 Jan 2011) Log Message: ----------- new color scheme to seperate swap and compare. Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/heap.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/msort.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/shell.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -26,14 +26,17 @@ // >>>>>>>>>>>>>>>> // >>>>>>>>>>>>>>>> -// return p,q in ascending order (swap, when they are not in order) -void Order(double* p,double* q) { // double datentyp is more precise than float +// return 0 if no swap, 1 if swap +//p,q in ascending order (swap, when they are not in order) +int Order(double* p,double* q) { // double datentyp is more precise than float double temp; // saves the value if(*p>*q) { // ie. value at p is 500, value at q is 100 temp=*p; // temp gets 500 *p=*q; // value 100(q) gets transferred to the address where 500 was? q doesnt change *q=temp; // change q to temps value 500 right now. + return 1; } + return 0; } //Bubble sorting of integer array A[] @@ -43,12 +46,11 @@ for (i=0; i<n; i++) { printseperator(0); for (j=n-1; i<j; j--){ // nested (verschachtelt) forloop | starts at the end of the array + printdoublearray(something, n, i, n - i, j-1, j); // sonification what happens here? - Order(&something[j-1], &something[j]); // first look and "Order" the last two values of array and then decrement until i (beginning of array) - // takes same amount of time for best and worst case. - - printdoublearray(something, n, i, n - i, j-1, j); // sonification what happens here? - + if (Order(&something[j-1], &something[j])) + printdoublearray(something, n, i, n - i, j-1, j); + if(SortingMan::Instance()->ShouldStop()) return; } Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -38,28 +38,26 @@ /* Insert a[i] into the sorted sublist */ int j; double v = a[i]; - + for (j = i - 1; j >= 0; j--) { -// printseperator(1); + // printseperator(1); + printdoublearray(a, length, j, i - j + 1, j, i); // function defined somewhere else if (a[j] <= v) { - - printdoublearray(a, length, j, i - j + 1, j, i); // function defined somewhere else - break; + + break; } a[j + 1] = a[j]; - printdoublearray(a, length, j, i - j + 1, j, j+1); // function defined somewhere else - - + printdoublearray(a, length, j, i - j + 1, j+1); // function defined somewhere else + + // stopping the loop - if(SortingMan::Instance()->ShouldStop()) - return; + if(SortingMan::Instance()->ShouldStop()) + return; } a[j + 1] = v; printseperator(0); - printdoublearray(a, length, j, i - j + 2, j+1, i); // function defined somewhere else - - + printdoublearray(a, length, j, i - j + 2, j+1); // function defined somewhere else } } // Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/heap.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/heap.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/heap.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -1,17 +1,17 @@ /************************************************************** - * Sorting an array with the Heapsort method * - * ----------------------------------------------------------- * - * REFERENCE: * - * * - * "NUMERICAL RECIPES By W.H. Press, B.P. Flannery, * - * S.A. Teukolsky and W.T. Vetterling, Cambridge * - * University Press, 1986" [BIBLI 08]. * - * * - * C++ version by J-P Moreau * - * ----------------------------------------------------------- +* Sorting an array with the Heapsort method * +* ----------------------------------------------------------- * +* REFERENCE: * +* * +* "NUMERICAL RECIPES By W.H. Press, B.P. Flannery, * +* S.A. Teukolsky and W.T. Vetterling, Cambridge * +* University Press, 1986" [BIBLI 08]. * +* * +* C++ version by J-P Moreau * +* ----------------------------------------------------------- - * * - **************************************************************/ +* * +**************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> @@ -20,18 +20,18 @@ /**************************************************** - * Sorts an array RA of length n in ascending order * - * by the Heapsort method * - * ------------------------------------------------- * - * INPUTS: * - * n size of table RA * - * RA table to be sorted * - * OUTPUT: * - * RA table sorted in ascending order * - * * - * NOTE: The Heapsort method is a N Log2 N routine, * - * and can be used for very large arrays. * - ****************************************************/ +* Sorts an array RA of length n in ascending order * +* by the Heapsort method * +* ------------------------------------------------- * +* INPUTS: * +* n size of table RA * +* RA table to be sorted * +* OUTPUT: * +* RA table sorted in ascending order * +* * +* NOTE: The Heapsort method is a N Log2 N routine, * +* and can be used for very large arrays. * +****************************************************/ // Heap sort is like selection sort, but uses a heap (max-heap) @@ -45,71 +45,73 @@ int origchild, orign,origparent; int depth ; orign= n; - + while ( 1 ) { - + if ( m ) { // First Part of the Algorithm: Make a max-Heap parent= --m; val= data[parent]; // Value, which goes down the heap - + } else if ( --n ) { // Teil 2: eigentliche Sortierung val= data[n]; // zu versickernder Wert vom Heap-Ende data[n]= data[0]; // Spitze des Heaps hinter den Heap in parent= 0; // den sortierten Bereich verschieben + + printdoublearray(data, orign,0,0,0,n);//origparent, origchild-origparent); } else // Heap ist leer; Sortierung beendet break; - + origparent=parent; origchild = parent * WIDTH + 1; depth =1; while ( (child= parent * WIDTH + 1) < n ) // erstes Kind; { // Abbruch am Ende des Heaps - + printseperator(depth); - + w= n - child < WIDTH ? - n - child : WIDTH; // Anzahl der vorhandenen Geschwister - + n - child : WIDTH; // Anzahl der vorhandenen Geschwister + count += w; - - for ( max= 0, i= 1; i < w; ++i ) // größtes Kind suchen + + for ( max= 0, i= 1; i < w; ++i ) { // größtes Kind suchen + printdoublearray(data,orign,child, w, child+max, child+i); if ( data[child+i] > data[child+max] ) { - printdoublearray(data,orign,0,0, child+i, child+max); max= i; } - else - { - printdoublearray(data,orign,0,0, child+i, child+max); - } + } child += max; + + printdoublearray(data, orign,0,0,child, parent);//origparent, origchild-origparent); if ( data[child] <= val ) // kein Kind mehr größer als der break; // zu versickernde Wert - + data[parent]= data[child]; // größtes Kind nach oben rücken - - + printdoublearray(data, orign,0,0,parent, child);//origparent, origchild-origparent); + + if(SortingMan::Instance()->ShouldStop()) return 1; - + parent= child; // in der Ebene darunter weitersuchen depth++;//for our print/sonification } - + data[parent]= val; // versickerten Wert eintragen + printdoublearray(data, orign,0,0,parent,-1); if(parent-origchild>0) { printseperator(0); - printdoublearray(data, orign,0,0,parent,-1);//origparent, origchild-origparent); } } - + return count; } @@ -118,7 +120,7 @@ // Labels: e10, e20 int i,ir,j,l; double rra; - + l=(n/2)+1; ir=n; //The index L will be decremented from its initial value during the @@ -134,15 +136,15 @@ rra=RA[ir]; RA[ir]=RA[1]; printdoublearray(RA, n,1,1); - + if(SortingMan::Instance()->ShouldStop()) return; - + ir--; if (ir==1) { RA[1]=rra; printdoublearray(RA, n,1,1); - + return; } } @@ -155,11 +157,11 @@ if (rra < RA[j]) { RA[i]=RA[j]; printdoublearray(RA, n,i,1); - + if(SortingMan::Instance()->ShouldStop()) return; - - + + i=j; j=j+j; } else @@ -168,5 +170,5 @@ } RA[i]=rra; goto e10; - + } \ No newline at end of file Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/msort.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/msort.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/msort.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -1,30 +1,30 @@ /********************************************************* - * Demonstration Program of In-place Merge Sorting * - * (about n*n comparisons used with no extra storage). * - * ------------------------------------------------------ * - * Reference: After a java algorithm By Jason Harrison, * - * 1995 University of British Columbia. * - * * - * C++ Version By J-P Moreau, Paris. * - * ------------------------------------------------------ * - * * - *********************************************************/ +* Demonstration Program of In-place Merge Sorting * +* (about n*n comparisons used with no extra storage). * +* ------------------------------------------------------ * +* Reference: After a java algorithm By Jason Harrison, * +* 1995 University of British Columbia. * +* * +* C++ Version By J-P Moreau, Paris. * +* ------------------------------------------------------ * +* * +*********************************************************/ #include <stdio.h> #include <math.h> #include "sorthelp.h" - #include "SortingMan.h" +#include "SortingMan.h" /***************************************************** - * In-place sorting of a table a[] in ascending order * - * -------------------------------------------------- * - * Inputs: * - * a : Table of n real numbers * - * lo: Starting index (>=0) * - * hi: Ending index (<=n-1), with lo<hi. * - * Output: * - * a : Table sorted in ascending order. * - *****************************************************/ +* In-place sorting of a table a[] in ascending order * +* -------------------------------------------------- * +* Inputs: * +* a : Table of n real numbers * +* lo: Starting index (>=0) * +* hi: Ending index (<=n-1), with lo<hi. * +* Output: * +* a : Table sorted in ascending order. * +*****************************************************/ // >>>>>>>>>>>>>>>> // >>>>>>>>>>>>>>>> @@ -35,90 +35,87 @@ void sort(double *a, int lo, int hi, int depth ) { // lo=0, hi=n-1 (only for the first call) - // lo and hi are index - - static double* original; - static int originalsize; + // lo and hi are index - if(SortingMan::Instance()->ShouldStop()) - return; + static double* original; + static int originalsize; - if(depth==0){ - - original = a; - originalsize = hi+1; - } - -// >>>>>>>>>>>>>>>> - - if (lo>=hi) return; // no action if the array is already sorted - - int mid = (lo + hi) / 2; // for example 9 / 2 = 4.5 >> 4 - - // Recursion breaks up the array in to smaller pieces before they are going to be sorted! - - // Partition the list into two lists and sort them recursively - sort(a, lo, mid, depth+1); // compare with void sort(double *a, int lo, int hi, bool toplevel) - sort(a, mid + 1, hi, depth+1); - - - // Merge the two sorted lists - int start_hi = mid + 1; - int end_lo = mid; - - // [2,3] [5,4] [0,5] [4,6] >> 2 at index 3, 5 at index 4 ... - // code which is run on each piece of the whole array - while ((lo <= end_lo) && (start_hi <= hi)) { - printseperator(depth); - if (a[lo] < a[start_hi]) // if value of array a at index lo is smaller value at start-hi - - - + if(SortingMan::Instance()->ShouldStop()) + return; + + if(depth==0){ + + original = a; + originalsize = hi+1; + } + + // >>>>>>>>>>>>>>>> + + if (lo>=hi) return; // no action if the array is already sorted + + int mid = (lo + hi) / 2; // for example 9 / 2 = 4.5 >> 4 + + // Recursion breaks up the array in to smaller pieces before they are going to be sorted! + + // Partition the list into two lists and sort them recursively + sort(a, lo, mid, depth+1); // compare with void sort(double *a, int lo, int hi, bool toplevel) + sort(a, mid + 1, hi, depth+1); + + + // Merge the two sorted lists + int start_hi = mid + 1; + int end_lo = mid; + + // [2,3] [5,4] [0,5] [4,6] >> 2 at index 3, 5 at index 4 ... + // code which is run on each piece of the whole array + while ((lo <= end_lo) && (start_hi <= hi)) { + printseperator(depth); + printdoublearray(original, originalsize, lo, (start_hi-lo)+1, lo, start_hi); // Sonification + if (a[lo] < a[start_hi]) // if value of array a at index lo is smaller value at start-hi { - - printdoublearray(original, originalsize, lo, (start_hi-lo)+1, lo, start_hi); // Sonification - //blue means a[lo] < a[start_hi]. lo = first value of a chunk - - lo++; // lo gets incremented - - + + //blue means a[lo] < a[start_hi]. lo = first value of a chunk + + lo++; // lo gets incremented + + } - - else { - - // a[lo] >= a[start_hi] - - // The next element comes from the second list, - // move the a[start_hi] element into the next - // position and shuffle all the other elements up. - - double T = a[start_hi]; // [2,3] [5,4] [0,5] [4,6] - - // 0 (the value at index 5) goes to a storage called T - - - for (int k = start_hi-1; k >= lo; k--) { // count down from start-1 to lo - a[k+1] = a[k]; // [2,3] [5,4] [<0>,5] [4,6] >> [2,3] [5,4] [<5>,5] [4,6] - // = is like arrow pointing to left - - // makes a line of red values, because all values change - - } - - a[lo] = T; - + + else { + + // a[lo] >= a[start_hi] + + // The next element comes from the second list, + // move the a[start_hi] element into the next + // position and shuffle all the other elements up. + + double T = a[start_hi]; // [2,3] [5,4] [0,5] [4,6] + + // 0 (the value at index 5) goes to a storage called T + + + for (int k = start_hi-1; k >= lo; k--) { // count down from start-1 to lo + a[k+1] = a[k]; // [2,3] [5,4] [<0>,5] [4,6] >> [2,3] [5,4] [<5>,5] [4,6] + // = is like arrow pointing to left + + // makes a line of red values, because all values change + + } + + a[lo] = T; + //print and play as an array segment instaid of a pair since the above for loop moves as a chunk (like memcpy) - printdoublearray(original, originalsize, lo, (start_hi-lo)+1); // Sonification - - // - - lo++; - end_lo++; - start_hi++; - - } + printdoublearray(original, originalsize, lo, (start_hi-lo)+1); // Sonification - if(SortingMan::Instance()->ShouldStop()) - return; - } + // + + lo++; + end_lo++; + start_hi++; + + } + + if(SortingMan::Instance()->ShouldStop()) + return; + } } \ No newline at end of file Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -34,6 +34,8 @@ j--; } + + printdoublearray(arr,orign, low, high - low, i, j); if(i <= j) { /* swap two elements */ y = arr[i]; @@ -43,9 +45,6 @@ i++; j--; - }else - { - printdoublearray(arr,orign, low, high - low, i, j); } if(SortingMan::Instance()->ShouldStop()) Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/shell.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/shell.cpp 2011-01-13 20:58:23 UTC (rev 267) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/shell.cpp 2011-01-13 21:44:02 UTC (rev 268) @@ -57,6 +57,7 @@ e10: l=i+m; //if(j!=1) // printseperator(1); + printdoublearray(realArray, n,i-1,1,i-1,l-1); if (ARR[l] < ARR[i]) { t=ARR[i]; ARR[i]=ARR[l]; @@ -67,9 +68,6 @@ printdoublearray(realArray, n,i-1,1,i-1,l-1); i=i-m; if (i >= 1) goto e10; - }else - { - printdoublearray(realArray, n,i-1,1,i-1,l-1); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-13 20:58:30
|
Revision: 267 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=267&view=rev Author: mchinen Date: 2011-01-13 20:58:23 +0000 (Thu, 13 Jan 2011) Log Message: ----------- fix build on windows Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.h algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj 2011-01-09 19:54:25 UTC (rev 266) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.vcproj 2011-01-13 20:58:23 UTC (rev 267) @@ -247,10 +247,14 @@ > </File> <File - RelativePath=".\src\insert.cpp" + RelativePath=".\src\ImageWriterSquaresView.cpp" > </File> <File + RelativePath=".\src\ImageWriterSquaresView.h" + > + </File> + <File RelativePath=".\src\main.cpp" > </File> Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.h =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.h 2011-01-09 19:54:25 UTC (rev 266) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.h 2011-01-13 20:58:23 UTC (rev 267) @@ -86,7 +86,7 @@ void SetAIndex(int a) { m_playIndexA = a; } void SetBIndex(int b) { m_playIndexB = b; } int CurrentIndex() { return m_currentIndex; } - int RemoveCurrentIndex() { m_currentIndex = -1; } + void RemoveCurrentIndex() { m_currentIndex = -1; } void ComputeCurrentIndex(int localIndex); protected: //private constructor - Singleton. Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-09 19:54:25 UTC (rev 266) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-13 20:58:23 UTC (rev 267) @@ -6,6 +6,8 @@ #else #include <unistd.h> #endif + +#include <algorithm> #include "AlgorhythmicAudioIO.h" #include "handyfuncs.h" Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-09 19:54:25 UTC (rev 266) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-13 20:58:23 UTC (rev 267) @@ -104,7 +104,7 @@ gui.addSlider("Array Size", arraysize, 2, 200); - string arraytypestrings[eNumSortAlgorithms]; + string arraytypestrings[eNumArrayFillTypes]; for(int i = 0;i< eNumArrayFillTypes;i++) arraytypestrings[i] = arrayfillstrings[i]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-09 19:54:31
|
Revision: 266 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=266&view=rev Author: mchinen Date: 2011-01-09 19:54:25 +0000 (Sun, 09 Jan 2011) Log Message: ----------- add initial array generation style selection Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.h algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.h algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.h Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.cpp 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.cpp 2011-01-09 19:54:25 UTC (rev 266) @@ -130,7 +130,7 @@ srand(stime); m_arrayStatus = NULL; - + m_fillStyle = 0; // stringLock = [[NSLock alloc] init]; m_looping=false; m_size = 10; @@ -143,7 +143,20 @@ return m_inited; } +void SortingMan::SetArrayFillStyle(bool sorted, bool reversed, int discrete) +{ + m_fillStyle = eNormalFillStyle; + if (reversed) + m_fillStyle |= eReverseSortedFillStyle; + else if (sorted) + m_fillStyle |= eSortedFillStyle; + + if (discrete) + m_fillStyle |= eDiscreteFillStyle | (discrete << 8); //the second byte is the number of discrete elements +} + + void SortingMan::SortStuff() { //run the sorting algorithm on a different thread. @@ -269,7 +282,7 @@ srand(stime); AlgorhythmicAudioIO::Instance()->LockSortData(); - fillDoubleArray(a,n); + fillDoubleArray(a,n, SortingMan::Instance()->GetFillStyle()); AlgorhythmicAudioIO::Instance()->unLockSortData(); AlgorhythmicAudioIO::Instance()->ResetEvalCount(); @@ -302,11 +315,7 @@ default: break; } - // do work... - // Find elapsed time and convert to milliseconds - // Use (-) modifier to conversion since receiver is earlier than now - //NSTimeInterval timePassed_ms = [date timeIntervalSinceNow] * -1000.0; float elapsedTimeSecs = ofGetElapsedTimef() - startTimeSecs; //print the array clean printdoublearray(a, n,0,0); Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.h =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.h 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/SortingMan.h 2011-01-09 19:54:25 UTC (rev 266) @@ -68,6 +68,8 @@ void SetDoneSorting(); void SetAlgorithm(SortAlgorithms newType); + void SetArrayFillStyle(bool sorted = false, bool reversed = false, int discrete = 0); + unsigned int GetFillStyle() {return m_fillStyle;} void GenerateNewArray(int size); bool ShouldStop() {return m_shouldStop;} @@ -97,6 +99,9 @@ //random seed - used to generate duplicates etc long m_seed; + // the type of array we generate - random, sorted, reversed etc + unsigned int m_fillStyle; + int m_size; SortAlgorithms m_type; Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-09 19:54:25 UTC (rev 266) @@ -157,7 +157,7 @@ array[i] = randint(maxval-minval) + minval; } } -void fillDoubleArray(double* array, int size, double minval, double maxval) +void fillDoubleArray(double* array, int size, unsigned int fillStyle, double minval, double maxval) { //for some reason the first value is always the same... float junk = randfloat(1.0); @@ -165,4 +165,31 @@ { array[i] = randfloat(maxval-minval) + minval; } + + if (fillStyle & eSortedFillStyle) { + std::vector<double> vec; + for (int i = 0; i < size; i++) + vec.push_back(array[i]); + + std::sort(vec.begin(), vec.end()); + + for (int i = 0; i < size; i++) { + if ((fillStyle & eReverseSortedFillStyle) == eReverseSortedFillStyle) + array[i] = vec[size - 1 - i]; + else + array[i] = vec[i]; + } + } + + if (fillStyle & eDiscreteFillStyle) { + //take the second byte as the number of discrete values + int numDiscrete = (fillStyle & 0xFF00) >> 8; + float stepSize; + if (numDiscrete == 0) + numDiscrete = 2; + stepSize = (maxval - minval) / numDiscrete; + for (int i = 0; i < size; i++) { + array[i] = ((int) ((array[i] - minval) / stepSize)) * stepSize + minval + stepSize*3.0/4.0; + } + } } Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.h =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.h 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.h 2011-01-09 19:54:25 UTC (rev 266) @@ -1,7 +1,15 @@ +enum FillStyleEnum +{ + eNormalFillStyle = 0x00, + eSortedFillStyle = 0x01, + eReverseSortedFillStyle = 0x03, + eDiscreteFillStyle = 0x04, //use 2nd byte to specify num values +}; + void printdoublearray(double* array, int size,int focusstart = 0, int focussize=-1, int swapaindex=-1, int swapbindex=-1); void printintarray(int* array, int size); -void fillIntArray(int* array, int size, int minval = -100, int maxval = 100); -void fillDoubleArray(double* array, int size, double minval = -100, double maxval = 100); +void fillIntArray(int* array, int size, int minval = -99, int maxval = 99); +void fillDoubleArray(double* array, int size, unsigned int fillStyle = 0, double minval = -99.99, double maxval = 99.99); void printseperator(int depth); Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.cpp 2011-01-09 19:54:25 UTC (rev 266) @@ -14,6 +14,31 @@ #define kBarsViewIndex 1 #define kConsoleViewIndex 2 +enum ArrayFillTypes{ + eRandomArray = 0, + eSortedArray = 1, + eReversedArray, + eDiscreteRandomArray, + eDiscrete3Array, + eDiscrete5Array, + eDiscreteSortedArray, + eDiscreteReversedArray, + eNumArrayFillTypes +}; + +static const char* arrayfillstrings[]= +{ + "Random", + "Sorted", + "Reversed", + "Discrete Random", + "Discrete 3", + "Discrete 5", + "Discrete Sorted", + "Discrete Reversed" +}; + + float speedSliderVal; float speedSliderVal_old; int myInt1; @@ -77,6 +102,15 @@ // gui.addTextInput("number",textInput); gui.addSlider("Array Size", arraysize, 2, 200); + + + string arraytypestrings[eNumSortAlgorithms]; + + for(int i = 0;i< eNumArrayFillTypes;i++) + arraytypestrings[i] = arrayfillstrings[i]; + + gui.addComboBox("Initial Array Type", arraytypenum, eNumArrayFillTypes, arraytypestrings); + gui.addButton("Generate New Array", genButton); startButtonControl = &gui.addButton("Start", startButton); @@ -135,7 +169,25 @@ SortingMan::Instance()->GenerateNewArray(arraysize); } + SortingMan::Instance()->SetAlgorithm((SortAlgorithms)algonum); + bool presort = false; + bool reverse = false; + int discreteElements = 0; + + if (arraytypenum == eSortedArray || arraytypenum == eDiscreteSortedArray) + presort = true; + if (arraytypenum == eReversedArray || arraytypenum == eDiscreteReversedArray) + reverse = true; + if (arraytypenum == eDiscreteRandomArray || arraytypenum == eDiscreteSortedArray + || arraytypenum == eDiscreteReversedArray) + discreteElements = randint(20) + 1; + if (arraytypenum == eDiscrete3Array) + discreteElements = 3; + if (arraytypenum == eDiscrete5Array) + discreteElements = 5; + + SortingMan::Instance()->SetArrayFillStyle(presort, reverse, discreteElements); if(bLoop != SortingMan::Instance()->IsLooping()) SortingMan::Instance()->ToggleLooping(); Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.h =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.h 2011-01-09 18:41:28 UTC (rev 265) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/testApp.h 2011-01-09 19:54:25 UTC (rev 266) @@ -90,6 +90,7 @@ float ycurs; int downsampleTimes; int algonum; + int arraytypenum; int arraysize, prev_arraysize; ViewMode viewMode; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-09 18:41:34
|
Revision: 265 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=265&view=rev Author: mchinen Date: 2011-01-09 18:41:28 +0000 (Sun, 09 Jan 2011) Log Message: ----------- fix highlight frame order;was backwards Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-01-09 18:32:28 UTC (rev 264) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/AlgorhythmicAudioIO.cpp 2011-01-09 18:41:28 UTC (rev 265) @@ -148,7 +148,7 @@ void AlgorhythmicAudioIO::ComputeCurrentIndex(int localIndex) { if (m_playingIndividual) - m_currentIndex = localIndex ? m_playIndexA : m_playIndexB; + m_currentIndex = localIndex ? m_playIndexB : m_playIndexA; else m_currentIndex = m_playIndexA + localIndex; Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-09 18:32:28 UTC (rev 264) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/sorthelp.cpp 2011-01-09 18:41:28 UTC (rev 265) @@ -25,8 +25,8 @@ //mark that we are just playing two possibly seperated values and their indexes //so we audio io thread can tell us which index is currently being played AlgorhythmicAudioIO::Instance()->SetIndividual(true); - AlgorhythmicAudioIO::Instance()->SetAIndex(swapaindex); - AlgorhythmicAudioIO::Instance()->SetBIndex(swapbindex); + AlgorhythmicAudioIO::Instance()->SetAIndex(mymin(swapaindex, swapbindex)); + AlgorhythmicAudioIO::Instance()->SetBIndex(mymax(swapaindex, swapbindex)); secondsToRest = AlgorhythmicAudioIO::Instance()->PlayDoubleArray((double*)doublePair, 2); // }else if(swapaindex!=-1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mc...@us...> - 2011-01-09 18:32:34
|
Revision: 264 http://algorhythmics.svn.sourceforge.net/algorhythmics/?rev=264&view=rev Author: mchinen Date: 2011-01-09 18:32:28 +0000 (Sun, 09 Jan 2011) Log Message: ----------- add yellow coloring to insert, bubble, and quick sort Modified Paths: -------------- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp Removed Paths: ------------- algorhythmicSorting/ofAlgorhythmicSorting/src/insert.cpp Modified: algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-01-09 18:03:27 UTC (rev 263) +++ algorhythmicSorting/ofAlgorhythmicSorting/AlgorhythmicSorting.xcodeproj/project.pbxproj 2011-01-09 18:32:28 UTC (rev 264) @@ -48,7 +48,6 @@ 84BFF88211C4E77F000DB417 /* quicksort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF87F11C4E77F000DB417 /* quicksort.cpp */; }; 84BFF88311C4E77F000DB417 /* SortingMan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF88011C4E77F000DB417 /* SortingMan.cpp */; }; 84BFF89111C4E7DB000DB417 /* heap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF88E11C4E7DB000DB417 /* heap.cpp */; }; - 84BFF89211C4E7DB000DB417 /* insert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF88F11C4E7DB000DB417 /* insert.cpp */; }; 84BFF89311C4E7DB000DB417 /* shell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF89011C4E7DB000DB417 /* shell.cpp */; }; 84BFF89811C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */; }; 84BFF8AB11C4F069000DB417 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84BFF8AA11C4F069000DB417 /* AudioUnit.framework */; }; @@ -203,7 +202,6 @@ 84BFF88011C4E77F000DB417 /* SortingMan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = SortingMan.cpp; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; 84BFF88111C4E77F000DB417 /* SortingMan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortingMan.h; sourceTree = "<group>"; }; 84BFF88E11C4E7DB000DB417 /* heap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = heap.cpp; sourceTree = "<group>"; }; - 84BFF88F11C4E7DB000DB417 /* insert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = insert.cpp; sourceTree = "<group>"; }; 84BFF89011C4E7DB000DB417 /* shell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shell.cpp; sourceTree = "<group>"; }; 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = AlgorhythmicAudioIO.cpp; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; 84BFF89711C4ECE1000DB417 /* AlgorhythmicAudioIO.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.h; path = AlgorhythmicAudioIO.h; sourceTree = "<group>"; tabWidth = 3; usesTabs = 0; }; @@ -635,7 +633,6 @@ 84BFF89611C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp */, 84BFF89711C4ECE1000DB417 /* AlgorhythmicAudioIO.h */, 84BFF88E11C4E7DB000DB417 /* heap.cpp */, - 84BFF88F11C4E7DB000DB417 /* insert.cpp */, 84BFF89011C4E7DB000DB417 /* shell.cpp */, 84BFF87F11C4E77F000DB417 /* quicksort.cpp */, 84BFF88011C4E77F000DB417 /* SortingMan.cpp */, @@ -833,7 +830,6 @@ 84BFF88211C4E77F000DB417 /* quicksort.cpp in Sources */, 84BFF88311C4E77F000DB417 /* SortingMan.cpp in Sources */, 84BFF89111C4E7DB000DB417 /* heap.cpp in Sources */, - 84BFF89211C4E7DB000DB417 /* insert.cpp in Sources */, 84BFF89311C4E7DB000DB417 /* shell.cpp in Sources */, 84BFF89811C4ECE1000DB417 /* AlgorhythmicAudioIO.cpp in Sources */, 8416E0EC11DDFCA0003A3B23 /* cleanerinsert.cpp in Sources */, Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp 2011-01-09 18:03:27 UTC (rev 263) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/bubble.cpp 2011-01-09 18:32:28 UTC (rev 264) @@ -47,7 +47,7 @@ Order(&something[j-1], &something[j]); // first look and "Order" the last two values of array and then decrement until i (beginning of array) // takes same amount of time for best and worst case. - printdoublearray(something, n, 0, 0, j-1, j); // sonification what happens here? + printdoublearray(something, n, i, n - i, j-1, j); // sonification what happens here? if(SortingMan::Instance()->ShouldStop()) return; Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-09 18:03:27 UTC (rev 263) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/cleanerinsert.cpp 2011-01-09 18:32:28 UTC (rev 264) @@ -44,11 +44,11 @@ // printseperator(1); if (a[j] <= v) { - printdoublearray(a, length, 0, 0, j, i); // function defined somewhere else + printdoublearray(a, length, j, i - j + 1, j, i); // function defined somewhere else break; } a[j + 1] = a[j]; - printdoublearray(a, length, 0, 0, j, j+1); // function defined somewhere else + printdoublearray(a, length, j, i - j + 1, j, j+1); // function defined somewhere else // stopping the loop @@ -57,7 +57,7 @@ } a[j + 1] = v; printseperator(0); - printdoublearray(a, length, 0, 0, j+1, i); // function defined somewhere else + printdoublearray(a, length, j, i - j + 2, j+1, i); // function defined somewhere else } Deleted: algorhythmicSorting/ofAlgorhythmicSorting/src/insert.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/insert.cpp 2011-01-09 18:03:27 UTC (rev 263) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/insert.cpp 2011-01-09 18:32:28 UTC (rev 264) @@ -1,87 +0,0 @@ -/************************************************** -* Sorting an array with straight insertion method * -* ----------------------------------------------- * -* REFERENCE: * -* * -* "NUMERICAL RECIPES By W.H. Press, B.P. Flannery,* -* S.A. Teukolsky and W.T. Vetterling, Cambridge * -* University Press, 1986" [BIBLI 08]. * -* * -* C++ version by J-P Moreau * - -**************************************************/ -#include <stdio.h> -#include <stdlib.h> -#include <math.h> - -#include "sorthelp.h" - #include "SortingMan.h" - - - -/**************************************************** -* Sorts an array ARR of length N in ascending order * -* by straight insertion. * -* ------------------------------------------------- * -* INPUTS: * -* N size of table ARR * -* ARR table to be sorted * -* OUTPUT: * -* ARR table sorted in ascending order * -* * -* NOTE: Straight insertion is a N≤ routine and * -* should only be used for relatively small * -* arrays (N<100). * -****************************************************/ - - - - -void PIKSRT(int N, double *ARR) { -//Label: e10 - double* realArray=ARR; - //SORTING stupid but this algorithm starts counding at 1, not zero, so this is a hack. - ARR--; - - - int i,j; double a; - for (j=2; j<N+1; j++) { - a=ARR[j]; - for (i=j-1; i>0; i--) { - if (ARR[i]<=a) goto e10; - ARR[i+1]=ARR[i]; - printdoublearray(realArray, N,i-1,2,i);//i-1,i); - - if(SortingMan::Instance()->ShouldStop()) - return; - - - } - i=0; -e10: ARR[i+1]=a; - - printdoublearray(realArray, N,i-1,2,i);//i-1,i); - - } -} - -//write table of size N to standard output -void TWRIT(int N, double *ARR) { - int i; float tmp; - printf("\n");; - for (i=1; i<N+1; i++) { - tmp=ARR[i]; - printf(" %6.0f",tmp); - if ((i % 5)==0) printf("\n"); - } -} - - - - - - - - - - Modified: algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp =================================================================== --- algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp 2011-01-09 18:03:27 UTC (rev 263) +++ algorhythmicSorting/ofAlgorhythmicSorting/src/quicksort.cpp 2011-01-09 18:32:28 UTC (rev 264) @@ -24,13 +24,13 @@ printseperator(depth); /* find member above ... */ while(arr[i] < z) { - printdoublearray(arr,orign,0,0, i, (low+high)/2); + printdoublearray(arr,orign, low, high - low, i, (low+high)/2); i++; } /* find element below ... */ while(arr[j] > z) { - printdoublearray(arr,orign,0,0, j, (low+high)/2); + printdoublearray(arr,orign, low, high - low, j, (low+high)/2); j--; } @@ -39,13 +39,13 @@ y = arr[i]; arr[i] = arr[j]; arr[j] = y; - printdoublearray(arr,orign,0,0, i, j); + printdoublearray(arr,orign, low, high - low, i, j); i++; j--; }else { - printdoublearray(arr,orign,0,0, i, j); + printdoublearray(arr,orign, low, high - low, i, j); } if(SortingMan::Instance()->ShouldStop()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |