diff --git a/Airwindopedia.txt b/Airwindopedia.txt index a8445cf94..15edd420a 100644 --- a/Airwindopedia.txt +++ b/Airwindopedia.txt @@ -43,7 +43,7 @@ Stereo: Srsly3, Srsly2, Srsly, SweetWide, Wider, StereoFX, ToVinyl4, AutoPan, LR Subtlety: Mastering2, Discontapeity, Mastering, Discontinuity, Hype, Shape, Inflamer, Sweeten, PurestWarm2, PurestWarm, Coils2, Interstage, PhaseNudge, Remap, SingleEndedTriode, Coils, Desk, TransDesk, TubeDesk -Tape: TapeHack, ToTape8, ToTape7, ToTape6, FromTape, Tape, IronOxideClassic2, IronOxide5, ToTape5, IronOxideClassic +Tape: TapeHack2, TapeHack, ToTape8, ToTape7, ToTape6, FromTape, Tape, IronOxideClassic2, IronOxide5, ToTape5, IronOxideClassic Tone Color: BussColors4, Channel9, Apicolypse, Neverland, Elation, Calibre, Cider, Crystal, Precious, Luxor, Channel8, Channel7, Channel6, Channel5, Channel4 @@ -5408,7 +5408,7 @@ You may well find this horrible, lame and useless. That is OK, it's not going to But if you like the sort of weird grunge this produces, we're talking signature sound, secret weapon town, bigtime… and NOBODY else will be bringing it, and no AI will arrive at this unless literally told to copy it (in which case they should credit and say it's SweetWide they're using). -This plugin comes not from the world of Srsly or EdIsDim or Wider (plenty of other things I've made to do stereo widening nicely). It comes from my experiments with ring modulation. It's really a very simple algorithm though it does use square root functions: that's next to nothing, as far as CPU is concerned. It's doing terrible things to the stereo signal coming in, for the purpose of exaggerating side-channel informaqtion, but in a way where it's tending to produce asymmetric modulations. That's more along the lines of 'second harmonic, fourth harmonic etc' rather than 'third harmonic and normal distortion', and that's why Sweet is part of the name: we tend to hear even harmonics as more 'sweet' than odd harmonics. +This plugin comes not from the world of Srsly or EdIsDim or Wider (plenty of other things I've made to do stereo widening nicely). It comes from my experiments with ring modulation. It's really a very simple algorithm though it does use square root functions: that's next to nothing, as far as CPU is concerned. It's doing terrible things to the stereo signal coming in, for the purpose of exaggerating side-channel information, but in a way where it's tending to produce asymmetric modulations. That's more along the lines of 'second harmonic, fourth harmonic etc' rather than 'third harmonic and normal distortion', and that's why Sweet is part of the name: we tend to hear even harmonics as more 'sweet' than odd harmonics. Even then it's not acting normal because it's using that Soar control to govern how the square-root reacts to subtle sounds. It serves the purpose of bringing up a gnarly compressey grunginess, except for stereo widening. If you crank it out all the way it's very obvious, but you can dial the Soar setting in that way, and then pull it back if you'd like it to still be unique but not so obnoxious. @@ -5568,7 +5568,6 @@ The reason this is interesting is, that tone control is completely bizarre. It You can hear it on the video, which has a number of things updated, not least this: the new audio is directly captured analog sorta-house music out of my livestreams. This way you ought to be able to really hear the way my plugins retain analog qualities, because now the demo music is essentially AAD: not products of other DAW mixes or digital synthesis, but source material. - ############ TapeHack is a new dimension in tape realism, abstracted to software. It started with a paper by Spencer Walters, on this subject: what's the role of hysteresis in magnetic tape recording? We tend to assume that's fine, we're making it linear, apart from all the soft saturation of course. Even then, that's not quite where it starts: it's research on Dolby HX-Pro that got Spencer thinking. I'm not sure the Dolby people quite understood the implications of what they had, as that was an era of 'remove all distortions'. @@ -5593,6 +5592,38 @@ There will be more about this: and yeah, Spencer's aware of what I'm doing and c I'll be saving up for the hardware Spencer makes, and I'll be using what I learned in TapeHack for many things. Hope you like it! +############ TapeHack2 brings Airwindows tape to a new level. + +Two wrongs may not make a right… but sometimes, two goofy hacks might make a better 'tape compression' than having a real tape machine. + +So hear me out, because this one went some strange places, and, well, listen to it ;) + +The original TapeHack was a pretty big deal, went over real well, in spite of the fact that there was nothing to it but a software 'transfer function'. It's literally nothing but a 'vaguely sinelike softclip' with special characteristics. Everything about it was made to shift the 'saturation' upwards in dB and lean out the middle part a bit, in accordance to how real tape turns out to work. I'm of course not alone in figuring this stuff out, I'm just the one trying to doctor softclip algorithms to do it. That part worked great, and because it's a softclip, it even sounds a lot like 'tape compression', certainly more than anything I'd had before. + +There's tests you can do to determine whether your tape biasing and the amount of your ultrasonic energy is high enough to saturate things to produce real-deal, genuine 'tape compression' of highs. And it really is true that you don't have to use literal tape machines to do that anymore. I would go so far to say that is the new bar to reach: nobody's going to duplicate that short of simulating the whole apparatus at a megahertz or something, and this I am not going to do: I already didn't like oversampling, and it seems wasteful. + +But what if, on top of faking the 'bias tone bridging the gap between magnetic coercivity' through just doctoring a softclip to do it (wrong, but it worked), I instead just came up with a new sort of filter that was very free of typical sharp-filter irregularities… and modulated that at audio rates, in an attempt to not let the signal do high frequencies beyond too much of a slew rate? + +Meet TapeHack2. If you've downloaded ConsoleH or ConsoleX2 in the last day or two, you have already met it, because it worked so well I had to include it in the 'More' fat-boost section of those plugins. My video for TapeHack2 demonstrates why, showing the original mix, the subtly but intensely better mix where nothing has been changed but swapping in the TapeHack2 algorithm for the original, and lastly the delta function showing HOW much aliasing and untapelike brightness was fluidly removed from just the parts of the mix hitting More hard. It was so strong it affected the buss compression enough to bring in totally unrelated elements like bass, just by altering how More handled supersonic highs in the 96k mix. + +Functionally, this is the 'tape compression of highs' effect. Is it a clone, or emulation? AW HELL no, not even slightly. It's totally different, measurably, observably different, not like a tape at all, but now it does two tape behaviors as hard as it can. Run sine sweeps into it if you want to see how different it is, how crazy it'll act. It's a HACK, doesn't have anything to do with analog anything really. + +So what is happening? + +It's running a stack of filters. They're very efficient: they're stacked-up averaging filters. These are very good in the time domain, don't do pre-rings or weird filter ripples, but the cost is if you just use a simple averaging of a bunch of samples in a row, you get massive notches and odd peaks in the response. They are awful at being accurate good filters. + +But, turns out if you stack them up right you can have the notch of one overlap the peak of another, and get a really steep roll-off with good time behavior where the rolloff is so steep you hardly mind the funny added peaks and response issues. It basically goes 'ok, very smooth natural super rolloff NOW' and then rather than needing to work over an enormous window, and have a huge filter ripple (for linear phase) it just does the thing and gets out of the way. You trade off the accuracy of the 'curve' for just 'make the highs be gone, completely!'. I've got a filter plugin coming, Slew4, that's an expanded version of this. + +That's not 'tape compression', though. Tape compression is when you let the raw signal through, but track how sharp a departure the new sound is from whatever the filtering was doing last sample. Instead of just tracking the slew of the input signal and working with that, you barely touch the sound unless the new sample is gonna be really far from where the last output was, even if that's the result of filtering… and that is why it acts like compressing, there's a point beyond which highs can't get louder and you can't force them. It's not even on a time constant, it's just 'nope'. + +And is this the point at which the filtering prevents aliasing from happening? NOPE. It absolutely still aliases, and I'll tell you why. In setting it up, I got this part working and then tried to find the point at which I prevented all aliasing. It didn't want to. It's not an oversampling: it's still raw, still running fully at whatever sample rate you're using, still producing 'semi-valid' information including above where the apparent tape compression kicks in. + +It's just that the way this thing works, when set up to sound its best, it's not reducing superhigh sine waves to silence above a certain frequency. It's changing them into quieter triangle waves instead. Along the way, if you're doing intense saturation and making the wave flat-top, it turns it into sort of trapezoids in the manner that big square waves on analog gear turn into slanted-topped, altered waves. So basically what I'm saying is it does the weirdest waveshaping I've ever seen, with all the very highest frequency stuff, in such a way that it's arguably sharpening the frequencies while also attenuating and suppressing them. And it's all off a filter (set of filters) that is very free of ripple and resonant qualities. + +This, applied to real music, sounds pretty amazing, and it's going to find its way into a new ToTape, as well as my trusty TapeDelay plugin, and it is already in ConsoleH and ConsoleX2. And honest, it's the farthest thing from emulating anything, much less real tape. But my interest is never in trying to duplicate a thing: digital is not good at that, something dies when you overprocess. Instead, TapeHack2 is about bringing very minimalist, very unusual sorts of processing to achieve a result, which in this case is 'softclip like a tape, but ALSO stop highs from getting louder, also like a tape, except you're not remotely a tape'. + +Have fun with this one, I know I'm going to be enjoying the results of it a whole lot :) + ############ Texturize is a hidden-noise plugin for adding sonic texture to things. It all started with snake oil… or should I say secret snake oil? diff --git a/plugins/LinuxVST/CMakeLists.txt b/plugins/LinuxVST/CMakeLists.txt index 4291652d4..d35e71ccd 100755 --- a/plugins/LinuxVST/CMakeLists.txt +++ b/plugins/LinuxVST/CMakeLists.txt @@ -403,6 +403,7 @@ add_airwindows_plugin(SmoothEQ2) add_airwindows_plugin(SmoothEQ3) add_airwindows_plugin(SoftClock) add_airwindows_plugin(SoftClock2) +add_airwindows_plugin(SoftClock3) add_airwindows_plugin(SoftGate) add_airwindows_plugin(SpatializeDither) add_airwindows_plugin(Spiral) @@ -436,6 +437,7 @@ add_airwindows_plugin(TapeDither) add_airwindows_plugin(TapeDust) add_airwindows_plugin(TapeFat) add_airwindows_plugin(TapeHack) +add_airwindows_plugin(TapeHack2) add_airwindows_plugin(Texturize) add_airwindows_plugin(TexturizeMS) add_airwindows_plugin(Thunder) diff --git a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.cpp b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.cpp index 9ee7ba52c..95c566edc 100755 --- a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.cpp +++ b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.cpp @@ -93,14 +93,13 @@ ConsoleHChannel::ConsoleHChannel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.h b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.h index 7a20001ea..6d701a872 100755 --- a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.h +++ b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannel.h @@ -192,12 +192,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannelProc.cpp b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannelProc.cpp index f2b5d4449..2139dea75 100755 --- a/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannelProc.cpp +++ b/plugins/LinuxVST/src/ConsoleHChannel/ConsoleHChannelProc.cpp @@ -206,15 +206,16 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -266,6 +267,38 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -818,15 +851,16 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -878,6 +912,38 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.cpp b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.cpp index c500b6c68..ae191e177 100755 --- a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.cpp +++ b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.cpp @@ -93,14 +93,13 @@ AudioEffectX(audioMaster, kNumPrograms, kNumParameters) dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.h b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.h index f242a79cb..bfa2fd1af 100755 --- a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.h +++ b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPre.h @@ -197,12 +197,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPreProc.cpp b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPreProc.cpp index 88ffee948..8f730a2e3 100755 --- a/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPreProc.cpp +++ b/plugins/LinuxVST/src/ConsoleHPre/ConsoleHPreProc.cpp @@ -205,15 +205,16 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -265,6 +266,38 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -816,15 +849,16 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -876,6 +910,38 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.cpp b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.cpp index 2129cd918..9eb80b69d 100755 --- a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.cpp +++ b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.cpp @@ -82,14 +82,13 @@ ConsoleX2Channel::ConsoleX2Channel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.h b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.h index 2b57ebb85..3bf404761 100755 --- a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.h +++ b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2Channel.h @@ -170,12 +170,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2ChannelProc.cpp b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2ChannelProc.cpp index 38a92a8f1..9c6da7005 100755 --- a/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2ChannelProc.cpp +++ b/plugins/LinuxVST/src/ConsoleX2Channel/ConsoleX2ChannelProc.cpp @@ -215,15 +215,16 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -275,6 +276,38 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -742,15 +775,16 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -802,6 +836,38 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.cpp b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.cpp index 37598510d..be24fe98d 100755 --- a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.cpp +++ b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.cpp @@ -82,15 +82,14 @@ ConsoleX2Pre::ConsoleX2Pre(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; - //preTapeHack + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack lFreqA = 1.0; lFreqB = 1.0; hFreqA = 0.0; hFreqB = 0.0; diff --git a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.h b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.h index 5ea8485af..5ae8da423 100755 --- a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.h +++ b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2Pre.h @@ -175,12 +175,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2PreProc.cpp b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2PreProc.cpp index 2366e1835..5775e39f3 100755 --- a/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2PreProc.cpp +++ b/plugins/LinuxVST/src/ConsoleX2Pre/ConsoleX2PreProc.cpp @@ -214,15 +214,16 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -274,6 +275,38 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -746,15 +779,16 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -806,6 +840,38 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/LinuxVST/src/SoftClock3/SoftClock3.cpp b/plugins/LinuxVST/src/SoftClock3/SoftClock3.cpp new file mode 100755 index 000000000..695c93b43 --- /dev/null +++ b/plugins/LinuxVST/src/SoftClock3/SoftClock3.cpp @@ -0,0 +1,234 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new SoftClock3(audioMaster);} + +SoftClock3::SoftClock3(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.2; + B = 0.2; + C = 0.2; + D = 0.0; + E = 0.5; + + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +SoftClock3::~SoftClock3() {} +VstInt32 SoftClock3::getVendorVersion () {return 1000;} +void SoftClock3::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void SoftClock3::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 SoftClock3::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + chunkData[3] = D; + chunkData[4] = E; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 SoftClock3::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + D = pinParameter(chunkData[3]); + E = pinParameter(chunkData[4]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void SoftClock3::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + case kParamD: D = value; break; + case kParamE: E = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float SoftClock3::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + case kParamD: return D; break; + case kParamE: return E; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void SoftClock3::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Tempo", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Count", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Tuple", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "Triplet", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "Flavor", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void SoftClock3::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((int)(A*200.99)+40, text, kVstMaxParamStrLen); break; + case kParamB: int2string ((int)(B*32.99), text, kVstMaxParamStrLen); break; + case kParamC: int2string ((int)(C*16.99), text, kVstMaxParamStrLen); break; + case kParamD: int2string ((int)(D*1.99), text, kVstMaxParamStrLen); break; + case kParamE: float2string (E, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void SoftClock3::getParameterLabel(VstInt32 index, char *text) { + int beatCode = (int)(B*32.99); + switch (index) { + case kParamA: vst_strncpy (text, "bpm", kVstMaxParamStrLen); break; + case kParamB: + switch (beatCode){ + case 0: vst_strncpy (text, "0", kVstMaxParamStrLen); break; + case 1: vst_strncpy (text, "1", kVstMaxParamStrLen); break; + case 2: vst_strncpy (text, "2", kVstMaxParamStrLen); break; + case 3: vst_strncpy (text, "3", kVstMaxParamStrLen); break; + case 4: vst_strncpy (text, "4", kVstMaxParamStrLen); break; + case 5: vst_strncpy (text, "5", kVstMaxParamStrLen); break; + case 6: vst_strncpy (text, "6", kVstMaxParamStrLen); break; + case 7: vst_strncpy (text, "7", kVstMaxParamStrLen); break; + case 8: vst_strncpy (text, "8", kVstMaxParamStrLen); break; + case 9: vst_strncpy (text, "9", kVstMaxParamStrLen); break; + case 10:vst_strncpy (text, "10", kVstMaxParamStrLen); break; + case 11:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 12:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 13:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 14:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 15:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 16:vst_strncpy (text, "16", kVstMaxParamStrLen); break; + case 17:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 18:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 19:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 20:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 21:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 22:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 23:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 24:vst_strncpy (text, "24", kVstMaxParamStrLen); break; + case 25:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 26:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 27:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 28:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 29:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 30:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 31:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 32:vst_strncpy (text, "32", kVstMaxParamStrLen); break; + default: break; + } + break; + case kParamC: vst_strncpy (text, "th note", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 SoftClock3::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool SoftClock3::getEffectName(char* name) { + vst_strncpy(name, "SoftClock3", kVstMaxProductStrLen); return true; +} + +VstPlugCategory SoftClock3::getPlugCategory() {return kPlugCategEffect;} + +bool SoftClock3::getProductString(char* text) { + vst_strncpy (text, "airwindows SoftClock3", kVstMaxProductStrLen); return true; +} + +bool SoftClock3::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/SoftClock3/SoftClock3.h b/plugins/LinuxVST/src/SoftClock3/SoftClock3.h new file mode 100755 index 000000000..a5fee3f39 --- /dev/null +++ b/plugins/LinuxVST/src/SoftClock3/SoftClock3.h @@ -0,0 +1,81 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#define __SoftClock3_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kParamD =3, + kParamE =4, + kNumParameters = 5 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'sfc3'; //Change this to what the AU identity is! + +class SoftClock3 : + public AudioEffectX +{ +public: + SoftClock3(audioMasterCallback audioMaster); + ~SoftClock3(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + float D; + float E; + + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/LinuxVST/src/SoftClock3/SoftClock3Proc.cpp b/plugins/LinuxVST/src/SoftClock3/SoftClock3Proc.cpp new file mode 100755 index 000000000..4efb92972 --- /dev/null +++ b/plugins/LinuxVST/src/SoftClock3/SoftClock3Proc.cpp @@ -0,0 +1,322 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +void SoftClock3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void SoftClock3::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/LinuxVST/src/TapeHack2/TapeHack2.cpp b/plugins/LinuxVST/src/TapeHack2/TapeHack2.cpp new file mode 100755 index 000000000..142d322db --- /dev/null +++ b/plugins/LinuxVST/src/TapeHack2/TapeHack2.cpp @@ -0,0 +1,145 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new TapeHack2(audioMaster);} + +TapeHack2::TapeHack2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.1; + B = 1.0; + C = 1.0; + + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +TapeHack2::~TapeHack2() {} +VstInt32 TapeHack2::getVendorVersion () {return 1000;} +void TapeHack2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void TapeHack2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 TapeHack2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 TapeHack2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void TapeHack2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float TapeHack2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void TapeHack2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void TapeHack2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void TapeHack2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 TapeHack2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool TapeHack2::getEffectName(char* name) { + vst_strncpy(name, "TapeHack2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory TapeHack2::getPlugCategory() {return kPlugCategEffect;} + +bool TapeHack2::getProductString(char* text) { + vst_strncpy (text, "airwindows TapeHack2", kVstMaxProductStrLen); return true; +} + +bool TapeHack2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/TapeHack2/TapeHack2.h b/plugins/LinuxVST/src/TapeHack2/TapeHack2.h new file mode 100755 index 000000000..cc6da00b1 --- /dev/null +++ b/plugins/LinuxVST/src/TapeHack2/TapeHack2.h @@ -0,0 +1,91 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#define __TapeHack2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kNumParameters = 3 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'tha2'; //Change this to what the AU identity is! + +class TapeHack2 : + public AudioEffectX +{ +public: + TapeHack2(audioMasterCallback audioMaster); + ~TapeHack2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + + double avg32L[33]; + double avg32R[33]; + double avg16L[17]; + double avg16R[17]; + double avg8L[9]; + double avg8R[9]; + double avg4L[5]; + double avg4R[5]; + double avg2L[3]; + double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; + int avgPos; + //preTapeHack + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/LinuxVST/src/TapeHack2/TapeHack2Proc.cpp b/plugins/LinuxVST/src/TapeHack2/TapeHack2Proc.cpp new file mode 100755 index 000000000..492cb8a46 --- /dev/null +++ b/plugins/LinuxVST/src/TapeHack2/TapeHack2Proc.cpp @@ -0,0 +1,305 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +void TapeHack2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void TapeHack2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.cpp b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.cpp index 45fba7a83..7937a5e61 100755 --- a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.cpp +++ b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.cpp @@ -437,14 +437,13 @@ ComponentResult ConsoleHChannel::Reset(AudioUnitScope inScope, AudioUnitElement dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -660,15 +659,16 @@ OSStatus ConsoleHChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -720,6 +720,39 @@ OSStatus ConsoleHChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.h b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.h index 874810e44..4d4a57b3a 100755 --- a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.h +++ b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.h @@ -283,12 +283,20 @@ public: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser index 3c4027976..7500f4bbd 100755 --- a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser @@ -51,54 +51,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787147691; - PBXWorkspaceStateSaveDate = 787147691; + PBXPerProjectTemplateStateSaveDate = 789947852; + PBXWorkspaceStateSaveDate = 789947852; }; perUserProjectItems = { + 8B2C04C72F15A0290045AF83 /* PBXTextBookmark */ = 8B2C04C72F15A0290045AF83 /* PBXTextBookmark */; + 8B2C05A12F15A5DA0045AF83 /* PBXTextBookmark */ = 8B2C05A12F15A5DA0045AF83 /* PBXTextBookmark */; 8B5AB22C2EE76C7800A3F512 /* PBXTextBookmark */ = 8B5AB22C2EE76C7800A3F512 /* PBXTextBookmark */; - 8B5AB5822EE9FF0600A3F512 /* PBXTextBookmark */ = 8B5AB5822EE9FF0600A3F512 /* PBXTextBookmark */; - 8B60124E2EEAEBDF003E53A7 /* PBXTextBookmark */ = 8B60124E2EEAEBDF003E53A7 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B2C04C72F15A0290045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ConsoleHChannel.h */; + name = "ConsoleHChannel.h: 153"; + rLen = 25; + rLoc = 6299; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8B2C05A12F15A5DA0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ConsoleHChannel.h */; + name = "ConsoleHChannel.h: 153"; + rLen = 25; + rLoc = 6299; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; 8B5AB22C2EE76C7800A3F512 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ConsoleHChannel.cpp */; name = "ConsoleHChannel.cpp: 653"; rLen = 0; - rLoc = 31796; + rLoc = 31809; rType = 0; vrLen = 0; vrLoc = 0; }; - 8B5AB5822EE9FF0600A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ConsoleHChannel.h */; - name = "ConsoleHChannel.h: 153"; - rLen = 25; - rLoc = 6299; - rType = 0; - vrLen = 25; - vrLoc = 48; - }; - 8B60124E2EEAEBDF003E53A7 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ConsoleHChannel.h */; - name = "ConsoleHChannel.h: 153"; - rLen = 25; - rLoc = 6299; - rType = 0; - vrLen = 25; - vrLoc = 48; - }; 8BA05A660720730100365D66 /* ConsoleHChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {957, 19062}}"; - sepNavSelRange = "{24289, 0}"; - sepNavVisRange = "{28191, 1735}"; - sepNavWindowFrame = "{{10, 38}, {926, 840}}"; + sepNavIntBoundsRect = "{{0, 0}, {1074, 19854}}"; + sepNavSelRange = "{35930, 0}"; + sepNavVisRange = "{34743, 2243}"; + sepNavWindowFrame = "{{498, 38}, {926, 840}}"; }; }; 8BA05A690720730100365D66 /* ConsoleHChannelVersion.h */ = { @@ -118,10 +118,10 @@ }; 8BC6025B073B072D006C4272 /* ConsoleHChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {696, 5652}}"; + sepNavIntBoundsRect = "{{0, 0}, {493, 5616}}"; sepNavSelRange = "{6299, 25}"; - sepNavVisRange = "{48, 25}"; - sepNavWindowFrame = "{{7, 43}, {912, 826}}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{524, 52}, {912, 826}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 index 092e33268..caa12772e 100755 --- a/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -324,7 +324,7 @@ 246 RubberWindowFrame - 10 391 810 487 0 0 1440 878 + 630 386 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B60124E2EEAEBDF003E53A7 + 8B2C05A12F15A5DA0045AF83 history 8B5AB22C2EE76C7800A3F512 - 8B5AB5822EE9FF0600A3F512 + 8B2C04C72F15A0290045AF83 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {542, 69}} + {{0, 0}, {542, 13}} RubberWindowFrame - 10 391 810 487 0 0 1440 878 + 630 386 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 13pt Proportion - 372pt + 428pt Tabs @@ -395,9 +395,9 @@ GeometryConfiguration Frame - {{10, 27}, {542, 345}} + {{10, 27}, {542, 401}} RubberWindowFrame - 10 391 810 487 0 0 1440 878 + 630 386 810 487 0 0 1440 878 Module XCDetailModule @@ -451,7 +451,7 @@ GeometryConfiguration Frame - {{10, 27}, {542, 401}} + {{10, 27}, {542, 382}} Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B60124F2EEAEBDF003E53A7 + 8B2C05A22F15A5DA0045AF83 1CA23ED40692098700951B8B - 8B6012502EEAEBDF003E53A7 + 8B2C05A32F15A5DA0045AF83 8BC0F9BC2EBA650A0094F441 - 8B6012512EEAEBDF003E53A7 + 8B2C05A42F15A5DA0045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +656,7 @@ StatusbarIsVisible TimeStamp - 787147743.49609303 + 789947866.04627705 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +673,11 @@ 5 WindowOrderList - 8B6012522EEAEBDF003E53A7 + 8B2C04C82F15A0290045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ConsoleHChannel/ConsoleHChannel.xcodeproj WindowString - 10 391 810 487 0 0 1440 878 + 630 386 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ConsoleHPre/ConsoleHPre.cpp b/plugins/MacAU/ConsoleHPre/ConsoleHPre.cpp index 1237038be..0d5ca8f02 100755 --- a/plugins/MacAU/ConsoleHPre/ConsoleHPre.cpp +++ b/plugins/MacAU/ConsoleHPre/ConsoleHPre.cpp @@ -404,14 +404,13 @@ void ConsoleHPre::ConsoleHPreKernel::Reset() dBaXL = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; - lastSlewpleL = 0.0; + lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -618,11 +617,13 @@ void ConsoleHPre::ConsoleHPreKernel::Process( const Float32 *inSourceP, darkSampleL = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} darkSampleL /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL,1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + //begin Discontinuity section inputSampleL *= moreTapeHack; inputSampleL *= moreDiscontinuity; @@ -650,6 +651,37 @@ void ConsoleHPre::ConsoleHPreKernel::Process( const Float32 *inSourceP, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacAU/ConsoleHPre/ConsoleHPre.h b/plugins/MacAU/ConsoleHPre/ConsoleHPre.h index 438287cdd..5b81cff09 100755 --- a/plugins/MacAU/ConsoleHPre/ConsoleHPre.h +++ b/plugins/MacAU/ConsoleHPre/ConsoleHPre.h @@ -280,10 +280,14 @@ public: double avg8L[9]; double avg4L[5]; double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; int avgPos; - double lastSlewL; - double lastSlewpleL; - //preTapeHack + double lastDarkL; + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser index 97a5b6ba0..860341852 100755 --- a/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser @@ -49,49 +49,49 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787147774; - PBXWorkspaceStateSaveDate = 787147774; + PBXPerProjectTemplateStateSaveDate = 789944003; + PBXWorkspaceStateSaveDate = 789944003; }; perUserProjectItems = { + 8B2C04582F159CD00045AF83 /* PBXTextBookmark */ = 8B2C04582F159CD00045AF83 /* PBXTextBookmark */; + 8B2C045F2F159D2F0045AF83 /* PBXTextBookmark */ = 8B2C045F2F159D2F0045AF83 /* PBXTextBookmark */; 8B5AB3F02EE9AD0700A3F512 /* PBXTextBookmark */ = 8B5AB3F02EE9AD0700A3F512 /* PBXTextBookmark */; - 8B5AB64E2EEA336F00A3F512 /* PBXTextBookmark */ = 8B5AB64E2EEA336F00A3F512 /* PBXTextBookmark */; - 8B60125F2EEAEC1F003E53A7 /* PBXTextBookmark */ = 8B60125F2EEAEC1F003E53A7 /* PBXTextBookmark */; 8B7D6CFB2EBCEAA2000B38FA /* PlistBookmark */ = 8B7D6CFB2EBCEAA2000B38FA /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B2C04582F159CD00045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ConsoleHPre.h */; + name = "ConsoleHPre.h: 260"; + rLen = 0; + rLoc = 9114; + rType = 0; + vrLen = 43; + vrLoc = 26; + }; + 8B2C045F2F159D2F0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ConsoleHPre.h */; + name = "ConsoleHPre.h: 260"; + rLen = 0; + rLoc = 9114; + rType = 0; + vrLen = 43; + vrLoc = 26; + }; 8B5AB3F02EE9AD0700A3F512 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ConsoleHPre.cpp */; name = "ConsoleHPre.cpp: 776"; rLen = 0; - rLoc = 37785; + rLoc = 38899; rType = 0; vrLen = 50; vrLoc = 38606; }; - 8B5AB64E2EEA336F00A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ConsoleHPre.h */; - name = "ConsoleHPre.h: 260"; - rLen = 0; - rLoc = 9114; - rType = 0; - vrLen = 66; - vrLoc = 3; - }; - 8B60125F2EEAEC1F003E53A7 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ConsoleHPre.h */; - name = "ConsoleHPre.h: 260"; - rLen = 0; - rLoc = 9114; - rType = 0; - vrLen = 66; - vrLoc = 3; - }; 8B7D6CFB2EBCEAA2000B38FA /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -106,9 +106,9 @@ }; 8BA05A660720730100365D66 /* ConsoleHPre.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {957, 15498}}"; - sepNavSelRange = "{22818, 0}"; - sepNavVisRange = "{21953, 2061}"; + sepNavIntBoundsRect = "{{0, 0}, {1074, 16326}}"; + sepNavSelRange = "{31675, 0}"; + sepNavVisRange = "{30430, 1294}"; sepNavWindowFrame = "{{528, 50}, {912, 826}}"; }; }; @@ -122,10 +122,10 @@ }; 8BC6025B073B072D006C4272 /* ConsoleHPre.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {741, 5598}}"; + sepNavIntBoundsRect = "{{0, 0}, {948, 5436}}"; sepNavSelRange = "{9114, 0}"; - sepNavVisRange = "{3, 66}"; - sepNavWindowFrame = "{{9, 52}, {912, 826}}"; + sepNavVisRange = "{26, 43}"; + sepNavWindowFrame = "{{518, 52}, {912, 826}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 index fb37f7c31..119f4f116 100755 --- a/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 807 + 807 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 539 212 807 512 0 0 1440 878 + 633 152 807 512 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,12 +352,12 @@ _historyCapacity 0 bookmark - 8B60125F2EEAEC1F003E53A7 + 8B2C045F2F159D2F0045AF83 history 8B7D6CFB2EBCEAA2000B38FA 8B5AB3F02EE9AD0700A3F512 - 8B5AB64E2EEA336F00A3F512 + 8B2C04582F159CD00045AF83 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {497, 125}} + {{0, 0}, {497, 110}} RubberWindowFrame - 539 212 807 512 0 0 1440 878 + 633 152 807 512 0 0 1440 878 Module PBXNavigatorGroup Proportion - 125pt + 110pt Proportion - 341pt + 356pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {497, 314}} - RubberWindowFrame - 539 212 807 512 0 0 1440 878 + {{10, 27}, {497, 329}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 507}} + {{10, 27}, {497, 329}} + RubberWindowFrame + 633 152 807 512 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8B6012602EEAEC1F003E53A7 + 8B2C042E2F1596C70045AF83 1CA23ED40692098700951B8B - 8B6012612EEAEC1F003E53A7 + 8B2C042F2F1596C70045AF83 8BD7274A1D46E5A5000176F0 - 8B6012622EEAEC1F003E53A7 + 8B2C04302F1596C70045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 787147807.16772997 + 789945647.58245003 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,11 @@ 5 WindowOrderList - 8B6012632EEAEC1F003E53A7 + 8B2C04602F159D2F0045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ConsoleHPre/ConsoleHPre.xcodeproj WindowString - 539 212 807 512 0 0 1440 878 + 633 152 807 512 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.cpp b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.cpp index ee8c55520..b8f8b5a0b 100755 --- a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.cpp +++ b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.cpp @@ -364,14 +364,13 @@ ComponentResult ConsoleX2Channel::Reset(AudioUnitScope inScope, AudioUnitElemen dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -596,15 +595,16 @@ OSStatus ConsoleX2Channel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAc darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -656,6 +656,39 @@ OSStatus ConsoleX2Channel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAc //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.h b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.h index 8e5812c89..2660bc2c9 100755 --- a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.h +++ b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.h @@ -255,12 +255,20 @@ public: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser index ca001efae..89f92416d 100755 --- a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser @@ -51,20 +51,30 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787092677; - PBXWorkspaceStateSaveDate = 787092677; + PBXPerProjectTemplateStateSaveDate = 789947581; + PBXWorkspaceStateSaveDate = 789947581; }; perUserProjectItems = { - 8B5AB49F2EE9CADD00A3F512 /* PBXTextBookmark */ = 8B5AB49F2EE9CADD00A3F512 /* PBXTextBookmark */; - 8B5AB4A02EE9CADD00A3F512 /* PBXTextBookmark */ = 8B5AB4A02EE9CADD00A3F512 /* PBXTextBookmark */; - 8B5AB5F62EEA1E3300A3F512 /* PBXTextBookmark */ = 8B5AB5F62EEA1E3300A3F512 /* PBXTextBookmark */; + 8B2C05942F15A5A60045AF83 /* PBXTextBookmark */ = 8B2C05942F15A5A60045AF83 /* PBXTextBookmark */; + 8B2C05952F15A5A60045AF83 /* PBXTextBookmark */ = 8B2C05952F15A5A60045AF83 /* PBXTextBookmark */; + 8B2C05962F15A5A60045AF83 /* PBXTextBookmark */ = 8B2C05962F15A5A60045AF83 /* PBXTextBookmark */; 8B9629D92E9AC7DA000EAC04 /* PBXTextBookmark */ = 8B9629D92E9AC7DA000EAC04 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B5AB49F2EE9CADD00A3F512 /* PBXTextBookmark */ = { + 8B2C05942F15A5A60045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ConsoleX2Channel.cpp */; + name = "ConsoleX2Channel.cpp: 599"; + rLen = 0; + rLoc = 26874; + rType = 0; + vrLen = 25; + vrLoc = 51; + }; + 8B2C05952F15A5A60045AF83 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* ConsoleX2Channel.h */; name = "ConsoleX2Channel.h: 237"; @@ -74,25 +84,15 @@ vrLen = 181; vrLoc = 74; }; - 8B5AB4A02EE9CADD00A3F512 /* PBXTextBookmark */ = { + 8B2C05962F15A5A60045AF83 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ConsoleX2Channel.cpp */; - name = "ConsoleX2Channel.cpp: 600"; + fRef = 8BC6025B073B072D006C4272 /* ConsoleX2Channel.h */; + name = "ConsoleX2Channel.h: 237"; rLen = 0; - rLoc = 26751; + rLoc = 8174; rType = 0; - vrLen = 134; - vrLoc = 26171; - }; - 8B5AB5F62EEA1E3300A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ConsoleX2Channel.cpp */; - name = "ConsoleX2Channel.cpp: 600"; - rLen = 0; - rLoc = 26751; - rType = 0; - vrLen = 90; - vrLoc = 26215; + vrLen = 181; + vrLoc = 74; }; 8B9629D92E9AC7DA000EAC04 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -106,10 +106,10 @@ }; 8BA05A660720730100365D66 /* ConsoleX2Channel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {867, 16470}}"; - sepNavSelRange = "{26751, 0}"; - sepNavVisRange = "{26215, 90}"; - sepNavWindowFrame = "{{11, 97}, {931, 746}}"; + sepNavIntBoundsRect = "{{0, 0}, {1074, 17028}}"; + sepNavSelRange = "{31514, 0}"; + sepNavVisRange = "{30768, 1791}"; + sepNavWindowFrame = "{{509, 118}, {931, 746}}"; }; }; 8BA05A670720730100365D66 /* ConsoleX2Channel.exp */ = { @@ -137,10 +137,10 @@ }; 8BC6025B073B072D006C4272 /* ConsoleX2Channel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1146, 5688}}"; - sepNavSelRange = "{7629, 237}"; - sepNavVisRange = "{6149, 1155}"; - sepNavWindowFrame = "{{16, 53}, {802, 825}}"; + sepNavIntBoundsRect = "{{0, 0}, {1029, 5382}}"; + sepNavSelRange = "{8174, 0}"; + sepNavVisRange = "{74, 181}"; + sepNavWindowFrame = "{{638, 53}, {802, 825}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 index ba11fb5ac..afcc0c0c3 100755 --- a/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 @@ -324,7 +324,7 @@ 249 RubberWindowFrame - 1 358 810 487 0 0 1440 878 + 620 216 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +340,7 @@ PBXProjectModuleGUID 8BD95EA72E957B1200D77499 PBXProjectModuleLabel - ConsoleX2Channel.cpp + ConsoleX2Channel.h PBXSplitModuleInNavigatorKey Split0 @@ -348,16 +348,16 @@ PBXProjectModuleGUID 8BD95EA82E957B1200D77499 PBXProjectModuleLabel - ConsoleX2Channel.cpp + ConsoleX2Channel.h _historyCapacity 0 bookmark - 8B5AB5F62EEA1E3300A3F512 + 8B2C05962F15A5A60045AF83 history 8B9629D92E9AC7DA000EAC04 - 8B5AB49F2EE9CADD00A3F512 - 8B5AB4A02EE9CADD00A3F512 + 8B2C05942F15A5A60045AF83 + 8B2C05952F15A5A60045AF83 SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {539, 51}} + {{0, 0}, {539, 86}} RubberWindowFrame - 1 358 810 487 0 0 1440 878 + 620 216 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 86pt Proportion - 390pt + 355pt Tabs @@ -396,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {539, 363}} - RubberWindowFrame - 1 358 810 487 0 0 1440 878 + {{10, 27}, {539, 328}} Module XCDetailModule @@ -453,6 +451,8 @@ Frame {{10, 27}, {539, 328}} + RubberWindowFrame + 620 216 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +480,11 @@ TableOfContents - 8B5AB5C72EEA14CA00A3F512 + 8B2C056F2F15A4DB0045AF83 1CA23ED40692098700951B8B - 8B5AB5C82EEA14CA00A3F512 + 8B2C05702F15A4DB0045AF83 8BD95EA72E957B1200D77499 - 8B5AB5C92EEA14CA00A3F512 + 8B2C05712F15A4DB0045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 787095091.46855199 + 789947814.12646496 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,10 +674,10 @@ 5 WindowOrderList - /Users/christopherjohnson/Desktop/ConsoleX2Channel/ConsoleX2Channel.xcodeproj + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj WindowString - 1 358 810 487 0 0 1440 878 + 620 216 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.cpp b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.cpp index 45914e1bd..cb846742d 100755 --- a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.cpp +++ b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.cpp @@ -331,14 +331,13 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Reset() dBaXL = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; - lastSlewpleL = 0.0; + lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -554,11 +553,13 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Process( const Float32 *inSourceP, darkSampleL = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} darkSampleL /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL,1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -585,6 +586,36 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Process( const Float32 *inSourceP, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.h b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.h index 71ba7313a..a77b85a35 100755 --- a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.h +++ b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.h @@ -251,10 +251,14 @@ public: double avg8L[9]; double avg4L[5]; double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; int avgPos; - double lastSlewL; - double lastSlewpleL; - //preTapeHack + double lastDarkL; + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser index 150259503..8ef8d946f 100755 --- a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser @@ -51,13 +51,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787095378; - PBXWorkspaceStateSaveDate = 787095378; + PBXPerProjectTemplateStateSaveDate = 789944055; + PBXWorkspaceStateSaveDate = 789944055; }; perUserProjectItems = { + 8B2C04482F159A9F0045AF83 /* PBXBookmark */ = 8B2C04482F159A9F0045AF83 /* PBXBookmark */; + 8B2C044B2F159BEB0045AF83 /* PBXTextBookmark */ = 8B2C044B2F159BEB0045AF83 /* PBXTextBookmark */; + 8B2C044E2F159C170045AF83 /* PBXTextBookmark */ = 8B2C044E2F159C170045AF83 /* PBXTextBookmark */; + 8B2C04542F159C170045AF83 /* PBXTextBookmark */ = 8B2C04542F159C170045AF83 /* PBXTextBookmark */; 8B5AB41A2EE9B1F500A3F512 /* PBXTextBookmark */ = 8B5AB41A2EE9B1F500A3F512 /* PBXTextBookmark */; - 8B5AB41C2EE9B1F500A3F512 /* PBXTextBookmark */ = 8B5AB41C2EE9B1F500A3F512 /* PBXTextBookmark */; - 8B5AB63E2EEA333200A3F512 /* PBXTextBookmark */ = 8B5AB63E2EEA333200A3F512 /* PBXTextBookmark */; 8BC5BE482EB1697700031C01 /* PBXTextBookmark */ = 8BC5BE482EB1697700031C01 /* PBXTextBookmark */; 8BD964C72E95AA0700D77499 /* PlistBookmark */ = 8BD964C72E95AA0700D77499 /* PlistBookmark */; }; @@ -65,6 +67,40 @@ userBuildSettings = { }; }; + 8B2C04482F159A9F0045AF83 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; + }; + 8B2C044B2F159BEB0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; + name = "ConsoleX2Pre.cpp: 727"; + rLen = 0; + rLoc = 32359; + rType = 0; + vrLen = 184; + vrLoc = 69; + }; + 8B2C044E2F159C170045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; + name = "ConsoleX2Pre.cpp: 727"; + rLen = 0; + rLoc = 32359; + rType = 0; + vrLen = 184; + vrLoc = 69; + }; + 8B2C04542F159C170045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; + name = "ConsoleX2Pre.cpp: 618"; + rLen = 0; + rLoc = 27205; + rType = 0; + vrLen = 1528; + vrLoc = 29829; + }; 8B5AB41A2EE9B1F500A3F512 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* ConsoleX2Pre.h */; @@ -75,32 +111,12 @@ vrLen = 114; vrLoc = 7293; }; - 8B5AB41C2EE9B1F500A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; - name = "ConsoleX2Pre.cpp: 696"; - rLen = 0; - rLoc = 31255; - rType = 0; - vrLen = 206; - vrLoc = 47; - }; - 8B5AB63E2EEA333200A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */; - name = "ConsoleX2Pre.cpp: 696"; - rLen = 0; - rLoc = 31255; - rType = 0; - vrLen = 206; - vrLoc = 47; - }; 8BA05A660720730100365D66 /* ConsoleX2Pre.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1065, 13464}}"; - sepNavSelRange = "{31255, 0}"; - sepNavVisRange = "{47, 206}"; - sepNavWindowFrame = "{{13, 92}, {1066, 786}}"; + sepNavIntBoundsRect = "{{0, 0}, {1029, 13896}}"; + sepNavSelRange = "{32359, 0}"; + sepNavVisRange = "{69, 184}"; + sepNavWindowFrame = "{{519, 92}, {1066, 786}}"; }; }; 8BA05A690720730100365D66 /* ConsoleX2PreVersion.h */ = { @@ -123,10 +139,10 @@ }; 8BC6025B073B072D006C4272 /* ConsoleX2Pre.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1146, 4842}}"; - sepNavSelRange = "{7719, 250}"; - sepNavVisRange = "{4221, 1052}"; - sepNavWindowFrame = "{{19, 46}, {657, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {1146, 5562}}"; + sepNavSelRange = "{8547, 0}"; + sepNavVisRange = "{7955, 658}"; + sepNavWindowFrame = "{{781, 46}, {657, 832}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 index 248b6f7d4..165c7ffaa 100755 --- a/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 @@ -222,7 +222,48 @@ OpenEditors - + + + Content + + PBXProjectModuleGUID + 8B2C04522F159C170045AF83 + PBXProjectModuleLabel + ConsoleX2Pre.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B2C04532F159C170045AF83 + PBXProjectModuleLabel + ConsoleX2Pre.cpp + _historyCapacity + 0 + bookmark + 8B2C04542F159C170045AF83 + history + + 8B2C04482F159A9F0045AF83 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1066, 689}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 519 148 1066 730 0 0 1440 878 + + + PerspectiveWidths 716 @@ -256,8 +297,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +365,7 @@ 288 RubberWindowFrame - 10 90 716 511 0 0 1440 878 + 713 328 716 511 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,13 +393,13 @@ _historyCapacity 0 bookmark - 8B5AB63E2EEA333200A3F512 + 8B2C044E2F159C170045AF83 history 8BD964C72E95AA0700D77499 8BC5BE482EB1697700031C01 8B5AB41A2EE9B1F500A3F512 - 8B5AB41C2EE9B1F500A3F512 + 8B2C044B2F159BEB0045AF83 SplitCount @@ -374,18 +413,18 @@ GeometryConfiguration Frame - {{0, 0}, {406, 125}} + {{0, 0}, {406, 94}} RubberWindowFrame - 10 90 716 511 0 0 1440 878 + 713 328 716 511 0 0 1440 878 Module PBXNavigatorGroup Proportion - 125pt + 94pt Proportion - 340pt + 371pt Tabs @@ -399,9 +438,7 @@ GeometryConfiguration Frame - {{10, 27}, {406, 313}} - RubberWindowFrame - 10 90 716 511 0 0 1440 878 + {{10, 27}, {406, 344}} Module XCDetailModule @@ -455,7 +492,9 @@ GeometryConfiguration Frame - {{10, 27}, {406, 438}} + {{10, 27}, {406, 344}} + RubberWindowFrame + 713 328 716 511 0 0 1440 878 Module PBXBuildResultsModule @@ -483,11 +522,11 @@ TableOfContents - 8B5AB63F2EEA333200A3F512 + 8B2C044F2F159C170045AF83 1CA23ED40692098700951B8B - 8B5AB6402EEA333200A3F512 + 8B2C04502F159C170045AF83 8BD7274A1D46E5A5000176F0 - 8B5AB6412EEA333200A3F512 + 8B2C04512F159C170045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -660,7 +699,7 @@ StatusbarIsVisible TimeStamp - 787100466.62823403 + 789945367.99131 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -677,10 +716,11 @@ 5 WindowOrderList - /Users/christopherjohnson/Desktop/ConsoleX2Pre/ConsoleX2Pre.xcodeproj + 8B2C04522F159C170045AF83 + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj WindowString - 10 90 716 511 0 0 1440 878 + 713 328 716 511 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SoftClock3/English.lproj/InfoPlist.strings b/plugins/MacAU/SoftClock3/English.lproj/InfoPlist.strings new file mode 100755 index 000000000..79e9a09cf Binary files /dev/null and b/plugins/MacAU/SoftClock3/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/SoftClock3/Info.plist b/plugins/MacAU/SoftClock3/Info.plist new file mode 100755 index 000000000..12f0517b5 --- /dev/null +++ b/plugins/MacAU/SoftClock3/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/SoftClock3/SoftClock3.cpp b/plugins/MacAU/SoftClock3/SoftClock3.cpp new file mode 100755 index 000000000..5f0c1d7a1 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.cpp @@ -0,0 +1,456 @@ +/* +* File: SoftClock3.cpp +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + SoftClock3.cpp + +=============================================================================*/ +#include "SoftClock3.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(SoftClock3) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::SoftClock3 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SoftClock3::SoftClock3(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_A, kDefaultValue_ParamA ); + SetParameter(kParam_B, kDefaultValue_ParamB ); + SetParameter(kParam_C, kDefaultValue_ParamC ); + SetParameter(kParam_D, kDefaultValue_ParamD ); + SetParameter(kParam_E, kDefaultValue_ParamE ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_A: + AUBase::FillInParameterName (outParameterInfo, kParameterAName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 40; + outParameterInfo.maxValue = 240; + outParameterInfo.defaultValue = kDefaultValue_ParamA; + break; + case kParam_B: + AUBase::FillInParameterName (outParameterInfo, kParameterBName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_CustomUnit; + switch ((int)GetParameter( kParam_B )){ + case 0:outParameterInfo.unitName = CFSTR("0"); break; + case 1: outParameterInfo.unitName = CFSTR("1"); break; + case 2:outParameterInfo.unitName = CFSTR("2"); break; + case 3:outParameterInfo.unitName = CFSTR("3"); break; + case 4:outParameterInfo.unitName = CFSTR("4"); break; + case 5:outParameterInfo.unitName = CFSTR("5"); break; + case 6:outParameterInfo.unitName = CFSTR("6"); break; + case 7:outParameterInfo.unitName = CFSTR("7"); break; + case 8:outParameterInfo.unitName = CFSTR("8"); break; + case 9:outParameterInfo.unitName = CFSTR("9"); break; + case 10:outParameterInfo.unitName = CFSTR("10"); break; + case 11:outParameterInfo.unitName = CFSTR("11"); break; + case 12:outParameterInfo.unitName = CFSTR("11"); break; + case 13:outParameterInfo.unitName = CFSTR("11"); break; + case 14:outParameterInfo.unitName = CFSTR("11"); break; + case 15:outParameterInfo.unitName = CFSTR("13"); break; + case 16:outParameterInfo.unitName = CFSTR("16"); break; + case 17:outParameterInfo.unitName = CFSTR("13"); break; + case 18:outParameterInfo.unitName = CFSTR("13"); break; + case 19:outParameterInfo.unitName = CFSTR("17"); break; + case 20:outParameterInfo.unitName = CFSTR("17"); break; + case 21:outParameterInfo.unitName = CFSTR("17"); break; + case 22:outParameterInfo.unitName = CFSTR("17"); break; + case 23:outParameterInfo.unitName = CFSTR("19"); break; + case 24:outParameterInfo.unitName = CFSTR("24"); break; + case 25:outParameterInfo.unitName = CFSTR("19"); break; + case 26:outParameterInfo.unitName = CFSTR("19"); break; + case 27:outParameterInfo.unitName = CFSTR("19"); break; + case 28:outParameterInfo.unitName = CFSTR("23"); break; + case 29:outParameterInfo.unitName = CFSTR("23"); break; + case 30:outParameterInfo.unitName = CFSTR("23"); break; + case 31:outParameterInfo.unitName = CFSTR("23"); break; + case 32:outParameterInfo.unitName = CFSTR("32"); break; + default: break; + } + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 32; + outParameterInfo.defaultValue = kDefaultValue_ParamB; + break; + case kParam_C: + AUBase::FillInParameterName (outParameterInfo, kParameterCName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamC; + break; + case kParam_D: + AUBase::FillInParameterName (outParameterInfo, kParameterDName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 1; + outParameterInfo.defaultValue = kDefaultValue_ParamD; + break; + case kParam_E: + AUBase::FillInParameterName (outParameterInfo, kParameterEName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamE; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 SoftClock3::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// SoftClock3::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____SoftClock3EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::SoftClock3Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus SoftClock3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int bpm = GetParameter( kParam_A ); + int beatCode = GetParameter( kParam_B ); + double notes = (double)fmax(GetParameter( kParam_C )/4.0, 0.125); + double bpmTarget = (GetSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (GetParameter( kParam_D ) > 0) triplet = 1.0; + double accent = GetParameter( kParam_E ); + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacAU/SoftClock3/SoftClock3.exp b/plugins/MacAU/SoftClock3/SoftClock3.exp new file mode 100755 index 000000000..4cee215a2 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.exp @@ -0,0 +1 @@ +_SoftClock3Entry diff --git a/plugins/MacAU/SoftClock3/SoftClock3.h b/plugins/MacAU/SoftClock3/SoftClock3.h new file mode 100755 index 000000000..606f66fb5 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.h @@ -0,0 +1,141 @@ +/* +* File: SoftClock3.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "SoftClock3Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __SoftClock3_h__ +#define __SoftClock3_h__ + + +#pragma mark ____SoftClock3 Parameters + +// parameters +static const float kDefaultValue_ParamA = 120; +static const float kDefaultValue_ParamB = 4; +static const float kDefaultValue_ParamC = 4; +static const float kDefaultValue_ParamD = 0; +static const float kDefaultValue_ParamE = 0.5; + +static CFStringRef kParameterAName = CFSTR("Tempo"); +static CFStringRef kParameterBName = CFSTR("Count"); +static CFStringRef kParameterCName = CFSTR("Tuple"); +static CFStringRef kParameterDName = CFSTR("Triplet"); +static CFStringRef kParameterEName = CFSTR("Flavor"); + +enum { + kParam_A =0, + kParam_B =1, + kParam_C =2, + kParam_D =3, + kParam_E =4, + //Add your parameters here... + kNumberOfParameters=5 +}; + +#pragma mark ____SoftClock3 +class SoftClock3 : public AUEffectBase +{ +public: + SoftClock3(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~SoftClock3 () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kSoftClock3Version; } + + private: + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/SoftClock3/SoftClock3.r b/plugins/MacAU/SoftClock3/SoftClock3.r new file mode 100755 index 000000000..59bf07dc2 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.r @@ -0,0 +1,61 @@ +/* +* File: SoftClock3.r +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "SoftClock3Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_SoftClock3 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SoftClock3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_SoftClock3 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE SoftClock3_COMP_SUBTYPE +#define COMP_MANUF SoftClock3_COMP_MANF + +#define VERSION kSoftClock3Version +#define NAME "Airwindows: SoftClock3" +#define DESCRIPTION "SoftClock3 AU" +#define ENTRY_POINT "SoftClock3Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..d51cb6559 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,107 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* SoftClock3 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789925227; + PBXWorkspaceStateSaveDate = 789925227; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* SoftClock3.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1274, 8604}}"; + sepNavSelRange = "{18871, 194}"; + sepNavVisRange = "{18844, 1484}"; + sepNavWindowFrame = "{{642, 58}, {1321, 820}}"; + }; + }; + 8BA05A690720730100365D66 /* SoftClock3Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2912, 0}"; + sepNavVisRange = "{967, 2008}"; + sepNavWindowFrame = "{{748, 50}, {845, 828}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* SoftClock3.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 2376}}"; + sepNavSelRange = "{3015, 0}"; + sepNavVisRange = "{2437, 917}"; + sepNavWindowFrame = "{{619, 177}, {853, 701}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d49ec4037 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1476 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B6CA1812F0FDC0900D79038 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B6CA17C2F0FDC0900D79038 + PBXProjectModuleLabel + + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B6CA17D2F0FDC0900D79038 + PBXProjectModuleLabel + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C02FD2F154D6F0045AF83 + 1CA23ED40692098700951B8B + 8B2C02FE2F154D6F0045AF83 + 8B6CA17C2F0FDC0900D79038 + 8B2C02FF2F154D6F0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789927010.93231297 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B2C03412F1554620045AF83 + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj + + WindowString + 851 276 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj new file mode 100755 index 000000000..8965bdd98 --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj @@ -0,0 +1,490 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; }; + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; }; + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; }; + 8B4119B70749654200361ABE /* SoftClock3.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* SoftClock3.r */; }; + 8BA05A6B0720730100365D66 /* SoftClock3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* SoftClock3.cpp */; }; + 8BA05A6E0720730100365D66 /* SoftClock3Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* SoftClock3Version.h */; }; + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; }; + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; }; + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; }; + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; }; + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; }; + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; }; + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; }; + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; }; + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; }; + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; }; + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; }; + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; }; + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; }; + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; }; + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; }; + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; }; + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; }; + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; }; + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; }; + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; }; + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; }; + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; }; + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; }; + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; }; + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; }; + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; }; + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; }; + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; }; + 8BC6025C073B072D006C4272 /* SoftClock3.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* SoftClock3.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; }; + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* SoftClock3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoftClock3.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* SoftClock3.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = SoftClock3.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* SoftClock3.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = SoftClock3.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* SoftClock3Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoftClock3Version.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* SoftClock3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoftClock3.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftClock3.component; sourceTree = BUILT_PRODUCTS_DIR; }; + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; }; + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* SoftClock3 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = SoftClock3; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* SoftClock3.h */, + 8BA05A660720730100365D66 /* SoftClock3.cpp */, + 8BA05A670720730100365D66 /* SoftClock3.exp */, + 8BA05A680720730100365D66 /* SoftClock3.r */, + 8BA05A690720730100365D66 /* SoftClock3Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BA05A7D072073D200365D66 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BA05A7E072073D200365D66 /* AUBase */, + 8BA05A99072073D200365D66 /* OtherBases */, + 8BA05AA6072073D200365D66 /* Utility */, + ); + name = AUPublic; + path = Extras/CoreAudio/AudioUnits/AUPublic; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; + 8BA05A7E072073D200365D66 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BA05A7F072073D200365D66 /* AUBase.cpp */, + 8BA05A80072073D200365D66 /* AUBase.h */, + 8BA05A81072073D200365D66 /* AUDispatch.cpp */, + 8BA05A82072073D200365D66 /* AUDispatch.h */, + 8BA05A83072073D200365D66 /* AUInputElement.cpp */, + 8BA05A84072073D200365D66 /* AUInputElement.h */, + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */, + 8BA05A86072073D200365D66 /* AUOutputElement.h */, + 8BA05A87072073D200365D66 /* AUResources.r */, + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */, + 8BA05A89072073D200365D66 /* AUScopeElement.h */, + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */, + 8BA05A8B072073D200365D66 /* ComponentBase.h */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BA05AA6072073D200365D66 /* Utility */ = { + isa = PBXGroup; + children = ( + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */, + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */, + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */, + 8BA05AA8072073D200365D66 /* AUBuffer.h */, + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */, + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */, + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */, + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */, + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05AEB0720742700365D66 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BA05B050720754400365D66 /* CAAUParameter.cpp */, + 8BA05B060720754400365D66 /* CAAUParameter.h */, + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */, + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */, + 8BA05AE10720742100365D66 /* CAMutex.cpp */, + 8BA05AE20720742100365D66 /* CAMutex.h */, + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */, + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */, + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */, + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */, + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */, + ); + name = PublicUtility; + path = Extras/CoreAudio/PublicUtility; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6E0720730100365D66 /* SoftClock3Version.h in Headers */, + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */, + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */, + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */, + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */, + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */, + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */, + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */, + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */, + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */, + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */, + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */, + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */, + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */, + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */, + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */, + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */, + 8BC6025C073B072D006C4272 /* SoftClock3.h in Headers */, + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */, + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */, + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "SoftClock3" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SoftClock3; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = SoftClock3; + productReference = 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "SoftClock3" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* SoftClock3 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B4119B70749654200361ABE /* SoftClock3.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* SoftClock3.cpp in Sources */, + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */, + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */, + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */, + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */, + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */, + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */, + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */, + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */, + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */, + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */, + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */, + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */, + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */, + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */, + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = SoftClock3.exp; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = SoftClock3; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = SoftClock3.exp; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = SoftClock3; + SDKROOT = macosx10.5; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/SoftClock3/SoftClock3Version.h b/plugins/MacAU/SoftClock3/SoftClock3Version.h new file mode 100755 index 000000000..c458ef31d --- /dev/null +++ b/plugins/MacAU/SoftClock3/SoftClock3Version.h @@ -0,0 +1,58 @@ +/* +* File: SoftClock3Version.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __SoftClock3Version_h__ +#define __SoftClock3Version_h__ + + +#ifdef DEBUG + #define kSoftClock3Version 0xFFFFFFFF +#else + #define kSoftClock3Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define SoftClock3_COMP_MANF 'Dthr' +#define SoftClock3_COMP_SUBTYPE 'sfc3' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/SoftClock3/StarterAU_Prefix.pch b/plugins/MacAU/SoftClock3/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/SoftClock3/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacAU/SoftClock3/version.plist b/plugins/MacAU/SoftClock3/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/SoftClock3/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacAU/TapeHack2/English.lproj/InfoPlist.strings b/plugins/MacAU/TapeHack2/English.lproj/InfoPlist.strings new file mode 100755 index 000000000..6d8a830fd Binary files /dev/null and b/plugins/MacAU/TapeHack2/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/TapeHack2/Info.plist b/plugins/MacAU/TapeHack2/Info.plist new file mode 100755 index 000000000..01dc6831c --- /dev/null +++ b/plugins/MacAU/TapeHack2/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + DthX + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/TapeHack2/TapeHack2.cpp b/plugins/MacAU/TapeHack2/TapeHack2.cpp new file mode 100755 index 000000000..bae41083b --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.cpp @@ -0,0 +1,311 @@ +/* +* File: TapeHack2.cpp +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + TapeHack2.cpp + +=============================================================================*/ +#include "TapeHack2.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(TapeHack2) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +TapeHack2::TapeHack2(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_A, kDefaultValue_ParamA ); + SetParameter(kParam_B, kDefaultValue_ParamB ); + SetParameter(kParam_C, kDefaultValue_ParamC ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_A: + AUBase::FillInParameterName (outParameterInfo, kParameterAName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamA; + break; + case kParam_B: + AUBase::FillInParameterName (outParameterInfo, kParameterBName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamB; + break; + case kParam_C: + AUBase::FillInParameterName (outParameterInfo, kParameterCName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamC; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// TapeHack2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____TapeHack2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void TapeHack2::TapeHack2Kernel::Reset() +{ + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; + //preTapeHack + + fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2Kernel::Process +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void TapeHack2::TapeHack2Kernel::Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence ) +{ + UInt32 nSampleFrames = inFramesToProcess; + const Float32 *sourceP = inSourceP; + Float32 *destP = inDestP; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = GetParameter( kParam_A )*10.0; + double outputGain = GetParameter( kParam_B )*0.9239; + double wet = GetParameter( kParam_C ); + + while (nSampleFrames-- > 0) { + double inputSampleL = *sourceP; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpd * 1.18e-17; + double drySampleL = inputSampleL; + + //begin Left + inputSampleL *= inputGain; + double darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} + darkSampleL /= 2.0; + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + //end Left + + //begin 32 bit floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5; + inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit floating point dither + + *destP = inputSampleL; + + sourceP += inNumChannels; destP += inNumChannels; + } +} + diff --git a/plugins/MacAU/TapeHack2/TapeHack2.exp b/plugins/MacAU/TapeHack2/TapeHack2.exp new file mode 100755 index 000000000..7701e2b3a --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.exp @@ -0,0 +1 @@ +_TapeHack2Entry diff --git a/plugins/MacAU/TapeHack2/TapeHack2.h b/plugins/MacAU/TapeHack2/TapeHack2.h new file mode 100755 index 000000000..e5f2dcfa5 --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.h @@ -0,0 +1,154 @@ +/* +* File: TapeHack2.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "TapeHack2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __TapeHack2_h__ +#define __TapeHack2_h__ + + +#pragma mark ____TapeHack2 Parameters + +// parameters +static const float kDefaultValue_ParamA = 0.1; +static const float kDefaultValue_ParamB = 1.0; +static const float kDefaultValue_ParamC = 1.0; + +static CFStringRef kParameterAName = CFSTR("Input"); +static CFStringRef kParameterBName = CFSTR("Output"); +static CFStringRef kParameterCName = CFSTR("Dry/Wet"); + +enum { + kParam_A =0, + kParam_B =1, + kParam_C =2, + //Add your parameters here... + kNumberOfParameters=3 +}; + +#pragma mark ____TapeHack2 +class TapeHack2 : public AUEffectBase +{ +public: + TapeHack2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~TapeHack2 () { delete mDebugDispatcher; } +#endif + + virtual AUKernelBase * NewKernel() { return new TapeHack2Kernel(this); } + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kTapeHack2Version; } + + + +protected: + class TapeHack2Kernel : public AUKernelBase // most of the real work happens here + { +public: + TapeHack2Kernel(AUEffectBase *inAudioUnit ) + : AUKernelBase(inAudioUnit) + { + } + + // *Required* overides for the process method for this effect + // processes one channel of interleaved samples + virtual void Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence); + + virtual void Reset(); + + private: + double avg32L[33]; + double avg16L[17]; + double avg8L[9]; + double avg4L[5]; + double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; + int avgPos; + double lastDarkL; + //preTapeHack + + uint32_t fpd; + }; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/TapeHack2/TapeHack2.r b/plugins/MacAU/TapeHack2/TapeHack2.r new file mode 100755 index 000000000..8c2b3a998 --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.r @@ -0,0 +1,61 @@ +/* +* File: TapeHack2.r +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "TapeHack2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_TapeHack2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TapeHack2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_TapeHack2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE TapeHack2_COMP_SUBTYPE +#define COMP_MANUF TapeHack2_COMP_MANF + +#define VERSION kTapeHack2Version +#define NAME "Airwindows: TapeHack2" +#define DESCRIPTION "TapeHack2 AU" +#define ENTRY_POINT "TapeHack2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..f301be9a2 --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1358 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05AEB0720742700365D66 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 20 + 19 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 463}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {580, 269}} + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 269pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 274}, {580, 189}} + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 189pt + + + Proportion + 580pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8B563EC9161B5E170067FE32 + 1CE0B1FE06471DED0097A5F4 + 8B563ECA161B5E170067FE32 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect/StarterAU.xcodeproj + + WindowString + 203 321 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8B563ECB161B5E170067FE32 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..2460b59ae --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,137 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* TapeHack2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 292, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 252, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789944008; + PBXWorkspaceStateSaveDate = 789944008; + }; + perUserProjectItems = { + 8B2C038B2F15696A0045AF83 /* PlistBookmark */ = 8B2C038B2F15696A0045AF83 /* PlistBookmark */; + 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */ = 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */; + 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */ = 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B2C038B2F15696A0045AF83 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/TapeHack2/Info.plist; + rLen = 0; + rLoc = 9223372036854775808; + }; + 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; + name = "TapeHack2Version.h: 54"; + rLen = 0; + rLoc = 2905; + rType = 0; + vrLen = 241; + vrLoc = 2726; + }; + 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; + name = "TapeHack2Version.h: 54"; + rLen = 0; + rLoc = 2905; + rType = 0; + vrLen = 235; + vrLoc = 2732; + }; + 8BA05A660720730100365D66 /* TapeHack2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 5616}}"; + sepNavSelRange = "{11503, 1023}"; + sepNavVisRange = "{11359, 1262}"; + sepNavWindowFrame = "{{8, 91}, {883, 787}}"; + }; + }; + 8BA05A690720730100365D66 /* TapeHack2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1038, 1242}}"; + sepNavSelRange = "{2905, 0}"; + sepNavVisRange = "{2732, 235}"; + sepNavWindowFrame = "{{15, 38}, {768, 840}}"; + }; + }; + 8BC6025B073B072D006C4272 /* TapeHack2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 3312}}"; + sepNavSelRange = "{5237, 254}"; + sepNavVisRange = "{4785, 834}"; + sepNavWindowFrame = "{{27, 38}, {768, 840}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..635f5b383 --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1506 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8BD7274F1D46E5A5000176F0 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 841 + 841 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 288 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + 089C167CFE841241C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {288, 595}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {305, 613}} + GroupTreeTableConfiguration + + MainColumn + 288 + + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 305pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8BD7274A1D46E5A5000176F0 + PBXProjectModuleLabel + TapeHack2Version.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8BD7274B1D46E5A5000176F0 + PBXProjectModuleLabel + TapeHack2Version.h + _historyCapacity + 0 + bookmark + 8B2C04612F159D3E0045AF83 + history + + 8B2C038B2F15696A0045AF83 + 8B2C038D2F15696A0045AF83 + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {531, 188}} + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 188pt + + + Proportion + 420pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {531, 393}} + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {531, 365}} + + Module + PBXBuildResultsModule + + + + + Proportion + 531pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C04622F159D3E0045AF83 + 1CA23ED40692098700951B8B + 8B2C04632F159D3E0045AF83 + 8BD7274A1D46E5A5000176F0 + 8B2C04642F159D3E0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0pt + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 214}} + {{395, 0}, {415, 214}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 214}} + {{0, 214}, {810, 227}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 5}, {810, 441}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 185 + + Frame + {{395, 0}, {415, 214}} + + + Module + PBXDebugSessionModule + Proportion + 441pt + + + Name + Debug + ServiceClasses + + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup + + TableOfContents + + 8BD727EC1D46ECF1000176F0 + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 8BD727ED1D46ECF1000176F0 + 8BD727EE1D46ECF1000176F0 + 8BD727EF1D46ECF1000176F0 + 8BD727F01D46ECF1000176F0 + 8BD727E71D46ECD9000176F0 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789945662.64648294 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj + + WindowString + 13 185 841 654 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..536334428 --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj @@ -0,0 +1,490 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; }; + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; }; + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; }; + 8B4119B70749654200361ABE /* TapeHack2.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* TapeHack2.r */; }; + 8BA05A6B0720730100365D66 /* TapeHack2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* TapeHack2.cpp */; }; + 8BA05A6E0720730100365D66 /* TapeHack2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; }; + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; }; + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; }; + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; }; + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; }; + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; }; + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; }; + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; }; + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; }; + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; }; + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; }; + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; }; + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; }; + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; }; + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; }; + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; }; + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; }; + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; }; + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; }; + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; }; + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; }; + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; }; + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; }; + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; }; + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; }; + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; }; + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; }; + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; }; + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; }; + 8BC6025C073B072D006C4272 /* TapeHack2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* TapeHack2.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; }; + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* TapeHack2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TapeHack2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* TapeHack2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = TapeHack2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* TapeHack2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = TapeHack2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* TapeHack2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TapeHack2Version.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* TapeHack2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TapeHack2.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TapeHack2.component; sourceTree = BUILT_PRODUCTS_DIR; }; + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; }; + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* TapeHack2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = TapeHack2; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* TapeHack2.h */, + 8BA05A660720730100365D66 /* TapeHack2.cpp */, + 8BA05A670720730100365D66 /* TapeHack2.exp */, + 8BA05A680720730100365D66 /* TapeHack2.r */, + 8BA05A690720730100365D66 /* TapeHack2Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BA05A7D072073D200365D66 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BA05A7E072073D200365D66 /* AUBase */, + 8BA05A99072073D200365D66 /* OtherBases */, + 8BA05AA6072073D200365D66 /* Utility */, + ); + name = AUPublic; + path = Extras/CoreAudio/AudioUnits/AUPublic; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; + 8BA05A7E072073D200365D66 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BA05A7F072073D200365D66 /* AUBase.cpp */, + 8BA05A80072073D200365D66 /* AUBase.h */, + 8BA05A81072073D200365D66 /* AUDispatch.cpp */, + 8BA05A82072073D200365D66 /* AUDispatch.h */, + 8BA05A83072073D200365D66 /* AUInputElement.cpp */, + 8BA05A84072073D200365D66 /* AUInputElement.h */, + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */, + 8BA05A86072073D200365D66 /* AUOutputElement.h */, + 8BA05A87072073D200365D66 /* AUResources.r */, + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */, + 8BA05A89072073D200365D66 /* AUScopeElement.h */, + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */, + 8BA05A8B072073D200365D66 /* ComponentBase.h */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BA05AA6072073D200365D66 /* Utility */ = { + isa = PBXGroup; + children = ( + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */, + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */, + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */, + 8BA05AA8072073D200365D66 /* AUBuffer.h */, + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */, + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */, + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */, + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */, + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05AEB0720742700365D66 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BA05B050720754400365D66 /* CAAUParameter.cpp */, + 8BA05B060720754400365D66 /* CAAUParameter.h */, + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */, + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */, + 8BA05AE10720742100365D66 /* CAMutex.cpp */, + 8BA05AE20720742100365D66 /* CAMutex.h */, + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */, + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */, + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */, + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */, + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */, + ); + name = PublicUtility; + path = Extras/CoreAudio/PublicUtility; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6E0720730100365D66 /* TapeHack2Version.h in Headers */, + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */, + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */, + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */, + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */, + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */, + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */, + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */, + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */, + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */, + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */, + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */, + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */, + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */, + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */, + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */, + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */, + 8BC6025C073B072D006C4272 /* TapeHack2.h in Headers */, + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */, + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */, + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "TapeHack2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TapeHack2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = TapeHack2; + productReference = 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "TapeHack2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* TapeHack2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B4119B70749654200361ABE /* TapeHack2.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* TapeHack2.cpp in Sources */, + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */, + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */, + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */, + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */, + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */, + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */, + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */, + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */, + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */, + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */, + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */, + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */, + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */, + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */, + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = TapeHack2.exp; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = TapeHack2; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = TapeHack2.exp; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = TapeHack2; + SDKROOT = macosx10.5; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/TapeHack2/TapeHack2Version.h b/plugins/MacAU/TapeHack2/TapeHack2Version.h new file mode 100755 index 000000000..60d51b32d --- /dev/null +++ b/plugins/MacAU/TapeHack2/TapeHack2Version.h @@ -0,0 +1,58 @@ +/* +* File: TapeHack2Version.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __TapeHack2Version_h__ +#define __TapeHack2Version_h__ + + +#ifdef DEBUG + #define kTapeHack2Version 0xFFFFFFFF +#else + #define kTapeHack2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define TapeHack2_COMP_MANF 'Dthr' +#define TapeHack2_COMP_SUBTYPE 'tha2' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/TapeHack2/version.plist b/plugins/MacAU/TapeHack2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/TapeHack2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.cpp b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.cpp index 21f13cdfb..05ec25cd6 100755 --- a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.cpp +++ b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.cpp @@ -437,14 +437,13 @@ ComponentResult ConsoleHChannel::Reset(AudioUnitScope inScope, AudioUnitElement dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -660,15 +659,16 @@ OSStatus ConsoleHChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -720,6 +720,39 @@ OSStatus ConsoleHChannel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAct //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.h b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.h index 874810e44..4d4a57b3a 100755 --- a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.h +++ b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.h @@ -283,12 +283,20 @@ public: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index 5955dd44b..1084d297b 100644 Binary files a/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedAU/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.cpp b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.cpp index b28c84507..717e25735 100755 --- a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.cpp +++ b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.cpp @@ -404,14 +404,13 @@ void ConsoleHPre::ConsoleHPreKernel::Reset() dBaXL = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; - lastSlewpleL = 0.0; + lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -618,11 +617,13 @@ void ConsoleHPre::ConsoleHPreKernel::Process( const Float32 *inSourceP, darkSampleL = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} darkSampleL /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL,1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + //begin Discontinuity section inputSampleL *= moreTapeHack; inputSampleL *= moreDiscontinuity; @@ -650,6 +651,37 @@ void ConsoleHPre::ConsoleHPreKernel::Process( const Float32 *inSourceP, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.h b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.h index 438287cdd..5b81cff09 100755 --- a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.h +++ b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.h @@ -280,10 +280,14 @@ public: double avg8L[9]; double avg4L[5]; double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; int avgPos; - double lastSlewL; - double lastSlewpleL; - //preTapeHack + double lastDarkL; + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index 1feae4ebe..dc7203044 100644 Binary files a/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedAU/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.cpp b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.cpp index 71ac13196..8b0a45c81 100755 --- a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.cpp +++ b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.cpp @@ -364,14 +364,13 @@ ComponentResult ConsoleX2Channel::Reset(AudioUnitScope inScope, AudioUnitElemen dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -596,15 +595,16 @@ OSStatus ConsoleX2Channel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAc darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -656,6 +656,39 @@ OSStatus ConsoleX2Channel::ProcessBufferLists(AudioUnitRenderActionFlags & ioAc //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.h b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.h index 8e5812c89..2660bc2c9 100755 --- a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.h +++ b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.h @@ -255,12 +255,20 @@ public: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index 1d1eb63fd..e35759e93 100644 Binary files a/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedAU/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.cpp b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.cpp index d7e9481be..9677703d9 100755 --- a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.cpp +++ b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.cpp @@ -331,14 +331,13 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Reset() dBaXL = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; - lastSlewpleL = 0.0; + lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; @@ -554,11 +553,13 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Process( const Float32 *inSourceP, darkSampleL = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} darkSampleL /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL,1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -585,6 +586,36 @@ void ConsoleX2Pre::ConsoleX2PreKernel::Process( const Float32 *inSourceP, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.h b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.h index 71ba7313a..a77b85a35 100755 --- a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.h +++ b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.h @@ -251,10 +251,14 @@ public: double avg8L[9]; double avg4L[5]; double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; int avgPos; - double lastSlewL; - double lastSlewpleL; - //preTapeHack + double lastDarkL; + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index 14252eb28..4ebb1b463 100644 Binary files a/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedAU/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/SoftClock3/Info.plist b/plugins/MacSignedAU/SoftClock3/Info.plist new file mode 100755 index 000000000..e88667861 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + sfc3 + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.cpp b/plugins/MacSignedAU/SoftClock3/SoftClock3.cpp new file mode 100755 index 000000000..6706d4b95 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.cpp @@ -0,0 +1,456 @@ +/* +* File: SoftClock3.cpp +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + SoftClock3.cpp + +=============================================================================*/ +#include "SoftClock3.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, SoftClock3) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::SoftClock3 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SoftClock3::SoftClock3(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_A, kDefaultValue_ParamA ); + SetParameter(kParam_B, kDefaultValue_ParamB ); + SetParameter(kParam_C, kDefaultValue_ParamC ); + SetParameter(kParam_D, kDefaultValue_ParamD ); + SetParameter(kParam_E, kDefaultValue_ParamE ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_A: + AUBase::FillInParameterName (outParameterInfo, kParameterAName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 40; + outParameterInfo.maxValue = 240; + outParameterInfo.defaultValue = kDefaultValue_ParamA; + break; + case kParam_B: + AUBase::FillInParameterName (outParameterInfo, kParameterBName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_CustomUnit; + switch ((int)GetParameter( kParam_B )){ + case 0:outParameterInfo.unitName = CFSTR("0"); break; + case 1: outParameterInfo.unitName = CFSTR("1"); break; + case 2:outParameterInfo.unitName = CFSTR("2"); break; + case 3:outParameterInfo.unitName = CFSTR("3"); break; + case 4:outParameterInfo.unitName = CFSTR("4"); break; + case 5:outParameterInfo.unitName = CFSTR("5"); break; + case 6:outParameterInfo.unitName = CFSTR("6"); break; + case 7:outParameterInfo.unitName = CFSTR("7"); break; + case 8:outParameterInfo.unitName = CFSTR("8"); break; + case 9:outParameterInfo.unitName = CFSTR("9"); break; + case 10:outParameterInfo.unitName = CFSTR("10"); break; + case 11:outParameterInfo.unitName = CFSTR("11"); break; + case 12:outParameterInfo.unitName = CFSTR("11"); break; + case 13:outParameterInfo.unitName = CFSTR("11"); break; + case 14:outParameterInfo.unitName = CFSTR("11"); break; + case 15:outParameterInfo.unitName = CFSTR("13"); break; + case 16:outParameterInfo.unitName = CFSTR("16"); break; + case 17:outParameterInfo.unitName = CFSTR("13"); break; + case 18:outParameterInfo.unitName = CFSTR("13"); break; + case 19:outParameterInfo.unitName = CFSTR("17"); break; + case 20:outParameterInfo.unitName = CFSTR("17"); break; + case 21:outParameterInfo.unitName = CFSTR("17"); break; + case 22:outParameterInfo.unitName = CFSTR("17"); break; + case 23:outParameterInfo.unitName = CFSTR("19"); break; + case 24:outParameterInfo.unitName = CFSTR("24"); break; + case 25:outParameterInfo.unitName = CFSTR("19"); break; + case 26:outParameterInfo.unitName = CFSTR("19"); break; + case 27:outParameterInfo.unitName = CFSTR("19"); break; + case 28:outParameterInfo.unitName = CFSTR("23"); break; + case 29:outParameterInfo.unitName = CFSTR("23"); break; + case 30:outParameterInfo.unitName = CFSTR("23"); break; + case 31:outParameterInfo.unitName = CFSTR("23"); break; + case 32:outParameterInfo.unitName = CFSTR("32"); break; + default: break; + } + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 32; + outParameterInfo.defaultValue = kDefaultValue_ParamB; + break; + case kParam_C: + AUBase::FillInParameterName (outParameterInfo, kParameterCName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamC; + break; + case kParam_D: + AUBase::FillInParameterName (outParameterInfo, kParameterDName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 1; + outParameterInfo.defaultValue = kDefaultValue_ParamD; + break; + case kParam_E: + AUBase::FillInParameterName (outParameterInfo, kParameterEName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamE; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 SoftClock3::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// SoftClock3::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____SoftClock3EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::SoftClock3Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult SoftClock3::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// SoftClock3::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus SoftClock3::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int bpm = GetParameter( kParam_A ); + int beatCode = GetParameter( kParam_B ); + double notes = (double)fmax(GetParameter( kParam_C )/4.0, 0.125); + double bpmTarget = (GetSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (GetParameter( kParam_D ) > 0) triplet = 1.0; + double accent = GetParameter( kParam_E ); + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.exp b/plugins/MacSignedAU/SoftClock3/SoftClock3.exp new file mode 100755 index 000000000..da4cbf5ad --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.exp @@ -0,0 +1,2 @@ +_SoftClock3Entry +_SoftClock3Factory diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.h b/plugins/MacSignedAU/SoftClock3/SoftClock3.h new file mode 100755 index 000000000..606f66fb5 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.h @@ -0,0 +1,141 @@ +/* +* File: SoftClock3.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "SoftClock3Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __SoftClock3_h__ +#define __SoftClock3_h__ + + +#pragma mark ____SoftClock3 Parameters + +// parameters +static const float kDefaultValue_ParamA = 120; +static const float kDefaultValue_ParamB = 4; +static const float kDefaultValue_ParamC = 4; +static const float kDefaultValue_ParamD = 0; +static const float kDefaultValue_ParamE = 0.5; + +static CFStringRef kParameterAName = CFSTR("Tempo"); +static CFStringRef kParameterBName = CFSTR("Count"); +static CFStringRef kParameterCName = CFSTR("Tuple"); +static CFStringRef kParameterDName = CFSTR("Triplet"); +static CFStringRef kParameterEName = CFSTR("Flavor"); + +enum { + kParam_A =0, + kParam_B =1, + kParam_C =2, + kParam_D =3, + kParam_E =4, + //Add your parameters here... + kNumberOfParameters=5 +}; + +#pragma mark ____SoftClock3 +class SoftClock3 : public AUEffectBase +{ +public: + SoftClock3(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~SoftClock3 () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kSoftClock3Version; } + + private: + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.r b/plugins/MacSignedAU/SoftClock3/SoftClock3.r new file mode 100755 index 000000000..59bf07dc2 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.r @@ -0,0 +1,61 @@ +/* +* File: SoftClock3.r +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "SoftClock3Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_SoftClock3 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SoftClock3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_SoftClock3 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE SoftClock3_COMP_SUBTYPE +#define COMP_MANUF SoftClock3_COMP_MANF + +#define VERSION kSoftClock3Version +#define NAME "Airwindows: SoftClock3" +#define DESCRIPTION "SoftClock3 AU" +#define ENTRY_POINT "SoftClock3Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..d51cb6559 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,107 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* SoftClock3 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789925227; + PBXWorkspaceStateSaveDate = 789925227; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* SoftClock3.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1274, 8604}}"; + sepNavSelRange = "{18871, 194}"; + sepNavVisRange = "{18844, 1484}"; + sepNavWindowFrame = "{{642, 58}, {1321, 820}}"; + }; + }; + 8BA05A690720730100365D66 /* SoftClock3Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2912, 0}"; + sepNavVisRange = "{967, 2008}"; + sepNavWindowFrame = "{{748, 50}, {845, 828}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* SoftClock3.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 2376}}"; + sepNavSelRange = "{3015, 0}"; + sepNavVisRange = "{2437, 917}"; + sepNavWindowFrame = "{{619, 177}, {853, 701}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d49ec4037 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1476 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B6CA1812F0FDC0900D79038 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B6CA17C2F0FDC0900D79038 + PBXProjectModuleLabel + + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B6CA17D2F0FDC0900D79038 + PBXProjectModuleLabel + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 851 276 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C02FD2F154D6F0045AF83 + 1CA23ED40692098700951B8B + 8B2C02FE2F154D6F0045AF83 + 8B6CA17C2F0FDC0900D79038 + 8B2C02FF2F154D6F0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789927010.93231297 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B2C03412F1554620045AF83 + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/SoftClock3/SoftClock3.xcodeproj + + WindowString + 851 276 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj new file mode 100755 index 000000000..ec81d6d63 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8BA05A6B0720730100365D66 /* SoftClock3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* SoftClock3.cpp */; }; + 8BA05A6E0720730100365D66 /* SoftClock3Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* SoftClock3Version.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* SoftClock3.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* SoftClock3.h */; }; + 8BF6DD2E2F16AFAC00F09130 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCA62F16AFAC00F09130 /* CAExtAudioFile.h */; }; + 8BF6DD2F2F16AFAC00F09130 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCA72F16AFAC00F09130 /* CACFMachPort.h */; }; + 8BF6DD302F16AFAC00F09130 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCA82F16AFAC00F09130 /* CABool.h */; }; + 8BF6DD312F16AFAC00F09130 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCA92F16AFAC00F09130 /* CAComponent.cpp */; }; + 8BF6DD322F16AFAC00F09130 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCAA2F16AFAC00F09130 /* CADebugger.h */; }; + 8BF6DD332F16AFAC00F09130 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCAB2F16AFAC00F09130 /* CACFNumber.cpp */; }; + 8BF6DD342F16AFAC00F09130 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCAC2F16AFAC00F09130 /* CAGuard.h */; }; + 8BF6DD352F16AFAC00F09130 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCAD2F16AFAC00F09130 /* CAAtomic.h */; }; + 8BF6DD362F16AFAC00F09130 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCAE2F16AFAC00F09130 /* CAStreamBasicDescription.h */; }; + 8BF6DD372F16AFAC00F09130 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCAF2F16AFAC00F09130 /* CACFObject.h */; }; + 8BF6DD382F16AFAC00F09130 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB02F16AFAC00F09130 /* CAStreamRangedDescription.h */; }; + 8BF6DD392F16AFAC00F09130 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB12F16AFAC00F09130 /* CATokenMap.h */; }; + 8BF6DD3A2F16AFAC00F09130 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB22F16AFAC00F09130 /* CAComponent.h */; }; + 8BF6DD3B2F16AFAC00F09130 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB32F16AFAC00F09130 /* CAAudioBufferList.h */; }; + 8BF6DD3C2F16AFAC00F09130 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB42F16AFAC00F09130 /* CAAudioUnit.h */; }; + 8BF6DD3D2F16AFAC00F09130 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB52F16AFAC00F09130 /* CAAUParameter.h */; }; + 8BF6DD3E2F16AFAC00F09130 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB62F16AFAC00F09130 /* CAException.h */; }; + 8BF6DD3F2F16AFAC00F09130 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCB72F16AFAC00F09130 /* CAAUProcessor.cpp */; }; + 8BF6DD402F16AFAC00F09130 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB82F16AFAC00F09130 /* CAAUProcessor.h */; }; + 8BF6DD412F16AFAC00F09130 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCB92F16AFAC00F09130 /* CAProcess.h */; }; + 8BF6DD422F16AFAC00F09130 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCBA2F16AFAC00F09130 /* CACFDictionary.h */; }; + 8BF6DD432F16AFAC00F09130 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCBB2F16AFAC00F09130 /* CAPThread.h */; }; + 8BF6DD442F16AFAC00F09130 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCBC2F16AFAC00F09130 /* CAAUParameter.cpp */; }; + 8BF6DD452F16AFAC00F09130 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCBD2F16AFAC00F09130 /* CAAudioTimeStamp.h */; }; + 8BF6DD462F16AFAC00F09130 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCBE2F16AFAC00F09130 /* CAFilePathUtils.cpp */; }; + 8BF6DD472F16AFAC00F09130 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCBF2F16AFAC00F09130 /* CAAudioValueRange.h */; }; + 8BF6DD482F16AFAC00F09130 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCC02F16AFAC00F09130 /* CAVectorUnitTypes.h */; }; + 8BF6DD492F16AFAC00F09130 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC12F16AFAC00F09130 /* CAAudioChannelLayoutObject.cpp */; }; + 8BF6DD4A2F16AFAC00F09130 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC22F16AFAC00F09130 /* CAGuard.cpp */; }; + 8BF6DD4B2F16AFAC00F09130 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCC32F16AFAC00F09130 /* CACFNumber.h */; }; + 8BF6DD4C2F16AFAC00F09130 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC42F16AFAC00F09130 /* CACFDistributedNotification.cpp */; }; + 8BF6DD4D2F16AFAD00F09130 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCC52F16AFAC00F09130 /* CACFString.h */; }; + 8BF6DD4E2F16AFAD00F09130 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC62F16AFAC00F09130 /* CAAUMIDIMapManager.cpp */; }; + 8BF6DD4F2F16AFAD00F09130 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC72F16AFAC00F09130 /* CAComponentDescription.cpp */; }; + 8BF6DD502F16AFAD00F09130 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCC82F16AFAC00F09130 /* CAHostTimeBase.h */; }; + 8BF6DD512F16AFAD00F09130 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCC92F16AFAC00F09130 /* CADebugMacros.cpp */; }; + 8BF6DD522F16AFAD00F09130 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCCA2F16AFAC00F09130 /* CAAudioFileFormats.h */; }; + 8BF6DD532F16AFAD00F09130 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCCB2F16AFAC00F09130 /* CAAUMIDIMapManager.h */; }; + 8BF6DD542F16AFAD00F09130 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCCC2F16AFAC00F09130 /* CACFDictionary.cpp */; }; + 8BF6DD552F16AFAD00F09130 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCCD2F16AFAC00F09130 /* CAMutex.h */; }; + 8BF6DD562F16AFAD00F09130 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCCE2F16AFAC00F09130 /* CACFString.cpp */; }; + 8BF6DD572F16AFAD00F09130 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCCF2F16AFAC00F09130 /* CASettingsStorage.h */; }; + 8BF6DD582F16AFAD00F09130 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD02F16AFAC00F09130 /* CADebugPrintf.h */; }; + 8BF6DD592F16AFAD00F09130 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCD12F16AFAC00F09130 /* CAXException.cpp */; }; + 8BF6DD5A2F16AFAD00F09130 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD22F16AFAC00F09130 /* CAAUMIDIMap.h */; }; + 8BF6DD5B2F16AFAD00F09130 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD32F16AFAC00F09130 /* AUParamInfo.h */; }; + 8BF6DD5C2F16AFAD00F09130 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD42F16AFAC00F09130 /* CABitOperations.h */; }; + 8BF6DD5D2F16AFAD00F09130 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCD52F16AFAC00F09130 /* CACFPreferences.cpp */; }; + 8BF6DD5E2F16AFAD00F09130 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD62F16AFAC00F09130 /* CABundleLocker.h */; }; + 8BF6DD5F2F16AFAD00F09130 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD72F16AFAC00F09130 /* CAPropertyAddress.h */; }; + 8BF6DD602F16AFAD00F09130 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCD82F16AFAC00F09130 /* CAXException.h */; }; + 8BF6DD612F16AFAD00F09130 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCD92F16AFAC00F09130 /* CAAudioChannelLayout.cpp */; }; + 8BF6DD622F16AFAD00F09130 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCDA2F16AFAC00F09130 /* CAThreadSafeList.h */; }; + 8BF6DD632F16AFAD00F09130 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCDB2F16AFAC00F09130 /* CAAudioUnitOutputCapturer.h */; }; + 8BF6DD642F16AFAD00F09130 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCDC2F16AFAC00F09130 /* AUParamInfo.cpp */; }; + 8BF6DD652F16AFAD00F09130 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCDD2F16AFAC00F09130 /* CASharedLibrary.cpp */; }; + 8BF6DD662F16AFAD00F09130 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCDE2F16AFAC00F09130 /* CAAUMIDIMap.cpp */; }; + 8BF6DD672F16AFAD00F09130 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCDF2F16AFAC00F09130 /* CALogMacros.h */; }; + 8BF6DD682F16AFAD00F09130 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCE02F16AFAC00F09130 /* CACFMessagePort.cpp */; }; + 8BF6DD692F16AFAD00F09130 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE12F16AFAC00F09130 /* CARingBuffer.h */; }; + 8BF6DD6A2F16AFAD00F09130 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCE22F16AFAC00F09130 /* AUOutputBL.cpp */; }; + 8BF6DD6B2F16AFAD00F09130 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE32F16AFAC00F09130 /* CABufferList.h */; }; + 8BF6DD6C2F16AFAD00F09130 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE42F16AFAC00F09130 /* CASharedLibrary.h */; }; + 8BF6DD6D2F16AFAD00F09130 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE52F16AFAC00F09130 /* CACFData.h */; }; + 8BF6DD6E2F16AFAD00F09130 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCE62F16AFAC00F09130 /* CAStreamRangedDescription.cpp */; }; + 8BF6DD6F2F16AFAD00F09130 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCE72F16AFAC00F09130 /* CAPThread.cpp */; }; + 8BF6DD702F16AFAD00F09130 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE82F16AFAC00F09130 /* CAAutoDisposer.h */; }; + 8BF6DD712F16AFAD00F09130 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCE92F16AFAC00F09130 /* CACFPreferences.h */; }; + 8BF6DD722F16AFAD00F09130 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCEA2F16AFAC00F09130 /* CAVectorUnit.cpp */; }; + 8BF6DD732F16AFAD00F09130 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCEB2F16AFAC00F09130 /* CAComponentDescription.h */; }; + 8BF6DD742F16AFAD00F09130 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCEC2F16AFAC00F09130 /* CADebugMacros.h */; }; + 8BF6DD752F16AFAD00F09130 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCED2F16AFAC00F09130 /* AUOutputBL.h */; }; + 8BF6DD762F16AFAD00F09130 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCEE2F16AFAC00F09130 /* CADebugPrintf.cpp */; }; + 8BF6DD772F16AFAD00F09130 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCEF2F16AFAC00F09130 /* CARingBuffer.cpp */; }; + 8BF6DD782F16AFAD00F09130 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF02F16AFAC00F09130 /* CACFPlugIn.h */; }; + 8BF6DD792F16AFAD00F09130 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCF12F16AFAC00F09130 /* CASettingsStorage.cpp */; }; + 8BF6DD7A2F16AFAD00F09130 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF22F16AFAC00F09130 /* CAMixMap.h */; }; + 8BF6DD7B2F16AFAD00F09130 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF32F16AFAC00F09130 /* CACFDistributedNotification.h */; }; + 8BF6DD7C2F16AFAD00F09130 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF42F16AFAC00F09130 /* CAFilePathUtils.h */; }; + 8BF6DD7D2F16AFAD00F09130 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF52F16AFAC00F09130 /* CATink.h */; }; + 8BF6DD7E2F16AFAD00F09130 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCF62F16AFAC00F09130 /* CAStreamBasicDescription.cpp */; }; + 8BF6DD7F2F16AFAD00F09130 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCF72F16AFAC00F09130 /* CAAudioChannelLayout.h */; }; + 8BF6DD802F16AFAD00F09130 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCF82F16AFAC00F09130 /* CAProcess.cpp */; }; + 8BF6DD812F16AFAD00F09130 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCF92F16AFAC00F09130 /* CAHostTimeBase.cpp */; }; + 8BF6DD822F16AFAD00F09130 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCFA2F16AFAC00F09130 /* CAPersistence.cpp */; }; + 8BF6DD832F16AFAD00F09130 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCFB2F16AFAC00F09130 /* CAAudioBufferList.cpp */; }; + 8BF6DD842F16AFAD00F09130 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DCFC2F16AFAC00F09130 /* CAAudioTimeStamp.cpp */; }; + 8BF6DD852F16AFAD00F09130 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCFD2F16AFAC00F09130 /* CAVectorUnit.h */; }; + 8BF6DD862F16AFAD00F09130 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCFE2F16AFAC00F09130 /* CAByteOrder.h */; }; + 8BF6DD872F16AFAD00F09130 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DCFF2F16AFAC00F09130 /* CACFArray.h */; }; + 8BF6DD882F16AFAD00F09130 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD002F16AFAC00F09130 /* CAAtomicStack.h */; }; + 8BF6DD892F16AFAD00F09130 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD012F16AFAC00F09130 /* CAReferenceCounted.h */; }; + 8BF6DD8A2F16AFAD00F09130 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD022F16AFAC00F09130 /* CACFMachPort.cpp */; }; + 8BF6DD8B2F16AFAD00F09130 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD032F16AFAC00F09130 /* CABufferList.cpp */; }; + 8BF6DD8C2F16AFAD00F09130 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD042F16AFAC00F09130 /* CAMutex.cpp */; }; + 8BF6DD8D2F16AFAD00F09130 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD052F16AFAC00F09130 /* CADebugger.cpp */; }; + 8BF6DD8E2F16AFAD00F09130 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD062F16AFAC00F09130 /* CABundleLocker.cpp */; }; + 8BF6DD8F2F16AFAD00F09130 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD072F16AFAC00F09130 /* CAAudioFileFormats.cpp */; }; + 8BF6DD902F16AFAD00F09130 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD082F16AFAC00F09130 /* CAMath.h */; }; + 8BF6DD912F16AFAD00F09130 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD092F16AFAC00F09130 /* CACFArray.cpp */; }; + 8BF6DD922F16AFAD00F09130 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD0A2F16AFAC00F09130 /* CACFMessagePort.h */; }; + 8BF6DD932F16AFAD00F09130 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD0B2F16AFAC00F09130 /* CAAudioValueRange.cpp */; }; + 8BF6DD942F16AFAD00F09130 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD0C2F16AFAC00F09130 /* CAAudioUnit.cpp */; }; + 8BF6DD952F16AFAD00F09130 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD102F16AFAC00F09130 /* AUViewLocalizedStringKeys.h */; }; + 8BF6DD962F16AFAD00F09130 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD122F16AFAC00F09130 /* ComponentBase.cpp */; }; + 8BF6DD972F16AFAD00F09130 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD132F16AFAC00F09130 /* AUScopeElement.cpp */; }; + 8BF6DD982F16AFAD00F09130 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD142F16AFAC00F09130 /* ComponentBase.h */; }; + 8BF6DD992F16AFAD00F09130 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD152F16AFAC00F09130 /* AUBase.cpp */; }; + 8BF6DD9A2F16AFAD00F09130 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD162F16AFAC00F09130 /* AUInputElement.h */; }; + 8BF6DD9B2F16AFAD00F09130 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD172F16AFAC00F09130 /* AUBase.h */; }; + 8BF6DD9C2F16AFAD00F09130 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD182F16AFAC00F09130 /* AUPlugInDispatch.h */; }; + 8BF6DD9D2F16AFAD00F09130 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD192F16AFAC00F09130 /* AUDispatch.h */; }; + 8BF6DD9E2F16AFAD00F09130 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD1A2F16AFAC00F09130 /* AUOutputElement.cpp */; }; + 8BF6DDA02F16AFAD00F09130 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD1C2F16AFAC00F09130 /* AUPlugInDispatch.cpp */; }; + 8BF6DDA12F16AFAD00F09130 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD1D2F16AFAC00F09130 /* AUOutputElement.h */; }; + 8BF6DDA22F16AFAD00F09130 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD1E2F16AFAC00F09130 /* AUDispatch.cpp */; }; + 8BF6DDA32F16AFAD00F09130 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD1F2F16AFAC00F09130 /* AUScopeElement.h */; }; + 8BF6DDA42F16AFAD00F09130 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD202F16AFAC00F09130 /* AUInputElement.cpp */; }; + 8BF6DDA52F16AFAD00F09130 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD222F16AFAC00F09130 /* AUEffectBase.cpp */; }; + 8BF6DDA62F16AFAD00F09130 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD232F16AFAC00F09130 /* AUEffectBase.h */; }; + 8BF6DDA72F16AFAD00F09130 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD252F16AFAC00F09130 /* AUTimestampGenerator.h */; }; + 8BF6DDA82F16AFAD00F09130 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD262F16AFAC00F09130 /* AUBaseHelper.cpp */; }; + 8BF6DDA92F16AFAD00F09130 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD272F16AFAC00F09130 /* AUSilentTimeout.h */; }; + 8BF6DDAA2F16AFAD00F09130 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD282F16AFAC00F09130 /* AUInputFormatConverter.h */; }; + 8BF6DDAB2F16AFAD00F09130 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD292F16AFAC00F09130 /* AUTimestampGenerator.cpp */; }; + 8BF6DDAC2F16AFAD00F09130 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DD2A2F16AFAC00F09130 /* AUBuffer.cpp */; }; + 8BF6DDAD2F16AFAD00F09130 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD2B2F16AFAC00F09130 /* AUMIDIDefs.h */; }; + 8BF6DDAE2F16AFAD00F09130 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD2C2F16AFAC00F09130 /* AUBuffer.h */; }; + 8BF6DDAF2F16AFAD00F09130 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DD2D2F16AFAC00F09130 /* AUBaseHelper.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* SoftClock3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoftClock3.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* SoftClock3.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = SoftClock3.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* SoftClock3.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = SoftClock3.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* SoftClock3Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoftClock3Version.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* SoftClock3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoftClock3.h; sourceTree = ""; }; + 8BF6DCA62F16AFAC00F09130 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8BF6DCA72F16AFAC00F09130 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8BF6DCA82F16AFAC00F09130 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8BF6DCA92F16AFAC00F09130 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8BF6DCAA2F16AFAC00F09130 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8BF6DCAB2F16AFAC00F09130 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8BF6DCAC2F16AFAC00F09130 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8BF6DCAD2F16AFAC00F09130 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8BF6DCAE2F16AFAC00F09130 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BF6DCAF2F16AFAC00F09130 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8BF6DCB02F16AFAC00F09130 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8BF6DCB12F16AFAC00F09130 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8BF6DCB22F16AFAC00F09130 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8BF6DCB32F16AFAC00F09130 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8BF6DCB42F16AFAC00F09130 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8BF6DCB52F16AFAC00F09130 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BF6DCB62F16AFAC00F09130 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8BF6DCB72F16AFAC00F09130 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8BF6DCB82F16AFAC00F09130 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8BF6DCB92F16AFAC00F09130 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8BF6DCBA2F16AFAC00F09130 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8BF6DCBB2F16AFAC00F09130 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8BF6DCBC2F16AFAC00F09130 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BF6DCBD2F16AFAC00F09130 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8BF6DCBE2F16AFAC00F09130 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8BF6DCBF2F16AFAC00F09130 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8BF6DCC02F16AFAC00F09130 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8BF6DCC12F16AFAC00F09130 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8BF6DCC22F16AFAC00F09130 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8BF6DCC32F16AFAC00F09130 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8BF6DCC42F16AFAC00F09130 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8BF6DCC52F16AFAC00F09130 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8BF6DCC62F16AFAC00F09130 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8BF6DCC72F16AFAC00F09130 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8BF6DCC82F16AFAC00F09130 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8BF6DCC92F16AFAC00F09130 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8BF6DCCA2F16AFAC00F09130 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8BF6DCCB2F16AFAC00F09130 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8BF6DCCC2F16AFAC00F09130 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8BF6DCCD2F16AFAC00F09130 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BF6DCCE2F16AFAC00F09130 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8BF6DCCF2F16AFAC00F09130 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8BF6DCD02F16AFAC00F09130 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8BF6DCD12F16AFAC00F09130 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8BF6DCD22F16AFAC00F09130 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8BF6DCD32F16AFAC00F09130 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8BF6DCD42F16AFAC00F09130 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8BF6DCD52F16AFAC00F09130 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8BF6DCD62F16AFAC00F09130 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8BF6DCD72F16AFAC00F09130 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8BF6DCD82F16AFAC00F09130 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8BF6DCD92F16AFAC00F09130 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BF6DCDA2F16AFAC00F09130 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8BF6DCDB2F16AFAC00F09130 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8BF6DCDC2F16AFAC00F09130 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8BF6DCDD2F16AFAC00F09130 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8BF6DCDE2F16AFAC00F09130 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8BF6DCDF2F16AFAC00F09130 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8BF6DCE02F16AFAC00F09130 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8BF6DCE12F16AFAC00F09130 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8BF6DCE22F16AFAC00F09130 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8BF6DCE32F16AFAC00F09130 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8BF6DCE42F16AFAC00F09130 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8BF6DCE52F16AFAC00F09130 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8BF6DCE62F16AFAC00F09130 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8BF6DCE72F16AFAC00F09130 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8BF6DCE82F16AFAC00F09130 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8BF6DCE92F16AFAC00F09130 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8BF6DCEA2F16AFAC00F09130 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8BF6DCEB2F16AFAC00F09130 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8BF6DCEC2F16AFAC00F09130 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8BF6DCED2F16AFAC00F09130 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8BF6DCEE2F16AFAC00F09130 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8BF6DCEF2F16AFAC00F09130 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8BF6DCF02F16AFAC00F09130 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8BF6DCF12F16AFAC00F09130 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8BF6DCF22F16AFAC00F09130 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8BF6DCF32F16AFAC00F09130 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8BF6DCF42F16AFAC00F09130 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8BF6DCF52F16AFAC00F09130 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8BF6DCF62F16AFAC00F09130 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BF6DCF72F16AFAC00F09130 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BF6DCF82F16AFAC00F09130 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8BF6DCF92F16AFAC00F09130 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8BF6DCFA2F16AFAC00F09130 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8BF6DCFB2F16AFAC00F09130 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8BF6DCFC2F16AFAC00F09130 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8BF6DCFD2F16AFAC00F09130 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8BF6DCFE2F16AFAC00F09130 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8BF6DCFF2F16AFAC00F09130 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8BF6DD002F16AFAC00F09130 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8BF6DD012F16AFAC00F09130 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8BF6DD022F16AFAC00F09130 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8BF6DD032F16AFAC00F09130 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8BF6DD042F16AFAC00F09130 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BF6DD052F16AFAC00F09130 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8BF6DD062F16AFAC00F09130 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8BF6DD072F16AFAC00F09130 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8BF6DD082F16AFAC00F09130 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8BF6DD092F16AFAC00F09130 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8BF6DD0A2F16AFAC00F09130 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8BF6DD0B2F16AFAC00F09130 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8BF6DD0C2F16AFAC00F09130 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8BF6DD102F16AFAC00F09130 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8BF6DD122F16AFAC00F09130 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BF6DD132F16AFAC00F09130 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BF6DD142F16AFAC00F09130 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BF6DD152F16AFAC00F09130 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BF6DD162F16AFAC00F09130 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BF6DD172F16AFAC00F09130 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BF6DD182F16AFAC00F09130 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8BF6DD192F16AFAC00F09130 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BF6DD1A2F16AFAC00F09130 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BF6DD1B2F16AFAC00F09130 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BF6DD1C2F16AFAC00F09130 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8BF6DD1D2F16AFAC00F09130 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BF6DD1E2F16AFAC00F09130 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BF6DD1F2F16AFAC00F09130 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BF6DD202F16AFAC00F09130 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BF6DD222F16AFAC00F09130 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BF6DD232F16AFAC00F09130 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BF6DD252F16AFAC00F09130 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BF6DD262F16AFAC00F09130 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8BF6DD272F16AFAC00F09130 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BF6DD282F16AFAC00F09130 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BF6DD292F16AFAC00F09130 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8BF6DD2A2F16AFAC00F09130 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BF6DD2B2F16AFAC00F09130 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8BF6DD2C2F16AFAC00F09130 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BF6DD2D2F16AFAC00F09130 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8BF6DDB02F16B11300F09130 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftClock3.component; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* SoftClock3 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = SoftClock3; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BF6DCA42F16AFAC00F09130 /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* SoftClock3.h */, + 8BA05A660720730100365D66 /* SoftClock3.cpp */, + 8BA05A670720730100365D66 /* SoftClock3.exp */, + 8BA05A680720730100365D66 /* SoftClock3.r */, + 8BA05A690720730100365D66 /* SoftClock3Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BF6DCA42F16AFAC00F09130 /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8BF6DCA52F16AFAC00F09130 /* PublicUtility */, + 8BF6DD0D2F16AFAC00F09130 /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8BF6DCA52F16AFAC00F09130 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BF6DCA62F16AFAC00F09130 /* CAExtAudioFile.h */, + 8BF6DCA72F16AFAC00F09130 /* CACFMachPort.h */, + 8BF6DCA82F16AFAC00F09130 /* CABool.h */, + 8BF6DCA92F16AFAC00F09130 /* CAComponent.cpp */, + 8BF6DCAA2F16AFAC00F09130 /* CADebugger.h */, + 8BF6DCAB2F16AFAC00F09130 /* CACFNumber.cpp */, + 8BF6DCAC2F16AFAC00F09130 /* CAGuard.h */, + 8BF6DCAD2F16AFAC00F09130 /* CAAtomic.h */, + 8BF6DCAE2F16AFAC00F09130 /* CAStreamBasicDescription.h */, + 8BF6DCAF2F16AFAC00F09130 /* CACFObject.h */, + 8BF6DCB02F16AFAC00F09130 /* CAStreamRangedDescription.h */, + 8BF6DCB12F16AFAC00F09130 /* CATokenMap.h */, + 8BF6DCB22F16AFAC00F09130 /* CAComponent.h */, + 8BF6DCB32F16AFAC00F09130 /* CAAudioBufferList.h */, + 8BF6DCB42F16AFAC00F09130 /* CAAudioUnit.h */, + 8BF6DCB52F16AFAC00F09130 /* CAAUParameter.h */, + 8BF6DCB62F16AFAC00F09130 /* CAException.h */, + 8BF6DCB72F16AFAC00F09130 /* CAAUProcessor.cpp */, + 8BF6DCB82F16AFAC00F09130 /* CAAUProcessor.h */, + 8BF6DCB92F16AFAC00F09130 /* CAProcess.h */, + 8BF6DCBA2F16AFAC00F09130 /* CACFDictionary.h */, + 8BF6DCBB2F16AFAC00F09130 /* CAPThread.h */, + 8BF6DCBC2F16AFAC00F09130 /* CAAUParameter.cpp */, + 8BF6DCBD2F16AFAC00F09130 /* CAAudioTimeStamp.h */, + 8BF6DCBE2F16AFAC00F09130 /* CAFilePathUtils.cpp */, + 8BF6DCBF2F16AFAC00F09130 /* CAAudioValueRange.h */, + 8BF6DCC02F16AFAC00F09130 /* CAVectorUnitTypes.h */, + 8BF6DCC12F16AFAC00F09130 /* CAAudioChannelLayoutObject.cpp */, + 8BF6DCC22F16AFAC00F09130 /* CAGuard.cpp */, + 8BF6DCC32F16AFAC00F09130 /* CACFNumber.h */, + 8BF6DCC42F16AFAC00F09130 /* CACFDistributedNotification.cpp */, + 8BF6DCC52F16AFAC00F09130 /* CACFString.h */, + 8BF6DCC62F16AFAC00F09130 /* CAAUMIDIMapManager.cpp */, + 8BF6DCC72F16AFAC00F09130 /* CAComponentDescription.cpp */, + 8BF6DCC82F16AFAC00F09130 /* CAHostTimeBase.h */, + 8BF6DCC92F16AFAC00F09130 /* CADebugMacros.cpp */, + 8BF6DCCA2F16AFAC00F09130 /* CAAudioFileFormats.h */, + 8BF6DCCB2F16AFAC00F09130 /* CAAUMIDIMapManager.h */, + 8BF6DCCC2F16AFAC00F09130 /* CACFDictionary.cpp */, + 8BF6DCCD2F16AFAC00F09130 /* CAMutex.h */, + 8BF6DCCE2F16AFAC00F09130 /* CACFString.cpp */, + 8BF6DCCF2F16AFAC00F09130 /* CASettingsStorage.h */, + 8BF6DCD02F16AFAC00F09130 /* CADebugPrintf.h */, + 8BF6DCD12F16AFAC00F09130 /* CAXException.cpp */, + 8BF6DCD22F16AFAC00F09130 /* CAAUMIDIMap.h */, + 8BF6DCD32F16AFAC00F09130 /* AUParamInfo.h */, + 8BF6DCD42F16AFAC00F09130 /* CABitOperations.h */, + 8BF6DCD52F16AFAC00F09130 /* CACFPreferences.cpp */, + 8BF6DCD62F16AFAC00F09130 /* CABundleLocker.h */, + 8BF6DCD72F16AFAC00F09130 /* CAPropertyAddress.h */, + 8BF6DCD82F16AFAC00F09130 /* CAXException.h */, + 8BF6DCD92F16AFAC00F09130 /* CAAudioChannelLayout.cpp */, + 8BF6DCDA2F16AFAC00F09130 /* CAThreadSafeList.h */, + 8BF6DCDB2F16AFAC00F09130 /* CAAudioUnitOutputCapturer.h */, + 8BF6DCDC2F16AFAC00F09130 /* AUParamInfo.cpp */, + 8BF6DCDD2F16AFAC00F09130 /* CASharedLibrary.cpp */, + 8BF6DCDE2F16AFAC00F09130 /* CAAUMIDIMap.cpp */, + 8BF6DCDF2F16AFAC00F09130 /* CALogMacros.h */, + 8BF6DCE02F16AFAC00F09130 /* CACFMessagePort.cpp */, + 8BF6DCE12F16AFAC00F09130 /* CARingBuffer.h */, + 8BF6DCE22F16AFAC00F09130 /* AUOutputBL.cpp */, + 8BF6DCE32F16AFAC00F09130 /* CABufferList.h */, + 8BF6DCE42F16AFAC00F09130 /* CASharedLibrary.h */, + 8BF6DCE52F16AFAC00F09130 /* CACFData.h */, + 8BF6DCE62F16AFAC00F09130 /* CAStreamRangedDescription.cpp */, + 8BF6DCE72F16AFAC00F09130 /* CAPThread.cpp */, + 8BF6DCE82F16AFAC00F09130 /* CAAutoDisposer.h */, + 8BF6DCE92F16AFAC00F09130 /* CACFPreferences.h */, + 8BF6DCEA2F16AFAC00F09130 /* CAVectorUnit.cpp */, + 8BF6DCEB2F16AFAC00F09130 /* CAComponentDescription.h */, + 8BF6DCEC2F16AFAC00F09130 /* CADebugMacros.h */, + 8BF6DCED2F16AFAC00F09130 /* AUOutputBL.h */, + 8BF6DCEE2F16AFAC00F09130 /* CADebugPrintf.cpp */, + 8BF6DCEF2F16AFAC00F09130 /* CARingBuffer.cpp */, + 8BF6DCF02F16AFAC00F09130 /* CACFPlugIn.h */, + 8BF6DCF12F16AFAC00F09130 /* CASettingsStorage.cpp */, + 8BF6DCF22F16AFAC00F09130 /* CAMixMap.h */, + 8BF6DCF32F16AFAC00F09130 /* CACFDistributedNotification.h */, + 8BF6DCF42F16AFAC00F09130 /* CAFilePathUtils.h */, + 8BF6DCF52F16AFAC00F09130 /* CATink.h */, + 8BF6DCF62F16AFAC00F09130 /* CAStreamBasicDescription.cpp */, + 8BF6DCF72F16AFAC00F09130 /* CAAudioChannelLayout.h */, + 8BF6DCF82F16AFAC00F09130 /* CAProcess.cpp */, + 8BF6DCF92F16AFAC00F09130 /* CAHostTimeBase.cpp */, + 8BF6DCFA2F16AFAC00F09130 /* CAPersistence.cpp */, + 8BF6DCFB2F16AFAC00F09130 /* CAAudioBufferList.cpp */, + 8BF6DCFC2F16AFAC00F09130 /* CAAudioTimeStamp.cpp */, + 8BF6DCFD2F16AFAC00F09130 /* CAVectorUnit.h */, + 8BF6DCFE2F16AFAC00F09130 /* CAByteOrder.h */, + 8BF6DCFF2F16AFAC00F09130 /* CACFArray.h */, + 8BF6DD002F16AFAC00F09130 /* CAAtomicStack.h */, + 8BF6DD012F16AFAC00F09130 /* CAReferenceCounted.h */, + 8BF6DD022F16AFAC00F09130 /* CACFMachPort.cpp */, + 8BF6DD032F16AFAC00F09130 /* CABufferList.cpp */, + 8BF6DD042F16AFAC00F09130 /* CAMutex.cpp */, + 8BF6DD052F16AFAC00F09130 /* CADebugger.cpp */, + 8BF6DD062F16AFAC00F09130 /* CABundleLocker.cpp */, + 8BF6DD072F16AFAC00F09130 /* CAAudioFileFormats.cpp */, + 8BF6DD082F16AFAC00F09130 /* CAMath.h */, + 8BF6DD092F16AFAC00F09130 /* CACFArray.cpp */, + 8BF6DD0A2F16AFAC00F09130 /* CACFMessagePort.h */, + 8BF6DD0B2F16AFAC00F09130 /* CAAudioValueRange.cpp */, + 8BF6DD0C2F16AFAC00F09130 /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8BF6DD0D2F16AFAC00F09130 /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8BF6DD0E2F16AFAC00F09130 /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8BF6DD0E2F16AFAC00F09130 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BF6DD0F2F16AFAC00F09130 /* AUViewBase */, + 8BF6DD112F16AFAC00F09130 /* AUBase */, + 8BF6DD212F16AFAC00F09130 /* OtherBases */, + 8BF6DD242F16AFAC00F09130 /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8BF6DD0F2F16AFAC00F09130 /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8BF6DD102F16AFAC00F09130 /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8BF6DD112F16AFAC00F09130 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BF6DD122F16AFAC00F09130 /* ComponentBase.cpp */, + 8BF6DD132F16AFAC00F09130 /* AUScopeElement.cpp */, + 8BF6DD142F16AFAC00F09130 /* ComponentBase.h */, + 8BF6DD152F16AFAC00F09130 /* AUBase.cpp */, + 8BF6DD162F16AFAC00F09130 /* AUInputElement.h */, + 8BF6DD172F16AFAC00F09130 /* AUBase.h */, + 8BF6DD182F16AFAC00F09130 /* AUPlugInDispatch.h */, + 8BF6DD192F16AFAC00F09130 /* AUDispatch.h */, + 8BF6DD1A2F16AFAC00F09130 /* AUOutputElement.cpp */, + 8BF6DD1B2F16AFAC00F09130 /* AUResources.r */, + 8BF6DD1C2F16AFAC00F09130 /* AUPlugInDispatch.cpp */, + 8BF6DD1D2F16AFAC00F09130 /* AUOutputElement.h */, + 8BF6DD1E2F16AFAC00F09130 /* AUDispatch.cpp */, + 8BF6DD1F2F16AFAC00F09130 /* AUScopeElement.h */, + 8BF6DD202F16AFAC00F09130 /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BF6DD212F16AFAC00F09130 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BF6DD222F16AFAC00F09130 /* AUEffectBase.cpp */, + 8BF6DD232F16AFAC00F09130 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BF6DD242F16AFAC00F09130 /* Utility */ = { + isa = PBXGroup; + children = ( + 8BF6DD252F16AFAC00F09130 /* AUTimestampGenerator.h */, + 8BF6DD262F16AFAC00F09130 /* AUBaseHelper.cpp */, + 8BF6DD272F16AFAC00F09130 /* AUSilentTimeout.h */, + 8BF6DD282F16AFAC00F09130 /* AUInputFormatConverter.h */, + 8BF6DD292F16AFAC00F09130 /* AUTimestampGenerator.cpp */, + 8BF6DD2A2F16AFAC00F09130 /* AUBuffer.cpp */, + 8BF6DD2B2F16AFAC00F09130 /* AUMIDIDefs.h */, + 8BF6DD2C2F16AFAC00F09130 /* AUBuffer.h */, + 8BF6DD2D2F16AFAC00F09130 /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DD5E2F16AFAD00F09130 /* CABundleLocker.h in Headers */, + 8BF6DD7F2F16AFAD00F09130 /* CAAudioChannelLayout.h in Headers */, + 8BF6DD752F16AFAD00F09130 /* AUOutputBL.h in Headers */, + 8BF6DD502F16AFAD00F09130 /* CAHostTimeBase.h in Headers */, + 8BF6DD982F16AFAD00F09130 /* ComponentBase.h in Headers */, + 8BF6DD882F16AFAD00F09130 /* CAAtomicStack.h in Headers */, + 8BF6DD452F16AFAC00F09130 /* CAAudioTimeStamp.h in Headers */, + 8BF6DD622F16AFAD00F09130 /* CAThreadSafeList.h in Headers */, + 8BF6DD3D2F16AFAC00F09130 /* CAAUParameter.h in Headers */, + 8BF6DDAF2F16AFAD00F09130 /* AUBaseHelper.h in Headers */, + 8BF6DDA72F16AFAD00F09130 /* AUTimestampGenerator.h in Headers */, + 8BF6DD582F16AFAD00F09130 /* CADebugPrintf.h in Headers */, + 8BF6DD922F16AFAD00F09130 /* CACFMessagePort.h in Headers */, + 8BF6DD402F16AFAC00F09130 /* CAAUProcessor.h in Headers */, + 8BF6DD3C2F16AFAC00F09130 /* CAAudioUnit.h in Headers */, + 8BF6DD952F16AFAD00F09130 /* AUViewLocalizedStringKeys.h in Headers */, + 8BF6DD7B2F16AFAD00F09130 /* CACFDistributedNotification.h in Headers */, + 8BF6DD3A2F16AFAC00F09130 /* CAComponent.h in Headers */, + 8BF6DD482F16AFAC00F09130 /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* SoftClock3Version.h in Headers */, + 8BF6DD7C2F16AFAD00F09130 /* CAFilePathUtils.h in Headers */, + 8BF6DD3E2F16AFAC00F09130 /* CAException.h in Headers */, + 8BF6DD352F16AFAC00F09130 /* CAAtomic.h in Headers */, + 8BF6DD342F16AFAC00F09130 /* CAGuard.h in Headers */, + 8BF6DD9A2F16AFAD00F09130 /* AUInputElement.h in Headers */, + 8BF6DD712F16AFAD00F09130 /* CACFPreferences.h in Headers */, + 8BF6DD862F16AFAD00F09130 /* CAByteOrder.h in Headers */, + 8BF6DD692F16AFAD00F09130 /* CARingBuffer.h in Headers */, + 8BF6DD302F16AFAC00F09130 /* CABool.h in Headers */, + 8BF6DD552F16AFAD00F09130 /* CAMutex.h in Headers */, + 8BF6DD9B2F16AFAD00F09130 /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* SoftClock3.h in Headers */, + 8BF6DD4D2F16AFAD00F09130 /* CACFString.h in Headers */, + 8BF6DD6C2F16AFAD00F09130 /* CASharedLibrary.h in Headers */, + 8BF6DD392F16AFAC00F09130 /* CATokenMap.h in Headers */, + 8BF6DD2E2F16AFAC00F09130 /* CAExtAudioFile.h in Headers */, + 8BF6DD432F16AFAC00F09130 /* CAPThread.h in Headers */, + 8BF6DD5F2F16AFAD00F09130 /* CAPropertyAddress.h in Headers */, + 8BF6DD892F16AFAD00F09130 /* CAReferenceCounted.h in Headers */, + 8BF6DDAE2F16AFAD00F09130 /* AUBuffer.h in Headers */, + 8BF6DD902F16AFAD00F09130 /* CAMath.h in Headers */, + 8BF6DD702F16AFAD00F09130 /* CAAutoDisposer.h in Headers */, + 8BF6DD372F16AFAC00F09130 /* CACFObject.h in Headers */, + 8BF6DD572F16AFAD00F09130 /* CASettingsStorage.h in Headers */, + 8BF6DD602F16AFAD00F09130 /* CAXException.h in Headers */, + 8BF6DD7D2F16AFAD00F09130 /* CATink.h in Headers */, + 8BF6DDAA2F16AFAD00F09130 /* AUInputFormatConverter.h in Headers */, + 8BF6DD852F16AFAD00F09130 /* CAVectorUnit.h in Headers */, + 8BF6DD412F16AFAC00F09130 /* CAProcess.h in Headers */, + 8BF6DD472F16AFAC00F09130 /* CAAudioValueRange.h in Headers */, + 8BF6DD5C2F16AFAD00F09130 /* CABitOperations.h in Headers */, + 8BF6DD522F16AFAD00F09130 /* CAAudioFileFormats.h in Headers */, + 8BF6DD4B2F16AFAC00F09130 /* CACFNumber.h in Headers */, + 8BF6DD632F16AFAD00F09130 /* CAAudioUnitOutputCapturer.h in Headers */, + 8BF6DD742F16AFAD00F09130 /* CADebugMacros.h in Headers */, + 8BF6DDAD2F16AFAD00F09130 /* AUMIDIDefs.h in Headers */, + 8BF6DD6D2F16AFAD00F09130 /* CACFData.h in Headers */, + 8BF6DD362F16AFAC00F09130 /* CAStreamBasicDescription.h in Headers */, + 8BF6DD9C2F16AFAD00F09130 /* AUPlugInDispatch.h in Headers */, + 8BF6DD382F16AFAC00F09130 /* CAStreamRangedDescription.h in Headers */, + 8BF6DD782F16AFAD00F09130 /* CACFPlugIn.h in Headers */, + 8BF6DD3B2F16AFAC00F09130 /* CAAudioBufferList.h in Headers */, + 8BF6DD532F16AFAD00F09130 /* CAAUMIDIMapManager.h in Headers */, + 8BF6DDA62F16AFAD00F09130 /* AUEffectBase.h in Headers */, + 8BF6DD422F16AFAC00F09130 /* CACFDictionary.h in Headers */, + 8BF6DDA32F16AFAD00F09130 /* AUScopeElement.h in Headers */, + 8BF6DD732F16AFAD00F09130 /* CAComponentDescription.h in Headers */, + 8BF6DDA92F16AFAD00F09130 /* AUSilentTimeout.h in Headers */, + 8BF6DD6B2F16AFAD00F09130 /* CABufferList.h in Headers */, + 8BF6DD9D2F16AFAD00F09130 /* AUDispatch.h in Headers */, + 8BF6DDA12F16AFAD00F09130 /* AUOutputElement.h in Headers */, + 8BF6DD672F16AFAD00F09130 /* CALogMacros.h in Headers */, + 8BF6DD5B2F16AFAD00F09130 /* AUParamInfo.h in Headers */, + 8BF6DD7A2F16AFAD00F09130 /* CAMixMap.h in Headers */, + 8BF6DD872F16AFAD00F09130 /* CACFArray.h in Headers */, + 8BF6DD2F2F16AFAC00F09130 /* CACFMachPort.h in Headers */, + 8BF6DD5A2F16AFAD00F09130 /* CAAUMIDIMap.h in Headers */, + 8BF6DD322F16AFAC00F09130 /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "SoftClock3" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SoftClock3; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = SoftClock3; + productReference = 8D01CCD20486CAD60068D4B7 /* SoftClock3.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "SoftClock3" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + Base, + ja, + fr, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* SoftClock3 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DD6A2F16AFAD00F09130 /* AUOutputBL.cpp in Sources */, + 8BF6DD8F2F16AFAD00F09130 /* CAAudioFileFormats.cpp in Sources */, + 8BF6DD812F16AFAD00F09130 /* CAHostTimeBase.cpp in Sources */, + 8BF6DD592F16AFAD00F09130 /* CAXException.cpp in Sources */, + 8BF6DD832F16AFAD00F09130 /* CAAudioBufferList.cpp in Sources */, + 8BF6DD462F16AFAC00F09130 /* CAFilePathUtils.cpp in Sources */, + 8BF6DD442F16AFAC00F09130 /* CAAUParameter.cpp in Sources */, + 8BF6DD662F16AFAD00F09130 /* CAAUMIDIMap.cpp in Sources */, + 8BF6DD932F16AFAD00F09130 /* CAAudioValueRange.cpp in Sources */, + 8BF6DDA22F16AFAD00F09130 /* AUDispatch.cpp in Sources */, + 8BF6DD5D2F16AFAD00F09130 /* CACFPreferences.cpp in Sources */, + 8BF6DDA02F16AFAD00F09130 /* AUPlugInDispatch.cpp in Sources */, + 8BF6DD3F2F16AFAC00F09130 /* CAAUProcessor.cpp in Sources */, + 8BF6DD542F16AFAD00F09130 /* CACFDictionary.cpp in Sources */, + 8BF6DDA82F16AFAD00F09130 /* AUBaseHelper.cpp in Sources */, + 8BF6DD8D2F16AFAD00F09130 /* CADebugger.cpp in Sources */, + 8BF6DD612F16AFAD00F09130 /* CAAudioChannelLayout.cpp in Sources */, + 8BF6DD642F16AFAD00F09130 /* AUParamInfo.cpp in Sources */, + 8BF6DD822F16AFAD00F09130 /* CAPersistence.cpp in Sources */, + 8BF6DD762F16AFAD00F09130 /* CADebugPrintf.cpp in Sources */, + 8BF6DDAB2F16AFAD00F09130 /* AUTimestampGenerator.cpp in Sources */, + 8BF6DD7E2F16AFAD00F09130 /* CAStreamBasicDescription.cpp in Sources */, + 8BF6DD4E2F16AFAD00F09130 /* CAAUMIDIMapManager.cpp in Sources */, + 8BF6DD792F16AFAD00F09130 /* CASettingsStorage.cpp in Sources */, + 8BF6DD9E2F16AFAD00F09130 /* AUOutputElement.cpp in Sources */, + 8BF6DD4A2F16AFAC00F09130 /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* SoftClock3.cpp in Sources */, + 8BF6DD8C2F16AFAD00F09130 /* CAMutex.cpp in Sources */, + 8BF6DDA52F16AFAD00F09130 /* AUEffectBase.cpp in Sources */, + 8BF6DD8A2F16AFAD00F09130 /* CACFMachPort.cpp in Sources */, + 8BF6DD992F16AFAD00F09130 /* AUBase.cpp in Sources */, + 8BF6DD652F16AFAD00F09130 /* CASharedLibrary.cpp in Sources */, + 8BF6DD4C2F16AFAC00F09130 /* CACFDistributedNotification.cpp in Sources */, + 8BF6DD4F2F16AFAD00F09130 /* CAComponentDescription.cpp in Sources */, + 8BF6DD562F16AFAD00F09130 /* CACFString.cpp in Sources */, + 8BF6DD962F16AFAD00F09130 /* ComponentBase.cpp in Sources */, + 8BF6DD772F16AFAD00F09130 /* CARingBuffer.cpp in Sources */, + 8BF6DD972F16AFAD00F09130 /* AUScopeElement.cpp in Sources */, + 8BF6DD942F16AFAD00F09130 /* CAAudioUnit.cpp in Sources */, + 8BF6DD912F16AFAD00F09130 /* CACFArray.cpp in Sources */, + 8BF6DD8E2F16AFAD00F09130 /* CABundleLocker.cpp in Sources */, + 8BF6DD802F16AFAD00F09130 /* CAProcess.cpp in Sources */, + 8BF6DD6E2F16AFAD00F09130 /* CAStreamRangedDescription.cpp in Sources */, + 8BF6DD6F2F16AFAD00F09130 /* CAPThread.cpp in Sources */, + 8BF6DD312F16AFAC00F09130 /* CAComponent.cpp in Sources */, + 8BF6DD492F16AFAC00F09130 /* CAAudioChannelLayoutObject.cpp in Sources */, + 8BF6DD842F16AFAD00F09130 /* CAAudioTimeStamp.cpp in Sources */, + 8BF6DD8B2F16AFAD00F09130 /* CABufferList.cpp in Sources */, + 8BF6DD682F16AFAD00F09130 /* CACFMessagePort.cpp in Sources */, + 8BF6DD722F16AFAD00F09130 /* CAVectorUnit.cpp in Sources */, + 8BF6DDA42F16AFAD00F09130 /* AUInputElement.cpp in Sources */, + 8BF6DDAC2F16AFAD00F09130 /* AUBuffer.cpp in Sources */, + 8BF6DD512F16AFAD00F09130 /* CADebugMacros.cpp in Sources */, + 8BF6DD332F16AFAC00F09130 /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8BF6DDB02F16B11300F09130 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = SoftClock3.exp; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = SoftClock3; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = SoftClock3.exp; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = SoftClock3; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 000000000..5abd5e8c6 Binary files /dev/null and b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme new file mode 100644 index 000000000..d581d6684 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..70c08e230 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + SoftClock3.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/SoftClock3/SoftClock3Version.h b/plugins/MacSignedAU/SoftClock3/SoftClock3Version.h new file mode 100755 index 000000000..c458ef31d --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/SoftClock3Version.h @@ -0,0 +1,58 @@ +/* +* File: SoftClock3Version.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __SoftClock3Version_h__ +#define __SoftClock3Version_h__ + + +#ifdef DEBUG + #define kSoftClock3Version 0xFFFFFFFF +#else + #define kSoftClock3Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define SoftClock3_COMP_MANF 'Dthr' +#define SoftClock3_COMP_SUBTYPE 'sfc3' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/SoftClock3/StarterAU_Prefix.pch b/plugins/MacSignedAU/SoftClock3/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacSignedAU/SoftClock3/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/SoftClock3/en.lproj/InfoPlist.strings new file mode 100755 index 000000000..79e9a09cf Binary files /dev/null and b/plugins/MacSignedAU/SoftClock3/en.lproj/InfoPlist.strings differ diff --git a/plugins/MacSignedAU/SoftClock3/version.plist b/plugins/MacSignedAU/SoftClock3/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/SoftClock3/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/TapeHack2/Info.plist b/plugins/MacSignedAU/TapeHack2/Info.plist new file mode 100755 index 000000000..475a93a95 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + tha2 + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + DthX + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.cpp b/plugins/MacSignedAU/TapeHack2/TapeHack2.cpp new file mode 100755 index 000000000..374a59426 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.cpp @@ -0,0 +1,311 @@ +/* +* File: TapeHack2.cpp +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + TapeHack2.cpp + +=============================================================================*/ +#include "TapeHack2.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, TapeHack2) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +TapeHack2::TapeHack2(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_A, kDefaultValue_ParamA ); + SetParameter(kParam_B, kDefaultValue_ParamB ); + SetParameter(kParam_C, kDefaultValue_ParamC ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_A: + AUBase::FillInParameterName (outParameterInfo, kParameterAName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamA; + break; + case kParam_B: + AUBase::FillInParameterName (outParameterInfo, kParameterBName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamB; + break; + case kParam_C: + AUBase::FillInParameterName (outParameterInfo, kParameterCName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamC; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// TapeHack2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult TapeHack2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____TapeHack2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void TapeHack2::TapeHack2Kernel::Reset() +{ + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; + //preTapeHack + + fpd = 1.0; while (fpd < 16386) fpd = rand()*UINT32_MAX; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// TapeHack2::TapeHack2Kernel::Process +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void TapeHack2::TapeHack2Kernel::Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence ) +{ + UInt32 nSampleFrames = inFramesToProcess; + const Float32 *sourceP = inSourceP; + Float32 *destP = inDestP; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = GetParameter( kParam_A )*10.0; + double outputGain = GetParameter( kParam_B )*0.9239; + double wet = GetParameter( kParam_C ); + + while (nSampleFrames-- > 0) { + double inputSampleL = *sourceP; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpd * 1.18e-17; + double drySampleL = inputSampleL; + + //begin Left + inputSampleL *= inputGain; + double darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x];} + darkSampleL /= 2.0; + } //only update after the post-distortion filter stage + + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x];} + darkSampleL /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x];} + darkSampleL /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x];} + darkSampleL /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x];} + darkSampleL /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; + darkSampleL = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x];} + darkSampleL /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + //end Left + + //begin 32 bit floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpd ^= fpd << 13; fpd ^= fpd >> 17; fpd ^= fpd << 5; + inputSampleL += ((double(fpd)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit floating point dither + + *destP = inputSampleL; + + sourceP += inNumChannels; destP += inNumChannels; + } +} + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.exp b/plugins/MacSignedAU/TapeHack2/TapeHack2.exp new file mode 100755 index 000000000..0a990d9b9 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.exp @@ -0,0 +1,2 @@ +_TapeHack2Entry +_TapeHack2Factory diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.h b/plugins/MacSignedAU/TapeHack2/TapeHack2.h new file mode 100755 index 000000000..e5f2dcfa5 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.h @@ -0,0 +1,154 @@ +/* +* File: TapeHack2.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "TapeHack2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __TapeHack2_h__ +#define __TapeHack2_h__ + + +#pragma mark ____TapeHack2 Parameters + +// parameters +static const float kDefaultValue_ParamA = 0.1; +static const float kDefaultValue_ParamB = 1.0; +static const float kDefaultValue_ParamC = 1.0; + +static CFStringRef kParameterAName = CFSTR("Input"); +static CFStringRef kParameterBName = CFSTR("Output"); +static CFStringRef kParameterCName = CFSTR("Dry/Wet"); + +enum { + kParam_A =0, + kParam_B =1, + kParam_C =2, + //Add your parameters here... + kNumberOfParameters=3 +}; + +#pragma mark ____TapeHack2 +class TapeHack2 : public AUEffectBase +{ +public: + TapeHack2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~TapeHack2 () { delete mDebugDispatcher; } +#endif + + virtual AUKernelBase * NewKernel() { return new TapeHack2Kernel(this); } + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kTapeHack2Version; } + + + +protected: + class TapeHack2Kernel : public AUKernelBase // most of the real work happens here + { +public: + TapeHack2Kernel(AUEffectBase *inAudioUnit ) + : AUKernelBase(inAudioUnit) + { + } + + // *Required* overides for the process method for this effect + // processes one channel of interleaved samples + virtual void Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence); + + virtual void Reset(); + + private: + double avg32L[33]; + double avg16L[17]; + double avg8L[9]; + double avg4L[5]; + double avg2L[3]; + double post32L[33]; + double post16L[17]; + double post8L[9]; + double post4L[5]; + double post2L[3]; + int avgPos; + double lastDarkL; + //preTapeHack + + uint32_t fpd; + }; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.r b/plugins/MacSignedAU/TapeHack2/TapeHack2.r new file mode 100755 index 000000000..8c2b3a998 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.r @@ -0,0 +1,61 @@ +/* +* File: TapeHack2.r +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "TapeHack2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_TapeHack2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TapeHack2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_TapeHack2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE TapeHack2_COMP_SUBTYPE +#define COMP_MANUF TapeHack2_COMP_MANF + +#define VERSION kTapeHack2Version +#define NAME "Airwindows: TapeHack2" +#define DESCRIPTION "TapeHack2 AU" +#define ENTRY_POINT "TapeHack2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..f301be9a2 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1358 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05AEB0720742700365D66 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 20 + 19 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 463}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + MyNewFile14.java + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {580, 269}} + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 269pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 274}, {580, 189}} + RubberWindowFrame + 203 321 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 189pt + + + Proportion + 580pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8B563EC9161B5E170067FE32 + 1CE0B1FE06471DED0097A5F4 + 8B563ECA161B5E170067FE32 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect/StarterAU.xcodeproj + + WindowString + 203 321 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8B563ECB161B5E170067FE32 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..2460b59ae --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,137 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* TapeHack2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 292, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 252, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789944008; + PBXWorkspaceStateSaveDate = 789944008; + }; + perUserProjectItems = { + 8B2C038B2F15696A0045AF83 /* PlistBookmark */ = 8B2C038B2F15696A0045AF83 /* PlistBookmark */; + 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */ = 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */; + 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */ = 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B2C038B2F15696A0045AF83 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/TapeHack2/Info.plist; + rLen = 0; + rLoc = 9223372036854775808; + }; + 8B2C038D2F15696A0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; + name = "TapeHack2Version.h: 54"; + rLen = 0; + rLoc = 2905; + rType = 0; + vrLen = 241; + vrLoc = 2726; + }; + 8B2C04612F159D3E0045AF83 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; + name = "TapeHack2Version.h: 54"; + rLen = 0; + rLoc = 2905; + rType = 0; + vrLen = 235; + vrLoc = 2732; + }; + 8BA05A660720730100365D66 /* TapeHack2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 5616}}"; + sepNavSelRange = "{11503, 1023}"; + sepNavVisRange = "{11359, 1262}"; + sepNavWindowFrame = "{{8, 91}, {883, 787}}"; + }; + }; + 8BA05A690720730100365D66 /* TapeHack2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1038, 1242}}"; + sepNavSelRange = "{2905, 0}"; + sepNavVisRange = "{2732, 235}"; + sepNavWindowFrame = "{{15, 38}, {768, 840}}"; + }; + }; + 8BC6025B073B072D006C4272 /* TapeHack2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 3312}}"; + sepNavSelRange = "{5237, 254}"; + sepNavVisRange = "{4785, 834}"; + sepNavWindowFrame = "{{27, 38}, {768, 840}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..635f5b383 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1506 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8BD7274F1D46E5A5000176F0 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 841 + 841 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 288 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + 089C167CFE841241C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {288, 595}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {305, 613}} + GroupTreeTableConfiguration + + MainColumn + 288 + + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 305pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8BD7274A1D46E5A5000176F0 + PBXProjectModuleLabel + TapeHack2Version.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8BD7274B1D46E5A5000176F0 + PBXProjectModuleLabel + TapeHack2Version.h + _historyCapacity + 0 + bookmark + 8B2C04612F159D3E0045AF83 + history + + 8B2C038B2F15696A0045AF83 + 8B2C038D2F15696A0045AF83 + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {531, 188}} + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 188pt + + + Proportion + 420pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {531, 393}} + RubberWindowFrame + 13 185 841 654 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {531, 365}} + + Module + PBXBuildResultsModule + + + + + Proportion + 531pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C04622F159D3E0045AF83 + 1CA23ED40692098700951B8B + 8B2C04632F159D3E0045AF83 + 8BD7274A1D46E5A5000176F0 + 8B2C04642F159D3E0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0pt + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 214}} + {{395, 0}, {415, 214}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 214}} + {{0, 214}, {810, 227}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 5}, {810, 441}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 185 + + Frame + {{395, 0}, {415, 214}} + + + Module + PBXDebugSessionModule + Proportion + 441pt + + + Name + Debug + ServiceClasses + + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup + + TableOfContents + + 8BD727EC1D46ECF1000176F0 + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 8BD727ED1D46ECF1000176F0 + 8BD727EE1D46ECF1000176F0 + 8BD727EF1D46ECF1000176F0 + 8BD727F01D46ECF1000176F0 + 8BD727E71D46ECD9000176F0 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789945662.64648294 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/TapeHack2/TapeHack2.xcodeproj + + WindowString + 13 185 841 654 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..8892ce1bf --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8BA05A6B0720730100365D66 /* TapeHack2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* TapeHack2.cpp */; }; + 8BA05A6E0720730100365D66 /* TapeHack2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* TapeHack2Version.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* TapeHack2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* TapeHack2.h */; }; + 8BF6DE3B2F16B17D00F09130 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDB32F16B17D00F09130 /* CAExtAudioFile.h */; }; + 8BF6DE3C2F16B17D00F09130 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDB42F16B17D00F09130 /* CACFMachPort.h */; }; + 8BF6DE3D2F16B17D00F09130 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDB52F16B17D00F09130 /* CABool.h */; }; + 8BF6DE3E2F16B17D00F09130 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDB62F16B17D00F09130 /* CAComponent.cpp */; }; + 8BF6DE3F2F16B17D00F09130 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDB72F16B17D00F09130 /* CADebugger.h */; }; + 8BF6DE402F16B17D00F09130 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDB82F16B17D00F09130 /* CACFNumber.cpp */; }; + 8BF6DE412F16B17E00F09130 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDB92F16B17D00F09130 /* CAGuard.h */; }; + 8BF6DE422F16B17E00F09130 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBA2F16B17D00F09130 /* CAAtomic.h */; }; + 8BF6DE432F16B17E00F09130 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBB2F16B17D00F09130 /* CAStreamBasicDescription.h */; }; + 8BF6DE442F16B17E00F09130 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBC2F16B17D00F09130 /* CACFObject.h */; }; + 8BF6DE452F16B17E00F09130 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBD2F16B17D00F09130 /* CAStreamRangedDescription.h */; }; + 8BF6DE462F16B17E00F09130 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBE2F16B17D00F09130 /* CATokenMap.h */; }; + 8BF6DE472F16B17E00F09130 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDBF2F16B17D00F09130 /* CAComponent.h */; }; + 8BF6DE482F16B17E00F09130 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC02F16B17D00F09130 /* CAAudioBufferList.h */; }; + 8BF6DE492F16B17E00F09130 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC12F16B17D00F09130 /* CAAudioUnit.h */; }; + 8BF6DE4A2F16B17E00F09130 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC22F16B17D00F09130 /* CAAUParameter.h */; }; + 8BF6DE4B2F16B17E00F09130 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC32F16B17D00F09130 /* CAException.h */; }; + 8BF6DE4C2F16B17E00F09130 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDC42F16B17D00F09130 /* CAAUProcessor.cpp */; }; + 8BF6DE4D2F16B17E00F09130 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC52F16B17D00F09130 /* CAAUProcessor.h */; }; + 8BF6DE4E2F16B17E00F09130 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC62F16B17D00F09130 /* CAProcess.h */; }; + 8BF6DE4F2F16B17E00F09130 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC72F16B17D00F09130 /* CACFDictionary.h */; }; + 8BF6DE502F16B17E00F09130 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDC82F16B17D00F09130 /* CAPThread.h */; }; + 8BF6DE512F16B17E00F09130 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDC92F16B17D00F09130 /* CAAUParameter.cpp */; }; + 8BF6DE522F16B17E00F09130 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDCA2F16B17D00F09130 /* CAAudioTimeStamp.h */; }; + 8BF6DE532F16B17E00F09130 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDCB2F16B17D00F09130 /* CAFilePathUtils.cpp */; }; + 8BF6DE542F16B17E00F09130 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDCC2F16B17D00F09130 /* CAAudioValueRange.h */; }; + 8BF6DE552F16B17E00F09130 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDCD2F16B17D00F09130 /* CAVectorUnitTypes.h */; }; + 8BF6DE562F16B17E00F09130 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDCE2F16B17D00F09130 /* CAAudioChannelLayoutObject.cpp */; }; + 8BF6DE572F16B17E00F09130 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDCF2F16B17D00F09130 /* CAGuard.cpp */; }; + 8BF6DE582F16B17E00F09130 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDD02F16B17D00F09130 /* CACFNumber.h */; }; + 8BF6DE592F16B17E00F09130 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDD12F16B17D00F09130 /* CACFDistributedNotification.cpp */; }; + 8BF6DE5A2F16B17E00F09130 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDD22F16B17D00F09130 /* CACFString.h */; }; + 8BF6DE5B2F16B17E00F09130 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDD32F16B17D00F09130 /* CAAUMIDIMapManager.cpp */; }; + 8BF6DE5C2F16B17E00F09130 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDD42F16B17D00F09130 /* CAComponentDescription.cpp */; }; + 8BF6DE5D2F16B17E00F09130 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDD52F16B17D00F09130 /* CAHostTimeBase.h */; }; + 8BF6DE5E2F16B17E00F09130 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDD62F16B17D00F09130 /* CADebugMacros.cpp */; }; + 8BF6DE5F2F16B17E00F09130 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDD72F16B17D00F09130 /* CAAudioFileFormats.h */; }; + 8BF6DE602F16B17E00F09130 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDD82F16B17D00F09130 /* CAAUMIDIMapManager.h */; }; + 8BF6DE612F16B17E00F09130 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDD92F16B17D00F09130 /* CACFDictionary.cpp */; }; + 8BF6DE622F16B17E00F09130 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDDA2F16B17D00F09130 /* CAMutex.h */; }; + 8BF6DE632F16B17E00F09130 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDDB2F16B17D00F09130 /* CACFString.cpp */; }; + 8BF6DE642F16B17E00F09130 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDDC2F16B17D00F09130 /* CASettingsStorage.h */; }; + 8BF6DE652F16B17E00F09130 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDDD2F16B17D00F09130 /* CADebugPrintf.h */; }; + 8BF6DE662F16B17E00F09130 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDDE2F16B17D00F09130 /* CAXException.cpp */; }; + 8BF6DE672F16B17E00F09130 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDDF2F16B17D00F09130 /* CAAUMIDIMap.h */; }; + 8BF6DE682F16B17E00F09130 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE02F16B17D00F09130 /* AUParamInfo.h */; }; + 8BF6DE692F16B17E00F09130 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE12F16B17D00F09130 /* CABitOperations.h */; }; + 8BF6DE6A2F16B17E00F09130 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDE22F16B17D00F09130 /* CACFPreferences.cpp */; }; + 8BF6DE6B2F16B17E00F09130 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE32F16B17D00F09130 /* CABundleLocker.h */; }; + 8BF6DE6C2F16B17E00F09130 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE42F16B17D00F09130 /* CAPropertyAddress.h */; }; + 8BF6DE6D2F16B17E00F09130 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE52F16B17D00F09130 /* CAXException.h */; }; + 8BF6DE6E2F16B17E00F09130 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDE62F16B17D00F09130 /* CAAudioChannelLayout.cpp */; }; + 8BF6DE6F2F16B17E00F09130 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE72F16B17D00F09130 /* CAThreadSafeList.h */; }; + 8BF6DE702F16B17E00F09130 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDE82F16B17D00F09130 /* CAAudioUnitOutputCapturer.h */; }; + 8BF6DE712F16B17E00F09130 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDE92F16B17D00F09130 /* AUParamInfo.cpp */; }; + 8BF6DE722F16B17E00F09130 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDEA2F16B17D00F09130 /* CASharedLibrary.cpp */; }; + 8BF6DE732F16B17E00F09130 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDEB2F16B17D00F09130 /* CAAUMIDIMap.cpp */; }; + 8BF6DE742F16B17E00F09130 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDEC2F16B17D00F09130 /* CALogMacros.h */; }; + 8BF6DE752F16B17E00F09130 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDED2F16B17D00F09130 /* CACFMessagePort.cpp */; }; + 8BF6DE762F16B17E00F09130 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDEE2F16B17D00F09130 /* CARingBuffer.h */; }; + 8BF6DE772F16B17E00F09130 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDEF2F16B17D00F09130 /* AUOutputBL.cpp */; }; + 8BF6DE782F16B17E00F09130 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF02F16B17D00F09130 /* CABufferList.h */; }; + 8BF6DE792F16B17E00F09130 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF12F16B17D00F09130 /* CASharedLibrary.h */; }; + 8BF6DE7A2F16B17E00F09130 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF22F16B17D00F09130 /* CACFData.h */; }; + 8BF6DE7B2F16B17E00F09130 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDF32F16B17D00F09130 /* CAStreamRangedDescription.cpp */; }; + 8BF6DE7C2F16B17E00F09130 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDF42F16B17D00F09130 /* CAPThread.cpp */; }; + 8BF6DE7D2F16B17E00F09130 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF52F16B17D00F09130 /* CAAutoDisposer.h */; }; + 8BF6DE7E2F16B17E00F09130 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF62F16B17D00F09130 /* CACFPreferences.h */; }; + 8BF6DE7F2F16B17E00F09130 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDF72F16B17D00F09130 /* CAVectorUnit.cpp */; }; + 8BF6DE802F16B17E00F09130 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF82F16B17D00F09130 /* CAComponentDescription.h */; }; + 8BF6DE812F16B17E00F09130 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDF92F16B17D00F09130 /* CADebugMacros.h */; }; + 8BF6DE822F16B17E00F09130 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDFA2F16B17D00F09130 /* AUOutputBL.h */; }; + 8BF6DE832F16B17E00F09130 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDFB2F16B17D00F09130 /* CADebugPrintf.cpp */; }; + 8BF6DE842F16B17E00F09130 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDFC2F16B17D00F09130 /* CARingBuffer.cpp */; }; + 8BF6DE852F16B17E00F09130 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDFD2F16B17D00F09130 /* CACFPlugIn.h */; }; + 8BF6DE862F16B17E00F09130 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DDFE2F16B17D00F09130 /* CASettingsStorage.cpp */; }; + 8BF6DE872F16B17E00F09130 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DDFF2F16B17D00F09130 /* CAMixMap.h */; }; + 8BF6DE882F16B17E00F09130 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE002F16B17D00F09130 /* CACFDistributedNotification.h */; }; + 8BF6DE892F16B17E00F09130 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE012F16B17D00F09130 /* CAFilePathUtils.h */; }; + 8BF6DE8A2F16B17E00F09130 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE022F16B17D00F09130 /* CATink.h */; }; + 8BF6DE8B2F16B17E00F09130 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE032F16B17D00F09130 /* CAStreamBasicDescription.cpp */; }; + 8BF6DE8C2F16B17E00F09130 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE042F16B17D00F09130 /* CAAudioChannelLayout.h */; }; + 8BF6DE8D2F16B17E00F09130 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE052F16B17D00F09130 /* CAProcess.cpp */; }; + 8BF6DE8E2F16B17E00F09130 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE062F16B17D00F09130 /* CAHostTimeBase.cpp */; }; + 8BF6DE8F2F16B17E00F09130 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE072F16B17D00F09130 /* CAPersistence.cpp */; }; + 8BF6DE902F16B17E00F09130 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE082F16B17D00F09130 /* CAAudioBufferList.cpp */; }; + 8BF6DE912F16B17E00F09130 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE092F16B17D00F09130 /* CAAudioTimeStamp.cpp */; }; + 8BF6DE922F16B17E00F09130 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE0A2F16B17D00F09130 /* CAVectorUnit.h */; }; + 8BF6DE932F16B17E00F09130 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE0B2F16B17D00F09130 /* CAByteOrder.h */; }; + 8BF6DE942F16B17E00F09130 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE0C2F16B17D00F09130 /* CACFArray.h */; }; + 8BF6DE952F16B17E00F09130 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE0D2F16B17D00F09130 /* CAAtomicStack.h */; }; + 8BF6DE962F16B17E00F09130 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE0E2F16B17D00F09130 /* CAReferenceCounted.h */; }; + 8BF6DE972F16B17E00F09130 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE0F2F16B17D00F09130 /* CACFMachPort.cpp */; }; + 8BF6DE982F16B17E00F09130 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE102F16B17D00F09130 /* CABufferList.cpp */; }; + 8BF6DE992F16B17E00F09130 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE112F16B17D00F09130 /* CAMutex.cpp */; }; + 8BF6DE9A2F16B17E00F09130 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE122F16B17D00F09130 /* CADebugger.cpp */; }; + 8BF6DE9B2F16B17E00F09130 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE132F16B17D00F09130 /* CABundleLocker.cpp */; }; + 8BF6DE9C2F16B17E00F09130 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE142F16B17D00F09130 /* CAAudioFileFormats.cpp */; }; + 8BF6DE9D2F16B17E00F09130 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE152F16B17D00F09130 /* CAMath.h */; }; + 8BF6DE9E2F16B17E00F09130 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE162F16B17D00F09130 /* CACFArray.cpp */; }; + 8BF6DE9F2F16B17E00F09130 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE172F16B17D00F09130 /* CACFMessagePort.h */; }; + 8BF6DEA02F16B17E00F09130 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE182F16B17D00F09130 /* CAAudioValueRange.cpp */; }; + 8BF6DEA12F16B17E00F09130 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE192F16B17D00F09130 /* CAAudioUnit.cpp */; }; + 8BF6DEA22F16B17E00F09130 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE1D2F16B17D00F09130 /* AUViewLocalizedStringKeys.h */; }; + 8BF6DEA32F16B17E00F09130 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE1F2F16B17D00F09130 /* ComponentBase.cpp */; }; + 8BF6DEA42F16B17E00F09130 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE202F16B17D00F09130 /* AUScopeElement.cpp */; }; + 8BF6DEA52F16B17E00F09130 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE212F16B17D00F09130 /* ComponentBase.h */; }; + 8BF6DEA62F16B17E00F09130 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE222F16B17D00F09130 /* AUBase.cpp */; }; + 8BF6DEA72F16B17E00F09130 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE232F16B17D00F09130 /* AUInputElement.h */; }; + 8BF6DEA82F16B17E00F09130 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE242F16B17D00F09130 /* AUBase.h */; }; + 8BF6DEA92F16B17E00F09130 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE252F16B17D00F09130 /* AUPlugInDispatch.h */; }; + 8BF6DEAA2F16B17E00F09130 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE262F16B17D00F09130 /* AUDispatch.h */; }; + 8BF6DEAB2F16B17E00F09130 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE272F16B17D00F09130 /* AUOutputElement.cpp */; }; + 8BF6DEAD2F16B17E00F09130 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE292F16B17D00F09130 /* AUPlugInDispatch.cpp */; }; + 8BF6DEAE2F16B17E00F09130 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE2A2F16B17D00F09130 /* AUOutputElement.h */; }; + 8BF6DEAF2F16B17E00F09130 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE2B2F16B17D00F09130 /* AUDispatch.cpp */; }; + 8BF6DEB02F16B17E00F09130 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE2C2F16B17D00F09130 /* AUScopeElement.h */; }; + 8BF6DEB12F16B17E00F09130 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE2D2F16B17D00F09130 /* AUInputElement.cpp */; }; + 8BF6DEB22F16B17E00F09130 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE2F2F16B17D00F09130 /* AUEffectBase.cpp */; }; + 8BF6DEB32F16B17E00F09130 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE302F16B17D00F09130 /* AUEffectBase.h */; }; + 8BF6DEB42F16B17E00F09130 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE322F16B17D00F09130 /* AUTimestampGenerator.h */; }; + 8BF6DEB52F16B17E00F09130 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE332F16B17D00F09130 /* AUBaseHelper.cpp */; }; + 8BF6DEB62F16B17E00F09130 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE342F16B17D00F09130 /* AUSilentTimeout.h */; }; + 8BF6DEB72F16B17E00F09130 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE352F16B17D00F09130 /* AUInputFormatConverter.h */; }; + 8BF6DEB82F16B17E00F09130 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE362F16B17D00F09130 /* AUTimestampGenerator.cpp */; }; + 8BF6DEB92F16B17E00F09130 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DE372F16B17D00F09130 /* AUBuffer.cpp */; }; + 8BF6DEBA2F16B17E00F09130 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE382F16B17D00F09130 /* AUMIDIDefs.h */; }; + 8BF6DEBB2F16B17E00F09130 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE392F16B17D00F09130 /* AUBuffer.h */; }; + 8BF6DEBC2F16B17E00F09130 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DE3A2F16B17D00F09130 /* AUBaseHelper.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* TapeHack2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TapeHack2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* TapeHack2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = TapeHack2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* TapeHack2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = TapeHack2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* TapeHack2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TapeHack2Version.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* TapeHack2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TapeHack2.h; sourceTree = ""; }; + 8BF6DDB32F16B17D00F09130 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8BF6DDB42F16B17D00F09130 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8BF6DDB52F16B17D00F09130 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8BF6DDB62F16B17D00F09130 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8BF6DDB72F16B17D00F09130 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8BF6DDB82F16B17D00F09130 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8BF6DDB92F16B17D00F09130 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8BF6DDBA2F16B17D00F09130 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8BF6DDBB2F16B17D00F09130 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BF6DDBC2F16B17D00F09130 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8BF6DDBD2F16B17D00F09130 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8BF6DDBE2F16B17D00F09130 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8BF6DDBF2F16B17D00F09130 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8BF6DDC02F16B17D00F09130 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8BF6DDC12F16B17D00F09130 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8BF6DDC22F16B17D00F09130 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BF6DDC32F16B17D00F09130 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8BF6DDC42F16B17D00F09130 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8BF6DDC52F16B17D00F09130 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8BF6DDC62F16B17D00F09130 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8BF6DDC72F16B17D00F09130 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8BF6DDC82F16B17D00F09130 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8BF6DDC92F16B17D00F09130 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BF6DDCA2F16B17D00F09130 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8BF6DDCB2F16B17D00F09130 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8BF6DDCC2F16B17D00F09130 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8BF6DDCD2F16B17D00F09130 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8BF6DDCE2F16B17D00F09130 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8BF6DDCF2F16B17D00F09130 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8BF6DDD02F16B17D00F09130 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8BF6DDD12F16B17D00F09130 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8BF6DDD22F16B17D00F09130 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8BF6DDD32F16B17D00F09130 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8BF6DDD42F16B17D00F09130 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8BF6DDD52F16B17D00F09130 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8BF6DDD62F16B17D00F09130 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8BF6DDD72F16B17D00F09130 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8BF6DDD82F16B17D00F09130 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8BF6DDD92F16B17D00F09130 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8BF6DDDA2F16B17D00F09130 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BF6DDDB2F16B17D00F09130 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8BF6DDDC2F16B17D00F09130 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8BF6DDDD2F16B17D00F09130 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8BF6DDDE2F16B17D00F09130 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8BF6DDDF2F16B17D00F09130 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8BF6DDE02F16B17D00F09130 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8BF6DDE12F16B17D00F09130 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8BF6DDE22F16B17D00F09130 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8BF6DDE32F16B17D00F09130 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8BF6DDE42F16B17D00F09130 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8BF6DDE52F16B17D00F09130 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8BF6DDE62F16B17D00F09130 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BF6DDE72F16B17D00F09130 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8BF6DDE82F16B17D00F09130 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8BF6DDE92F16B17D00F09130 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8BF6DDEA2F16B17D00F09130 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8BF6DDEB2F16B17D00F09130 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8BF6DDEC2F16B17D00F09130 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8BF6DDED2F16B17D00F09130 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8BF6DDEE2F16B17D00F09130 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8BF6DDEF2F16B17D00F09130 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8BF6DDF02F16B17D00F09130 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8BF6DDF12F16B17D00F09130 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8BF6DDF22F16B17D00F09130 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8BF6DDF32F16B17D00F09130 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8BF6DDF42F16B17D00F09130 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8BF6DDF52F16B17D00F09130 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8BF6DDF62F16B17D00F09130 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8BF6DDF72F16B17D00F09130 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8BF6DDF82F16B17D00F09130 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8BF6DDF92F16B17D00F09130 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8BF6DDFA2F16B17D00F09130 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8BF6DDFB2F16B17D00F09130 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8BF6DDFC2F16B17D00F09130 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8BF6DDFD2F16B17D00F09130 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8BF6DDFE2F16B17D00F09130 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8BF6DDFF2F16B17D00F09130 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8BF6DE002F16B17D00F09130 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8BF6DE012F16B17D00F09130 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8BF6DE022F16B17D00F09130 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8BF6DE032F16B17D00F09130 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BF6DE042F16B17D00F09130 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BF6DE052F16B17D00F09130 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8BF6DE062F16B17D00F09130 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8BF6DE072F16B17D00F09130 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8BF6DE082F16B17D00F09130 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8BF6DE092F16B17D00F09130 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8BF6DE0A2F16B17D00F09130 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8BF6DE0B2F16B17D00F09130 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8BF6DE0C2F16B17D00F09130 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8BF6DE0D2F16B17D00F09130 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8BF6DE0E2F16B17D00F09130 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8BF6DE0F2F16B17D00F09130 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8BF6DE102F16B17D00F09130 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8BF6DE112F16B17D00F09130 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BF6DE122F16B17D00F09130 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8BF6DE132F16B17D00F09130 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8BF6DE142F16B17D00F09130 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8BF6DE152F16B17D00F09130 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8BF6DE162F16B17D00F09130 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8BF6DE172F16B17D00F09130 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8BF6DE182F16B17D00F09130 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8BF6DE192F16B17D00F09130 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8BF6DE1D2F16B17D00F09130 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8BF6DE1F2F16B17D00F09130 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BF6DE202F16B17D00F09130 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BF6DE212F16B17D00F09130 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BF6DE222F16B17D00F09130 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BF6DE232F16B17D00F09130 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BF6DE242F16B17D00F09130 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BF6DE252F16B17D00F09130 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8BF6DE262F16B17D00F09130 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BF6DE272F16B17D00F09130 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BF6DE282F16B17D00F09130 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BF6DE292F16B17D00F09130 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8BF6DE2A2F16B17D00F09130 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BF6DE2B2F16B17D00F09130 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BF6DE2C2F16B17D00F09130 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BF6DE2D2F16B17D00F09130 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BF6DE2F2F16B17D00F09130 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BF6DE302F16B17D00F09130 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BF6DE322F16B17D00F09130 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BF6DE332F16B17D00F09130 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8BF6DE342F16B17D00F09130 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BF6DE352F16B17D00F09130 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BF6DE362F16B17D00F09130 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8BF6DE372F16B17D00F09130 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BF6DE382F16B17D00F09130 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8BF6DE392F16B17D00F09130 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BF6DE3A2F16B17D00F09130 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8BF6DEBD2F16B3B000F09130 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TapeHack2.component; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* TapeHack2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = TapeHack2; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BF6DDB12F16B17D00F09130 /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* TapeHack2.h */, + 8BA05A660720730100365D66 /* TapeHack2.cpp */, + 8BA05A670720730100365D66 /* TapeHack2.exp */, + 8BA05A680720730100365D66 /* TapeHack2.r */, + 8BA05A690720730100365D66 /* TapeHack2Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BF6DDB12F16B17D00F09130 /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8BF6DDB22F16B17D00F09130 /* PublicUtility */, + 8BF6DE1A2F16B17D00F09130 /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8BF6DDB22F16B17D00F09130 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BF6DDB32F16B17D00F09130 /* CAExtAudioFile.h */, + 8BF6DDB42F16B17D00F09130 /* CACFMachPort.h */, + 8BF6DDB52F16B17D00F09130 /* CABool.h */, + 8BF6DDB62F16B17D00F09130 /* CAComponent.cpp */, + 8BF6DDB72F16B17D00F09130 /* CADebugger.h */, + 8BF6DDB82F16B17D00F09130 /* CACFNumber.cpp */, + 8BF6DDB92F16B17D00F09130 /* CAGuard.h */, + 8BF6DDBA2F16B17D00F09130 /* CAAtomic.h */, + 8BF6DDBB2F16B17D00F09130 /* CAStreamBasicDescription.h */, + 8BF6DDBC2F16B17D00F09130 /* CACFObject.h */, + 8BF6DDBD2F16B17D00F09130 /* CAStreamRangedDescription.h */, + 8BF6DDBE2F16B17D00F09130 /* CATokenMap.h */, + 8BF6DDBF2F16B17D00F09130 /* CAComponent.h */, + 8BF6DDC02F16B17D00F09130 /* CAAudioBufferList.h */, + 8BF6DDC12F16B17D00F09130 /* CAAudioUnit.h */, + 8BF6DDC22F16B17D00F09130 /* CAAUParameter.h */, + 8BF6DDC32F16B17D00F09130 /* CAException.h */, + 8BF6DDC42F16B17D00F09130 /* CAAUProcessor.cpp */, + 8BF6DDC52F16B17D00F09130 /* CAAUProcessor.h */, + 8BF6DDC62F16B17D00F09130 /* CAProcess.h */, + 8BF6DDC72F16B17D00F09130 /* CACFDictionary.h */, + 8BF6DDC82F16B17D00F09130 /* CAPThread.h */, + 8BF6DDC92F16B17D00F09130 /* CAAUParameter.cpp */, + 8BF6DDCA2F16B17D00F09130 /* CAAudioTimeStamp.h */, + 8BF6DDCB2F16B17D00F09130 /* CAFilePathUtils.cpp */, + 8BF6DDCC2F16B17D00F09130 /* CAAudioValueRange.h */, + 8BF6DDCD2F16B17D00F09130 /* CAVectorUnitTypes.h */, + 8BF6DDCE2F16B17D00F09130 /* CAAudioChannelLayoutObject.cpp */, + 8BF6DDCF2F16B17D00F09130 /* CAGuard.cpp */, + 8BF6DDD02F16B17D00F09130 /* CACFNumber.h */, + 8BF6DDD12F16B17D00F09130 /* CACFDistributedNotification.cpp */, + 8BF6DDD22F16B17D00F09130 /* CACFString.h */, + 8BF6DDD32F16B17D00F09130 /* CAAUMIDIMapManager.cpp */, + 8BF6DDD42F16B17D00F09130 /* CAComponentDescription.cpp */, + 8BF6DDD52F16B17D00F09130 /* CAHostTimeBase.h */, + 8BF6DDD62F16B17D00F09130 /* CADebugMacros.cpp */, + 8BF6DDD72F16B17D00F09130 /* CAAudioFileFormats.h */, + 8BF6DDD82F16B17D00F09130 /* CAAUMIDIMapManager.h */, + 8BF6DDD92F16B17D00F09130 /* CACFDictionary.cpp */, + 8BF6DDDA2F16B17D00F09130 /* CAMutex.h */, + 8BF6DDDB2F16B17D00F09130 /* CACFString.cpp */, + 8BF6DDDC2F16B17D00F09130 /* CASettingsStorage.h */, + 8BF6DDDD2F16B17D00F09130 /* CADebugPrintf.h */, + 8BF6DDDE2F16B17D00F09130 /* CAXException.cpp */, + 8BF6DDDF2F16B17D00F09130 /* CAAUMIDIMap.h */, + 8BF6DDE02F16B17D00F09130 /* AUParamInfo.h */, + 8BF6DDE12F16B17D00F09130 /* CABitOperations.h */, + 8BF6DDE22F16B17D00F09130 /* CACFPreferences.cpp */, + 8BF6DDE32F16B17D00F09130 /* CABundleLocker.h */, + 8BF6DDE42F16B17D00F09130 /* CAPropertyAddress.h */, + 8BF6DDE52F16B17D00F09130 /* CAXException.h */, + 8BF6DDE62F16B17D00F09130 /* CAAudioChannelLayout.cpp */, + 8BF6DDE72F16B17D00F09130 /* CAThreadSafeList.h */, + 8BF6DDE82F16B17D00F09130 /* CAAudioUnitOutputCapturer.h */, + 8BF6DDE92F16B17D00F09130 /* AUParamInfo.cpp */, + 8BF6DDEA2F16B17D00F09130 /* CASharedLibrary.cpp */, + 8BF6DDEB2F16B17D00F09130 /* CAAUMIDIMap.cpp */, + 8BF6DDEC2F16B17D00F09130 /* CALogMacros.h */, + 8BF6DDED2F16B17D00F09130 /* CACFMessagePort.cpp */, + 8BF6DDEE2F16B17D00F09130 /* CARingBuffer.h */, + 8BF6DDEF2F16B17D00F09130 /* AUOutputBL.cpp */, + 8BF6DDF02F16B17D00F09130 /* CABufferList.h */, + 8BF6DDF12F16B17D00F09130 /* CASharedLibrary.h */, + 8BF6DDF22F16B17D00F09130 /* CACFData.h */, + 8BF6DDF32F16B17D00F09130 /* CAStreamRangedDescription.cpp */, + 8BF6DDF42F16B17D00F09130 /* CAPThread.cpp */, + 8BF6DDF52F16B17D00F09130 /* CAAutoDisposer.h */, + 8BF6DDF62F16B17D00F09130 /* CACFPreferences.h */, + 8BF6DDF72F16B17D00F09130 /* CAVectorUnit.cpp */, + 8BF6DDF82F16B17D00F09130 /* CAComponentDescription.h */, + 8BF6DDF92F16B17D00F09130 /* CADebugMacros.h */, + 8BF6DDFA2F16B17D00F09130 /* AUOutputBL.h */, + 8BF6DDFB2F16B17D00F09130 /* CADebugPrintf.cpp */, + 8BF6DDFC2F16B17D00F09130 /* CARingBuffer.cpp */, + 8BF6DDFD2F16B17D00F09130 /* CACFPlugIn.h */, + 8BF6DDFE2F16B17D00F09130 /* CASettingsStorage.cpp */, + 8BF6DDFF2F16B17D00F09130 /* CAMixMap.h */, + 8BF6DE002F16B17D00F09130 /* CACFDistributedNotification.h */, + 8BF6DE012F16B17D00F09130 /* CAFilePathUtils.h */, + 8BF6DE022F16B17D00F09130 /* CATink.h */, + 8BF6DE032F16B17D00F09130 /* CAStreamBasicDescription.cpp */, + 8BF6DE042F16B17D00F09130 /* CAAudioChannelLayout.h */, + 8BF6DE052F16B17D00F09130 /* CAProcess.cpp */, + 8BF6DE062F16B17D00F09130 /* CAHostTimeBase.cpp */, + 8BF6DE072F16B17D00F09130 /* CAPersistence.cpp */, + 8BF6DE082F16B17D00F09130 /* CAAudioBufferList.cpp */, + 8BF6DE092F16B17D00F09130 /* CAAudioTimeStamp.cpp */, + 8BF6DE0A2F16B17D00F09130 /* CAVectorUnit.h */, + 8BF6DE0B2F16B17D00F09130 /* CAByteOrder.h */, + 8BF6DE0C2F16B17D00F09130 /* CACFArray.h */, + 8BF6DE0D2F16B17D00F09130 /* CAAtomicStack.h */, + 8BF6DE0E2F16B17D00F09130 /* CAReferenceCounted.h */, + 8BF6DE0F2F16B17D00F09130 /* CACFMachPort.cpp */, + 8BF6DE102F16B17D00F09130 /* CABufferList.cpp */, + 8BF6DE112F16B17D00F09130 /* CAMutex.cpp */, + 8BF6DE122F16B17D00F09130 /* CADebugger.cpp */, + 8BF6DE132F16B17D00F09130 /* CABundleLocker.cpp */, + 8BF6DE142F16B17D00F09130 /* CAAudioFileFormats.cpp */, + 8BF6DE152F16B17D00F09130 /* CAMath.h */, + 8BF6DE162F16B17D00F09130 /* CACFArray.cpp */, + 8BF6DE172F16B17D00F09130 /* CACFMessagePort.h */, + 8BF6DE182F16B17D00F09130 /* CAAudioValueRange.cpp */, + 8BF6DE192F16B17D00F09130 /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8BF6DE1A2F16B17D00F09130 /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8BF6DE1B2F16B17D00F09130 /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8BF6DE1B2F16B17D00F09130 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BF6DE1C2F16B17D00F09130 /* AUViewBase */, + 8BF6DE1E2F16B17D00F09130 /* AUBase */, + 8BF6DE2E2F16B17D00F09130 /* OtherBases */, + 8BF6DE312F16B17D00F09130 /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8BF6DE1C2F16B17D00F09130 /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8BF6DE1D2F16B17D00F09130 /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8BF6DE1E2F16B17D00F09130 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BF6DE1F2F16B17D00F09130 /* ComponentBase.cpp */, + 8BF6DE202F16B17D00F09130 /* AUScopeElement.cpp */, + 8BF6DE212F16B17D00F09130 /* ComponentBase.h */, + 8BF6DE222F16B17D00F09130 /* AUBase.cpp */, + 8BF6DE232F16B17D00F09130 /* AUInputElement.h */, + 8BF6DE242F16B17D00F09130 /* AUBase.h */, + 8BF6DE252F16B17D00F09130 /* AUPlugInDispatch.h */, + 8BF6DE262F16B17D00F09130 /* AUDispatch.h */, + 8BF6DE272F16B17D00F09130 /* AUOutputElement.cpp */, + 8BF6DE282F16B17D00F09130 /* AUResources.r */, + 8BF6DE292F16B17D00F09130 /* AUPlugInDispatch.cpp */, + 8BF6DE2A2F16B17D00F09130 /* AUOutputElement.h */, + 8BF6DE2B2F16B17D00F09130 /* AUDispatch.cpp */, + 8BF6DE2C2F16B17D00F09130 /* AUScopeElement.h */, + 8BF6DE2D2F16B17D00F09130 /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BF6DE2E2F16B17D00F09130 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BF6DE2F2F16B17D00F09130 /* AUEffectBase.cpp */, + 8BF6DE302F16B17D00F09130 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BF6DE312F16B17D00F09130 /* Utility */ = { + isa = PBXGroup; + children = ( + 8BF6DE322F16B17D00F09130 /* AUTimestampGenerator.h */, + 8BF6DE332F16B17D00F09130 /* AUBaseHelper.cpp */, + 8BF6DE342F16B17D00F09130 /* AUSilentTimeout.h */, + 8BF6DE352F16B17D00F09130 /* AUInputFormatConverter.h */, + 8BF6DE362F16B17D00F09130 /* AUTimestampGenerator.cpp */, + 8BF6DE372F16B17D00F09130 /* AUBuffer.cpp */, + 8BF6DE382F16B17D00F09130 /* AUMIDIDefs.h */, + 8BF6DE392F16B17D00F09130 /* AUBuffer.h */, + 8BF6DE3A2F16B17D00F09130 /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DE6B2F16B17E00F09130 /* CABundleLocker.h in Headers */, + 8BF6DE8C2F16B17E00F09130 /* CAAudioChannelLayout.h in Headers */, + 8BF6DE822F16B17E00F09130 /* AUOutputBL.h in Headers */, + 8BF6DE5D2F16B17E00F09130 /* CAHostTimeBase.h in Headers */, + 8BF6DEA52F16B17E00F09130 /* ComponentBase.h in Headers */, + 8BF6DE952F16B17E00F09130 /* CAAtomicStack.h in Headers */, + 8BF6DE522F16B17E00F09130 /* CAAudioTimeStamp.h in Headers */, + 8BF6DE6F2F16B17E00F09130 /* CAThreadSafeList.h in Headers */, + 8BF6DE4A2F16B17E00F09130 /* CAAUParameter.h in Headers */, + 8BF6DEBC2F16B17E00F09130 /* AUBaseHelper.h in Headers */, + 8BF6DEB42F16B17E00F09130 /* AUTimestampGenerator.h in Headers */, + 8BF6DE652F16B17E00F09130 /* CADebugPrintf.h in Headers */, + 8BF6DE9F2F16B17E00F09130 /* CACFMessagePort.h in Headers */, + 8BF6DE4D2F16B17E00F09130 /* CAAUProcessor.h in Headers */, + 8BF6DE492F16B17E00F09130 /* CAAudioUnit.h in Headers */, + 8BF6DEA22F16B17E00F09130 /* AUViewLocalizedStringKeys.h in Headers */, + 8BF6DE882F16B17E00F09130 /* CACFDistributedNotification.h in Headers */, + 8BF6DE472F16B17E00F09130 /* CAComponent.h in Headers */, + 8BF6DE552F16B17E00F09130 /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* TapeHack2Version.h in Headers */, + 8BF6DE892F16B17E00F09130 /* CAFilePathUtils.h in Headers */, + 8BF6DE4B2F16B17E00F09130 /* CAException.h in Headers */, + 8BF6DE422F16B17E00F09130 /* CAAtomic.h in Headers */, + 8BF6DE412F16B17E00F09130 /* CAGuard.h in Headers */, + 8BF6DEA72F16B17E00F09130 /* AUInputElement.h in Headers */, + 8BF6DE7E2F16B17E00F09130 /* CACFPreferences.h in Headers */, + 8BF6DE932F16B17E00F09130 /* CAByteOrder.h in Headers */, + 8BF6DE762F16B17E00F09130 /* CARingBuffer.h in Headers */, + 8BF6DE3D2F16B17D00F09130 /* CABool.h in Headers */, + 8BF6DE622F16B17E00F09130 /* CAMutex.h in Headers */, + 8BF6DEA82F16B17E00F09130 /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* TapeHack2.h in Headers */, + 8BF6DE5A2F16B17E00F09130 /* CACFString.h in Headers */, + 8BF6DE792F16B17E00F09130 /* CASharedLibrary.h in Headers */, + 8BF6DE462F16B17E00F09130 /* CATokenMap.h in Headers */, + 8BF6DE3B2F16B17D00F09130 /* CAExtAudioFile.h in Headers */, + 8BF6DE502F16B17E00F09130 /* CAPThread.h in Headers */, + 8BF6DE6C2F16B17E00F09130 /* CAPropertyAddress.h in Headers */, + 8BF6DE962F16B17E00F09130 /* CAReferenceCounted.h in Headers */, + 8BF6DEBB2F16B17E00F09130 /* AUBuffer.h in Headers */, + 8BF6DE9D2F16B17E00F09130 /* CAMath.h in Headers */, + 8BF6DE7D2F16B17E00F09130 /* CAAutoDisposer.h in Headers */, + 8BF6DE442F16B17E00F09130 /* CACFObject.h in Headers */, + 8BF6DE642F16B17E00F09130 /* CASettingsStorage.h in Headers */, + 8BF6DE6D2F16B17E00F09130 /* CAXException.h in Headers */, + 8BF6DE8A2F16B17E00F09130 /* CATink.h in Headers */, + 8BF6DEB72F16B17E00F09130 /* AUInputFormatConverter.h in Headers */, + 8BF6DE922F16B17E00F09130 /* CAVectorUnit.h in Headers */, + 8BF6DE4E2F16B17E00F09130 /* CAProcess.h in Headers */, + 8BF6DE542F16B17E00F09130 /* CAAudioValueRange.h in Headers */, + 8BF6DE692F16B17E00F09130 /* CABitOperations.h in Headers */, + 8BF6DE5F2F16B17E00F09130 /* CAAudioFileFormats.h in Headers */, + 8BF6DE582F16B17E00F09130 /* CACFNumber.h in Headers */, + 8BF6DE702F16B17E00F09130 /* CAAudioUnitOutputCapturer.h in Headers */, + 8BF6DE812F16B17E00F09130 /* CADebugMacros.h in Headers */, + 8BF6DEBA2F16B17E00F09130 /* AUMIDIDefs.h in Headers */, + 8BF6DE7A2F16B17E00F09130 /* CACFData.h in Headers */, + 8BF6DE432F16B17E00F09130 /* CAStreamBasicDescription.h in Headers */, + 8BF6DEA92F16B17E00F09130 /* AUPlugInDispatch.h in Headers */, + 8BF6DE452F16B17E00F09130 /* CAStreamRangedDescription.h in Headers */, + 8BF6DE852F16B17E00F09130 /* CACFPlugIn.h in Headers */, + 8BF6DE482F16B17E00F09130 /* CAAudioBufferList.h in Headers */, + 8BF6DE602F16B17E00F09130 /* CAAUMIDIMapManager.h in Headers */, + 8BF6DEB32F16B17E00F09130 /* AUEffectBase.h in Headers */, + 8BF6DE4F2F16B17E00F09130 /* CACFDictionary.h in Headers */, + 8BF6DEB02F16B17E00F09130 /* AUScopeElement.h in Headers */, + 8BF6DE802F16B17E00F09130 /* CAComponentDescription.h in Headers */, + 8BF6DEB62F16B17E00F09130 /* AUSilentTimeout.h in Headers */, + 8BF6DE782F16B17E00F09130 /* CABufferList.h in Headers */, + 8BF6DEAA2F16B17E00F09130 /* AUDispatch.h in Headers */, + 8BF6DEAE2F16B17E00F09130 /* AUOutputElement.h in Headers */, + 8BF6DE742F16B17E00F09130 /* CALogMacros.h in Headers */, + 8BF6DE682F16B17E00F09130 /* AUParamInfo.h in Headers */, + 8BF6DE872F16B17E00F09130 /* CAMixMap.h in Headers */, + 8BF6DE942F16B17E00F09130 /* CACFArray.h in Headers */, + 8BF6DE3C2F16B17D00F09130 /* CACFMachPort.h in Headers */, + 8BF6DE672F16B17E00F09130 /* CAAUMIDIMap.h in Headers */, + 8BF6DE3F2F16B17D00F09130 /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "TapeHack2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TapeHack2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = TapeHack2; + productReference = 8D01CCD20486CAD60068D4B7 /* TapeHack2.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "TapeHack2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + en, + de, + Base, + ja, + fr, + ); + mainGroup = 089C166AFE841209C02AAC07 /* TapeHack2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DE772F16B17E00F09130 /* AUOutputBL.cpp in Sources */, + 8BF6DE9C2F16B17E00F09130 /* CAAudioFileFormats.cpp in Sources */, + 8BF6DE8E2F16B17E00F09130 /* CAHostTimeBase.cpp in Sources */, + 8BF6DE662F16B17E00F09130 /* CAXException.cpp in Sources */, + 8BF6DE902F16B17E00F09130 /* CAAudioBufferList.cpp in Sources */, + 8BF6DE532F16B17E00F09130 /* CAFilePathUtils.cpp in Sources */, + 8BF6DE512F16B17E00F09130 /* CAAUParameter.cpp in Sources */, + 8BF6DE732F16B17E00F09130 /* CAAUMIDIMap.cpp in Sources */, + 8BF6DEA02F16B17E00F09130 /* CAAudioValueRange.cpp in Sources */, + 8BF6DEAF2F16B17E00F09130 /* AUDispatch.cpp in Sources */, + 8BF6DE6A2F16B17E00F09130 /* CACFPreferences.cpp in Sources */, + 8BF6DEAD2F16B17E00F09130 /* AUPlugInDispatch.cpp in Sources */, + 8BF6DE4C2F16B17E00F09130 /* CAAUProcessor.cpp in Sources */, + 8BF6DE612F16B17E00F09130 /* CACFDictionary.cpp in Sources */, + 8BF6DEB52F16B17E00F09130 /* AUBaseHelper.cpp in Sources */, + 8BF6DE9A2F16B17E00F09130 /* CADebugger.cpp in Sources */, + 8BF6DE6E2F16B17E00F09130 /* CAAudioChannelLayout.cpp in Sources */, + 8BF6DE712F16B17E00F09130 /* AUParamInfo.cpp in Sources */, + 8BF6DE8F2F16B17E00F09130 /* CAPersistence.cpp in Sources */, + 8BF6DE832F16B17E00F09130 /* CADebugPrintf.cpp in Sources */, + 8BF6DEB82F16B17E00F09130 /* AUTimestampGenerator.cpp in Sources */, + 8BF6DE8B2F16B17E00F09130 /* CAStreamBasicDescription.cpp in Sources */, + 8BF6DE5B2F16B17E00F09130 /* CAAUMIDIMapManager.cpp in Sources */, + 8BF6DE862F16B17E00F09130 /* CASettingsStorage.cpp in Sources */, + 8BF6DEAB2F16B17E00F09130 /* AUOutputElement.cpp in Sources */, + 8BF6DE572F16B17E00F09130 /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* TapeHack2.cpp in Sources */, + 8BF6DE992F16B17E00F09130 /* CAMutex.cpp in Sources */, + 8BF6DEB22F16B17E00F09130 /* AUEffectBase.cpp in Sources */, + 8BF6DE972F16B17E00F09130 /* CACFMachPort.cpp in Sources */, + 8BF6DEA62F16B17E00F09130 /* AUBase.cpp in Sources */, + 8BF6DE722F16B17E00F09130 /* CASharedLibrary.cpp in Sources */, + 8BF6DE592F16B17E00F09130 /* CACFDistributedNotification.cpp in Sources */, + 8BF6DE5C2F16B17E00F09130 /* CAComponentDescription.cpp in Sources */, + 8BF6DE632F16B17E00F09130 /* CACFString.cpp in Sources */, + 8BF6DEA32F16B17E00F09130 /* ComponentBase.cpp in Sources */, + 8BF6DE842F16B17E00F09130 /* CARingBuffer.cpp in Sources */, + 8BF6DEA42F16B17E00F09130 /* AUScopeElement.cpp in Sources */, + 8BF6DEA12F16B17E00F09130 /* CAAudioUnit.cpp in Sources */, + 8BF6DE9E2F16B17E00F09130 /* CACFArray.cpp in Sources */, + 8BF6DE9B2F16B17E00F09130 /* CABundleLocker.cpp in Sources */, + 8BF6DE8D2F16B17E00F09130 /* CAProcess.cpp in Sources */, + 8BF6DE7B2F16B17E00F09130 /* CAStreamRangedDescription.cpp in Sources */, + 8BF6DE7C2F16B17E00F09130 /* CAPThread.cpp in Sources */, + 8BF6DE3E2F16B17D00F09130 /* CAComponent.cpp in Sources */, + 8BF6DE562F16B17E00F09130 /* CAAudioChannelLayoutObject.cpp in Sources */, + 8BF6DE912F16B17E00F09130 /* CAAudioTimeStamp.cpp in Sources */, + 8BF6DE982F16B17E00F09130 /* CABufferList.cpp in Sources */, + 8BF6DE752F16B17E00F09130 /* CACFMessagePort.cpp in Sources */, + 8BF6DE7F2F16B17E00F09130 /* CAVectorUnit.cpp in Sources */, + 8BF6DEB12F16B17E00F09130 /* AUInputElement.cpp in Sources */, + 8BF6DEB92F16B17E00F09130 /* AUBuffer.cpp in Sources */, + 8BF6DE5E2F16B17E00F09130 /* CADebugMacros.cpp in Sources */, + 8BF6DE402F16B17D00F09130 /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8BF6DEBD2F16B3B000F09130 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = TapeHack2.exp; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = TapeHack2; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = TapeHack2.exp; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = TapeHack2; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 000000000..db1f1dfbd Binary files /dev/null and b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme new file mode 100644 index 000000000..cb4382021 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..229535d17 --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + TapeHack2.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/TapeHack2/TapeHack2Version.h b/plugins/MacSignedAU/TapeHack2/TapeHack2Version.h new file mode 100755 index 000000000..60d51b32d --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/TapeHack2Version.h @@ -0,0 +1,58 @@ +/* +* File: TapeHack2Version.h +* +* Version: 1.0 +* +* Created: 1/8/26 +* +* Copyright: Copyright © 2026 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __TapeHack2Version_h__ +#define __TapeHack2Version_h__ + + +#ifdef DEBUG + #define kTapeHack2Version 0xFFFFFFFF +#else + #define kTapeHack2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define TapeHack2_COMP_MANF 'Dthr' +#define TapeHack2_COMP_SUBTYPE 'tha2' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/TapeHack2/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/TapeHack2/en.lproj/InfoPlist.strings new file mode 100755 index 000000000..6d8a830fd Binary files /dev/null and b/plugins/MacSignedAU/TapeHack2/en.lproj/InfoPlist.strings differ diff --git a/plugins/MacSignedAU/TapeHack2/version.plist b/plugins/MacSignedAU/TapeHack2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/TapeHack2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index dc60ae0c9..1185a6c68 100755 Binary files a/plugins/MacSignedVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.cpp b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.cpp index 9ee7ba52c..95c566edc 100755 --- a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.cpp +++ b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.cpp @@ -93,14 +93,13 @@ ConsoleHChannel::ConsoleHChannel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.h b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.h index 7a20001ea..6d701a872 100755 --- a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.h +++ b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannel.h @@ -192,12 +192,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp index f2b5d4449..2139dea75 100755 --- a/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp +++ b/plugins/MacSignedVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp @@ -206,15 +206,16 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -266,6 +267,38 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -818,15 +851,16 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -878,6 +912,38 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacSignedVST/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index f7b97efa8..ca7687671 100755 Binary files a/plugins/MacSignedVST/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedVST/ConsoleHPre/ConsoleHPre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.cpp b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.cpp index c500b6c68..ae191e177 100755 --- a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.cpp +++ b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.cpp @@ -93,14 +93,13 @@ AudioEffectX(audioMaster, kNumPrograms, kNumParameters) dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.h b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.h index f242a79cb..bfa2fd1af 100755 --- a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.h +++ b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPre.h @@ -197,12 +197,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPreProc.cpp b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPreProc.cpp index 88ffee948..8f730a2e3 100755 --- a/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPreProc.cpp +++ b/plugins/MacSignedVST/ConsoleHPre/source/ConsoleHPreProc.cpp @@ -205,15 +205,16 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -265,6 +266,38 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -816,15 +849,16 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -876,6 +910,38 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacSignedVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index 59d9334cf..81fad09e7 100755 Binary files a/plugins/MacSignedVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp index 2129cd918..9eb80b69d 100755 --- a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp +++ b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp @@ -82,14 +82,13 @@ ConsoleX2Channel::ConsoleX2Channel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.h b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.h index 2b57ebb85..3bf404761 100755 --- a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.h +++ b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2Channel.h @@ -170,12 +170,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp index 38a92a8f1..9c6da7005 100755 --- a/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp +++ b/plugins/MacSignedVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp @@ -215,15 +215,16 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -275,6 +276,38 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -742,15 +775,16 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -802,6 +836,38 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacSignedVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate index cb9e3c148..6bf4de464 100755 Binary files a/plugins/MacSignedVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate and b/plugins/MacSignedVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp index 37598510d..be24fe98d 100755 --- a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp +++ b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp @@ -82,15 +82,14 @@ ConsoleX2Pre::ConsoleX2Pre(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; - //preTapeHack + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack lFreqA = 1.0; lFreqB = 1.0; hFreqA = 0.0; hFreqB = 0.0; diff --git a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.h b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.h index 5ea8485af..5ae8da423 100755 --- a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.h +++ b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2Pre.h @@ -175,12 +175,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp index 2366e1835..5775e39f3 100755 --- a/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp +++ b/plugins/MacSignedVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp @@ -214,15 +214,16 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -274,6 +275,38 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -746,15 +779,16 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -806,6 +840,38 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..94b2d1000 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* SoftClock3 */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789925293; + PBXWorkspaceStateSaveDate = 789925293; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4716}}"; + sepNavSelRange = "{1337, 0}"; + sepNavVisRange = "{1750, 1517}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* SoftClock3.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 1476}}"; + sepNavSelRange = "{2513, 0}"; + sepNavVisRange = "{956, 1787}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1119, 5976}}"; + sepNavSelRange = "{14321, 0}"; + sepNavVisRange = "{13562, 1344}"; + sepNavWindowFrame = "{{6, 40}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..386f568f6 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C03462F15546E0045AF83 + 1CA23ED40692098700951B8B + 8B2C03472F15546E0045AF83 + 8B0237581D42B1C400E1E8C8 + 8B2C03482F15546E0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789927022.09251297 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B2C03492F15546E0045AF83 + /Users/christopherjohnson/Desktop/SoftClock3/SoftClock3.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj new file mode 100755 index 000000000..b3fd52405 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* SoftClock3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */; }; + 245463B90991757100464AD3 /* SoftClock3.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* SoftClock3.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* SoftClock3Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8BF6DED02F16B53D00F09130 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEC42F16B53D00F09130 /* vstfxstore.h */; }; + 8BF6DED12F16B53D00F09130 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEC52F16B53D00F09130 /* aeffect.h */; }; + 8BF6DED22F16B53D00F09130 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEC62F16B53D00F09130 /* aeffectx.h */; }; + 8BF6DED32F16B53D00F09130 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DECA2F16B53D00F09130 /* audioeffectx.h */; }; + 8BF6DED42F16B53D00F09130 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DECB2F16B53D00F09130 /* audioeffect.cpp */; }; + 8BF6DED52F16B53D00F09130 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DECC2F16B53D00F09130 /* audioeffectx.cpp */; }; + 8BF6DED62F16B53D00F09130 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DECD2F16B53D00F09130 /* aeffeditor.h */; }; + 8BF6DED72F16B53D00F09130 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DECE2F16B53D00F09130 /* vstplugmain.cpp */; }; + 8BF6DED82F16B53D00F09130 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DECF2F16B53D00F09130 /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* SoftClock3.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftClock3.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoftClock3.cpp; path = source/SoftClock3.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* SoftClock3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SoftClock3.h; path = source/SoftClock3.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoftClock3Proc.cpp; path = source/SoftClock3Proc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8BF6DEC42F16B53D00F09130 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8BF6DEC52F16B53D00F09130 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8BF6DEC62F16B53D00F09130 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8BF6DECA2F16B53D00F09130 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8BF6DECB2F16B53D00F09130 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8BF6DECC2F16B53D00F09130 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8BF6DECD2F16B53D00F09130 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8BF6DECE2F16B53D00F09130 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8BF6DECF2F16B53D00F09130 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BF6DEC12F16B53D00F09130 /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */, + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */, + 245463B80991757100464AD3 /* SoftClock3.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* SoftClock3.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8BF6DEC12F16B53D00F09130 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8BF6DEC22F16B53D00F09130 /* pluginterfaces */, + 8BF6DEC72F16B53D00F09130 /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8BF6DEC22F16B53D00F09130 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8BF6DEC32F16B53D00F09130 /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8BF6DEC32F16B53D00F09130 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8BF6DEC42F16B53D00F09130 /* vstfxstore.h */, + 8BF6DEC52F16B53D00F09130 /* aeffect.h */, + 8BF6DEC62F16B53D00F09130 /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8BF6DEC72F16B53D00F09130 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8BF6DEC82F16B53D00F09130 /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8BF6DEC82F16B53D00F09130 /* source */ = { + isa = PBXGroup; + children = ( + 8BF6DEC92F16B53D00F09130 /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8BF6DEC92F16B53D00F09130 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8BF6DECA2F16B53D00F09130 /* audioeffectx.h */, + 8BF6DECB2F16B53D00F09130 /* audioeffect.cpp */, + 8BF6DECC2F16B53D00F09130 /* audioeffectx.cpp */, + 8BF6DECD2F16B53D00F09130 /* aeffeditor.h */, + 8BF6DECE2F16B53D00F09130 /* vstplugmain.cpp */, + 8BF6DECF2F16B53D00F09130 /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DED62F16B53D00F09130 /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* SoftClock3.h in Headers */, + 8BF6DED82F16B53D00F09130 /* audioeffect.h in Headers */, + 8BF6DED12F16B53D00F09130 /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8BF6DED32F16B53D00F09130 /* audioeffectx.h in Headers */, + 8BF6DED02F16B53D00F09130 /* vstfxstore.h in Headers */, + 8BF6DED22F16B53D00F09130 /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "SoftClock3" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SoftClock3; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* SoftClock3.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "SoftClock3" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + ja, + en, + fr, + Base, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DED52F16B53D00F09130 /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* SoftClock3.cpp in Sources */, + 8BF6DED42F16B53D00F09130 /* audioeffect.cpp in Sources */, + 8BF6DED72F16B53D00F09130 /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* SoftClock3Proc.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.SoftClock3; + PRODUCT_NAME = SoftClock3; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = ""; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.SoftClock3; + PRODUCT_NAME = SoftClock3; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..5355da4a0 Binary files /dev/null and b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme new file mode 100644 index 000000000..ae257bb4f --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcshareddata/xcschemes/SoftClock3.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..d99b16eec --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + SoftClock3.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/SoftClock3/mac/Info.plist b/plugins/MacSignedVST/SoftClock3/mac/Info.plist new file mode 100755 index 000000000..028fad365 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + SoftClock3 + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/SoftClock3/mac/PkgInfo b/plugins/MacSignedVST/SoftClock3/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/SoftClock3/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/SoftClock3/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacSignedVST/SoftClock3/source/SoftClock3.cpp b/plugins/MacSignedVST/SoftClock3/source/SoftClock3.cpp new file mode 100755 index 000000000..695c93b43 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/source/SoftClock3.cpp @@ -0,0 +1,234 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new SoftClock3(audioMaster);} + +SoftClock3::SoftClock3(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.2; + B = 0.2; + C = 0.2; + D = 0.0; + E = 0.5; + + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +SoftClock3::~SoftClock3() {} +VstInt32 SoftClock3::getVendorVersion () {return 1000;} +void SoftClock3::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void SoftClock3::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 SoftClock3::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + chunkData[3] = D; + chunkData[4] = E; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 SoftClock3::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + D = pinParameter(chunkData[3]); + E = pinParameter(chunkData[4]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void SoftClock3::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + case kParamD: D = value; break; + case kParamE: E = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float SoftClock3::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + case kParamD: return D; break; + case kParamE: return E; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void SoftClock3::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Tempo", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Count", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Tuple", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "Triplet", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "Flavor", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void SoftClock3::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((int)(A*200.99)+40, text, kVstMaxParamStrLen); break; + case kParamB: int2string ((int)(B*32.99), text, kVstMaxParamStrLen); break; + case kParamC: int2string ((int)(C*16.99), text, kVstMaxParamStrLen); break; + case kParamD: int2string ((int)(D*1.99), text, kVstMaxParamStrLen); break; + case kParamE: float2string (E, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void SoftClock3::getParameterLabel(VstInt32 index, char *text) { + int beatCode = (int)(B*32.99); + switch (index) { + case kParamA: vst_strncpy (text, "bpm", kVstMaxParamStrLen); break; + case kParamB: + switch (beatCode){ + case 0: vst_strncpy (text, "0", kVstMaxParamStrLen); break; + case 1: vst_strncpy (text, "1", kVstMaxParamStrLen); break; + case 2: vst_strncpy (text, "2", kVstMaxParamStrLen); break; + case 3: vst_strncpy (text, "3", kVstMaxParamStrLen); break; + case 4: vst_strncpy (text, "4", kVstMaxParamStrLen); break; + case 5: vst_strncpy (text, "5", kVstMaxParamStrLen); break; + case 6: vst_strncpy (text, "6", kVstMaxParamStrLen); break; + case 7: vst_strncpy (text, "7", kVstMaxParamStrLen); break; + case 8: vst_strncpy (text, "8", kVstMaxParamStrLen); break; + case 9: vst_strncpy (text, "9", kVstMaxParamStrLen); break; + case 10:vst_strncpy (text, "10", kVstMaxParamStrLen); break; + case 11:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 12:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 13:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 14:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 15:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 16:vst_strncpy (text, "16", kVstMaxParamStrLen); break; + case 17:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 18:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 19:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 20:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 21:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 22:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 23:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 24:vst_strncpy (text, "24", kVstMaxParamStrLen); break; + case 25:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 26:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 27:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 28:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 29:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 30:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 31:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 32:vst_strncpy (text, "32", kVstMaxParamStrLen); break; + default: break; + } + break; + case kParamC: vst_strncpy (text, "th note", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 SoftClock3::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool SoftClock3::getEffectName(char* name) { + vst_strncpy(name, "SoftClock3", kVstMaxProductStrLen); return true; +} + +VstPlugCategory SoftClock3::getPlugCategory() {return kPlugCategEffect;} + +bool SoftClock3::getProductString(char* text) { + vst_strncpy (text, "airwindows SoftClock3", kVstMaxProductStrLen); return true; +} + +bool SoftClock3::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/SoftClock3/source/SoftClock3.h b/plugins/MacSignedVST/SoftClock3/source/SoftClock3.h new file mode 100755 index 000000000..a5fee3f39 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/source/SoftClock3.h @@ -0,0 +1,81 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#define __SoftClock3_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kParamD =3, + kParamE =4, + kNumParameters = 5 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'sfc3'; //Change this to what the AU identity is! + +class SoftClock3 : + public AudioEffectX +{ +public: + SoftClock3(audioMasterCallback audioMaster); + ~SoftClock3(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + float D; + float E; + + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/MacSignedVST/SoftClock3/source/SoftClock3Proc.cpp b/plugins/MacSignedVST/SoftClock3/source/SoftClock3Proc.cpp new file mode 100755 index 000000000..4efb92972 --- /dev/null +++ b/plugins/MacSignedVST/SoftClock3/source/SoftClock3Proc.cpp @@ -0,0 +1,322 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +void SoftClock3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void SoftClock3::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..b92d17066 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* TapeHack2 */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789947634; + PBXWorkspaceStateSaveDate = 789947634; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {960, 2628}}"; + sepNavSelRange = "{489, 558}"; + sepNavVisRange = "{0, 1680}"; + sepNavWindowFrame = "{{12, 53}, {1007, 825}}"; + }; + }; + 245463B80991757100464AD3 /* TapeHack2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 1656}}"; + sepNavSelRange = "{2455, 452}"; + sepNavVisRange = "{2317, 651}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {885, 5544}}"; + sepNavSelRange = "{4178, 1619}"; + sepNavVisRange = "{4557, 1935}"; + sepNavWindowFrame = "{{14, 43}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..294ddbfb5 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1502 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C05A72F15A6980045AF83 + 1CA23ED40692098700951B8B + 8B2C05A82F15A6980045AF83 + 8B0237581D42B1C400E1E8C8 + 8B2C05A92F15A6980045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789948056.09399605 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj + + WindowString + 464 246 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..1cb87c886 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* TapeHack2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */; }; + 245463B90991757100464AD3 /* TapeHack2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* TapeHack2.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* TapeHack2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8BF6DEEB2F16B82E00F09130 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEDF2F16B82E00F09130 /* vstfxstore.h */; }; + 8BF6DEEC2F16B82E00F09130 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEE02F16B82E00F09130 /* aeffect.h */; }; + 8BF6DEED2F16B82E00F09130 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEE12F16B82E00F09130 /* aeffectx.h */; }; + 8BF6DEEE2F16B82E00F09130 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEE52F16B82E00F09130 /* audioeffectx.h */; }; + 8BF6DEEF2F16B82E00F09130 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DEE62F16B82E00F09130 /* audioeffect.cpp */; }; + 8BF6DEF02F16B82E00F09130 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DEE72F16B82E00F09130 /* audioeffectx.cpp */; }; + 8BF6DEF12F16B82E00F09130 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEE82F16B82E00F09130 /* aeffeditor.h */; }; + 8BF6DEF22F16B82E00F09130 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BF6DEE92F16B82E00F09130 /* vstplugmain.cpp */; }; + 8BF6DEF32F16B82E00F09130 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BF6DEEA2F16B82E00F09130 /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* TapeHack2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TapeHack2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TapeHack2.cpp; path = source/TapeHack2.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* TapeHack2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TapeHack2.h; path = source/TapeHack2.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TapeHack2Proc.cpp; path = source/TapeHack2Proc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8BF6DEDF2F16B82E00F09130 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8BF6DEE02F16B82E00F09130 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8BF6DEE12F16B82E00F09130 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8BF6DEE52F16B82E00F09130 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8BF6DEE62F16B82E00F09130 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8BF6DEE72F16B82E00F09130 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8BF6DEE82F16B82E00F09130 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8BF6DEE92F16B82E00F09130 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8BF6DEEA2F16B82E00F09130 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BF6DEDC2F16B82E00F09130 /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */, + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */, + 245463B80991757100464AD3 /* TapeHack2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* TapeHack2.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8BF6DEDC2F16B82E00F09130 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8BF6DEDD2F16B82E00F09130 /* pluginterfaces */, + 8BF6DEE22F16B82E00F09130 /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8BF6DEDD2F16B82E00F09130 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8BF6DEDE2F16B82E00F09130 /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8BF6DEDE2F16B82E00F09130 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8BF6DEDF2F16B82E00F09130 /* vstfxstore.h */, + 8BF6DEE02F16B82E00F09130 /* aeffect.h */, + 8BF6DEE12F16B82E00F09130 /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8BF6DEE22F16B82E00F09130 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8BF6DEE32F16B82E00F09130 /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8BF6DEE32F16B82E00F09130 /* source */ = { + isa = PBXGroup; + children = ( + 8BF6DEE42F16B82E00F09130 /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8BF6DEE42F16B82E00F09130 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8BF6DEE52F16B82E00F09130 /* audioeffectx.h */, + 8BF6DEE62F16B82E00F09130 /* audioeffect.cpp */, + 8BF6DEE72F16B82E00F09130 /* audioeffectx.cpp */, + 8BF6DEE82F16B82E00F09130 /* aeffeditor.h */, + 8BF6DEE92F16B82E00F09130 /* vstplugmain.cpp */, + 8BF6DEEA2F16B82E00F09130 /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DEF12F16B82E00F09130 /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* TapeHack2.h in Headers */, + 8BF6DEF32F16B82E00F09130 /* audioeffect.h in Headers */, + 8BF6DEEC2F16B82E00F09130 /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8BF6DEEE2F16B82E00F09130 /* audioeffectx.h in Headers */, + 8BF6DEEB2F16B82E00F09130 /* vstfxstore.h in Headers */, + 8BF6DEED2F16B82E00F09130 /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "TapeHack2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TapeHack2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* TapeHack2.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "TapeHack2" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + en, + fr, + de, + ja, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BF6DEF02F16B82E00F09130 /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* TapeHack2.cpp in Sources */, + 8BF6DEEF2F16B82E00F09130 /* audioeffect.cpp in Sources */, + 8BF6DEF22F16B82E00F09130 /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* TapeHack2Proc.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.TapeHack2; + PRODUCT_NAME = TapeHack2; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = ""; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.TapeHack2; + PRODUCT_NAME = TapeHack2; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..dde21832e Binary files /dev/null and b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme new file mode 100644 index 000000000..f04be95b2 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcshareddata/xcschemes/TapeHack2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..f3ada99f8 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + TapeHack2.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/TapeHack2/mac/Info.plist b/plugins/MacSignedVST/TapeHack2/mac/Info.plist new file mode 100755 index 000000000..4e2aeefe3 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + TapeHack2 + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/TapeHack2/mac/PkgInfo b/plugins/MacSignedVST/TapeHack2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/TapeHack2/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/TapeHack2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacSignedVST/TapeHack2/source/TapeHack2.cpp b/plugins/MacSignedVST/TapeHack2/source/TapeHack2.cpp new file mode 100755 index 000000000..142d322db --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/source/TapeHack2.cpp @@ -0,0 +1,145 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new TapeHack2(audioMaster);} + +TapeHack2::TapeHack2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.1; + B = 1.0; + C = 1.0; + + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +TapeHack2::~TapeHack2() {} +VstInt32 TapeHack2::getVendorVersion () {return 1000;} +void TapeHack2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void TapeHack2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 TapeHack2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 TapeHack2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void TapeHack2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float TapeHack2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void TapeHack2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void TapeHack2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void TapeHack2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 TapeHack2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool TapeHack2::getEffectName(char* name) { + vst_strncpy(name, "TapeHack2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory TapeHack2::getPlugCategory() {return kPlugCategEffect;} + +bool TapeHack2::getProductString(char* text) { + vst_strncpy (text, "airwindows TapeHack2", kVstMaxProductStrLen); return true; +} + +bool TapeHack2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/TapeHack2/source/TapeHack2.h b/plugins/MacSignedVST/TapeHack2/source/TapeHack2.h new file mode 100755 index 000000000..cc6da00b1 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/source/TapeHack2.h @@ -0,0 +1,91 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#define __TapeHack2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kNumParameters = 3 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'tha2'; //Change this to what the AU identity is! + +class TapeHack2 : + public AudioEffectX +{ +public: + TapeHack2(audioMasterCallback audioMaster); + ~TapeHack2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + + double avg32L[33]; + double avg32R[33]; + double avg16L[17]; + double avg16R[17]; + double avg8L[9]; + double avg8R[9]; + double avg4L[5]; + double avg4R[5]; + double avg2L[3]; + double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; + int avgPos; + //preTapeHack + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/MacSignedVST/TapeHack2/source/TapeHack2Proc.cpp b/plugins/MacSignedVST/TapeHack2/source/TapeHack2Proc.cpp new file mode 100755 index 000000000..492cb8a46 --- /dev/null +++ b/plugins/MacSignedVST/TapeHack2/source/TapeHack2Proc.cpp @@ -0,0 +1,305 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +void TapeHack2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void TapeHack2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser index 9903d5572..7facfa78b 100755 --- a/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.pbxuser @@ -49,11 +49,11 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787147834; - PBXWorkspaceStateSaveDate = 787147834; + PBXPerProjectTemplateStateSaveDate = 789946513; + PBXWorkspaceStateSaveDate = 789946513; }; perUserProjectItems = { - 8B5AB5372EE9ECD700A3F512 /* PBXTextBookmark */ = 8B5AB5372EE9ECD700A3F512 /* PBXTextBookmark */; + 8B2C05612F15A4270045AF83 /* PBXTextBookmark */ = 8B2C05612F15A4270045AF83 /* PBXTextBookmark */; 8B6012832EEAEC76003E53A7 /* PBXTextBookmark */ = 8B6012832EEAEC76003E53A7 /* PBXTextBookmark */; 8B7D6CC22EBCE48F000B38FA /* PBXTextBookmark */ = 8B7D6CC22EBCE48F000B38FA /* PBXTextBookmark */; 8B7D6CC32EBCE48F000B38FA /* PBXTextBookmark */ = 8B7D6CC32EBCE48F000B38FA /* PBXTextBookmark */; @@ -64,18 +64,18 @@ }; 2407DEB6089929BA00EB68BF /* ConsoleHChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {993, 7812}}"; - sepNavSelRange = "{1283, 0}"; - sepNavVisRange = "{903, 843}"; - sepNavWindowFrame = "{{746, 47}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {993, 8028}}"; + sepNavSelRange = "{2382, 0}"; + sepNavVisRange = "{1746, 1706}"; + sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 245463B80991757100464AD3 /* ConsoleHChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3924}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 4014}}"; sepNavSelRange = "{885, 0}"; - sepNavVisRange = "{833, 78}"; - sepNavWindowFrame = "{{722, 47}, {895, 831}}"; + sepNavVisRange = "{864, 47}"; + sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { @@ -88,9 +88,9 @@ }; 24D8286F09A914000093AEF8 /* ConsoleHChannelProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1182, 22410}}"; - sepNavSelRange = "{33172, 0}"; - sepNavVisRange = "{31385, 1792}"; + sepNavIntBoundsRect = "{{0, 0}, {1074, 23544}}"; + sepNavSelRange = "{45647, 0}"; + sepNavVisRange = "{43358, 1899}"; sepNavWindowFrame = "{{543, 47}, {895, 831}}"; }; }; @@ -108,15 +108,15 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8B5AB5372EE9ECD700A3F512 /* PBXTextBookmark */ = { + 8B2C05612F15A4270045AF83 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 245463B80991757100464AD3 /* ConsoleHChannel.h */; name = "ConsoleHChannel.h: 47"; rLen = 0; rLoc = 885; rType = 0; - vrLen = 78; - vrLoc = 833; + vrLen = 47; + vrLoc = 864; }; 8B6012832EEAEC76003E53A7 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -133,7 +133,7 @@ fRef = 2407DEB6089929BA00EB68BF /* ConsoleHChannel.cpp */; name = "ConsoleHChannel.cpp: 369"; rLen = 0; - rLoc = 15140; + rLoc = 15273; rType = 0; vrLen = 62; vrLoc = 697; diff --git a/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 index e57c81051..0a8f0770f 100755 --- a/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -323,7 +323,7 @@ 185 RubberWindowFrame - 629 255 810 487 0 0 1440 878 + 632 89 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -351,12 +351,12 @@ _historyCapacity 0 bookmark - 8B6012832EEAEC76003E53A7 + 8B2C05612F15A4270045AF83 history 8B7D6CC22EBCE48F000B38FA 8B7D6CC32EBCE48F000B38FA - 8B5AB5372EE9ECD700A3F512 + 8B6012832EEAEC76003E53A7 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 629 255 810 487 0 0 1440 878 + 632 89 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -395,9 +395,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} + {{10, 27}, {603, 328}} RubberWindowFrame - 629 255 810 487 0 0 1440 878 + 632 89 810 487 0 0 1440 878 Module XCDetailModule @@ -479,11 +479,11 @@ TableOfContents - 8B6012842EEAEC76003E53A7 + 8B2C04D82F15A0970045AF83 1CA23ED40692098700951B8B - 8B6012852EEAEC76003E53A7 + 8B2C04D92F15A0970045AF83 8B0237581D42B1C400E1E8C8 - 8B6012862EEAEC76003E53A7 + 8B2C04DA2F15A0970045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 787147894.47989905 + 789947431.87176204 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,11 @@ 5 WindowOrderList - 8B6012872EEAEC76003E53A7 + 8B2C05622F15A4270045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ConsoleHChannel/ConsoleHChannel.xcodeproj WindowString - 629 255 810 487 0 0 1440 878 + 632 89 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.cpp b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.cpp index 9ee7ba52c..95c566edc 100755 --- a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.cpp +++ b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.cpp @@ -93,14 +93,13 @@ ConsoleHChannel::ConsoleHChannel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.h b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.h index 7a20001ea..6d701a872 100755 --- a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.h +++ b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannel.h @@ -192,12 +192,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp index f2b5d4449..2139dea75 100755 --- a/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp +++ b/plugins/MacVST/ConsoleHChannel/source/ConsoleHChannelProc.cpp @@ -206,15 +206,16 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -266,6 +267,38 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -818,15 +851,16 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -878,6 +912,38 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser index 6ec256e2d..12232bc58 100755 --- a/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.pbxuser @@ -49,11 +49,11 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 787147927; - PBXWorkspaceStateSaveDate = 787147927; + PBXPerProjectTemplateStateSaveDate = 789946534; + PBXWorkspaceStateSaveDate = 789946534; }; perUserProjectItems = { - 8B5AB6712EEA346800A3F512 /* PBXTextBookmark */ = 8B5AB6712EEA346800A3F512 /* PBXTextBookmark */; + 8B2C055A2F15A3C70045AF83 /* PBXTextBookmark */ = 8B2C055A2F15A3C70045AF83 /* PBXTextBookmark */; 8B6012A52EEAECD3003E53A7 /* PBXTextBookmark */ = 8B6012A52EEAECD3003E53A7 /* PBXTextBookmark */; }; sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; @@ -62,17 +62,17 @@ }; 2407DEB6089929BA00EB68BF /* ConsoleHPre.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {840, 7038}}"; + sepNavIntBoundsRect = "{{0, 0}, {903, 7038}}"; sepNavSelRange = "{1310, 0}"; - sepNavVisRange = "{2578, 201}"; + sepNavVisRange = "{2500, 122}"; sepNavWindowFrame = "{{24, 42}, {895, 831}}"; }; }; 245463B80991757100464AD3 /* ConsoleHPre.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1047, 4104}}"; - sepNavSelRange = "{3899, 339}"; - sepNavVisRange = "{3505, 852}"; + sepNavIntBoundsRect = "{{0, 0}, {835, 4608}}"; + sepNavSelRange = "{5155, 0}"; + sepNavVisRange = "{4655, 598}"; sepNavWindowFrame = "{{5, 49}, {882, 829}}"; }; }; @@ -86,10 +86,10 @@ }; 24D8286F09A914000093AEF8 /* ConsoleHPreProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1029, 22230}}"; - sepNavSelRange = "{33118, 0}"; - sepNavVisRange = "{2125, 1898}"; - sepNavWindowFrame = "{{7, 38}, {871, 840}}"; + sepNavIntBoundsRect = "{{0, 0}, {1182, 23400}}"; + sepNavSelRange = "{45556, 0}"; + sepNavVisRange = "{61727, 1111}"; + sepNavWindowFrame = "{{569, 38}, {871, 840}}"; }; }; 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { @@ -106,15 +106,15 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8B5AB6712EEA346800A3F512 /* PBXTextBookmark */ = { + 8B2C055A2F15A3C70045AF83 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 2407DEB6089929BA00EB68BF /* ConsoleHPre.cpp */; name = "ConsoleHPre.cpp: 68"; rLen = 0; rLoc = 1310; rType = 0; - vrLen = 231; - vrLoc = 2578; + vrLen = 122; + vrLoc = 2500; }; 8B6012A52EEAECD3003E53A7 /* PBXTextBookmark */ = { isa = PBXTextBookmark; diff --git a/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 index 304174b1f..3d67c42fc 100755 --- a/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj/christopherjohnson.perspectivev3 @@ -323,7 +323,7 @@ 185 RubberWindowFrame - 27 349 810 487 0 0 1440 878 + 631 160 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -351,10 +351,10 @@ _historyCapacity 0 bookmark - 8B6012A52EEAECD3003E53A7 + 8B2C055A2F15A3C70045AF83 history - 8B5AB6712EEA346800A3F512 + 8B6012A52EEAECD3003E53A7 SplitCount @@ -368,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 27 349 810 487 0 0 1440 878 + 631 160 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -393,9 +393,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} + {{10, 27}, {603, 328}} RubberWindowFrame - 27 349 810 487 0 0 1440 878 + 631 160 810 487 0 0 1440 878 Module XCDetailModule @@ -477,11 +477,11 @@ TableOfContents - 8B6012A62EEAECD3003E53A7 + 8B2C050A2F15A0B30045AF83 1CA23ED40692098700951B8B - 8B6012A72EEAECD3003E53A7 + 8B2C050B2F15A0B30045AF83 8B0237581D42B1C400E1E8C8 - 8B6012A82EEAECD3003E53A7 + 8B2C050C2F15A0B30045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -634,7 +634,7 @@ StatusbarIsVisible TimeStamp - 787147987.95249295 + 789947335.52010906 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -651,11 +651,11 @@ 5 WindowOrderList - 8B6012A92EEAECD3003E53A7 + 8B2C055B2F15A3C70045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ConsoleHPre/ConsoleHPre.xcodeproj WindowString - 27 349 810 487 0 0 1440 878 + 631 160 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.cpp b/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.cpp index c500b6c68..ae191e177 100755 --- a/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.cpp +++ b/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.cpp @@ -93,14 +93,13 @@ AudioEffectX(audioMaster, kNumPrograms, kNumParameters) dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.h b/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.h index f242a79cb..bfa2fd1af 100755 --- a/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.h +++ b/plugins/MacVST/ConsoleHPre/source/ConsoleHPre.h @@ -197,12 +197,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacVST/ConsoleHPre/source/ConsoleHPreProc.cpp b/plugins/MacVST/ConsoleHPre/source/ConsoleHPreProc.cpp index 153772a74..8f730a2e3 100755 --- a/plugins/MacVST/ConsoleHPre/source/ConsoleHPreProc.cpp +++ b/plugins/MacVST/ConsoleHPre/source/ConsoleHPreProc.cpp @@ -205,15 +205,16 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -265,6 +266,38 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -565,7 +598,7 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam iirHPositionR[count] = 0.0; iirHAngleR[count] = 0.0; } - } //blank out highpass if just switched off + } //blank out highpass if jut switched off } const double lFreq = (lFreqA*temp)+(lFreqB*(1.0-temp)); if (lFreq < 1.0) { @@ -816,15 +849,16 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -876,6 +910,38 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser index 554699e2a..6eddbfa93 100755 --- a/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.pbxuser @@ -49,15 +49,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 788657052; - PBXWorkspaceStateSaveDate = 788657052; - }; - perUserProjectItems = { - 8B5AB6382EEA332A00A3F512 /* PBXTextBookmark */ = 8B5AB6382EEA332A00A3F512 /* PBXTextBookmark */; - 8BAE90962F01EBB700A311FE /* PBXTextBookmark */ = 8BAE90962F01EBB700A311FE /* PBXTextBookmark */; - 8BAE90ED2F01F3A000A311FE /* PBXBookmark */ = 8BAE90ED2F01F3A000A311FE /* PBXBookmark */; - 8BAE90F82F01F3BC00A311FE /* PBXTextBookmark */ = 8BAE90F82F01F3BC00A311FE /* PBXTextBookmark */; - 8BAE90FE2F01F3BC00A311FE /* PBXTextBookmark */ = 8BAE90FE2F01F3BC00A311FE /* PBXTextBookmark */; + PBXPerProjectTemplateStateSaveDate = 789946520; + PBXWorkspaceStateSaveDate = 789946520; }; sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; userBuildSettings = { @@ -65,18 +58,18 @@ }; 2407DEB6089929BA00EB68BF /* ConsoleX2Channel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1002, 5814}}"; - sepNavSelRange = "{9004, 0}"; - sepNavVisRange = "{7336, 2733}"; + sepNavIntBoundsRect = "{{0, 0}, {957, 6462}}"; + sepNavSelRange = "{2274, 0}"; + sepNavVisRange = "{1517, 1532}"; sepNavWindowFrame = "{{210, 47}, {895, 831}}"; }; }; 245463B80991757100464AD3 /* ConsoleX2Channel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1101, 3402}}"; - sepNavSelRange = "{3373, 0}"; - sepNavVisRange = "{3532, 724}"; - sepNavWindowFrame = "{{601, 47}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {1047, 3960}}"; + sepNavSelRange = "{4688, 0}"; + sepNavVisRange = "{4023, 695}"; + sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { @@ -89,10 +82,10 @@ }; 24D8286F09A914000093AEF8 /* ConsoleX2ChannelProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 19332}}"; - sepNavSelRange = "{22675, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{3, 46}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {1182, 20466}}"; + sepNavSelRange = "{39185, 0}"; + sepNavVisRange = "{47664, 1982}"; + sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { @@ -109,50 +102,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8B5AB6382EEA332A00A3F512 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2407DEB6089929BA00EB68BF /* ConsoleX2Channel.cpp */; - name = "ConsoleX2Channel.cpp: 261"; - rLen = 0; - rLoc = 9004; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BAE90962F01EBB700A311FE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 24D8286F09A914000093AEF8 /* ConsoleX2ChannelProc.cpp */; - name = "ConsoleX2ChannelProc.cpp: 495"; - rLen = 0; - rLoc = 22675; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BAE90ED2F01F3A000A311FE /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 24D8286F09A914000093AEF8 /* ConsoleX2ChannelProc.cpp */; - }; - 8BAE90F82F01F3BC00A311FE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 24D8286F09A914000093AEF8 /* ConsoleX2ChannelProc.cpp */; - name = "ConsoleX2ChannelProc.cpp: 495"; - rLen = 0; - rLoc = 22675; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BAE90FE2F01F3BC00A311FE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 24D8286F09A914000093AEF8 /* ConsoleX2ChannelProc.cpp */; - name = "ConsoleX2ChannelProc.cpp: 495"; - rLen = 0; - rLoc = 22675; - rType = 0; - vrLen = 1933; - vrLoc = 19554; - }; 8D01CCC60486CAD60068D4B7 /* ConsoleX2Channel */ = { activeExec = 0; }; diff --git a/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 index 75e32d634..68fd067b7 100755 --- a/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj/christopherjohnson.perspectivev3 @@ -222,48 +222,7 @@ OpenEditors - - - Content - - PBXProjectModuleGUID - 8BAE90FC2F01F3BC00A311FE - PBXProjectModuleLabel - ConsoleX2ChannelProc.cpp - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 8BAE90FD2F01F3BC00A311FE - PBXProjectModuleLabel - ConsoleX2ChannelProc.cpp - _historyCapacity - 0 - bookmark - 8BAE90FE2F01F3BC00A311FE - history - - 8BAE90ED2F01F3A000A311FE - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {895, 734}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 3 102 895 775 0 0 1440 878 - - - + PerspectiveWidths 810 @@ -364,7 +323,7 @@ 185 RubberWindowFrame - 518 235 810 487 0 0 1440 878 + 631 268 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -380,24 +339,13 @@ PBXProjectModuleGUID 8B0237581D42B1C400E1E8C8 PBXProjectModuleLabel - ConsoleX2ChannelProc.cpp + <No Editor> PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID 8B0237591D42B1C400E1E8C8 - PBXProjectModuleLabel - ConsoleX2ChannelProc.cpp - _historyCapacity - 0 - bookmark - 8BAE90F82F01F3BC00A311FE - history - - 8B5AB6382EEA332A00A3F512 - 8BAE90962F01EBB700A311FE - SplitCount 1 @@ -412,7 +360,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 518 235 810 487 0 0 1440 878 + 631 268 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -437,7 +385,7 @@ Frame {{10, 27}, {603, 414}} RubberWindowFrame - 518 235 810 487 0 0 1440 878 + 631 268 810 487 0 0 1440 878 Module XCDetailModule @@ -519,11 +467,11 @@ TableOfContents - 8BAE90F92F01F3BC00A311FE + 8B2C04F12F15A0A60045AF83 1CA23ED40692098700951B8B - 8BAE90FA2F01F3BC00A311FE + 8B2C04F22F15A0A60045AF83 8B0237581D42B1C400E1E8C8 - 8BAE90FB2F01F3BC00A311FE + 8B2C04F32F15A0A60045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -676,7 +624,7 @@ StatusbarIsVisible TimeStamp - 788657084.68492305 + 789947242.18377399 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -693,11 +641,11 @@ 5 WindowOrderList + 8B2C05502F15A36A0045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ConsoleX2Channel/ConsoleX2Channel.xcodeproj - 8BAE90FC2F01F3BC00A311FE WindowString - 518 235 810 487 0 0 1440 878 + 631 268 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp index 2129cd918..9eb80b69d 100755 --- a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp +++ b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.cpp @@ -82,14 +82,13 @@ ConsoleX2Channel::ConsoleX2Channel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.h b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.h index 2b57ebb85..3bf404761 100755 --- a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.h +++ b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2Channel.h @@ -170,12 +170,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp index 38a92a8f1..9c6da7005 100755 --- a/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp +++ b/plugins/MacVST/ConsoleX2Channel/source/ConsoleX2ChannelProc.cpp @@ -215,15 +215,16 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -275,6 +276,38 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -742,15 +775,16 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -802,6 +836,38 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser index 8ca15e790..88dda76ba 100755 --- a/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 788656896; - PBXWorkspaceStateSaveDate = 788656896; + PBXPerProjectTemplateStateSaveDate = 789946547; + PBXWorkspaceStateSaveDate = 789946547; }; perUserProjectItems = { - 8BAE90B92F01EC1300A311FE /* PBXTextBookmark */ = 8BAE90B92F01EC1300A311FE /* PBXTextBookmark */; + 8B2C05462F15A31C0045AF83 /* PBXTextBookmark */ = 8B2C05462F15A31C0045AF83 /* PBXTextBookmark */; 8BAE90BA2F01EC1300A311FE /* PBXTextBookmark */ = 8BAE90BA2F01EC1300A311FE /* PBXTextBookmark */; - 8BAE90BC2F01EC1300A311FE /* PBXTextBookmark */ = 8BAE90BC2F01EC1300A311FE /* PBXTextBookmark */; 8BAE90DA2F01F39700A311FE /* PBXTextBookmark */ = 8BAE90DA2F01F39700A311FE /* PBXTextBookmark */; }; sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; @@ -64,17 +63,17 @@ }; 2407DEB6089929BA00EB68BF /* ConsoleX2Pre.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {633, 6012}}"; - sepNavSelRange = "{2267, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {966, 6336}}"; + sepNavSelRange = "{2306, 0}"; + sepNavVisRange = "{1670, 1771}"; sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 245463B80991757100464AD3 /* ConsoleX2Pre.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3564}}"; - sepNavSelRange = "{2892, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1002, 4176}}"; + sepNavSelRange = "{4732, 0}"; + sepNavVisRange = "{4067, 701}"; sepNavWindowFrame = "{{669, 38}, {768, 840}}"; }; }; @@ -88,8 +87,8 @@ }; 24D8286F09A914000093AEF8 /* ConsoleX2PreProc.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {912, 19332}}"; - sepNavSelRange = "{20846, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 20538}}"; + sepNavSelRange = "{22371, 0}"; sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{524, 47}, {895, 831}}"; }; @@ -108,12 +107,12 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BAE90B92F01EC1300A311FE /* PBXTextBookmark */ = { + 8B2C05462F15A31C0045AF83 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 245463B80991757100464AD3 /* ConsoleX2Pre.h */; - name = "ConsoleX2Pre.h: 85"; + fRef = 24D8286F09A914000093AEF8 /* ConsoleX2PreProc.cpp */; + name = "ConsoleX2PreProc.cpp: 490"; rLen = 0; - rLoc = 2892; + rLoc = 22371; rType = 0; vrLen = 0; vrLoc = 0; @@ -123,17 +122,7 @@ fRef = 2407DEB6089929BA00EB68BF /* ConsoleX2Pre.cpp */; name = "ConsoleX2Pre.cpp: 99"; rLen = 0; - rLoc = 2267; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BAE90BC2F01EC1300A311FE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 24D8286F09A914000093AEF8 /* ConsoleX2PreProc.cpp */; - name = "ConsoleX2PreProc.cpp: 457"; - rLen = 0; - rLoc = 20846; + rLoc = 2399; rType = 0; vrLen = 0; vrLoc = 0; @@ -143,7 +132,7 @@ fRef = 24D8286F09A914000093AEF8 /* ConsoleX2PreProc.cpp */; name = "ConsoleX2PreProc.cpp: 457"; rLen = 0; - rLoc = 20846; + rLoc = 22371; rType = 0; vrLen = 0; vrLoc = 0; diff --git a/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 index 7fd3e9cc4..054ca169d 100755 --- a/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj/christopherjohnson.perspectivev3 @@ -323,7 +323,7 @@ 185 RubberWindowFrame - 630 298 810 487 0 0 1440 878 + 627 391 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -351,12 +351,11 @@ _historyCapacity 0 bookmark - 8BAE90DA2F01F39700A311FE + 8B2C05462F15A31C0045AF83 history - 8BAE90B92F01EC1300A311FE 8BAE90BA2F01EC1300A311FE - 8BAE90BC2F01EC1300A311FE + 8BAE90DA2F01F39700A311FE SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 13}} + {{0, 0}, {603, 0}} RubberWindowFrame - 630 298 810 487 0 0 1440 878 + 627 391 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 0pt Proportion - 428pt + 441pt Tabs @@ -395,9 +394,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 401}} + {{10, 27}, {603, 414}} RubberWindowFrame - 630 298 810 487 0 0 1440 878 + 627 391 810 487 0 0 1440 878 Module XCDetailModule @@ -479,11 +478,11 @@ TableOfContents - 8BAE90DB2F01F39700A311FE + 8B2C05472F15A31C0045AF83 1CA23ED40692098700951B8B - 8BAE90DC2F01F39700A311FE + 8B2C05482F15A31C0045AF83 8B0237581D42B1C400E1E8C8 - 8BAE90DD2F01F39700A311FE + 8B2C05492F15A31C0045AF83 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 788657047.75144994 + 789947164.48756504 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +652,11 @@ 5 WindowOrderList - 8BAE90DE2F01F39700A311FE + 8B2C054A2F15A31C0045AF83 /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/ConsoleX2Pre/ConsoleX2Pre.xcodeproj WindowString - 630 298 810 487 0 0 1440 878 + 627 391 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp index 37598510d..be24fe98d 100755 --- a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp +++ b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.cpp @@ -82,15 +82,14 @@ ConsoleX2Pre::ConsoleX2Pre(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; - //preTapeHack + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack lFreqA = 1.0; lFreqB = 1.0; hFreqA = 0.0; hFreqB = 0.0; diff --git a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.h b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.h index 5ea8485af..5ae8da423 100755 --- a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.h +++ b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2Pre.h @@ -175,12 +175,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp index 2366e1835..5775e39f3 100755 --- a/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp +++ b/plugins/MacVST/ConsoleX2Pre/source/ConsoleX2PreProc.cpp @@ -214,15 +214,16 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -274,6 +275,38 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -746,15 +779,16 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -806,6 +840,38 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..94b2d1000 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* SoftClock3 */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789925293; + PBXWorkspaceStateSaveDate = 789925293; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4716}}"; + sepNavSelRange = "{1337, 0}"; + sepNavVisRange = "{1750, 1517}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* SoftClock3.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 1476}}"; + sepNavSelRange = "{2513, 0}"; + sepNavVisRange = "{956, 1787}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1119, 5976}}"; + sepNavSelRange = "{14321, 0}"; + sepNavVisRange = "{13562, 1344}"; + sepNavWindowFrame = "{{6, 40}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..386f568f6 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C03462F15546E0045AF83 + 1CA23ED40692098700951B8B + 8B2C03472F15546E0045AF83 + 8B0237581D42B1C400E1E8C8 + 8B2C03482F15546E0045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789927022.09251297 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B2C03492F15546E0045AF83 + /Users/christopherjohnson/Desktop/SoftClock3/SoftClock3.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj new file mode 100755 index 000000000..0d77531cf --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* SoftClock3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */; }; + 245463B90991757100464AD3 /* SoftClock3.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* SoftClock3.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* SoftClock3Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* SoftClock3.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftClock3.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoftClock3.cpp; path = source/SoftClock3.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* SoftClock3.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SoftClock3.h; path = source/SoftClock3.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoftClock3Proc.cpp; path = source/SoftClock3Proc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* SoftClock3.cpp */, + 24D8286F09A914000093AEF8 /* SoftClock3Proc.cpp */, + 245463B80991757100464AD3 /* SoftClock3.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* SoftClock3.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* SoftClock3.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "SoftClock3" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SoftClock3; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* SoftClock3.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "SoftClock3" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* SoftClock3 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2407DEB9089929BA00EB68BF /* SoftClock3.cpp in Sources */, + 24D8287009A914000093AEF8 /* SoftClock3Proc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = SoftClock3; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "SoftClock3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..5c38f9460 Binary files /dev/null and b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/SoftClock3/SoftClock3.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/SoftClock3/mac/Info.plist b/plugins/MacVST/SoftClock3/mac/Info.plist new file mode 100755 index 000000000..c5e4b680f --- /dev/null +++ b/plugins/MacVST/SoftClock3/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + SoftClock3 + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.SoftClock3 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/SoftClock3/mac/PkgInfo b/plugins/MacVST/SoftClock3/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/SoftClock3/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/SoftClock3/mac/xcode_vst_prefix.h b/plugins/MacVST/SoftClock3/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/SoftClock3/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacVST/SoftClock3/source/SoftClock3.cpp b/plugins/MacVST/SoftClock3/source/SoftClock3.cpp new file mode 100755 index 000000000..695c93b43 --- /dev/null +++ b/plugins/MacVST/SoftClock3/source/SoftClock3.cpp @@ -0,0 +1,234 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new SoftClock3(audioMaster);} + +SoftClock3::SoftClock3(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.2; + B = 0.2; + C = 0.2; + D = 0.0; + E = 0.5; + + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +SoftClock3::~SoftClock3() {} +VstInt32 SoftClock3::getVendorVersion () {return 1000;} +void SoftClock3::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void SoftClock3::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 SoftClock3::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + chunkData[3] = D; + chunkData[4] = E; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 SoftClock3::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + D = pinParameter(chunkData[3]); + E = pinParameter(chunkData[4]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void SoftClock3::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + case kParamD: D = value; break; + case kParamE: E = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float SoftClock3::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + case kParamD: return D; break; + case kParamE: return E; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void SoftClock3::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Tempo", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Count", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Tuple", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "Triplet", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "Flavor", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void SoftClock3::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((int)(A*200.99)+40, text, kVstMaxParamStrLen); break; + case kParamB: int2string ((int)(B*32.99), text, kVstMaxParamStrLen); break; + case kParamC: int2string ((int)(C*16.99), text, kVstMaxParamStrLen); break; + case kParamD: int2string ((int)(D*1.99), text, kVstMaxParamStrLen); break; + case kParamE: float2string (E, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void SoftClock3::getParameterLabel(VstInt32 index, char *text) { + int beatCode = (int)(B*32.99); + switch (index) { + case kParamA: vst_strncpy (text, "bpm", kVstMaxParamStrLen); break; + case kParamB: + switch (beatCode){ + case 0: vst_strncpy (text, "0", kVstMaxParamStrLen); break; + case 1: vst_strncpy (text, "1", kVstMaxParamStrLen); break; + case 2: vst_strncpy (text, "2", kVstMaxParamStrLen); break; + case 3: vst_strncpy (text, "3", kVstMaxParamStrLen); break; + case 4: vst_strncpy (text, "4", kVstMaxParamStrLen); break; + case 5: vst_strncpy (text, "5", kVstMaxParamStrLen); break; + case 6: vst_strncpy (text, "6", kVstMaxParamStrLen); break; + case 7: vst_strncpy (text, "7", kVstMaxParamStrLen); break; + case 8: vst_strncpy (text, "8", kVstMaxParamStrLen); break; + case 9: vst_strncpy (text, "9", kVstMaxParamStrLen); break; + case 10:vst_strncpy (text, "10", kVstMaxParamStrLen); break; + case 11:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 12:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 13:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 14:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 15:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 16:vst_strncpy (text, "16", kVstMaxParamStrLen); break; + case 17:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 18:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 19:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 20:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 21:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 22:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 23:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 24:vst_strncpy (text, "24", kVstMaxParamStrLen); break; + case 25:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 26:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 27:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 28:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 29:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 30:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 31:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 32:vst_strncpy (text, "32", kVstMaxParamStrLen); break; + default: break; + } + break; + case kParamC: vst_strncpy (text, "th note", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 SoftClock3::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool SoftClock3::getEffectName(char* name) { + vst_strncpy(name, "SoftClock3", kVstMaxProductStrLen); return true; +} + +VstPlugCategory SoftClock3::getPlugCategory() {return kPlugCategEffect;} + +bool SoftClock3::getProductString(char* text) { + vst_strncpy (text, "airwindows SoftClock3", kVstMaxProductStrLen); return true; +} + +bool SoftClock3::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/SoftClock3/source/SoftClock3.h b/plugins/MacVST/SoftClock3/source/SoftClock3.h new file mode 100755 index 000000000..a5fee3f39 --- /dev/null +++ b/plugins/MacVST/SoftClock3/source/SoftClock3.h @@ -0,0 +1,81 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#define __SoftClock3_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kParamD =3, + kParamE =4, + kNumParameters = 5 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'sfc3'; //Change this to what the AU identity is! + +class SoftClock3 : + public AudioEffectX +{ +public: + SoftClock3(audioMasterCallback audioMaster); + ~SoftClock3(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + float D; + float E; + + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/MacVST/SoftClock3/source/SoftClock3Proc.cpp b/plugins/MacVST/SoftClock3/source/SoftClock3Proc.cpp new file mode 100755 index 000000000..4efb92972 --- /dev/null +++ b/plugins/MacVST/SoftClock3/source/SoftClock3Proc.cpp @@ -0,0 +1,322 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +void SoftClock3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void SoftClock3::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..b92d17066 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* TapeHack2 */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 789947634; + PBXWorkspaceStateSaveDate = 789947634; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {960, 2628}}"; + sepNavSelRange = "{489, 558}"; + sepNavVisRange = "{0, 1680}"; + sepNavWindowFrame = "{{12, 53}, {1007, 825}}"; + }; + }; + 245463B80991757100464AD3 /* TapeHack2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 1656}}"; + sepNavSelRange = "{2455, 452}"; + sepNavVisRange = "{2317, 651}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {885, 5544}}"; + sepNavSelRange = "{4178, 1619}"; + sepNavVisRange = "{4557, 1935}"; + sepNavWindowFrame = "{{14, 43}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..294ddbfb5 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1502 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 464 246 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B2C05A72F15A6980045AF83 + 1CA23ED40692098700951B8B + 8B2C05A82F15A6980045AF83 + 8B0237581D42B1C400E1E8C8 + 8B2C05A92F15A6980045AF83 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 789948056.09399605 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj + + WindowString + 464 246 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..1fb9f3b72 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* TapeHack2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */; }; + 245463B90991757100464AD3 /* TapeHack2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* TapeHack2.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* TapeHack2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* TapeHack2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TapeHack2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TapeHack2.cpp; path = source/TapeHack2.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* TapeHack2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TapeHack2.h; path = source/TapeHack2.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TapeHack2Proc.cpp; path = source/TapeHack2Proc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* TapeHack2.cpp */, + 24D8286F09A914000093AEF8 /* TapeHack2Proc.cpp */, + 245463B80991757100464AD3 /* TapeHack2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* TapeHack2.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* TapeHack2.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "TapeHack2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TapeHack2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* TapeHack2.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "TapeHack2" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* TapeHack2 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2407DEB9089929BA00EB68BF /* TapeHack2.cpp in Sources */, + 24D8287009A914000093AEF8 /* TapeHack2Proc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = TapeHack2; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "TapeHack2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..5c38f9460 Binary files /dev/null and b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 000000000..314de0ff8 Binary files /dev/null and b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/TapeHack2/TapeHack2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/TapeHack2/mac/Info.plist b/plugins/MacVST/TapeHack2/mac/Info.plist new file mode 100755 index 000000000..015d6a634 --- /dev/null +++ b/plugins/MacVST/TapeHack2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + TapeHack2 + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.TapeHack2 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/TapeHack2/mac/PkgInfo b/plugins/MacVST/TapeHack2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/TapeHack2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/TapeHack2/mac/xcode_vst_prefix.h b/plugins/MacVST/TapeHack2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/TapeHack2/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacVST/TapeHack2/source/TapeHack2.cpp b/plugins/MacVST/TapeHack2/source/TapeHack2.cpp new file mode 100755 index 000000000..142d322db --- /dev/null +++ b/plugins/MacVST/TapeHack2/source/TapeHack2.cpp @@ -0,0 +1,145 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new TapeHack2(audioMaster);} + +TapeHack2::TapeHack2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.1; + B = 1.0; + C = 1.0; + + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +TapeHack2::~TapeHack2() {} +VstInt32 TapeHack2::getVendorVersion () {return 1000;} +void TapeHack2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void TapeHack2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 TapeHack2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 TapeHack2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void TapeHack2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float TapeHack2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void TapeHack2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void TapeHack2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void TapeHack2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 TapeHack2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool TapeHack2::getEffectName(char* name) { + vst_strncpy(name, "TapeHack2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory TapeHack2::getPlugCategory() {return kPlugCategEffect;} + +bool TapeHack2::getProductString(char* text) { + vst_strncpy (text, "airwindows TapeHack2", kVstMaxProductStrLen); return true; +} + +bool TapeHack2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/TapeHack2/source/TapeHack2.h b/plugins/MacVST/TapeHack2/source/TapeHack2.h new file mode 100755 index 000000000..cc6da00b1 --- /dev/null +++ b/plugins/MacVST/TapeHack2/source/TapeHack2.h @@ -0,0 +1,91 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#define __TapeHack2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kNumParameters = 3 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'tha2'; //Change this to what the AU identity is! + +class TapeHack2 : + public AudioEffectX +{ +public: + TapeHack2(audioMasterCallback audioMaster); + ~TapeHack2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + + double avg32L[33]; + double avg32R[33]; + double avg16L[17]; + double avg16R[17]; + double avg8L[9]; + double avg8R[9]; + double avg4L[5]; + double avg4R[5]; + double avg2L[3]; + double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; + int avgPos; + //preTapeHack + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/MacVST/TapeHack2/source/TapeHack2Proc.cpp b/plugins/MacVST/TapeHack2/source/TapeHack2Proc.cpp new file mode 100755 index 000000000..492cb8a46 --- /dev/null +++ b/plugins/MacVST/TapeHack2/source/TapeHack2Proc.cpp @@ -0,0 +1,305 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +void TapeHack2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void TapeHack2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/WinVST/ConsoleHChannel/.vs/VSTProject/v14/.suo b/plugins/WinVST/ConsoleHChannel/.vs/VSTProject/v14/.suo index 62204d822..f4f0e347c 100755 Binary files a/plugins/WinVST/ConsoleHChannel/.vs/VSTProject/v14/.suo and b/plugins/WinVST/ConsoleHChannel/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.cpp b/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.cpp index 9ee7ba52c..95c566edc 100755 --- a/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.cpp +++ b/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.cpp @@ -93,14 +93,13 @@ ConsoleHChannel::ConsoleHChannel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.h b/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.h index 7a20001ea..6d701a872 100755 --- a/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.h +++ b/plugins/WinVST/ConsoleHChannel/ConsoleHChannel.h @@ -192,12 +192,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/WinVST/ConsoleHChannel/ConsoleHChannelProc.cpp b/plugins/WinVST/ConsoleHChannel/ConsoleHChannelProc.cpp index f2b5d4449..2139dea75 100755 --- a/plugins/WinVST/ConsoleHChannel/ConsoleHChannelProc.cpp +++ b/plugins/WinVST/ConsoleHChannel/ConsoleHChannelProc.cpp @@ -206,15 +206,16 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -266,6 +267,38 @@ void ConsoleHChannel::processReplacing(float **inputs, float **outputs, VstInt32 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -818,15 +851,16 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -878,6 +912,38 @@ void ConsoleHChannel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/WinVST/ConsoleHPre/.vs/VSTProject/v14/.suo b/plugins/WinVST/ConsoleHPre/.vs/VSTProject/v14/.suo index 5ccddf5fd..83a1ab03b 100755 Binary files a/plugins/WinVST/ConsoleHPre/.vs/VSTProject/v14/.suo and b/plugins/WinVST/ConsoleHPre/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/ConsoleHPre/ConsoleHPre.cpp b/plugins/WinVST/ConsoleHPre/ConsoleHPre.cpp index c500b6c68..ae191e177 100755 --- a/plugins/WinVST/ConsoleHPre/ConsoleHPre.cpp +++ b/plugins/WinVST/ConsoleHPre/ConsoleHPre.cpp @@ -93,14 +93,13 @@ AudioEffectX(audioMaster, kNumPrograms, kNumParameters) dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/WinVST/ConsoleHPre/ConsoleHPre.h b/plugins/WinVST/ConsoleHPre/ConsoleHPre.h index f242a79cb..bfa2fd1af 100755 --- a/plugins/WinVST/ConsoleHPre/ConsoleHPre.h +++ b/plugins/WinVST/ConsoleHPre/ConsoleHPre.h @@ -197,12 +197,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/WinVST/ConsoleHPre/ConsoleHPreProc.cpp b/plugins/WinVST/ConsoleHPre/ConsoleHPreProc.cpp index 88ffee948..8f730a2e3 100755 --- a/plugins/WinVST/ConsoleHPre/ConsoleHPreProc.cpp +++ b/plugins/WinVST/ConsoleHPre/ConsoleHPreProc.cpp @@ -205,15 +205,16 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -265,6 +266,38 @@ void ConsoleHPre::processReplacing(float **inputs, float **outputs, VstInt32 sam //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; @@ -816,15 +849,16 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -876,6 +910,38 @@ void ConsoleHPre::processDoubleReplacing(double **inputs, double **outputs, VstI //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } double smoothEQL = inputSampleL; diff --git a/plugins/WinVST/ConsoleX2Channel/.vs/VSTProject/v14/.suo b/plugins/WinVST/ConsoleX2Channel/.vs/VSTProject/v14/.suo index 9ebf862f4..acda98f9b 100755 Binary files a/plugins/WinVST/ConsoleX2Channel/.vs/VSTProject/v14/.suo and b/plugins/WinVST/ConsoleX2Channel/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.cpp b/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.cpp index 2129cd918..9eb80b69d 100755 --- a/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.cpp +++ b/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.cpp @@ -82,14 +82,13 @@ ConsoleX2Channel::ConsoleX2Channel(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; + lastDarkL = 0.0; lastDarkL = 0.0; //preTapeHack lFreqA = 1.0; lFreqB = 1.0; diff --git a/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.h b/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.h index 2b57ebb85..3bf404761 100755 --- a/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.h +++ b/plugins/WinVST/ConsoleX2Channel/ConsoleX2Channel.h @@ -170,12 +170,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double panA; double panB; diff --git a/plugins/WinVST/ConsoleX2Channel/ConsoleX2ChannelProc.cpp b/plugins/WinVST/ConsoleX2Channel/ConsoleX2ChannelProc.cpp index 38a92a8f1..9c6da7005 100755 --- a/plugins/WinVST/ConsoleX2Channel/ConsoleX2ChannelProc.cpp +++ b/plugins/WinVST/ConsoleX2Channel/ConsoleX2ChannelProc.cpp @@ -215,15 +215,16 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -275,6 +276,38 @@ void ConsoleX2Channel::processReplacing(float **inputs, float **outputs, VstInt3 //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -742,15 +775,16 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -802,6 +836,38 @@ void ConsoleX2Channel::processDoubleReplacing(double **inputs, double **outputs, //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/WinVST/ConsoleX2Pre/.vs/VSTProject/v14/.suo b/plugins/WinVST/ConsoleX2Pre/.vs/VSTProject/v14/.suo index 51f09da94..b7eecc316 100755 Binary files a/plugins/WinVST/ConsoleX2Pre/.vs/VSTProject/v14/.suo and b/plugins/WinVST/ConsoleX2Pre/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.cpp b/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.cpp index 37598510d..be24fe98d 100755 --- a/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.cpp +++ b/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.cpp @@ -82,15 +82,14 @@ ConsoleX2Pre::ConsoleX2Pre(audioMasterCallback audioMaster) : dBaXR = 1; //Discontapeity - for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; avg32R[x] = 0.0;} - for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; avg16R[x] = 0.0;} - for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; avg8R[x] = 0.0;} - for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; avg4R[x] = 0.0;} - for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; avg2R[x] = 0.0;} + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} avgPos = 0; - lastSlewL = 0.0; lastSlewR = 0.0; - lastSlewpleL = 0.0; lastSlewpleR = 0.0; - //preTapeHack + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack lFreqA = 1.0; lFreqB = 1.0; hFreqA = 0.0; hFreqB = 0.0; diff --git a/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.h b/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.h index 5ea8485af..5ae8da423 100755 --- a/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.h +++ b/plugins/WinVST/ConsoleX2Pre/ConsoleX2Pre.h @@ -175,12 +175,20 @@ private: double avg4R[5]; double avg2L[3]; double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; int avgPos; - double lastSlewL; - double lastSlewR; - double lastSlewpleL; - double lastSlewpleR; - //preTapeHack + //preTapeHack double inTrimA; double inTrimB; diff --git a/plugins/WinVST/ConsoleX2Pre/ConsoleX2PreProc.cpp b/plugins/WinVST/ConsoleX2Pre/ConsoleX2PreProc.cpp index 2366e1835..5775e39f3 100755 --- a/plugins/WinVST/ConsoleX2Pre/ConsoleX2PreProc.cpp +++ b/plugins/WinVST/ConsoleX2Pre/ConsoleX2PreProc.cpp @@ -214,15 +214,16 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -274,6 +275,38 @@ void ConsoleX2Pre::processReplacing(float **inputs, float **outputs, VstInt32 sa //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { @@ -746,15 +779,16 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst darkSampleL = 0.0; darkSampleR = 0.0; for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} darkSampleL /= 2.0; darkSampleR /= 2.0; - } avgPos++; - lastSlewL += fabs(lastSlewpleL-inputSampleL); lastSlewpleL = inputSampleL; - double avgSlewL = fmin(lastSlewL*lastSlewL*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewL = fmax(lastSlewL*0.78,2.39996322972865332223); - lastSlewR += fabs(lastSlewpleR-inputSampleR); lastSlewpleR = inputSampleR; - double avgSlewR = fmin(lastSlewR*lastSlewR*(0.0635-(overallscale*0.0018436)),1.0); - lastSlewR = fmax(lastSlewR*0.78,2.39996322972865332223); //look up Golden Angle, it's cool + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + //begin Discontinuity section inputSampleL *= moreDiscontinuity; dBaL[dBaXL] = inputSampleL; dBaPosL *= 0.5; dBaPosL += fabs((inputSampleL*((inputSampleL*0.25)-0.5))*0.5); @@ -806,6 +840,38 @@ void ConsoleX2Pre::processDoubleReplacing(double **inputs, double **outputs, Vst //this is a degenerate form of a Taylor Series to approximate sin() //end TapeHack section //Discontapeity + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter } if (!eqOff) { diff --git a/plugins/WinVST/SoftClock3/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/SoftClock3/.vs/Console4Channel64/v14/.suo new file mode 100755 index 000000000..777b84637 Binary files /dev/null and b/plugins/WinVST/SoftClock3/.vs/Console4Channel64/v14/.suo differ diff --git a/plugins/WinVST/SoftClock3/.vs/VSTProject/v14/.suo b/plugins/WinVST/SoftClock3/.vs/VSTProject/v14/.suo new file mode 100755 index 000000000..726e2b8df Binary files /dev/null and b/plugins/WinVST/SoftClock3/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/SoftClock3/SoftClock3.cpp b/plugins/WinVST/SoftClock3/SoftClock3.cpp new file mode 100755 index 000000000..695c93b43 --- /dev/null +++ b/plugins/WinVST/SoftClock3/SoftClock3.cpp @@ -0,0 +1,234 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new SoftClock3(audioMaster);} + +SoftClock3::SoftClock3(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.2; + B = 0.2; + C = 0.2; + D = 0.0; + E = 0.5; + + sinePos = 0.0; + barPos = 0.0; + beatPos = 0; + for (int x = 0; x < 34; x++) {beatAccent[x] = 0.0; beatSwing[x] = 0.0;} + inc = 0.0; + beatTable[0]=0; + beatTable[1]=1; + beatTable[2]=2; + beatTable[3]=3; + beatTable[4]=4; + beatTable[5]=5; + beatTable[6]=6; + beatTable[7]=7; + beatTable[8]=8; + beatTable[9]=9; + beatTable[10]=10; + beatTable[11]=11; + beatTable[12]=11; + beatTable[13]=11; + beatTable[14]=11; + beatTable[15]=13; + beatTable[16]=16; + beatTable[17]=13; + beatTable[18]=13; + beatTable[19]=17; + beatTable[20]=17; + beatTable[21]=17; + beatTable[22]=17; + beatTable[23]=19; + beatTable[24]=24; + beatTable[25]=19; + beatTable[26]=19; + beatTable[27]=19; + beatTable[28]=23; + beatTable[29]=23; + beatTable[30]=23; + beatTable[31]=23; + beatTable[32]=32; + beatTable[33]=32; + beatTable[34]=32; + currentBPM = 0; + step = 0.0; + swagger = 0.0; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +SoftClock3::~SoftClock3() {} +VstInt32 SoftClock3::getVendorVersion () {return 1000;} +void SoftClock3::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void SoftClock3::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 SoftClock3::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + chunkData[3] = D; + chunkData[4] = E; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 SoftClock3::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + D = pinParameter(chunkData[3]); + E = pinParameter(chunkData[4]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void SoftClock3::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + case kParamD: D = value; break; + case kParamE: E = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float SoftClock3::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + case kParamD: return D; break; + case kParamE: return E; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void SoftClock3::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Tempo", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Count", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Tuple", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "Triplet", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "Flavor", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void SoftClock3::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((int)(A*200.99)+40, text, kVstMaxParamStrLen); break; + case kParamB: int2string ((int)(B*32.99), text, kVstMaxParamStrLen); break; + case kParamC: int2string ((int)(C*16.99), text, kVstMaxParamStrLen); break; + case kParamD: int2string ((int)(D*1.99), text, kVstMaxParamStrLen); break; + case kParamE: float2string (E, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void SoftClock3::getParameterLabel(VstInt32 index, char *text) { + int beatCode = (int)(B*32.99); + switch (index) { + case kParamA: vst_strncpy (text, "bpm", kVstMaxParamStrLen); break; + case kParamB: + switch (beatCode){ + case 0: vst_strncpy (text, "0", kVstMaxParamStrLen); break; + case 1: vst_strncpy (text, "1", kVstMaxParamStrLen); break; + case 2: vst_strncpy (text, "2", kVstMaxParamStrLen); break; + case 3: vst_strncpy (text, "3", kVstMaxParamStrLen); break; + case 4: vst_strncpy (text, "4", kVstMaxParamStrLen); break; + case 5: vst_strncpy (text, "5", kVstMaxParamStrLen); break; + case 6: vst_strncpy (text, "6", kVstMaxParamStrLen); break; + case 7: vst_strncpy (text, "7", kVstMaxParamStrLen); break; + case 8: vst_strncpy (text, "8", kVstMaxParamStrLen); break; + case 9: vst_strncpy (text, "9", kVstMaxParamStrLen); break; + case 10:vst_strncpy (text, "10", kVstMaxParamStrLen); break; + case 11:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 12:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 13:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 14:vst_strncpy (text, "11", kVstMaxParamStrLen); break; + case 15:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 16:vst_strncpy (text, "16", kVstMaxParamStrLen); break; + case 17:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 18:vst_strncpy (text, "13", kVstMaxParamStrLen); break; + case 19:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 20:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 21:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 22:vst_strncpy (text, "17", kVstMaxParamStrLen); break; + case 23:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 24:vst_strncpy (text, "24", kVstMaxParamStrLen); break; + case 25:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 26:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 27:vst_strncpy (text, "19", kVstMaxParamStrLen); break; + case 28:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 29:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 30:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 31:vst_strncpy (text, "23", kVstMaxParamStrLen); break; + case 32:vst_strncpy (text, "32", kVstMaxParamStrLen); break; + default: break; + } + break; + case kParamC: vst_strncpy (text, "th note", kVstMaxParamStrLen); break; + case kParamD: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamE: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 SoftClock3::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool SoftClock3::getEffectName(char* name) { + vst_strncpy(name, "SoftClock3", kVstMaxProductStrLen); return true; +} + +VstPlugCategory SoftClock3::getPlugCategory() {return kPlugCategEffect;} + +bool SoftClock3::getProductString(char* text) { + vst_strncpy (text, "airwindows SoftClock3", kVstMaxProductStrLen); return true; +} + +bool SoftClock3::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/SoftClock3/SoftClock3.h b/plugins/WinVST/SoftClock3/SoftClock3.h new file mode 100755 index 000000000..a5fee3f39 --- /dev/null +++ b/plugins/WinVST/SoftClock3/SoftClock3.h @@ -0,0 +1,81 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#define __SoftClock3_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kParamD =3, + kParamE =4, + kNumParameters = 5 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'sfc3'; //Change this to what the AU identity is! + +class SoftClock3 : + public AudioEffectX +{ +public: + SoftClock3(audioMasterCallback audioMaster); + ~SoftClock3(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + float D; + float E; + + double sinePos; + double barPos; + double inc; + int beatPos; + double beatAccent[35]; + double beatSwing[35]; + int beatTable[35]; + int currentBPM; + double step; + double swagger; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/WinVST/SoftClock3/SoftClock3Proc.cpp b/plugins/WinVST/SoftClock3/SoftClock3Proc.cpp new file mode 100755 index 000000000..4efb92972 --- /dev/null +++ b/plugins/WinVST/SoftClock3/SoftClock3Proc.cpp @@ -0,0 +1,322 @@ +/* ======================================== + * SoftClock3 - SoftClock3.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __SoftClock3_H +#include "SoftClock3.h" +#endif + +void SoftClock3::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void SoftClock3::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int bpm = (int)(A*200.99)+40; + int beatCode = (int)(B*32.99); + double notes = (double)fmax(((int)(C*16.99))/4.0, 0.125); + double bpmTarget = (getSampleRate()*60.0)/((double)bpm*notes); + double triplet = 0.0; + if (D*1.99 > 0.5) triplet = 1.0; + double accent = E; + + if (bpm != currentBPM) { + currentBPM = bpm; + step = 20.0; + double trial = 250.0; + while (trial > bpm) {step -= 1.0; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest 'flow' energy state UNDER the real bpm, and will step up more slowly + while (trial < bpm) {step += 0.01; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest tenth of the energy state and have overshot + while (trial > bpm) {step -= 0.001; trial = (0.016666666666*pow(step,M_PI))+(step*M_PI)+20;} + //we now have the nearest hundredth to the correct energy state, and can throw away 'trial' + step = step-((int)step); //and calculate speed based on the fractional remainder of 'step' + step = ((0.5-fabs(step-0.5))*2.0) * 0.75; + swagger = pow((0.5-fabs(step-0.5))*2.0,1.618033988749894) * 0.5 * accent; + //and turn it into the 'speed' control + //with step 0.0 being 'flow', 0.25 being 'groove', 0.5 being 'edge' and 0.75 being 'tude' + //turned into a linear speed control where edge is top step and flow being lowest step. + } + double swing = (triplet+swagger)*bpmTarget*0.33333; + //swing makes beats hit LATER, so the One is 0.0 + int beatMax = beatTable[beatCode]; + //only some counts are literal, others are ways to do prime grooves with different subrhythms + for (int x = 0; x < (beatMax+1); x++) { + beatAccent[x] = ((double)fabs((double)beatMax-((double)x*2.0)))/(double)(beatMax*1.618033988749894); + if (x % 2 > 0) beatSwing[x] = (swagger*(1.0-beatAccent[x])); + else beatSwing[x] = swing; + } //this makes the non-accented beats drop down to quiet and back up to half volume + //we're also decoupling swing from triplet feel unless actually playing triplets + //otherwise, it's part of how you hear accents and tempos + if (beatCode > 0) beatAccent[1] = 0.9; beatSwing[1] = 0.0; //first note is an accent at full crank + switch (beatCode) + { + case 0: break; //not used + case 1: break; //1 + case 2: break; //2 + case 3: break; //3 + case 4: beatAccent[3]=0.9; + beatSwing[3]=0.0; break; //4-22 + case 5: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //5-32 + case 6: beatAccent[4]=0.9; + beatSwing[4]=0.0; break; //6-33 + case 7: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //7-43 + case 8: beatAccent[5]=0.9; + beatSwing[5]=0.0; break; //8-44 + case 9: beatAccent[4]=0.9; beatAccent[7]=0.8; + beatSwing[4]=0.0; beatSwing[7]=0.0; break; //9-333 + case 10: beatAccent[6]=0.9; + beatSwing[6]=0.0; break; //10-55 + case 11: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //11-3332 + case 12: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //11-443 + case 13: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //11-551 + case 14: beatAccent[7]=0.9; + beatSwing[7]=0.0; break; //11-65 + case 15: beatAccent[4]=0.9; beatAccent[7]=0.8; beatAccent[10]=0.7; + beatSwing[4]=0.0; beatSwing[7]=0.0; beatSwing[10]=0.0; break; //13-3334 + case 16: beatAccent[9]=0.9; + beatSwing[9]=0.0; break; //16-88 + case 17: beatAccent[5]=0.9; beatAccent[9]=0.8; + beatSwing[5]=0.0; beatSwing[9]=0.0; break; //13-445 + case 18: beatAccent[6]=0.9; beatAccent[11]=0.8; + beatSwing[6]=0.0; beatSwing[11]=0.0; break; //13-553 + case 19: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //17-44441 + case 20: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //17-5552 + case 21: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //17-773 + case 22: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //17-881 + case 23: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; break; //19-44443 + case 24: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //24-888 + case 25: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //19-5554 + case 26: beatAccent[8]=0.9; beatAccent[15]=0.8; + beatSwing[8]=0.0; beatSwing[15]=0.0; break; //19-775 + case 27: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //19-883 + case 28: beatAccent[5]=0.9; beatAccent[9]=0.85; beatAccent[13]=0.8; beatAccent[17]=0.75; beatAccent[21]=0.7; + beatSwing[5]=0.0; beatSwing[9]=0.0; beatSwing[13]=0.0; beatSwing[17]=0.0; beatSwing[21]=0.0; break; //23-444443 + case 29: beatAccent[6]=0.9; beatAccent[11]=0.8; beatAccent[16]=0.7; + beatSwing[6]=0.0; beatSwing[11]=0.0; beatSwing[16]=0.0; break; //23-5558 + case 30: beatAccent[8]=0.9; beatAccent[15]=0.8; beatAccent[22]=0.7; + beatSwing[8]=0.0; beatSwing[15]=0.0; beatSwing[22]=0.0; break; //23-7772 + case 31: beatAccent[9]=0.9; beatAccent[17]=0.8; + beatSwing[9]=0.0; beatSwing[17]=0.0; break; //23-887 + case 32: beatAccent[9]=0.9; beatAccent[17]=0.8; beatAccent[25]=0.7; + beatSwing[9]=0.0; beatSwing[17]=0.0; beatSwing[25]=0.0; break; //32-8888 + default: break; + } + double chaseSpeed = ((step*0.000125)+0.0000125)/overallscale; + double rootSpeed = 0.9999-(chaseSpeed*((2.0*step)+2.0)); + double pulseWidth = (0.085+(accent*0.04)-((1.0-step)*0.06))/chaseSpeed; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + + barPos += 1.0; + if (barPos>bpmTarget) { + barPos=0.0; + beatPos++; + if (beatPos>beatMax) beatPos=1; + } + if ((barPos < (pulseWidth+beatSwing[beatPos])) && (barPos > beatSwing[beatPos])) + inc = (((beatAccent[beatPos]*accent)+(1.0-accent))*chaseSpeed)+(inc*(1.0-chaseSpeed)); + else + inc *= rootSpeed; + sinePos += inc; + if (sinePos > 6.283185307179586) sinePos -= 6.283185307179586; + inputSampleL = inputSampleR = sin(sin(sinePos)*inc*5.0); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/WinVST/SoftClock3/VSTProject.sln b/plugins/WinVST/SoftClock3/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/SoftClock3/VSTProject.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/plugins/WinVST/SoftClock3/VSTProject.vcxproj b/plugins/WinVST/SoftClock3/VSTProject.vcxproj new file mode 100755 index 000000000..1d3c20ecc --- /dev/null +++ b/plugins/WinVST/SoftClock3/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + SoftClock364 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/SoftClock3/VSTProject.vcxproj.filters b/plugins/WinVST/SoftClock3/VSTProject.vcxproj.filters new file mode 100755 index 000000000..a37de1ee1 --- /dev/null +++ b/plugins/WinVST/SoftClock3/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/SoftClock3/VSTProject.vcxproj.user b/plugins/WinVST/SoftClock3/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/SoftClock3/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/SoftClock3/vstplug.def b/plugins/WinVST/SoftClock3/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/SoftClock3/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/plugins/WinVST/TapeHack2/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/TapeHack2/.vs/Console4Channel64/v14/.suo new file mode 100755 index 000000000..777b84637 Binary files /dev/null and b/plugins/WinVST/TapeHack2/.vs/Console4Channel64/v14/.suo differ diff --git a/plugins/WinVST/TapeHack2/.vs/VSTProject/v14/.suo b/plugins/WinVST/TapeHack2/.vs/VSTProject/v14/.suo new file mode 100755 index 000000000..be7773c51 Binary files /dev/null and b/plugins/WinVST/TapeHack2/.vs/VSTProject/v14/.suo differ diff --git a/plugins/WinVST/TapeHack2/TapeHack2.cpp b/plugins/WinVST/TapeHack2/TapeHack2.cpp new file mode 100755 index 000000000..142d322db --- /dev/null +++ b/plugins/WinVST/TapeHack2/TapeHack2.cpp @@ -0,0 +1,145 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new TapeHack2(audioMaster);} + +TapeHack2::TapeHack2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.1; + B = 1.0; + C = 1.0; + + for (int x = 0; x < 33; x++) {avg32L[x] = 0.0; post32L[x] = 0.0; avg32R[x] = 0.0; post32R[x] = 0.0;} + for (int x = 0; x < 17; x++) {avg16L[x] = 0.0; post16L[x] = 0.0; avg16R[x] = 0.0; post16R[x] = 0.0;} + for (int x = 0; x < 9; x++) {avg8L[x] = 0.0; post8L[x] = 0.0; avg8R[x] = 0.0; post8R[x] = 0.0;} + for (int x = 0; x < 5; x++) {avg4L[x] = 0.0; post4L[x] = 0.0; avg4R[x] = 0.0; post4R[x] = 0.0;} + for (int x = 0; x < 3; x++) {avg2L[x] = 0.0; post2L[x] = 0.0; avg2R[x] = 0.0; post2R[x] = 0.0;} + avgPos = 0; + lastDarkL = 0.0; lastDarkL = 0.0; + //preTapeHack + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +TapeHack2::~TapeHack2() {} +VstInt32 TapeHack2::getVendorVersion () {return 1000;} +void TapeHack2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void TapeHack2::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 TapeHack2::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 TapeHack2::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void TapeHack2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float TapeHack2::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void TapeHack2::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Input", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Output", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void TapeHack2::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void TapeHack2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 TapeHack2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool TapeHack2::getEffectName(char* name) { + vst_strncpy(name, "TapeHack2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory TapeHack2::getPlugCategory() {return kPlugCategEffect;} + +bool TapeHack2::getProductString(char* text) { + vst_strncpy (text, "airwindows TapeHack2", kVstMaxProductStrLen); return true; +} + +bool TapeHack2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/TapeHack2/TapeHack2.h b/plugins/WinVST/TapeHack2/TapeHack2.h new file mode 100755 index 000000000..cc6da00b1 --- /dev/null +++ b/plugins/WinVST/TapeHack2/TapeHack2.h @@ -0,0 +1,91 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#define __TapeHack2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA =0, + kParamB =1, + kParamC =2, + kNumParameters = 3 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'tha2'; //Change this to what the AU identity is! + +class TapeHack2 : + public AudioEffectX +{ +public: + TapeHack2(audioMasterCallback audioMaster); + ~TapeHack2(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + float A; + float B; + float C; + + double avg32L[33]; + double avg32R[33]; + double avg16L[17]; + double avg16R[17]; + double avg8L[9]; + double avg8R[9]; + double avg4L[5]; + double avg4R[5]; + double avg2L[3]; + double avg2R[3]; + double post32L[33]; + double post32R[33]; + double post16L[17]; + double post16R[17]; + double post8L[9]; + double post8R[9]; + double post4L[5]; + double post4R[5]; + double post2L[3]; + double post2R[3]; + double lastDarkL; + double lastDarkR; + int avgPos; + //preTapeHack + + uint32_t fpdL; + uint32_t fpdR; + //default stuff +}; + +#endif diff --git a/plugins/WinVST/TapeHack2/TapeHack2Proc.cpp b/plugins/WinVST/TapeHack2/TapeHack2Proc.cpp new file mode 100755 index 000000000..492cb8a46 --- /dev/null +++ b/plugins/WinVST/TapeHack2/TapeHack2Proc.cpp @@ -0,0 +1,305 @@ +/* ======================================== + * TapeHack2 - TapeHack2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __TapeHack2_H +#include "TapeHack2.h" +#endif + +void TapeHack2::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} + +void TapeHack2::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + int spacing = floor(overallscale*2.0); + if (spacing < 2) spacing = 2; if (spacing > 32) spacing = 32; + + double inputGain = A*10.0; + double outputGain = B*0.9239; + double wet = C; + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + inputSampleL *= inputGain; + inputSampleR *= inputGain; + double darkSampleL = inputSampleL; + double darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + avg32L[avgPos] = darkSampleL; avg32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += avg32L[x]; darkSampleR += avg32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + avg16L[avgPos%16] = darkSampleL; avg16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += avg16L[x]; darkSampleR += avg16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + avg8L[avgPos%8] = darkSampleL; avg8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += avg8L[x]; darkSampleR += avg8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + avg4L[avgPos%4] = darkSampleL; avg4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += avg4L[x]; darkSampleR += avg4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + avg2L[avgPos%2] = darkSampleL; avg2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += avg2L[x]; darkSampleR += avg2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } //only update avgPos after the post-distortion filter stage + double avgSlewL = fmin(fabs(lastDarkL-inputSampleL)*0.12*overallscale,1.0); + avgSlewL = 1.0-(1.0-avgSlewL*1.0-avgSlewL); + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + lastDarkL = darkSampleL; + double avgSlewR = fmin(fabs(lastDarkR-inputSampleR)*0.12*overallscale,1.0); + avgSlewR = 1.0-(1.0-avgSlewR*1.0-avgSlewR); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + lastDarkR = darkSampleR; + + inputSampleL = fmax(fmin(inputSampleL,2.305929007734908),-2.305929007734908); + double addtwo = inputSampleL * inputSampleL; + double empower = inputSampleL * addtwo; // inputSampleL to the third power + inputSampleL -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleL += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleL -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleL += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleL -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + inputSampleR = fmax(fmin(inputSampleR,2.305929007734908),-2.305929007734908); + addtwo = inputSampleR * inputSampleR; + empower = inputSampleR * addtwo; // inputSampleR to the third power + inputSampleR -= (empower / 6.0); + empower *= addtwo; // to the fifth power + inputSampleR += (empower / 69.0); + empower *= addtwo; //seventh + inputSampleR -= (empower / 2530.08); + empower *= addtwo; //ninth + inputSampleR += (empower / 224985.6); + empower *= addtwo; //eleventh + inputSampleR -= (empower / 9979200.0f); + //this is a degenerate form of a Taylor Series to approximate sin() + + + darkSampleL = inputSampleL; + darkSampleR = inputSampleR; + if (avgPos > 31) avgPos = 0; + if (spacing > 31) { + post32L[avgPos] = darkSampleL; post32R[avgPos] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 32; x++) {darkSampleL += post32L[x]; darkSampleR += post32R[x];} + darkSampleL /= 32.0; darkSampleR /= 32.0; + } if (spacing > 15) { + post16L[avgPos%16] = darkSampleL; post16R[avgPos%16] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 16; x++) {darkSampleL += post16L[x]; darkSampleR += post16R[x];} + darkSampleL /= 16.0; darkSampleR /= 16.0; + } if (spacing > 7) { + post8L[avgPos%8] = darkSampleL; post8R[avgPos%8] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 8; x++) {darkSampleL += post8L[x]; darkSampleR += post8R[x];} + darkSampleL /= 8.0; darkSampleR /= 8.0; + } if (spacing > 3) { + post4L[avgPos%4] = darkSampleL; post4R[avgPos%4] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 4; x++) {darkSampleL += post4L[x]; darkSampleR += post4R[x];} + darkSampleL /= 4.0; darkSampleR /= 4.0; + } if (spacing > 1) { + post2L[avgPos%2] = darkSampleL; post2R[avgPos%2] = darkSampleR; + darkSampleL = 0.0; darkSampleR = 0.0; + for (int x = 0; x < 2; x++) {darkSampleL += post2L[x]; darkSampleR += post2R[x];} + darkSampleL /= 2.0; darkSampleR /= 2.0; + } avgPos++; + inputSampleL = (inputSampleL*(1.0-avgSlewL)) + (darkSampleL*avgSlewL); + inputSampleR = (inputSampleR*(1.0-avgSlewR)) + (darkSampleR*avgSlewR); + //use the previously calculated depth of the filter + + inputSampleL = (inputSampleL * outputGain * wet) + (drySampleL * (1.0-wet)); + inputSampleR = (inputSampleR * outputGain * wet) + (drySampleR * (1.0-wet)); + + //begin 64 bit stereo floating point dither + //int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + //inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + //inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + in1++; + in2++; + out1++; + out2++; + } +} diff --git a/plugins/WinVST/TapeHack2/VSTProject.sln b/plugins/WinVST/TapeHack2/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/TapeHack2/VSTProject.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/plugins/WinVST/TapeHack2/VSTProject.vcxproj b/plugins/WinVST/TapeHack2/VSTProject.vcxproj new file mode 100755 index 000000000..1f6f31a27 --- /dev/null +++ b/plugins/WinVST/TapeHack2/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + TapeHack264 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/TapeHack2/VSTProject.vcxproj.filters b/plugins/WinVST/TapeHack2/VSTProject.vcxproj.filters new file mode 100755 index 000000000..b8b13425d --- /dev/null +++ b/plugins/WinVST/TapeHack2/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/TapeHack2/VSTProject.vcxproj.user b/plugins/WinVST/TapeHack2/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/TapeHack2/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/TapeHack2/vstplug.def b/plugins/WinVST/TapeHack2/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/TapeHack2/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/what.txt b/what.txt index b0c426446..748f7083f 100644 --- a/what.txt +++ b/what.txt @@ -408,7 +408,8 @@ TapeDelay2 is a new implementation of a flexible tape echo.[coll=Recommended,Lat TapeDither is TPDF dither with noise like reel-to-reel tape.[coll=] TapeDust is just a special treble-erode noise, a ‘slew noise’ plugin.[coll=Recommended,Latest] TapeFat is the tone control from TapeDelay.[coll=] -TapeHack is a new dimension in tape realism, abstracted to software.[coll=Recommended,Latest] +TapeHack is a new dimension in tape realism, abstracted to software.[coll=] +TapeHack2 brings Airwindows tape to a new level.[coll=Recommended,Latest] Texturize is a hidden-noise plugin for adding sonic texture to things.[coll=Latest] TexturizeMS is a hidden-noise plugin for adding mid-side sonic texture to things.[coll=Latest] Thunder is a compressor that retains or exaggerates subsonic bass when you push it.[coll=Latest]