From 966f2d253cd2ee6ce140ad68095a20a9d2b63052 Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Sun, 27 Jan 2019 21:13:54 -0500 Subject: Floating Point Dither For All --- plugins/MacAU/ADClip7/ADClip7.cpp | 23 +- plugins/MacAU/ADClip7/ADClip7.h | 4 +- .../ADClip7.xcodeproj/christopherjohnson.pbxuser | 66 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/ADT/ADT.cpp | 18 +- .../ADT/ADT.xcodeproj/christopherjohnson.pbxuser | 42 +- .../ADT.xcodeproj/christopherjohnson.perspectivev3 | 28 +- plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp | 29 +- plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h | 6 +- .../christopherjohnson.pbxuser | 31 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/Acceleration/Acceleration.cpp | 25 +- plugins/MacAU/Acceleration/Acceleration.h | 4 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 54 +- .../christopherjohnson.perspectivev3 | 35 +- .../Acceleration.xcodeproj/project.pbxproj | 0 plugins/MacAU/Air/Air.cpp | 29 +- plugins/MacAU/Air/Air.h | 7 +- .../Air/Air.xcodeproj/christopherjohnson.pbxuser | 40 +- .../Air.xcodeproj/christopherjohnson.perspectivev3 | 28 +- plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp | 19 +- .../christopherjohnson.pbxuser | 70 +- .../christopherjohnson.perspectivev3 | 40 +- .../MacAU/AtmosphereChannel/AtmosphereChannel.cpp | 19 +- .../christopherjohnson.pbxuser | 86 +- .../christopherjohnson.perspectivev3 | 40 +- plugins/MacAU/Aura/Aura.cpp | 27 +- plugins/MacAU/Aura/Aura.h | 4 +- .../Aura/Aura.xcodeproj/christopherjohnson.pbxuser | 65 +- .../christopherjohnson.perspectivev3 | 36 +- plugins/MacAU/Average/Average.cpp | 26 +- plugins/MacAU/Average/Average.h | 5 +- .../Average.xcodeproj/christopherjohnson.pbxuser | 58 +- .../christopherjohnson.perspectivev3 | 71 +- plugins/MacAU/BassKit/BassKit.cpp | 28 +- .../BassKit.xcodeproj/christopherjohnson.pbxuser | 22 +- .../christopherjohnson.perspectivev3 | 35 +- .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 29 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 46 +- .../christopherjohnson.perspectivev3 | 29 +- .../BitShiftGain.xcodeproj/project.pbxproj | 0 plugins/MacAU/Bite/Bite.cpp | 27 +- plugins/MacAU/Bite/Bite.h | 5 +- .../Bite/Bite.xcodeproj/christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 39 +- .../christopherjohnson.pbxuser | 18 +- .../christopherjohnson.perspectivev3 | 21 +- plugins/MacAU/BussColors4/BussColors4.cpp | 25 +- plugins/MacAU/BussColors4/BussColors4.h | 4 +- .../christopherjohnson.pbxuser | 46 +- .../christopherjohnson.perspectivev3 | 29 +- plugins/MacAU/ButterComp/ButterComp.cpp | 13 +- .../christopherjohnson.pbxuser | 58 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/ButterComp2/ButterComp2.cpp | 18 +- .../christopherjohnson.pbxuser | 22 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/C5RawBuss/C5RawBuss.cpp | 25 +- plugins/MacAU/C5RawBuss/C5RawBuss.h | 4 +- .../C5RawBuss.xcodeproj/christopherjohnson.pbxuser | 50 +- .../christopherjohnson.perspectivev3 | 82 +- plugins/MacAU/C5RawChannel/C5RawChannel.cpp | 25 +- plugins/MacAU/C5RawChannel/C5RawChannel.h | 4 +- .../christopherjohnson.pbxuser | 57 +- .../christopherjohnson.perspectivev3 | 46 +- plugins/MacAU/CStrip/CStrip.cpp | 27 +- plugins/MacAU/CStrip/CStrip.h | 4 +- .../CStrip.xcodeproj/christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Capacitor/Capacitor.cpp | 25 +- plugins/MacAU/Capacitor/Capacitor.h | 4 +- .../Capacitor.xcodeproj/christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/Channel6/Channel6.cpp | 21 +- .../Channel6.xcodeproj/christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Chorus/Chorus.cpp | 27 +- plugins/MacAU/Chorus/Chorus.h | 5 +- .../Chorus.xcodeproj/christopherjohnson.pbxuser | 36 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp | 27 +- plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h | 5 +- .../christopherjohnson.pbxuser | 45 +- .../christopherjohnson.perspectivev3 | 29 +- .../ClipOnly.xcodeproj/christopherjohnson.pbxuser | 16 +- .../christopherjohnson.perspectivev3 | 30 +- plugins/MacAU/Console4Buss/Console4Buss.cpp | 26 +- plugins/MacAU/Console4Buss/Console4Buss.h | 5 +- .../christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 40 +- plugins/MacAU/Console4Channel/Console4Channel.cpp | 26 +- plugins/MacAU/Console4Channel/Console4Channel.h | 5 +- .../christopherjohnson.pbxuser | 46 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/Console5Buss/Console5Buss.cpp | 25 +- plugins/MacAU/Console5Buss/Console5Buss.h | 4 +- .../christopherjohnson.pbxuser | 50 +- .../christopherjohnson.perspectivev3 | 44 +- plugins/MacAU/Console5Channel/Console5Channel.cpp | 25 +- plugins/MacAU/Console5Channel/Console5Channel.h | 4 +- .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 38 +- plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp | 28 +- plugins/MacAU/Console5DarkCh/Console5DarkCh.h | 4 +- .../christopherjohnson.pbxuser | 28 +- .../christopherjohnson.perspectivev3 | 35 +- .../MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp | 28 +- .../MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h | 4 +- .../christopherjohnson.pbxuser | 55 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Crystal/Crystal.cpp | 18 +- .../Crystal.xcodeproj/christopherjohnson.pbxuser | 56 +- .../christopherjohnson.perspectivev3 | 35 +- .../DCVoltage.xcodeproj/christopherjohnson.pbxuser | 18 +- .../christopherjohnson.perspectivev3 | 29 +- plugins/MacAU/DeEss/DeEss.cpp | 18 +- .../DeEss.xcodeproj/christopherjohnson.pbxuser | 28 +- .../christopherjohnson.perspectivev3 | 38 +- plugins/MacAU/DeRez/DeRez.cpp | 26 +- plugins/MacAU/DeRez/DeRez.h | 4 +- .../DeRez.xcodeproj/christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Density/Density.cpp | 25 +- plugins/MacAU/Density/Density.exp | 2 +- plugins/MacAU/Density/Density.h | 3 +- .../Density.xcodeproj/christopherjohnson.pbxuser | 60 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Desk/Desk.cpp | 28 +- plugins/MacAU/Desk/Desk.h | 4 +- .../Desk/Desk.xcodeproj/christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Desk4/Desk4.cpp | 26 +- plugins/MacAU/Desk4/Desk4.h | 4 +- .../Desk4.xcodeproj/christopherjohnson.pbxuser | 32 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Distance/Distance.cpp | 26 +- plugins/MacAU/Distance/Distance.exp | 2 +- plugins/MacAU/Distance/Distance.h | 5 +- .../Distance.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 36 +- plugins/MacAU/Distance2/Distance2.cpp | 18 +- .../Distance2.xcodeproj/christopherjohnson.pbxuser | 54 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/DitherFloat/DitherFloat.cpp | 255 ++++ plugins/MacAU/DitherFloat/DitherFloat.exp | 1 + plugins/MacAU/DitherFloat/DitherFloat.h | 138 ++ plugins/MacAU/DitherFloat/DitherFloat.r | 61 + .../christopherjohnson.mode1v3 | 1358 ++++++++++++++++++ .../christopherjohnson.pbxuser | 131 ++ .../christopherjohnson.perspectivev3 | 1506 ++++++++++++++++++++ .../DitherFloat.xcodeproj/project.pbxproj | 490 +++++++ plugins/MacAU/DitherFloat/DitherFloatVersion.h | 58 + .../DitherFloat/English.lproj/InfoPlist.strings | Bin 0 -> 388 bytes plugins/MacAU/DitherFloat/Info.plist | 28 + plugins/MacAU/DitherFloat/version.plist | 16 + .../christopherjohnson.pbxuser | 58 +- .../christopherjohnson.perspectivev3 | 76 +- plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp | 7 +- plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h | 4 +- .../christopherjohnson.pbxuser | 58 +- .../christopherjohnson.perspectivev3 | 28 +- .../Ditherbox.xcodeproj/christopherjohnson.pbxuser | 34 +- .../christopherjohnson.perspectivev3 | 26 +- .../christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Drive/Drive.cpp | 26 +- plugins/MacAU/Drive/Drive.exp | 2 +- plugins/MacAU/Drive/Drive.h | 3 +- .../Drive.xcodeproj/christopherjohnson.pbxuser | 68 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/DrumSlam/DrumSlam.cpp | 27 +- plugins/MacAU/DrumSlam/DrumSlam.h | 3 +- .../DrumSlam.xcodeproj/christopherjohnson.pbxuser | 71 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/DubCenter/DubCenter.cpp | 26 +- .../DubCenter.xcodeproj/christopherjohnson.pbxuser | 32 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/DubSub/DubSub.cpp | 19 +- .../DubSub.xcodeproj/christopherjohnson.pbxuser | 36 +- .../christopherjohnson.perspectivev3 | 36 +- plugins/MacAU/DustBunny/DustBunny.cpp | 8 +- plugins/MacAU/DustBunny/DustBunny.h | 2 +- .../DustBunny.xcodeproj/christopherjohnson.pbxuser | 26 +- .../christopherjohnson.perspectivev3 | 31 +- plugins/MacAU/EQ/EQ.cpp | 28 +- plugins/MacAU/EQ/EQ.h | 4 +- .../EQ/EQ.xcodeproj/christopherjohnson.pbxuser | 16 +- .../EQ.xcodeproj/christopherjohnson.perspectivev3 | 27 +- plugins/MacAU/EdIsDim/EdIsDim.cpp | 38 +- plugins/MacAU/EdIsDim/EdIsDim.h | 7 +- .../EdIsDim.xcodeproj/christopherjohnson.pbxuser | 46 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/ElectroHat/ElectroHat.cpp | 25 +- plugins/MacAU/ElectroHat/ElectroHat.h | 4 +- .../christopherjohnson.pbxuser | 60 +- .../christopherjohnson.perspectivev3 | 28 +- plugins/MacAU/Energy/Energy.cpp | 18 +- plugins/MacAU/Energy/Energy.h | 2 +- .../Energy.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 38 +- plugins/MacAU/Ensemble/Ensemble.cpp | 27 +- plugins/MacAU/Ensemble/Ensemble.h | 5 +- .../Ensemble.xcodeproj/christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/EveryTrim/EveryTrim.cpp | 40 +- plugins/MacAU/EveryTrim/EveryTrim.h | 8 +- .../EveryTrim.xcodeproj/christopherjohnson.pbxuser | 50 +- .../christopherjohnson.perspectivev3 | 37 +- plugins/MacAU/FathomFive/FathomFive.cpp | 6 + plugins/MacAU/FathomFive/FathomFive.h | 1 + .../christopherjohnson.pbxuser | 32 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Floor/Floor.cpp | 18 +- .../Floor.xcodeproj/christopherjohnson.pbxuser | 44 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/Fracture/Fracture.cpp | 28 +- plugins/MacAU/Fracture/Fracture.exp | 2 +- plugins/MacAU/Fracture/Fracture.h | 4 +- .../Fracture.xcodeproj/christopherjohnson.pbxuser | 50 +- .../christopherjohnson.perspectivev3 | 47 +- plugins/MacAU/FromTape/FromTape.cpp | 25 +- plugins/MacAU/FromTape/FromTape.h | 4 +- .../FromTape.xcodeproj/christopherjohnson.pbxuser | 49 +- .../christopherjohnson.perspectivev3 | 24 +- plugins/MacAU/Gatelinked/Gatelinked.cpp | 34 +- .../christopherjohnson.pbxuser | 28 +- .../christopherjohnson.perspectivev3 | 31 +- plugins/MacAU/Gatelope/Gatelope.cpp | 18 +- .../Gatelope.xcodeproj/christopherjohnson.pbxuser | 38 +- .../christopherjohnson.perspectivev3 | 74 +- plugins/MacAU/Golem/Golem.cpp | 45 +- plugins/MacAU/Golem/Golem.h | 7 +- .../Golem.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/GrooveWear/GrooveWear.cpp | 25 +- plugins/MacAU/GrooveWear/GrooveWear.h | 4 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 59 +- .../christopherjohnson.perspectivev3 | 41 +- .../GrooveWear.xcodeproj/project.pbxproj | 0 .../MacAU/GuitarConditioner/GuitarConditioner.cpp | 25 +- .../MacAU/GuitarConditioner/GuitarConditioner.h | 3 +- .../christopherjohnson.pbxuser | 46 +- .../christopherjohnson.perspectivev3 | 40 +- plugins/MacAU/HardVacuum/HardVacuum.cpp | 25 +- plugins/MacAU/HardVacuum/HardVacuum.h | 4 +- .../christopherjohnson.pbxuser | 30 +- .../christopherjohnson.perspectivev3 | 34 +- plugins/MacAU/HermeTrim/HermeTrim.cpp | 40 +- plugins/MacAU/HermeTrim/HermeTrim.h | 7 +- .../HermeTrim.xcodeproj/christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/Hermepass/Hermepass.cpp | 25 +- plugins/MacAU/Hermepass/Hermepass.h | 3 +- .../Hermepass.xcodeproj/christopherjohnson.pbxuser | 30 +- .../christopherjohnson.perspectivev3 | 52 +- .../christopherjohnson.pbxuser | 18 +- .../christopherjohnson.perspectivev3 | 22 +- plugins/MacAU/HighImpact/HighImpact.cpp | 28 +- plugins/MacAU/HighImpact/HighImpact.h | 4 +- .../christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Highpass/Highpass.cpp | 25 +- plugins/MacAU/Highpass/Highpass.h | 3 +- .../Highpass.xcodeproj/christopherjohnson.pbxuser | 30 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Hombre/Hombre.cpp | 31 +- plugins/MacAU/Hombre/Hombre.h | 4 +- .../Hombre.xcodeproj/christopherjohnson.pbxuser | 24 +- .../christopherjohnson.perspectivev3 | 27 +- plugins/MacAU/IronOxide5/IronOxide5.cpp | 30 +- plugins/MacAU/IronOxide5/IronOxide5.h | 7 +- .../christopherjohnson.pbxuser | 28 +- .../christopherjohnson.perspectivev3 | 31 +- .../MacAU/IronOxideClassic/IronOxideClassic.cpp | 27 +- plugins/MacAU/IronOxideClassic/IronOxideClassic.h | 3 +- .../christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Logical4/Logical4.cpp | 47 +- plugins/MacAU/Logical4/Logical4.h | 6 +- .../Logical4.xcodeproj/christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 33 +- plugins/MacAU/Loud/Loud.cpp | 25 +- plugins/MacAU/Loud/Loud.h | 4 +- .../Loud/Loud.xcodeproj/christopherjohnson.pbxuser | 44 +- .../christopherjohnson.perspectivev3 | 29 +- plugins/MacAU/Lowpass/Lowpass.cpp | 25 +- plugins/MacAU/Lowpass/Lowpass.h | 3 +- .../Lowpass.xcodeproj/christopherjohnson.pbxuser | 24 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/Melt/Melt.cpp | 28 +- plugins/MacAU/Melt/Melt.h | 4 +- .../Melt/Melt.xcodeproj/christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/MidSide/MidSide.cpp | 40 +- plugins/MacAU/MidSide/MidSide.h | 7 +- .../MidSide.xcodeproj/christopherjohnson.pbxuser | 44 +- .../christopherjohnson.perspectivev3 | 39 +- plugins/MacAU/NCSeventeen/NCSeventeen.cpp | 29 +- plugins/MacAU/NCSeventeen/NCSeventeen.h | 4 +- .../christopherjohnson.pbxuser | 30 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/Noise/Noise.cpp | 30 +- plugins/MacAU/Noise/Noise.h | 4 +- .../Noise.xcodeproj/christopherjohnson.pbxuser | 20 +- .../christopherjohnson.perspectivev3 | 26 +- plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp | 37 +- plugins/MacAU/NonlinearSpace/NonlinearSpace.h | 8 +- .../christopherjohnson.pbxuser | 32 +- .../christopherjohnson.perspectivev3 | 39 +- .../christopherjohnson.pbxuser | 65 +- .../christopherjohnson.perspectivev3 | 26 +- .../christopherjohnson.pbxuser | 56 +- .../christopherjohnson.perspectivev3 | 30 +- plugins/MacAU/OneCornerClip/OneCornerClip.cpp | 27 +- plugins/MacAU/OneCornerClip/OneCornerClip.h | 4 +- .../christopherjohnson.pbxuser | 34 +- .../christopherjohnson.perspectivev3 | 37 +- plugins/MacAU/PDBuss/PDBuss.cpp | 26 +- plugins/MacAU/PDBuss/PDBuss.h | 4 +- .../PDBuss.xcodeproj/christopherjohnson.pbxuser | 54 +- .../christopherjohnson.perspectivev3 | 44 +- plugins/MacAU/PDChannel/PDChannel.cpp | 28 +- plugins/MacAU/PDChannel/PDChannel.h | 4 +- .../PDChannel.xcodeproj/christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 40 +- .../christopherjohnson.pbxuser | 38 +- .../christopherjohnson.perspectivev3 | 29 +- plugins/MacAU/PhaseNudge/PhaseNudge.cpp | 28 +- plugins/MacAU/PhaseNudge/PhaseNudge.exp | 2 +- plugins/MacAU/PhaseNudge/PhaseNudge.h | 4 +- .../christopherjohnson.pbxuser | 28 +- .../christopherjohnson.perspectivev3 | 29 +- plugins/MacAU/Point/Poynt.cpp | 27 +- plugins/MacAU/Point/Poynt.h | 3 +- .../Poynt.xcodeproj/christopherjohnson.pbxuser | 20 +- .../christopherjohnson.perspectivev3 | 25 +- plugins/MacAU/Pop/Pop.cpp | 21 +- .../Pop/Pop.xcodeproj/christopherjohnson.pbxuser | 57 +- .../Pop.xcodeproj/christopherjohnson.perspectivev3 | 36 +- plugins/MacAU/PowerSag/PowerSag.cpp | 28 +- plugins/MacAU/PowerSag/PowerSag.h | 5 +- .../PowerSag.xcodeproj/christopherjohnson.pbxuser | 44 +- .../christopherjohnson.perspectivev3 | 35 +- plugins/MacAU/Pressure4/Pressure4.cpp | 38 +- plugins/MacAU/Pressure4/Pressure4.h | 6 +- .../Pressure4.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 40 +- plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp | 26 +- plugins/MacAU/Pressure4Mono/Pressure4Mono.h | 3 +- .../christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 49 +- .../MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp | 28 +- .../MacAU/PurestConsoleBuss/PurestConsoleBuss.h | 4 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 77 +- .../christopherjohnson.perspectivev3 | 92 +- .../PurestConsoleBuss.xcodeproj/project.pbxproj | 0 .../PurestConsoleChannel/PurestConsoleChannel.cpp | 28 +- .../PurestConsoleChannel/PurestConsoleChannel.h | 4 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 57 +- .../christopherjohnson.perspectivev3 | 42 +- .../PurestConsoleChannel.xcodeproj/project.pbxproj | 0 plugins/MacAU/PurestDrive/PurestDrive.cpp | 25 +- plugins/MacAU/PurestDrive/PurestDrive.h | 4 +- ...ook-Pro-2's conflicted copy 2015-05-07).mode1v3 | 0 ...ook-Pro-2's conflicted copy 2015-05-07).pbxuser | 0 .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 79 +- .../PurestDrive.xcodeproj/project.pbxproj | 0 plugins/MacAU/PurestEcho/PurestEcho.cpp | 28 +- plugins/MacAU/PurestEcho/PurestEcho.h | 4 +- .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 40 +- plugins/MacAU/PurestGain/PurestGain.cpp | 42 +- plugins/MacAU/PurestGain/PurestGain.h | 5 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 48 +- .../PurestGain.xcodeproj/project.pbxproj | 0 plugins/MacAU/PurestWarm/PurestWarm.cpp | 59 +- plugins/MacAU/PurestWarm/PurestWarm.h | 4 +- .../christopherjohnson.pbxuser | 85 +- .../christopherjohnson.perspectivev3 | 86 +- plugins/MacAU/Pyewacket/Pyewacket.cpp | 37 +- plugins/MacAU/Pyewacket/Pyewacket.h | 7 +- .../Pyewacket.xcodeproj/christopherjohnson.pbxuser | 53 +- .../christopherjohnson.perspectivev3 | 54 +- plugins/MacAU/PyewacketMono/PyewacketMono.cpp | 23 +- plugins/MacAU/PyewacketMono/PyewacketMono.h | 4 +- .../christopherjohnson.pbxuser | 54 +- .../christopherjohnson.perspectivev3 | 49 +- plugins/MacAU/Righteous4/Righteous4.cpp | 18 +- .../christopherjohnson.pbxuser | 69 +- .../christopherjohnson.perspectivev3 | 24 +- plugins/MacAU/SideDull/SideDull.cpp | 41 +- plugins/MacAU/SideDull/SideDull.h | 7 +- .../SideDull.xcodeproj/christopherjohnson.pbxuser | 70 +- .../christopherjohnson.perspectivev3 | 53 +- plugins/MacAU/Sidepass/Sidepass.cpp | 43 +- plugins/MacAU/Sidepass/Sidepass.h | 7 +- .../Sidepass.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 48 +- .../MacAU/SingleEndedTriode/SingleEndedTriode.cpp | 18 +- .../christopherjohnson.pbxuser | 69 +- .../christopherjohnson.perspectivev3 | 57 +- plugins/MacAU/Slew/Slew.cpp | 7 + plugins/MacAU/Slew/Slew.exp | 2 +- plugins/MacAU/Slew/Slew.h | 25 +- .../Slew/Slew.xcodeproj/christopherjohnson.pbxuser | 76 +- .../christopherjohnson.perspectivev3 | 48 +- plugins/MacAU/Slew2/Slew2.cpp | 8 +- plugins/MacAU/Slew2/Slew2.h | 2 +- .../Slew2.xcodeproj/christopherjohnson.pbxuser | 55 +- .../christopherjohnson.perspectivev3 | 56 +- plugins/MacAU/SlewOnly/SlewOnly.cpp | 8 + plugins/MacAU/SlewOnly/SlewOnly.exp | 2 +- plugins/MacAU/SlewOnly/SlewOnly.h | 1 + .../SlewOnly.xcodeproj/christopherjohnson.pbxuser | 83 +- .../christopherjohnson.perspectivev3 | 53 +- plugins/MacAU/Spiral/Spiral.cpp | 18 +- .../Spiral.xcodeproj/christopherjohnson.pbxuser | 75 +- .../christopherjohnson.perspectivev3 | 52 +- plugins/MacAU/Spiral2/Spiral2.cpp | 18 +- .../Spiral2.xcodeproj/christopherjohnson.pbxuser | 74 +- .../christopherjohnson.perspectivev3 | 36 +- plugins/MacAU/StarChild/StarChild.cpp | 44 +- plugins/MacAU/StarChild/StarChild.h | 13 +- .../StarChild.xcodeproj/christopherjohnson.pbxuser | 59 +- .../christopherjohnson.perspectivev3 | 52 +- plugins/MacAU/StereoFX/StereoFX.cpp | 39 +- plugins/MacAU/StereoFX/StereoFX.h | 6 +- .../StereoFX.xcodeproj/christopherjohnson.pbxuser | 53 +- .../christopherjohnson.perspectivev3 | 56 +- plugins/MacAU/SubsOnly/SubsOnly.cpp | 9 + plugins/MacAU/SubsOnly/SubsOnly.exp | 2 +- plugins/MacAU/SubsOnly/SubsOnly.h | 1 + .../SubsOnly.xcodeproj/christopherjohnson.pbxuser | 61 +- .../christopherjohnson.perspectivev3 | 55 +- plugins/MacAU/Surge/Surge.cpp | 40 +- plugins/MacAU/Surge/Surge.h | 7 +- .../Surge.xcodeproj/christopherjohnson.pbxuser | 55 +- .../christopherjohnson.perspectivev3 | 56 +- plugins/MacAU/SurgeMono/SurgeMono.cpp | 29 +- plugins/MacAU/SurgeMono/SurgeMono.h | 4 +- .../SurgeMono.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 41 +- plugins/MacAU/SurgeTide/SurgeTide.cpp | 42 +- plugins/MacAU/SurgeTide/SurgeTide.h | 7 +- .../SurgeTide.xcodeproj/christopherjohnson.pbxuser | 84 +- .../christopherjohnson.perspectivev3 | 46 +- plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp | 29 +- plugins/MacAU/SurgeTideMono/SurgeTideMono.h | 4 +- .../christopherjohnson.pbxuser | 66 +- .../christopherjohnson.perspectivev3 | 53 +- plugins/MacAU/Swell/Swell.cpp | 28 +- plugins/MacAU/Swell/Swell.h | 5 +- .../Swell.xcodeproj/christopherjohnson.pbxuser | 67 +- .../christopherjohnson.perspectivev3 | 51 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 0 .../christopherjohnson.perspectivev3 | 0 .../TPDFDither.xcodeproj/project.pbxproj | 0 plugins/MacAU/TapeDelay/TapeDelay.cpp | 18 +- .../TapeDelay.xcodeproj/christopherjohnson.pbxuser | 69 +- .../christopherjohnson.perspectivev3 | 36 +- .../christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 30 +- plugins/MacAU/TapeDust/TapeDust.cpp | 27 +- plugins/MacAU/TapeDust/TapeDust.h | 3 +- .../TapeDust.xcodeproj/christopherjohnson.pbxuser | 66 +- .../christopherjohnson.perspectivev3 | 59 +- plugins/MacAU/TapeFat/TapeFat.cpp | 18 +- .../TapeFat.xcodeproj/christopherjohnson.pbxuser | 80 +- .../christopherjohnson.perspectivev3 | 49 +- plugins/MacAU/Thunder/Thunder.cpp | 39 +- plugins/MacAU/Thunder/Thunder.h | 6 +- .../Thunder.xcodeproj/christopherjohnson.pbxuser | 77 +- .../christopherjohnson.perspectivev3 | 54 +- plugins/MacAU/ToTape5/ToTape5.cpp | 30 +- plugins/MacAU/ToTape5/ToTape5.h | 5 +- .../ToTape5.xcodeproj/christopherjohnson.pbxuser | 63 +- .../christopherjohnson.perspectivev3 | 50 +- plugins/MacAU/ToVinyl4/ToVinyl4.cpp | 40 +- plugins/MacAU/ToVinyl4/ToVinyl4.h | 9 +- .../ToVinyl4.xcodeproj/christopherjohnson.pbxuser | 53 +- .../christopherjohnson.perspectivev3 | 46 +- plugins/MacAU/ToneSlant/ToneSlant.cpp | 26 +- plugins/MacAU/ToneSlant/ToneSlant.h | 4 +- .../ToneSlant.xcodeproj/christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 49 +- plugins/MacAU/TransDesk/TransDesk.cpp | 27 +- plugins/MacAU/TransDesk/TransDesk.h | 4 +- .../TransDesk.xcodeproj/christopherjohnson.pbxuser | 54 +- .../christopherjohnson.perspectivev3 | 49 +- plugins/MacAU/Tremolo/Tremolo.cpp | 27 +- plugins/MacAU/Tremolo/Tremolo.h | 5 +- .../Tremolo.xcodeproj/christopherjohnson.pbxuser | 53 +- .../christopherjohnson.perspectivev3 | 52 +- plugins/MacAU/TubeDesk/TubeDesk.cpp | 26 +- plugins/MacAU/TubeDesk/TubeDesk.h | 4 +- .../TubeDesk.xcodeproj/christopherjohnson.pbxuser | 62 +- .../christopherjohnson.perspectivev3 | 47 +- plugins/MacAU/UnBox/UnBox.cpp | 20 +- .../UnBox.xcodeproj/christopherjohnson.pbxuser | 70 +- .../christopherjohnson.perspectivev3 | 52 +- plugins/MacAU/VariMu/VariMu.cpp | 13 +- .../VariMu.xcodeproj/christopherjohnson.pbxuser | 42 +- .../christopherjohnson.perspectivev3 | 53 +- .../VoiceOfTheStarship/VoiceOfTheStarship.cpp | 25 +- .../MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h | 4 +- .../christopherjohnson.mode1v3 | 0 .../christopherjohnson.pbxuser | 73 +- .../christopherjohnson.perspectivev3 | 49 +- .../VoiceOfTheStarship.xcodeproj/project.pbxproj | 0 plugins/MacAU/Wider/Wider.cpp | 39 +- plugins/MacAU/Wider/Wider.h | 7 +- .../Wider.xcodeproj/christopherjohnson.pbxuser | 73 +- .../christopherjohnson.perspectivev3 | 46 +- plugins/MacAU/uLawDecode/uLawDecode.cpp | 18 +- .../christopherjohnson.pbxuser | 61 +- .../christopherjohnson.perspectivev3 | 48 +- plugins/MacAU/uLawEncode/uLawEncode.cpp | 18 +- .../christopherjohnson.pbxuser | 64 +- .../christopherjohnson.perspectivev3 | 57 +- 529 files changed, 11437 insertions(+), 8692 deletions(-) mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.cpp mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.h mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.cpp create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.exp create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.h create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.r create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/DitherFloat/DitherFloatVersion.h create mode 100755 plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/DitherFloat/Info.plist create mode 100755 plugins/MacAU/DitherFloat/version.plist mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.cpp mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.h mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/PurestDrive/PurestDrive.cpp mode change 100644 => 100755 plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3 mode change 100644 => 100755 plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser mode change 100644 => 100755 plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/PurestGain/PurestGain.cpp mode change 100644 => 100755 plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj mode change 100644 => 100755 plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3 mode change 100644 => 100755 plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser mode change 100644 => 100755 plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 mode change 100644 => 100755 plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj (limited to 'plugins/MacAU') diff --git a/plugins/MacAU/ADClip7/ADClip7.cpp b/plugins/MacAU/ADClip7/ADClip7.cpp index 688c254..4835b0f 100755 --- a/plugins/MacAU/ADClip7/ADClip7.cpp +++ b/plugins/MacAU/ADClip7/ADClip7.cpp @@ -205,9 +205,7 @@ void ADClip7::ADClip7Kernel::Reset() refclip = 0.99; iirLowsA = 0.0; iirLowsB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -225,7 +223,6 @@ void ADClip7::ADClip7Kernel::Process( const Float32 *inSourceP, Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; Float64 fpOld = 0.618033988749894848204586; //golden ratio! Float64 fpNew = 1.0 - fpOld; @@ -479,19 +476,11 @@ void ADClip7::ADClip7Kernel::Process( const Float32 *inSourceP, if (inputSample < -refclip) inputSample = -refclip; //final iron bar - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/ADClip7/ADClip7.h b/plugins/MacAU/ADClip7/ADClip7.h index 5388f80..215cc2c 100755 --- a/plugins/MacAU/ADClip7/ADClip7.h +++ b/plugins/MacAU/ADClip7/ADClip7.h @@ -148,9 +148,7 @@ public: Float64 iirLowsA; Float64 iirLowsB; long double refclip; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser index 6d857bb..941868c 100755 --- a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser @@ -49,55 +49,45 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538004990; - PBXWorkspaceStateSaveDate = 538004990; + PBXPerProjectTemplateStateSaveDate = 569587824; + PBXWorkspaceStateSaveDate = 569587824; }; perUserProjectItems = { - 8B79CD0220114E0500E8A187 /* PBXTextBookmark */ = 8B79CD0220114E0500E8A187 /* PBXTextBookmark */; - 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */ = 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */; - 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */ = 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */; + 8B79272821F33919006E9731 /* PBXTextBookmark */ = 8B79272821F33919006E9731 /* PBXTextBookmark */; + 8B79273321F33979006E9731 /* PBXTextBookmark */ = 8B79273321F33979006E9731 /* PBXTextBookmark */; 8BAC117C1F8245C00066CBCE /* PlistBookmark */ = 8BAC117C1F8245C00066CBCE /* PlistBookmark */; + 8BBB330321C4563C00825986 /* PBXTextBookmark */ = 8BBB330321C4563C00825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B79CD0220114E0500E8A187 /* PBXTextBookmark */ = { + 8B79272821F33919006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */; - name = "ADClip7.h: 58"; - rLen = 0; - rLoc = 2914; - rType = 0; - vrLen = 231; - vrLoc = 2754; - }; - 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */; - name = "ADClip7.h: 58"; - rLen = 0; - rLoc = 2914; + fRef = 8BA05A660720730100365D66 /* ADClip7.cpp */; + name = "ADClip7.cpp: 205"; + rLen = 7; + rLoc = 9006; rType = 0; - vrLen = 253; - vrLoc = 2732; + vrLen = 261; + vrLoc = 9866; }; - 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */ = { + 8B79273321F33979006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ADClip7.cpp */; name = "ADClip7.cpp: 205"; rLen = 7; rLoc = 9006; rType = 0; - vrLen = 372; - vrLoc = 9703; + vrLen = 215; + vrLoc = 9864; }; 8BA05A660720730100365D66 /* ADClip7.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {980, 7163}}"; - sepNavSelRange = "{18297, 0}"; - sepNavVisRange = "{17647, 1478}"; - sepNavWindowFrame = "{{335, 43}, {1027, 835}}"; + sepNavIntBoundsRect = "{{0, 0}, {572, 6513}}"; + sepNavSelRange = "{9006, 7}"; + sepNavVisRange = "{9864, 215}"; + sepNavWindowFrame = "{{327, 43}, {1027, 835}}"; }; }; 8BA05A690720730100365D66 /* ADClip7Version.h */ = { @@ -120,12 +110,22 @@ rLen = 0; rLoc = 9223372036854775808; }; + 8BBB330321C4563C00825986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */; + name = "ADClip7.h: 58"; + rLen = 0; + rLoc = 2914; + rType = 0; + vrLen = 229; + vrLoc = 2756; + }; 8BC6025B073B072D006C4272 /* ADClip7.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 2197}}"; - sepNavSelRange = "{2914, 0}"; - sepNavVisRange = "{2754, 231}"; - sepNavWindowFrame = "{{859, 43}, {1027, 835}}"; + sepNavIntBoundsRect = "{{0, 0}, {980, 2132}}"; + sepNavSelRange = "{5842, 0}"; + sepNavVisRange = "{4309, 1634}"; + sepNavWindowFrame = "{{413, 43}, {1027, 835}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3 index 7b3b431..186a188 100755 --- a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 599 170 841 654 0 0 1440 878 + 391 159 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - ADClip7.h + ADClip7.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,16 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - ADClip7.h + ADClip7.cpp _historyCapacity 0 bookmark - 8B79CD0220114E0500E8A187 + 8B79273321F33979006E9731 history 8BAC117C1F8245C00066CBCE - 8B80DAAF1F83179100B72A72 - 8B7B31211F8EA92200DC6305 + 8BBB330321C4563C00825986 + 8B79272821F33919006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 126}} + {{0, 0}, {531, 92}} RubberWindowFrame - 599 170 841 654 0 0 1440 878 + 391 159 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 126pt + 92pt Proportion - 482pt + 516pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 455}} - RubberWindowFrame - 599 170 841 654 0 0 1440 878 + {{10, 27}, {531, 489}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} + {{10, 27}, {531, 489}} + RubberWindowFrame + 391 159 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8B79CD0320114E0500E8A187 + 8B79273421F33979006E9731 1CA23ED40692098700951B8B - 8B79CD0420114E0500E8A187 + 8B79273521F33979006E9731 8BD7274A1D46E5A5000176F0 - 8B79CD0520114E0500E8A187 + 8B79273621F33979006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 538004997.98427904 + 569588089.57457805 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,10 +674,11 @@ 5 WindowOrderList + 8B79273721F33979006E9731 /Users/christopherjohnson/Desktop/MacAU/ADClip7/ADClip7.xcodeproj WindowString - 599 170 841 654 0 0 1440 878 + 391 159 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ADT/ADT.cpp b/plugins/MacAU/ADT/ADT.cpp index b12c056..098adaa 100755 --- a/plugins/MacAU/ADT/ADT.cpp +++ b/plugins/MacAU/ADT/ADT.cpp @@ -317,23 +317,15 @@ void ADT::ADTKernel::Process( const Float32 *inSourceP, if (output < 1.0) inputSample *= output; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser index 2f05153..3d176d1 100755 --- a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser @@ -49,12 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561258474; - PBXWorkspaceStateSaveDate = 561258474; + PBXPerProjectTemplateStateSaveDate = 569588119; + PBXWorkspaceStateSaveDate = 569588119; }; perUserProjectItems = { 8B15DB8E21742E37007AD769 /* PlistBookmark */ = 8B15DB8E21742E37007AD769 /* PlistBookmark */; - 8BE627BC215F0C7700E4E476 /* PlistBookmark */ = 8BE627BC215F0C7700E4E476 /* PlistBookmark */; + 8B79275021F339F0006E9731 /* PlistBookmark */ = 8B79275021F339F0006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -72,12 +72,24 @@ rLen = 0; rLoc = 0; }; + 8B79275021F339F0006E9731 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/MacAU/ADT/Info.plist; + rLen = 0; + rLoc = 0; + }; 8BA05A660720730100365D66 /* ADT.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {719, 4563}}"; - sepNavSelRange = "{14352, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{701, 68}, {890, 810}}"; + sepNavIntBoundsRect = "{{0, 0}, {843, 4654}}"; + sepNavSelRange = "{13854, 0}"; + sepNavVisRange = "{12187, 1670}"; + sepNavWindowFrame = "{{396, 68}, {890, 810}}"; }; }; 8BA05A690720730100365D66 /* ADTVersion.h */ = { @@ -92,8 +104,8 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}"; sepNavSelRange = "{5711, 0}"; - sepNavVisRange = "{2516, 1388}"; - sepNavWindowFrame = "{{712, 68}, {890, 810}}"; + sepNavVisRange = "{4340, 1557}"; + sepNavWindowFrame = "{{550, 68}, {890, 810}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { @@ -110,18 +122,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BE627BC215F0C7700E4E476 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/ADT/Info.plist; - rLen = 0; - rLoc = 9223372036854775808; - }; 8D01CCC60486CAD60068D4B7 /* ADT */ = { activeExec = 0; }; diff --git a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3 index fb2f9be..4fab981 100755 --- a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 653 + 653 Perspectives @@ -324,7 +324,7 @@ 288 RubberWindowFrame - 775 349 653 504 0 0 1440 878 + 597 292 653 504 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +352,10 @@ _historyCapacity 0 bookmark - 8B15DB8E21742E37007AD769 + 8B79275021F339F0006E9731 history - 8BE627BC215F0C7700E4E476 + 8B15DB8E21742E37007AD769 SplitCount @@ -371,7 +371,7 @@ Frame {{0, 0}, {343, 0}} RubberWindowFrame - 775 349 653 504 0 0 1440 878 + 597 292 653 504 0 0 1440 878 Module PBXNavigatorGroup @@ -395,8 +395,6 @@ Frame {{10, 27}, {343, 431}} - RubberWindowFrame - 775 349 653 504 0 0 1440 878 Module XCDetailModule @@ -450,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {343, 431}} + RubberWindowFrame + 597 292 653 504 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +478,11 @@ TableOfContents - 8B15DB7F21741FEB007AD769 + 8B79274221F339AE006E9731 1CA23ED40692098700951B8B - 8B15DB8021741FEB007AD769 + 8B79274321F339AE006E9731 8BD7274A1D46E5A5000176F0 - 8B15DB8121741FEB007AD769 + 8B79274421F339AE006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -655,7 +655,7 @@ StatusbarIsVisible TimeStamp - 561262135.87675905 + 569588208.91309297 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,7 +675,7 @@ /Users/christopherjohnson/Desktop/MacAU/ADT/ADT.xcodeproj WindowString - 775 349 653 504 0 0 1440 878 + 597 292 653 504 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp index 9fbaade..8d93557 100755 --- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp +++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp @@ -181,10 +181,7 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Reset() iirSampleC = 0.0; iirSampleD = 0.0; flip = false; - demotimer = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -227,9 +224,6 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP Float64 outputSample; bool clipOnset; Float64 drySample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -430,21 +424,7 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP inputSample += (((lastOutSample + lastOut2Sample + lastOut3Sample) / 3.6)*lpDepth); } if (lpDepth < 0.0) lpDepth = 0.0; - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output, hasn't been applied yet - + inputSample *= (1.0-maxRecent); inputSample += (passThrough * maxRecent); //there's our raw signal, without antialiasing. Brings up low level stuff and softens more when hot @@ -453,6 +433,11 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP if (inputSample < -cliplevel) inputSample = -cliplevel; //final iron bar + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h index ef284bd..5cb485a 100755 --- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h +++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h @@ -158,11 +158,7 @@ public: Float64 iirSampleC; Float64 iirSampleD; bool flip; - int demotimer; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser index f98240c..ec97115 100755 --- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser @@ -49,29 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421130; - PBXWorkspaceStateSaveDate = 528421130; + PBXPerProjectTemplateStateSaveDate = 569588500; + PBXWorkspaceStateSaveDate = 569588500; }; perUserProjectItems = { - 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */ = 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */; - 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */ = 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */; + 8B79277E21F33BC7006E9731 /* PBXTextBookmark */ = 8B79277E21F33BC7006E9731 /* PBXTextBookmark */; 8B9D72B61F7F1114007AB60F /* PBXTextBookmark */ = 8B9D72B61F7F1114007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* AQuickVoiceClip.cpp */; - name = "AQuickVoiceClip.cpp: 420"; - rLen = 0; - rLoc = 16700; - rType = 0; - vrLen = 137; - vrLoc = 14995; - }; - 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */ = { + 8B79277E21F33BC7006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* AQuickVoiceClipVersion.h */; name = "AQuickVoiceClipVersion.h: 54"; @@ -93,9 +82,9 @@ }; 8BA05A660720730100365D66 /* AQuickVoiceClip.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1468, 5785}}"; - sepNavSelRange = "{11331, 0}"; - sepNavVisRange = "{9752, 2750}"; + sepNavIntBoundsRect = "{{0, 0}, {1104, 6604}}"; + sepNavSelRange = "{16734, 0}"; + sepNavVisRange = "{15329, 1491}"; sepNavWindowFrame = "{{175, 59}, {1151, 803}}"; }; }; @@ -109,9 +98,9 @@ }; 8BC6025B073B072D006C4272 /* AQuickVoiceClip.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1104, 2236}}"; - sepNavSelRange = "{5418, 0}"; - sepNavVisRange = "{1999, 1702}"; + sepNavIntBoundsRect = "{{0, 0}, {1104, 2392}}"; + sepNavSelRange = "{5940, 0}"; + sepNavVisRange = "{4794, 1256}"; sepNavWindowFrame = "{{16, 57}, {1151, 803}}"; }; }; diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3 index 278e871..e2f0f99 100755 --- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -352,11 +350,10 @@ _historyCapacity 0 bookmark - 8B9D72B61F7F1114007AB60F + 8B79277E21F33BC7006E9731 history - 8B65E4DA1EFF50F700DF9573 - 8B9D72231F7EFB95007AB60F + 8B9D72B61F7F1114007AB60F SplitCount @@ -370,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {567, 13}} + {{0, 0}, {567, 0}} RubberWindowFrame 218 365 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 0pt Proportion - 428pt + 441pt Tabs @@ -395,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {567, 401}} - RubberWindowFrame - 218 365 810 487 0 0 1440 878 + {{10, 27}, {567, 414}} Module XCDetailModule @@ -451,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {567, 414}} + RubberWindowFrame + 218 365 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +476,11 @@ TableOfContents - 8B9D72B71F7F1114007AB60F + 8B79277F21F33BC7006E9731 1CA23ED40692098700951B8B - 8B9D72B81F7F1114007AB60F + 8B79278021F33BC7006E9731 8B81AD171E85459D00889355 - 8B9D72B91F7F1114007AB60F + 8B79278121F33BC7006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528421140.86927599 + 569588679.18826604 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,7 +650,6 @@ 5 WindowOrderList - 8B9D72BA1F7F1114007AB60F /Users/christopherjohnson/Desktop/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj WindowString diff --git a/plugins/MacAU/Acceleration/Acceleration.cpp b/plugins/MacAU/Acceleration/Acceleration.cpp old mode 100644 new mode 100755 index d389d62..3fe259b --- a/plugins/MacAU/Acceleration/Acceleration.cpp +++ b/plugins/MacAU/Acceleration/Acceleration.cpp @@ -170,9 +170,7 @@ void Acceleration::AccelerationKernel::Reset() s1L = s2L = s3L = 0.0; o1L = o2L = o3L = 0.0; m1L = m2L = desL = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -190,9 +188,6 @@ void Acceleration::AccelerationKernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 intensity = pow(GetParameter( kParam_One ),3)*(32/overallscale); Float64 wet = GetParameter( kParam_Two ); @@ -262,19 +257,11 @@ void Acceleration::AccelerationKernel::Process( const Float32 *inSourceP, } //Dry/Wet control, defaults to the last slider - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Acceleration/Acceleration.h b/plugins/MacAU/Acceleration/Acceleration.h old mode 100644 new mode 100755 index 57d3b4b..ba5bfd4 --- a/plugins/MacAU/Acceleration/Acceleration.h +++ b/plugins/MacAU/Acceleration/Acceleration.h @@ -138,9 +138,7 @@ public: Float64 m1L; Float64 m2L; Float64 desL; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index f49c30b..0c19d54 --- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser @@ -49,28 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538705190; - PBXWorkspaceStateSaveDate = 538705190; + PBXPerProjectTemplateStateSaveDate = 569587589; + PBXWorkspaceStateSaveDate = 569587589; }; perUserProjectItems = { - 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */ = 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */; 8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */ = 8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */; - 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */ = 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */; + 8B79271221F3383E006E9731 /* PBXTextBookmark */ = 8B79271221F3383E006E9731 /* PBXTextBookmark */; + 8B79271721F3384E006E9731 /* PBXTextBookmark */ = 8B79271721F3384E006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */; - name = "Acceleration.cpp: 239"; - rLen = 0; - rLoc = 10522; - rType = 0; - vrLen = 447; - vrLoc = 10210; - }; 8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -83,22 +73,32 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */ = { + 8B79271221F3383E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */; + name = "Acceleration.cpp: 234"; + rLen = 0; + rLoc = 10370; + rType = 0; + vrLen = 269; + vrLoc = 10290; + }; + 8B79271721F3384E006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */; - name = "Acceleration.cpp: 239"; + name = "Acceleration.cpp: 234"; rLen = 0; - rLoc = 10522; + rLoc = 10370; rType = 0; - vrLen = 488; - vrLoc = 10210; + vrLen = 269; + vrLoc = 10290; }; 8BA05A660720730100365D66 /* Acceleration.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 3718}}"; - sepNavSelRange = "{10522, 0}"; - sepNavVisRange = "{10210, 447}"; - sepNavWindowFrame = "{{537, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {684, 3666}}"; + sepNavSelRange = "{10370, 0}"; + sepNavVisRange = "{10290, 269}"; + sepNavWindowFrame = "{{378, 39}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* AccelerationVersion.h */ = { @@ -111,10 +111,10 @@ }; 8BC6025B073B072D006C4272 /* Acceleration.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1950}}"; - sepNavSelRange = "{5229, 159}"; - sepNavVisRange = "{1351, 2063}"; - sepNavWindowFrame = "{{642, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; + sepNavSelRange = "{5413, 0}"; + sepNavVisRange = "{3998, 1517}"; + sepNavWindowFrame = "{{545, 39}, {895, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index 2851941..f284420 --- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 583 224 841 654 0 0 1440 878 + 354 224 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,11 +352,11 @@ _historyCapacity 0 bookmark - 8B4E5812201C02EE00B5DC2A + 8B79271721F3384E006E9731 history 8B6FC0BF20114A1C003CA5F7 - 8B79CCF320114DBD00E8A187 + 8B79271221F3383E006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 188}} RubberWindowFrame - 583 224 841 654 0 0 1440 878 + 354 224 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 188pt Proportion - 406pt + 420pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 583 224 841 654 0 0 1440 878 + {{10, 27}, {531, 393}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 393}} + RubberWindowFrame + 354 224 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B4E5813201C02EE00B5DC2A + 8B79271821F3384E006E9731 1CA23ED40692098700951B8B - 8B4E5814201C02EE00B5DC2A + 8B79271921F3384E006E9731 8BD7274A1D46E5A5000176F0 - 8B4E5815201C02EE00B5DC2A + 8B79271A21F3384E006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 538706670.20774806 + 569587790.455778 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +673,10 @@ 5 WindowOrderList - 8B4E5816201C02EE00B5DC2A /Users/christopherjohnson/Desktop/MacAU/Acceleration/Acceleration.xcodeproj WindowString - 583 224 841 654 0 0 1440 878 + 354 224 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/Air/Air.cpp b/plugins/MacAU/Air/Air.cpp index 716f907..7ba3efe 100755 --- a/plugins/MacAU/Air/Air.cpp +++ b/plugins/MacAU/Air/Air.cpp @@ -222,11 +222,7 @@ void Air::AirKernel::Reset() tripletC = 0.0; tripletFactor = 0.0; count = 1; - - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; - + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -254,11 +250,6 @@ void Air::AirKernel::Process( const Float32 *inSourceP, Float64 wet = GetParameter( kParam_Six ); Float64 dry = 1.0-wet; - - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - Float32 fpTemp; - long double inputSample; Float64 drySample; Float64 correction; @@ -399,19 +390,11 @@ void Air::AirKernel::Process( const Float32 *inSourceP, //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output - + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; destP += inNumChannels; diff --git a/plugins/MacAU/Air/Air.h b/plugins/MacAU/Air/Air.h index 571b8ac..6dcd06c 100755 --- a/plugins/MacAU/Air/Air.h +++ b/plugins/MacAU/Air/Air.h @@ -164,12 +164,7 @@ public: Float64 tripletC; Float64 tripletFactor; int count; - - - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; - + long double fpNShape; }; }; diff --git a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser index 2af057b..3a436a8 100755 --- a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser @@ -49,34 +49,34 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421060; - PBXWorkspaceStateSaveDate = 528421060; + PBXPerProjectTemplateStateSaveDate = 569588293; + PBXWorkspaceStateSaveDate = 569588293; }; perUserProjectItems = { - 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */ = 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */; - 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */ = 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */; + 8B79276221F33AB6006E9731 /* PBXTextBookmark */ = 8B79276221F33AB6006E9731 /* PBXTextBookmark */; + 8B79276821F33AE6006E9731 /* PBXTextBookmark */ = 8B79276821F33AE6006E9731 /* PBXTextBookmark */; 8B9F0C261EB403E000D3B900 /* PBXTextBookmark */ = 8B9F0C261EB403E000D3B900 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */ = { + 8B79276221F33AB6006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Air.cpp */; - name = "Air.cpp: 397"; + name = "Air.cpp: 394"; rLen = 0; - rLoc = 15339; + rLoc = 15189; rType = 0; - vrLen = 94; - vrLoc = 14078; + vrLen = 0; + vrLoc = 0; }; - 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */ = { + 8B79276821F33AE6006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Air.cpp */; - name = "Air.cpp: 398"; + name = "Air.cpp: 389"; rLen = 0; - rLoc = 15339; + rLoc = 15189; rType = 0; vrLen = 0; vrLoc = 0; @@ -86,17 +86,17 @@ fRef = 8BC6025B073B072D006C4272 /* Air.h */; name = "Air.h: 169"; rLen = 0; - rLoc = 6210; + rLoc = 6204; rType = 0; vrLen = 107; vrLoc = 6071; }; 8BA05A660720730100365D66 /* Air.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 5512}}"; - sepNavSelRange = "{15339, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 5421}}"; + sepNavSelRange = "{15189, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{255, 66}, {1145, 812}}"; + sepNavWindowFrame = "{{152, 66}, {1145, 812}}"; }; }; 8BA05A690720730100365D66 /* AirVersion.h */ = { @@ -109,10 +109,10 @@ }; 8BC6025B073B072D006C4272 /* Air.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 2574}}"; - sepNavSelRange = "{6210, 0}"; - sepNavVisRange = "{6071, 107}"; - sepNavWindowFrame = "{{505, 39}, {1053, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 2483}}"; + sepNavSelRange = "{6190, 0}"; + sepNavVisRange = "{5126, 1198}"; + sepNavWindowFrame = "{{387, 39}, {1053, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3 index f7348cf..c4d0cd5 100755 --- a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3 @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B9D72A71F7F10F4007AB60F + 8B79276821F33AE6006E9731 history 8B9F0C261EB403E000D3B900 - 8B9D72161F7EFB8B007AB60F + 8B79276221F33AB6006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 32}} + {{0, 0}, {603, 13}} RubberWindowFrame 484 346 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 32pt + 13pt Proportion - 409pt + 428pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 382}} - RubberWindowFrame - 484 346 810 487 0 0 1440 878 + {{10, 27}, {603, 401}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} + {{10, 27}, {603, 401}} + RubberWindowFrame + 484 346 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B9D72A81F7F10F4007AB60F + 8B79276921F33AE6006E9731 1CA23ED40692098700951B8B - 8B9D72A91F7F10F4007AB60F + 8B79276A21F33AE6006E9731 8BDB25A91EAA638A001F42B2 - 8B9D72AA1F7F10F4007AB60F + 8B79276B21F33AE6006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 528421108.41774899 + 569588454.36706197 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,7 +653,7 @@ 5 WindowOrderList - 8B9D72AB1F7F10F4007AB60F + 8B79276C21F33AE6006E9731 /Users/christopherjohnson/Desktop/MacAU/Air/Air.xcodeproj WindowString diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp index 508cd06..c68d1ee 100755 --- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp +++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp @@ -203,7 +203,6 @@ void AtmosphereBuss::AtmosphereBussKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); @@ -342,23 +341,15 @@ void AtmosphereBuss::AtmosphereBussKernel::Process( const Float32 *inSourceP, lastSampleA = drySample; //store the raw input sample again for use next time - //noise shaping to 32-bit floating point - fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for Atmosphere, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser index 6387880..d3cdc9f 100755 --- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,48 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546563283; - PBXWorkspaceStateSaveDate = 546563283; + PBXPerProjectTemplateStateSaveDate = 569588700; + PBXWorkspaceStateSaveDate = 569588700; }; perUserProjectItems = { + 8B7927A021F33C4A006E9731 /* PBXTextBookmark */ = 8B7927A021F33C4A006E9731 /* PBXTextBookmark */; + 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */ = 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */; + 8B7927A221F33C4A006E9731 /* PBXTextBookmark */ = 8B7927A221F33C4A006E9731 /* PBXTextBookmark */; 8B7A85312054728D0074B00C /* PlistBookmark */ = 8B7A85312054728D0074B00C /* PlistBookmark */; - 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */ = 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */; - 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */ = 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7927A021F33C4A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* AtmosphereBuss.h */; + name = "AtmosphereBuss.h: 130"; + rLen = 0; + rLoc = 5139; + rType = 0; + vrLen = 177; + vrLoc = 5070; + }; + 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Unused variable 'fpTemp'"; + fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 205; + rType = 1; + }; + 8B7927A221F33C4A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */; + name = "AtmosphereBuss.cpp: 206"; + rLen = 0; + rLoc = 8815; + rType = 0; + vrLen = 266; + vrLoc = 8708; + }; 8B7A85312054728D0074B00C /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -75,10 +105,10 @@ }; 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 4914}}"; - sepNavSelRange = "{13285, 0}"; - sepNavVisRange = "{13794, 273}"; - sepNavWindowFrame = "{{815, 35}, {816, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 4667}}"; + sepNavSelRange = "{8815, 0}"; + sepNavVisRange = "{8708, 266}"; + sepNavWindowFrame = "{{378, 46}, {816, 832}}"; }; }; 8BA05A690720730100365D66 /* AtmosphereBussVersion.h */ = { @@ -89,31 +119,11 @@ sepNavWindowFrame = "{{692, 46}, {816, 832}}"; }; }; - 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */; - name = "AtmosphereBuss.cpp: 321"; - rLen = 0; - rLoc = 13285; - rType = 0; - vrLen = 273; - vrLoc = 13794; - }; - 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */; - name = "AtmosphereBuss.cpp: 321"; - rLen = 0; - rLoc = 13285; - rType = 0; - vrLen = 273; - vrLoc = 13794; - }; 8BC6025B073B072D006C4272 /* AtmosphereBuss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2132}}"; + sepNavIntBoundsRect = "{{0, 0}, {810, 2483}}"; sepNavSelRange = "{5139, 0}"; - sepNavVisRange = "{1894, 1791}"; + sepNavVisRange = "{5070, 177}"; sepNavWindowFrame = "{{743, 46}, {816, 832}}"; }; }; diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3 index e3a1dec..b791cf4 100755 --- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -302,9 +300,6 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 - 2 - 1 0 @@ -326,7 +321,7 @@ 288 RubberWindowFrame - 597 180 841 654 0 0 1440 878 + 434 184 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,11 +349,12 @@ _historyCapacity 0 bookmark - 8BC5CF4B2093F4B70058B257 + 8B7927A221F33C4A006E9731 history 8B7A85312054728D0074B00C - 8BC5CF4A2093F4B70058B257 + 8B7927A021F33C4A006E9731 + 8B7927A121F33C4A006E9731 SplitCount @@ -372,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 142}} + {{0, 0}, {531, 126}} RubberWindowFrame - 597 180 841 654 0 0 1440 878 + 434 184 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 142pt + 126pt Proportion - 466pt + 482pt Tabs @@ -397,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 439}} - RubberWindowFrame - 597 180 841 654 0 0 1440 878 + {{10, 27}, {531, 455}} Module XCDetailModule @@ -453,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 455}} + RubberWindowFrame + 434 184 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +477,11 @@ TableOfContents - 8BC5CF4C2093F4B70058B257 + 8B7927A321F33C4A006E9731 1CA23ED40692098700951B8B - 8BC5CF4D2093F4B70058B257 + 8B7927A421F33C4A006E9731 8BD7274A1D46E5A5000176F0 - 8BC5CF4E2093F4B70058B257 + 8B7927A521F33C4A006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +654,7 @@ StatusbarIsVisible TimeStamp - 546567351.06036103 + 569588810.27972102 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +671,11 @@ 5 WindowOrderList - 8BC5CF4F2093F4B70058B257 + 8B7927A621F33C4A006E9731 /Users/christopherjohnson/Desktop/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj WindowString - 597 180 841 654 0 0 1440 878 + 434 184 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp index d0ca7aa..6ca9131 100755 --- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp +++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp @@ -203,7 +203,6 @@ void AtmosphereChannel::AtmosphereChannelKernel::Process( const Float32 *inSou UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); @@ -339,23 +338,15 @@ void AtmosphereChannel::AtmosphereChannelKernel::Process( const Float32 *inSou lastSampleA = drySample; //store the raw input sample again for use next time - //noise shaping to 32-bit floating point - fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser index d21e452..64fb8bb 100755 --- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546562903; - PBXWorkspaceStateSaveDate = 546562903; + PBXPerProjectTemplateStateSaveDate = 569588835; + PBXWorkspaceStateSaveDate = 569588835; }; perUserProjectItems = { 8B2BAFD320548396002C5203 /* PlistBookmark */ = 8B2BAFD320548396002C5203 /* PlistBookmark */; - 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */; - 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */; - 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */; + 8B7927B321F33C89006E9731 /* PBXTextBookmark */ = 8B7927B321F33C89006E9731 /* PBXTextBookmark */; + 8B7927B821F33C9F006E9731 /* PBXTextBookmark */ = 8B7927B821F33C9F006E9731 /* PBXTextBookmark */; + 8BFBE901209D18FF00E1438C /* PBXTextBookmark */ = 8BFBE901209D18FF00E1438C /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -74,12 +74,32 @@ rLen = 0; rLoc = 9223372036854775808; }; + 8B7927B321F33C89006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */; + name = "AtmosphereChannel.cpp: 277"; + rLen = 0; + rLoc = 11355; + rType = 0; + vrLen = 169; + vrLoc = 13693; + }; + 8B7927B821F33C9F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */; + name = "AtmosphereChannel.cpp: 277"; + rLen = 0; + rLoc = 11355; + rType = 0; + vrLen = 169; + vrLoc = 13693; + }; 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {769, 5018}}"; - sepNavSelRange = "{14355, 349}"; - sepNavVisRange = "{12684, 2023}"; - sepNavWindowFrame = "{{624, 46}, {816, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {482, 4654}}"; + sepNavSelRange = "{11355, 0}"; + sepNavVisRange = "{13693, 169}"; + sepNavWindowFrame = "{{566, 46}, {816, 832}}"; }; }; 8BA05A690720730100365D66 /* AtmosphereChannelVersion.h */ = { @@ -90,42 +110,12 @@ sepNavWindowFrame = "{{726, 46}, {816, 832}}"; }; }; - 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */; - name = "AtmosphereChannel.cpp: 277"; - rLen = 0; - rLoc = 11372; - rType = 0; - vrLen = 304; - vrLoc = 13659; - }; - 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */; - name = "AtmosphereChannel.h: 131"; - rLen = 713; - rLoc = 5181; - rType = 0; - vrLen = 187; - vrLoc = 5816; - }; - 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */; - name = "AtmosphereChannel.h: 131"; - rLen = 713; - rLoc = 5181; - rType = 0; - vrLen = 187; - vrLoc = 5816; - }; 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 2379}}"; - sepNavSelRange = "{5181, 713}"; - sepNavVisRange = "{5816, 187}"; - sepNavWindowFrame = "{{635, 25}, {816, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2132}}"; + sepNavSelRange = "{5129, 0}"; + sepNavVisRange = "{4652, 1351}"; + sepNavWindowFrame = "{{624, 39}, {816, 832}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { @@ -142,6 +132,16 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 8BFBE901209D18FF00E1438C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */; + name = "AtmosphereChannel.h: 131"; + rLen = 713; + rLoc = 5181; + rType = 0; + vrLen = 181; + vrLoc = 5816; + }; 8D01CCC60486CAD60068D4B7 /* AtmosphereChannel */ = { activeExec = 0; }; diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3 index 08b4968..f684856 100755 --- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 599 209 841 654 0 0 1440 878 + 472 198 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - AtmosphereChannel.h + AtmosphereChannel.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,16 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - AtmosphereChannel.h + AtmosphereChannel.cpp _historyCapacity 0 bookmark - 8BC5CF522093F4BA0058B257 + 8B7927B821F33C9F006E9731 history 8B2BAFD320548396002C5203 - 8BC5CF502093F4BA0058B257 - 8BC5CF512093F4BA0058B257 + 8BFBE901209D18FF00E1438C + 8B7927B321F33C89006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 158}} + {{0, 0}, {531, 92}} RubberWindowFrame - 599 209 841 654 0 0 1440 878 + 472 198 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 158pt + 92pt Proportion - 450pt + 516pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 423}} - RubberWindowFrame - 599 209 841 654 0 0 1440 878 + {{10, 27}, {531, 489}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 489}} + RubberWindowFrame + 472 198 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8BC5CF532093F4BA0058B257 + 8B7927B921F33C9F006E9731 1CA23ED40692098700951B8B - 8BC5CF542093F4BA0058B257 + 8B7927BA21F33C9F006E9731 8BD7274A1D46E5A5000176F0 - 8BC5CF552093F4BA0058B257 + 8B7927BB21F33C9F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 546567354.06319106 + 569588895.18574297 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj WindowString - 599 209 841 654 0 0 1440 878 + 472 198 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Aura/Aura.cpp b/plugins/MacAU/Aura/Aura.cpp index 93e1411..48fd283 100755 --- a/plugins/MacAU/Aura/Aura.cpp +++ b/plugins/MacAU/Aura/Aura.cpp @@ -169,9 +169,7 @@ void Aura::AuraKernel::Reset() for(int count = 0; count < 21; count++) {b[count] = 0.0; f[count] = 0.0;} lastSample = 0.0; previousVelocity = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -186,11 +184,6 @@ void Aura::AuraKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - Float64 correction; Float64 accumulatorSample; Float64 velocity; @@ -321,19 +314,11 @@ void Aura::AuraKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Aura/Aura.h b/plugins/MacAU/Aura/Aura.h index 504b1fd..56ef492 100755 --- a/plugins/MacAU/Aura/Aura.h +++ b/plugins/MacAU/Aura/Aura.h @@ -131,9 +131,7 @@ public: Float64 previousVelocity; Float64 b[21]; Float64 f[21]; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser index 8daaddf..16877c1 100755 --- a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser @@ -49,24 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546126137; - PBXWorkspaceStateSaveDate = 546126137; + PBXPerProjectTemplateStateSaveDate = 569589029; + PBXWorkspaceStateSaveDate = 569589029; }; perUserProjectItems = { + 8B7927C921F33D8C006E9731 /* PBXTextBookmark */ = 8B7927C921F33D8C006E9731 /* PBXTextBookmark */; + 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */ = 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */; 8BC5CC27208D3AE60058B257 /* PBXTextBookmark */ = 8BC5CC27208D3AE60058B257 /* PBXTextBookmark */; - 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */ = 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */; - 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */ = 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7927C921F33D8C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Aura.cpp */; + name = "Aura.cpp: 196"; + rLen = 0; + rLoc = 8658; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Aura.cpp */; + name = "Aura.cpp: 196"; + rLen = 0; + rLoc = 8658; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; 8BA05A660720730100365D66 /* Aura.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {558, 4589}}"; - sepNavSelRange = "{8813, 0}"; - sepNavVisRange = "{8966, 228}"; - sepNavWindowFrame = "{{379, 63}, {932, 815}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 4446}}"; + sepNavSelRange = "{8658, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{5, 63}, {932, 815}}"; }; }; 8BA05A670720730100365D66 /* Aura.exp */ = { @@ -89,37 +109,18 @@ isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Aura.h */; name = "Aura.h: 135"; - rLen = 65; + rLen = 24; rLoc = 5201; rType = 0; vrLen = 65; vrLoc = 5232; }; - 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */ = { - isa = PBXTextBookmark; - comments = "Unused variable 'wet'"; - fRef = 8BA05A660720730100365D66 /* Aura.cpp */; - fallbackIsa = XCBuildMessageTextBookmark; - rLen = 0; - rLoc = 202; - rType = 1; - }; - 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Aura.cpp */; - name = "Aura.cpp: 203"; - rLen = 0; - rLoc = 8813; - rType = 0; - vrLen = 228; - vrLoc = 8966; - }; 8BC6025B073B072D006C4272 /* Aura.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}"; - sepNavSelRange = "{5111, 0}"; - sepNavVisRange = "{3864, 1511}"; - sepNavWindowFrame = "{{504, 63}, {932, 815}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1794}}"; + sepNavSelRange = "{5226, 0}"; + sepNavVisRange = "{3752, 1576}"; + sepNavWindowFrame = "{{340, 63}, {932, 815}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3 index ab104e0..55525f3 100755 --- a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 623 315 810 487 0 0 1440 878 + 0 312 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8BC5CEBB208D734C0058B257 + 8B7927CE21F33D9D006E9731 history 8BC5CC27208D3AE60058B257 - 8BC5CCC3208D4FDB0058B257 + 8B7927C921F33D8C006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 13}} RubberWindowFrame - 623 315 810 487 0 0 1440 878 + 0 312 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 13pt Proportion - 372pt + 428pt Tabs @@ -395,7 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} + {{10, 27}, {603, 401}} Module XCDetailModule @@ -449,9 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} + {{10, 27}, {603, 401}} RubberWindowFrame - 623 315 810 487 0 0 1440 878 + 0 312 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8BC5CC15208D39550058B257 + 8B7927CF21F33D9D006E9731 1CA23ED40692098700951B8B - 8BC5CC16208D39550058B257 + 8B7927D021F33D9D006E9731 8B0C0F5D201157B700BC8782 - 8BC5CC17208D39550058B257 + 8B7927D121F33D9D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 546141004.69631898 + 569589149.88835204 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -656,7 +654,7 @@ /Users/christopherjohnson/Desktop/MacAU/Aura/Aura.xcodeproj WindowString - 623 315 810 487 0 0 1440 878 + 0 312 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Average/Average.cpp b/plugins/MacAU/Average/Average.cpp index 200aafa..d2ee078 100755 --- a/plugins/MacAU/Average/Average.cpp +++ b/plugins/MacAU/Average/Average.cpp @@ -170,9 +170,7 @@ void Average::AverageKernel::Reset() { register UInt32 count; for(count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;} - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -221,10 +219,6 @@ void Average::AverageKernel::Process( const Float32 *inSourceP, f[9] /= overallscale; //and now it's neatly scaled, too - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -285,19 +279,11 @@ void Average::AverageKernel::Process( const Float32 *inSourceP, //if it 'won't change anything' but our sample might be at a very different scaling //in the floating point system. - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Average/Average.h b/plugins/MacAU/Average/Average.h index a1d8e88..3ff5e3d 100755 --- a/plugins/MacAU/Average/Average.h +++ b/plugins/MacAU/Average/Average.h @@ -131,10 +131,7 @@ public: private: Float64 b[11]; Float64 f[11]; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser index 59f35a8..cf424d9 100755 --- a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557438773; - PBXWorkspaceStateSaveDate = 557438773; + PBXPerProjectTemplateStateSaveDate = 569589188; + PBXWorkspaceStateSaveDate = 569589188; }; perUserProjectItems = { + 8B7927DA21F33DD5006E9731 /* PBXBookmark */ = 8B7927DA21F33DD5006E9731 /* PBXBookmark */; + 8B7927E321F33E0C006E9731 /* PBXTextBookmark */ = 8B7927E321F33E0C006E9731 /* PBXTextBookmark */; + 8B7927E921F33E0C006E9731 /* PBXTextBookmark */ = 8B7927E921F33E0C006E9731 /* PBXTextBookmark */; 8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */ = 8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */; - 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */ = 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */; 8BFDB0072139DDE90079F90D /* PBXTextBookmark */ = 8BFDB0072139DDE90079F90D /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7927DA21F33DD5006E9731 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A660720730100365D66 /* Average.cpp */; + }; + 8B7927E321F33E0C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Average.cpp */; + name = "Average.cpp: 294"; + rLen = 0; + rLoc = 13108; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8B7927E921F33E0C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Average.cpp */; + name = "Average.cpp: 222"; + rLen = 0; + rLoc = 9886; + rType = 0; + vrLen = 2433; + vrLoc = 8388; + }; 8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Average.h */; @@ -71,22 +97,12 @@ vrLen = 248; vrLoc = 2963; }; - 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Average.cpp */; - name = "Average.cpp: 308"; - rLen = 0; - rLoc = 13372; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 8BA05A660720730100365D66 /* Average.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 4082}}"; - sepNavSelRange = "{13372, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 4004}}"; + sepNavSelRange = "{13108, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{531, 39}, {909, 838}}"; + sepNavWindowFrame = "{{360, 40}, {909, 838}}"; }; }; 8BA05A690720730100365D66 /* AverageVersion.h */ = { @@ -99,10 +115,10 @@ }; 8BC6025B073B072D006C4272 /* Average.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1200, 1872}}"; - sepNavSelRange = "{3020, 54}"; - sepNavVisRange = "{3923, 1499}"; - sepNavWindowFrame = "{{446, 61}, {1247, 817}}"; + sepNavIntBoundsRect = "{{0, 0}, {1200, 1807}}"; + sepNavSelRange = "{5274, 0}"; + sepNavVisRange = "{3744, 1632}"; + sepNavWindowFrame = "{{193, 61}, {1247, 817}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { @@ -124,7 +140,7 @@ fRef = 8BA05A660720730100365D66 /* Average.cpp */; name = "Average.cpp: 308"; rLen = 0; - rLoc = 13372; + rLoc = 13108; rType = 0; vrLen = 0; vrLoc = 0; diff --git a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3 index cd90e95..e7dddb3 100755 --- a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3 @@ -222,7 +222,48 @@ OpenEditors - + + + Content + + PBXProjectModuleGUID + 8B7927E721F33E0C006E9731 + PBXProjectModuleLabel + Average.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B7927E821F33E0C006E9731 + PBXProjectModuleLabel + Average.cpp + _historyCapacity + 0 + bookmark + 8B7927E921F33E0C006E9731 + history + + 8B7927DA21F33DD5006E9731 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {909, 741}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 360 96 909 782 0 0 1440 878 + + + PerspectiveWidths 810 @@ -256,8 +297,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +363,7 @@ 185 RubberWindowFrame - 612 196 810 487 0 0 1440 878 + 456 228 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +391,11 @@ _historyCapacity 0 bookmark - 8BFDB0072139DDE90079F90D + 8B7927E321F33E0C006E9731 history 8B7BA53D1DAD4A33007C127E - 8B9D72C51F7F1129007AB60F + 8BFDB0072139DDE90079F90D SplitCount @@ -372,7 +411,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 612 196 810 487 0 0 1440 878 + 456 228 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -396,8 +435,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 612 196 810 487 0 0 1440 878 Module XCDetailModule @@ -451,7 +488,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 456 228 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +518,11 @@ TableOfContents - 8BFDB0082139DDE90079F90D + 8B7927E421F33E0C006E9731 1CA23ED40692098700951B8B - 8BFDB0092139DDE90079F90D + 8B7927E521F33E0C006E9731 8B9E5A3F1DAAD3C800A9546F - 8BFDB00A2139DDE90079F90D + 8B7927E621F33E0C006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +675,7 @@ StatusbarIsVisible TimeStamp - 557440489.96798897 + 569589260.26626098 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +692,11 @@ 5 WindowOrderList - 8BFDB00B2139DDE90079F90D + 8B7927E721F33E0C006E9731 /Users/christopherjohnson/Desktop/MacAU/Average/Average.xcodeproj WindowString - 612 196 810 487 0 0 1440 878 + 456 228 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/BassKit/BassKit.cpp b/plugins/MacAU/BassKit/BassKit.cpp index 6663d2c..da7a49f 100755 --- a/plugins/MacAU/BassKit/BassKit.cpp +++ b/plugins/MacAU/BassKit/BassKit.cpp @@ -453,19 +453,15 @@ OSStatus BassKit::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags bflip++; if (bflip < 1 || bflip > 3) bflip = 1; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSampleL; - fpNShapeL += (inputSampleL-fpTemp); - inputSampleL += fpNShapeL; - //if this confuses you look at the wordlength for fpTemp :) - fpTemp = inputSampleR; - fpNShapeR += (inputSampleR-fpTemp); - inputSampleR += fpNShapeR; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output - + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither + *outputL = inputSampleL; *outputR = inputSampleR; //direct stereo out @@ -475,12 +471,6 @@ OSStatus BassKit::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags outputL += 1; outputR += 1; } - fpNShapeL *= 0.999999; - fpNShapeR *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. return noErr; } diff --git a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser index 44f513a..9b210d0 100755 --- a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561548993; - PBXWorkspaceStateSaveDate = 561548993; + PBXPerProjectTemplateStateSaveDate = 569589289; + PBXWorkspaceStateSaveDate = 569589289; }; perUserProjectItems = { - 8B15DC7821789307007AD769 /* PBXTextBookmark */ = 8B15DC7821789307007AD769 /* PBXTextBookmark */; - 8B15DC7921789307007AD769 /* PBXTextBookmark */ = 8B15DC7921789307007AD769 /* PBXTextBookmark */; + 8B7927F821F33F7A006E9731 /* PBXTextBookmark */ = 8B7927F821F33F7A006E9731 /* PBXTextBookmark */; + 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */ = 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B15DC7821789307007AD769 /* PBXTextBookmark */ = { + 8B7927F821F33F7A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* BassKit.cpp */; name = "BassKit.cpp: 325"; rLen = 0; rLoc = 12649; rType = 0; - vrLen = 921; + vrLen = 816; vrLoc = 14920; }; - 8B15DC7921789307007AD769 /* PBXTextBookmark */ = { + 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* BassKit.cpp */; name = "BassKit.cpp: 325"; rLen = 0; rLoc = 12649; rType = 0; - vrLen = 921; + vrLen = 816; vrLoc = 14920; }; 8BA05A660720730100365D66 /* BassKit.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {901, 5980}}"; + sepNavIntBoundsRect = "{{0, 0}, {761, 5824}}"; sepNavSelRange = "{12649, 0}"; - sepNavVisRange = "{14920, 921}"; - sepNavWindowFrame = "{{548, 68}, {890, 810}}"; + sepNavVisRange = "{14920, 816}"; + sepNavWindowFrame = "{{357, 57}, {890, 810}}"; }; }; 8BA05A690720730100365D66 /* BassKitVersion.h */ = { diff --git a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3 index f21f89d..2a3cdcf 100755 --- a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 609 213 752 636 0 0 1440 878 + 401 223 752 636 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B15DC7921789307007AD769 + 8B7927FD21F33F8B006E9731 history - 8B15DC7821789307007AD769 + 8B7927F821F33F7A006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {545, 162}} + {{0, 0}, {545, 131}} RubberWindowFrame - 609 213 752 636 0 0 1440 878 + 401 223 752 636 0 0 1440 878 Module PBXNavigatorGroup Proportion - 162pt + 131pt Proportion - 428pt + 459pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {545, 401}} - RubberWindowFrame - 609 213 752 636 0 0 1440 878 + {{10, 27}, {545, 432}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {545, 386}} + {{10, 27}, {545, 432}} + RubberWindowFrame + 401 223 752 636 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B15DC7A21789307007AD769 + 8B7927FE21F33F8B006E9731 1CA23ED40692098700951B8B - 8B15DC7B21789307007AD769 + 8B7927FF21F33F8B006E9731 8B2720742173B3CC00396442 - 8B15DC7C21789307007AD769 + 8B79280021F33F8B006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 561550087.85150504 + 569589643.413149 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B15DC7D21789307007AD769 /Users/christopherjohnson/Desktop/MacAU/BassKit/BassKit.xcodeproj WindowString - 609 213 752 636 0 0 1440 878 + 401 223 752 636 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser index c852a9c..d99aaa0 100755 --- a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553994320; - PBXWorkspaceStateSaveDate = 553994320; + PBXPerProjectTemplateStateSaveDate = 569590014; + PBXWorkspaceStateSaveDate = 569590014; }; perUserProjectItems = { 8B12BE4E210416FD00EB8D52 /* PBXTextBookmark */ = 8B12BE4E210416FD00EB8D52 /* PBXTextBookmark */; - 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */ = 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */; - 8BBD1982210557560015A233 /* PBXTextBookmark */ = 8BBD1982210557560015A233 /* PBXTextBookmark */; + 8B79282221F340F9006E9731 /* PBXTextBookmark */ = 8B79282221F340F9006E9731 /* PBXTextBookmark */; + 8B79283421F34111006E9731 /* PBXTextBookmark */ = 8B79283421F34111006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,21 +71,31 @@ vrLen = 85; vrLoc = 12311; }; - 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */ = { + 8B79282221F340F9006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */; name = "BitGlitterVersion.h: 54"; rLen = 0; rLoc = 2897; rType = 0; - vrLen = 131; - vrLoc = 2825; + vrLen = 0; + vrLoc = 0; + }; + 8B79283421F34111006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */; + name = "BitGlitterVersion.h: 54"; + rLen = 0; + rLoc = 2897; + rType = 0; + vrLen = 0; + vrLoc = 0; }; 8BA05A660720730100365D66 /* BitGlitter.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {747, 4394}}"; + sepNavIntBoundsRect = "{{0, 0}, {747, 4472}}"; sepNavSelRange = "{12683, 1}"; - sepNavVisRange = "{8715, 2103}"; + sepNavVisRange = "{10076, 1544}"; sepNavWindowFrame = "{{637, 65}, {787, 813}}"; }; }; @@ -98,22 +108,12 @@ }; 8BA05A690720730100365D66 /* BitGlitterVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 871}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 819}}"; sepNavSelRange = "{2897, 0}"; - sepNavVisRange = "{2825, 131}"; + sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{15, 60}, {787, 813}}"; }; }; - 8BBD1982210557560015A233 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */; - name = "BitGlitterVersion.h: 54"; - rLen = 0; - rLoc = 2897; - rType = 0; - vrLen = 131; - vrLoc = 2825; - }; 8BC6025B073B072D006C4272 /* BitGlitter.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1989}}"; diff --git a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3 index 31b4a91..ae27f4a 100755 --- a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 586 327 810 487 0 0 1440 878 + 490 321 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8BBD1982210557560015A233 + 8B79283421F34111006E9731 history 8B12BE4E210416FD00EB8D52 - 8B12BE50210416FD00EB8D52 + 8B79282221F340F9006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 51}} + {{0, 0}, {603, 13}} RubberWindowFrame - 586 327 810 487 0 0 1440 878 + 490 321 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 13pt Proportion - 390pt + 428pt Tabs @@ -395,9 +395,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} + {{10, 27}, {603, 401}} RubberWindowFrame - 586 327 810 487 0 0 1440 878 + 490 321 810 487 0 0 1440 878 Module XCDetailModule @@ -479,11 +479,11 @@ TableOfContents - 8BBD1983210557560015A233 + 8B79283521F34111006E9731 1CA23ED40692098700951B8B - 8BBD1984210557560015A233 + 8B79283621F34111006E9731 8BB8B7DD2103C66400751000 - 8BBD1985210557560015A233 + 8B79283721F34111006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 553998166.45384705 + 569590033.70359504 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,10 @@ 5 WindowOrderList - 8BBD1986210557560015A233 /Users/christopherjohnson/Desktop/MacAU/BitGlitter/BitGlitter.xcodeproj WindowString - 586 327 810 487 0 0 1440 878 + 490 321 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index 0c60c13..5c6dcd3 --- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser @@ -49,48 +49,48 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421239; - PBXWorkspaceStateSaveDate = 528421239; + PBXPerProjectTemplateStateSaveDate = 569590058; + PBXWorkspaceStateSaveDate = 569590058; }; perUserProjectItems = { + 8B79244F21F12F5D006E9731 /* PBXTextBookmark */ = 8B79244F21F12F5D006E9731 /* PBXTextBookmark */; + 8B79284721F34140006E9731 /* PBXTextBookmark */ = 8B79284721F34140006E9731 /* PBXTextBookmark */; 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */; - 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */ = 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */; - 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */ = 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */; 8B9E7F221DDE37D5006035FA /* PlistBookmark */ = 8B9E7F221DDE37D5006035FA /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* BitShiftGain.h */; - name = "BitShiftGain.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1640; - vrLoc = 0; - }; - 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */ = { + 8B79244F21F12F5D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* BitShiftGain.cpp */; name = "BitShiftGain.cpp: 175"; rLen = 48; rLoc = 7996; rType = 0; - vrLen = 771; - vrLoc = 8415; + vrLen = 675; + vrLoc = 8691; }; - 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */ = { + 8B79284721F34140006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* BitShiftGain.cpp */; name = "BitShiftGain.cpp: 175"; rLen = 48; rLoc = 7996; rType = 0; - vrLen = 737; - vrLoc = 8415; + vrLen = 644; + vrLoc = 8691; + }; + 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* BitShiftGain.h */; + name = "BitShiftGain.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1640; + vrLoc = 0; }; 8B9E7F221DDE37D5006035FA /* PlistBookmark */ = { isa = PlistBookmark; @@ -106,10 +106,10 @@ }; 8BA05A660720730100365D66 /* BitShiftGain.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3042}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3068}}"; sepNavSelRange = "{7996, 48}"; - sepNavVisRange = "{8415, 737}"; - sepNavWindowFrame = "{{308, 43}, {679, 835}}"; + sepNavVisRange = "{8691, 644}"; + sepNavWindowFrame = "{{738, 43}, {679, 835}}"; }; }; 8BA05A690720730100365D66 /* BitShiftGainVersion.h */ = { diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index d55ef4a..4adf5a4 --- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 657 93 776 778 0 0 1440 878 + 559 100 776 778 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,12 +353,12 @@ _historyCapacity 0 bookmark - 8B9D72E51F7F11AB007AB60F + 8B79284721F34140006E9731 history 8B9E7F221DDE37D5006035FA 8B84C3201F06FE8A00F360EE - 8B9D636E1F7C82E9007AB60F + 8B79244F21F12F5D006E9731 SplitCount @@ -372,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {466, 325}} + {{0, 0}, {466, 301}} RubberWindowFrame - 657 93 776 778 0 0 1440 878 + 559 100 776 778 0 0 1440 878 Module PBXNavigatorGroup Proportion - 325pt + 301pt Proportion - 407pt + 431pt Tabs @@ -397,9 +397,9 @@ GeometryConfiguration Frame - {{10, 27}, {466, 380}} + {{10, 27}, {466, 404}} RubberWindowFrame - 657 93 776 778 0 0 1440 878 + 559 100 776 778 0 0 1440 878 Module XCDetailModule @@ -481,11 +481,11 @@ TableOfContents - 8B9D72E61F7F11AB007AB60F + 8B79284821F34140006E9731 1CA23ED40692098700951B8B - 8B9D72E71F7F11AB007AB60F + 8B79284921F34140006E9731 8BD7274A1D46E5A5000176F0 - 8B9D72E81F7F11AB007AB60F + 8B79284A21F34140006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +658,7 @@ StatusbarIsVisible TimeStamp - 528421291.05933303 + 569590080.12127101 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +675,10 @@ 5 WindowOrderList - 8B9D72E91F7F11AB007AB60F /Users/christopherjohnson/Desktop/MacAU/BitShiftGain/BitShiftGain.xcodeproj WindowString - 657 93 776 778 0 0 1440 878 + 559 100 776 778 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/Bite/Bite.cpp b/plugins/MacAU/Bite/Bite.cpp index 99d3134..c34bb3d 100755 --- a/plugins/MacAU/Bite/Bite.cpp +++ b/plugins/MacAU/Bite/Bite.cpp @@ -175,10 +175,7 @@ void Bite::BiteKernel::Reset() sampleG = 0.0; sampleH = 0.0; sampleI = 0.0; - - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -203,10 +200,7 @@ void Bite::BiteKernel::Process( const Float32 *inSourceP, Float64 midC; Float64 midD; Float64 trigger; - Float64 result; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - Float32 fpTemp; + long double result; while (nSampleFrames-- > 0) { sampleI = sampleH; @@ -273,18 +267,11 @@ void Bite::BiteKernel::Process( const Float32 *inSourceP, if (outputgain != 1.0) result *= outputgain; - if (fpFlip) { - fpTemp = result; - fpNShapeA = (fpNShapeA*fpOld)+((result-fpTemp)*fpNew); - result += fpNShapeA; - } - else { - fpTemp = result; - fpNShapeB = (fpNShapeB*fpOld)+((result-fpTemp)*fpNew); - result += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)result, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + result += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = result; //output. diff --git a/plugins/MacAU/Bite/Bite.h b/plugins/MacAU/Bite/Bite.h index c7a5b06..b36870b 100755 --- a/plugins/MacAU/Bite/Bite.h +++ b/plugins/MacAU/Bite/Bite.h @@ -138,10 +138,7 @@ public: Float64 sampleG; Float64 sampleH; Float64 sampleI; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser index f9c81c4..b8ac588 100755 --- a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421171; - PBXWorkspaceStateSaveDate = 528421171; + PBXPerProjectTemplateStateSaveDate = 569589737; + PBXWorkspaceStateSaveDate = 569589737; }; perUserProjectItems = { - 8B9D63401F7C8264007AB60F /* PBXTextBookmark */ = 8B9D63401F7C8264007AB60F /* PBXTextBookmark */; - 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */ = 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */; + 8B79281021F3405A006E9731 /* PBXTextBookmark */ = 8B79281021F3405A006E9731 /* PBXTextBookmark */; + 8B79281521F34076006E9731 /* PBXTextBookmark */ = 8B79281521F34076006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D63401F7C8264007AB60F /* PBXTextBookmark */ = { + 8B79281021F3405A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Bite.cpp */; - name = "Bite.cpp: 289"; + name = "Bite.cpp: 276"; rLen = 0; - rLoc = 11935; + rLoc = 11735; rType = 0; - vrLen = 433; - vrLoc = 10004; + vrLen = 155; + vrLoc = 10210; }; - 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */ = { + 8B79281521F34076006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Bite.cpp */; - name = "Bite.cpp: 289"; + name = "Bite.cpp: 276"; rLen = 0; - rLoc = 11935; + rLoc = 11735; rType = 0; - vrLen = 402; - vrLoc = 10035; + vrLen = 155; + vrLoc = 10210; }; 8BA05A660720730100365D66 /* Bite.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 3913}}"; - sepNavSelRange = "{11935, 0}"; - sepNavVisRange = "{10035, 402}"; - sepNavWindowFrame = "{{295, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 3887}}"; + sepNavSelRange = "{11735, 0}"; + sepNavVisRange = "{10210, 155}"; + sepNavWindowFrame = "{{170, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* Bite.exp */ = { @@ -106,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* Bite.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1062, 1963}}"; - sepNavSelRange = "{5170, 171}"; - sepNavVisRange = "{3327, 1862}"; + sepNavIntBoundsRect = "{{0, 0}, {1062, 1898}}"; + sepNavSelRange = "{5360, 0}"; + sepNavVisRange = "{3983, 1489}"; sepNavWindowFrame = "{{382, 39}, {1053, 839}}"; }; }; diff --git a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3 index 87e6588..4e2e4c6 100755 --- a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 612 285 810 487 0 0 1440 878 + 476 284 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B9D72D41F7F114A007AB60F + 8B79281521F34076006E9731 history - 8B9D63401F7C8264007AB60F + 8B79281021F3405A006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 612 285 810 487 0 0 1440 878 + 476 284 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} - RubberWindowFrame - 612 285 810 487 0 0 1440 878 + {{10, 27}, {603, 328}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 328}} + RubberWindowFrame + 476 284 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B9D72D51F7F114A007AB60F + 8B79281621F34076006E9731 1CA23ED40692098700951B8B - 8B9D72D61F7F114A007AB60F + 8B79281721F34076006E9731 8BDB25E81EAA6D6E001F42B2 - 8B9D72D71F7F114A007AB60F + 8B79281821F34076006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528421194.64885902 + 569589878.38768005 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B9D72D81F7F114A007AB60F /Users/christopherjohnson/Desktop/MacAU/Bite/Bite.xcodeproj WindowString - 612 285 810 487 0 0 1440 878 + 476 284 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser index ae403e5..a8e22a5 100755 --- a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser @@ -49,12 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421301; - PBXWorkspaceStateSaveDate = 528421301; + PBXPerProjectTemplateStateSaveDate = 569590151; + PBXWorkspaceStateSaveDate = 569590151; }; perUserProjectItems = { 8B753DE91E4005E400347157 /* PlistBookmark */ = 8B753DE91E4005E400347157 /* PlistBookmark */; - 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */ = 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */; + 8B79285A21F341B0006E9731 /* PBXTextBookmark */ = 8B79285A21F341B0006E9731 /* PBXTextBookmark */; 8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */ = 8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; @@ -73,14 +73,14 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */ = { + 8B79285A21F341B0006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* BuildATPDF.h */; name = "BuildATPDF.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 652; + vrLen = 548; vrLoc = 0; }; 8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */ = { @@ -95,9 +95,9 @@ }; 8BA05A660720730100365D66 /* BuildATPDF.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {876, 4433}}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 4316}}"; sepNavSelRange = "{12469, 0}"; - sepNavVisRange = "{12387, 2186}"; + sepNavVisRange = "{12444, 2132}"; sepNavWindowFrame = "{{496, 41}, {923, 837}}"; }; }; @@ -111,9 +111,9 @@ }; 8BC6025B073B072D006C4272 /* BuildATPDF.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 2093}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 2106}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 550}"; + sepNavVisRange = "{0, 548}"; sepNavWindowFrame = "{{517, 39}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3 index a9070a0..a6dd77a 100755 --- a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3 @@ -353,11 +353,11 @@ _historyCapacity 0 bookmark - 8B9D72F41F7F11CA007AB60F + 8B79285A21F341B0006E9731 history 8B753DE91E4005E400347157 - 8B9D637D1F7C82F6007AB60F + 8B9D72F41F7F11CA007AB60F SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 202}} RubberWindowFrame 599 205 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 202pt Proportion - 392pt + 406pt Tabs @@ -396,7 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} + {{10, 27}, {531, 379}} RubberWindowFrame 599 205 841 654 0 0 1440 878 @@ -480,11 +480,11 @@ TableOfContents - 8B9D72F51F7F11CA007AB60F + 8B79285B21F341B0006E9731 1CA23ED40692098700951B8B - 8B9D72F61F7F11CA007AB60F + 8B79285C21F341B0006E9731 8BD7274A1D46E5A5000176F0 - 8B9D72F71F7F11CA007AB60F + 8B79285D21F341B0006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528421322.85982102 + 569590192.67660701 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +674,6 @@ 5 WindowOrderList - 8B9D72F81F7F11CA007AB60F /Users/christopherjohnson/Desktop/MacAU/BuildATPDF/BuildATPDF.xcodeproj WindowString diff --git a/plugins/MacAU/BussColors4/BussColors4.cpp b/plugins/MacAU/BussColors4/BussColors4.cpp index 4b0c664..35f7931 100755 --- a/plugins/MacAU/BussColors4/BussColors4.cpp +++ b/plugins/MacAU/BussColors4/BussColors4.cpp @@ -227,9 +227,7 @@ void BussColors4::BussColors4Kernel::Reset() control = 0; gcount = 0; slowdyn = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -263,9 +261,6 @@ void BussColors4::BussColors4Kernel::Process( const Float32 *inSourceP, Float64 gain = 0.436; Float64 outgain = 1.0; Float64 bridgerectifier; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; int console = (int) GetParameter( kParam_One ); switch (console) @@ -662,19 +657,11 @@ void BussColors4::BussColors4Kernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/BussColors4/BussColors4.h b/plugins/MacAU/BussColors4/BussColors4.h index 799fbc6..321760e 100755 --- a/plugins/MacAU/BussColors4/BussColors4.h +++ b/plugins/MacAU/BussColors4/BussColors4.h @@ -160,9 +160,7 @@ public: Float64 control; int gcount; Float64 slowdyn; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser index 57c71c6..64acbeb 100755 --- a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421335; - PBXWorkspaceStateSaveDate = 528421335; + PBXPerProjectTemplateStateSaveDate = 569590217; + PBXWorkspaceStateSaveDate = 569590217; }; perUserProjectItems = { 8B48B64B1EE21C9100BCF3D0 /* PlistBookmark */ = 8B48B64B1EE21C9100BCF3D0 /* PlistBookmark */; + 8B79286B21F34214006E9731 /* PBXTextBookmark */ = 8B79286B21F34214006E9731 /* PBXTextBookmark */; + 8B79287021F3422D006E9731 /* PBXTextBookmark */ = 8B79287021F3422D006E9731 /* PBXTextBookmark */; 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */; - 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */; - 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -74,17 +74,7 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* BussColors4.h */; - name = "BussColors4.h: 157"; - rLen = 0; - rLoc = 6374; - rType = 0; - vrLen = 351; - vrLoc = 3; - }; - 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */ = { + 8B79286B21F34214006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A670720730100365D66 /* BussColors4.exp */; name = "BussColors4.exp: 1"; @@ -94,7 +84,7 @@ vrLen = 18; vrLoc = 0; }; - 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */ = { + 8B79287021F3422D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A670720730100365D66 /* BussColors4.exp */; name = "BussColors4.exp: 1"; @@ -104,17 +94,27 @@ vrLen = 18; vrLoc = 0; }; + 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* BussColors4.h */; + name = "BussColors4.h: 157"; + rLen = 0; + rLoc = 6374; + rType = 0; + vrLen = 351; + vrLoc = 3; + }; 8BA05A660720730100365D66 /* BussColors4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {905, 9542}}"; - sepNavSelRange = "{12772, 0}"; - sepNavVisRange = "{11547, 2663}"; + sepNavIntBoundsRect = "{{0, 0}, {905, 9672}}"; + sepNavSelRange = "{11353, 0}"; + sepNavVisRange = "{10026, 2482}"; sepNavWindowFrame = "{{394, 39}, {952, 839}}"; }; }; 8BA05A670720730100365D66 /* BussColors4.exp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {367, 107}}"; + sepNavIntBoundsRect = "{{0, 0}, {367, 92}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 18}"; }; @@ -129,9 +129,9 @@ }; 8BC6025B073B072D006C4272 /* BussColors4.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {530, 2236}}"; - sepNavSelRange = "{6374, 0}"; - sepNavVisRange = "{3, 351}"; + sepNavIntBoundsRect = "{{0, 0}, {905, 2340}}"; + sepNavSelRange = "{6519, 0}"; + sepNavVisRange = "{4823, 1798}"; sepNavWindowFrame = "{{33, 39}, {952, 839}}"; }; }; diff --git a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3 index 1ccb652..c388d98 100755 --- a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -353,12 +351,12 @@ _historyCapacity 0 bookmark - 8B9D73051F7F11E3007AB60F + 8B79287021F3422D006E9731 history 8B48B64B1EE21C9100BCF3D0 8B9D73031F7F11E3007AB60F - 8B9D73041F7F11E3007AB60F + 8B79286B21F34214006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {416, 139}} + {{0, 0}, {416, 124}} RubberWindowFrame 541 301 726 510 0 0 1440 878 Module PBXNavigatorGroup Proportion - 139pt + 124pt Proportion - 325pt + 340pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {416, 298}} - RubberWindowFrame - 541 301 726 510 0 0 1440 878 + {{10, 27}, {416, 313}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {416, 399}} + {{10, 27}, {416, 313}} + RubberWindowFrame + 541 301 726 510 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B9D73061F7F11E3007AB60F + 8B79287121F3422D006E9731 1CA23ED40692098700951B8B - 8B9D73071F7F11E3007AB60F + 8B79287221F3422D006E9731 8BD7274A1D46E5A5000176F0 - 8B9D73081F7F11E3007AB60F + 8B79287321F3422D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 528421347.61386502 + 569590317.82425797 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,7 +673,6 @@ 5 WindowOrderList - 8B9D73091F7F11E3007AB60F /Users/christopherjohnson/Desktop/MacAU/BussColors4/BussColors4.xcodeproj WindowString diff --git a/plugins/MacAU/ButterComp/ButterComp.cpp b/plugins/MacAU/ButterComp/ButterComp.cpp index 612eb3c..5280a58 100755 --- a/plugins/MacAU/ButterComp/ButterComp.cpp +++ b/plugins/MacAU/ButterComp/ButterComp.cpp @@ -188,9 +188,6 @@ void ButterComp::ButterCompKernel::Process( const Float32 *inSourceP, Float64 overallscale = 2.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 inputpos; Float64 inputneg; Float64 calcpos; @@ -286,11 +283,11 @@ void ButterComp::ButterCompKernel::Process( const Float32 *inSourceP, inputSample /= outputgain; if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet); - //noise shaping to 32-bit floating point - fpTemp = inputSample; - fpNShape = (fpNShape*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShape; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser index 0757b10..21b9158 100755 --- a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser @@ -51,24 +51,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 559509267; - PBXWorkspaceStateSaveDate = 559509267; + PBXPerProjectTemplateStateSaveDate = 569590364; + PBXWorkspaceStateSaveDate = 569590364; }; perUserProjectItems = { + 8B79288121F342AF006E9731 /* PBXTextBookmark */ = 8B79288121F342AF006E9731 /* PBXTextBookmark */; + 8B79288621F342C1006E9731 /* PBXTextBookmark */ = 8B79288621F342C1006E9731 /* PBXTextBookmark */; 8BE626A621596E0600E4E476 /* PBXTextBookmark */ = 8BE626A621596E0600E4E476 /* PBXTextBookmark */; - 8BE626D221596F6E00E4E476 /* PBXTextBookmark */ = 8BE626D221596F6E00E4E476 /* PBXTextBookmark */; - 8BE626D321596F6E00E4E476 /* PBXTextBookmark */ = 8BE626D321596F6E00E4E476 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79288121F342AF006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */; + name = "ButterComp.cpp: 266"; + rLen = 0; + rLoc = 11774; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8B79288621F342C1006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */; + name = "ButterComp.cpp: 266"; + rLen = 0; + rLoc = 11774; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; 8BA05A660720730100365D66 /* ButterComp.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {579, 4004}}"; - sepNavSelRange = "{11891, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3965}}"; + sepNavSelRange = "{11774, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{618, 69}, {834, 801}}"; + sepNavWindowFrame = "{{405, 77}, {834, 801}}"; }; }; 8BA05A670720730100365D66 /* ButterComp.exp */ = { @@ -89,9 +109,9 @@ }; 8BC6025B073B072D006C4272 /* ButterComp.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {698, 1885}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 1846}}"; sepNavSelRange = "{5162, 0}"; - sepNavVisRange = "{3553, 95}"; + sepNavVisRange = "{3901, 1436}"; sepNavWindowFrame = "{{606, 77}, {834, 801}}"; }; }; @@ -119,26 +139,6 @@ vrLen = 95; vrLoc = 3553; }; - 8BE626D221596F6E00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */; - name = "ButterComp.cpp: 269"; - rLen = 0; - rLoc = 11891; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BE626D321596F6E00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */; - name = "ButterComp.cpp: 269"; - rLen = 0; - rLoc = 11891; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 8D01CCC60486CAD60068D4B7 /* ButterComp */ = { activeExec = 0; }; diff --git a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3 index 412b584..f0011a1 100755 --- a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 628 380 810 487 0 0 1440 878 + 447 360 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8BE626D321596F6E00E4E476 + 8B79288621F342C1006E9731 history 8BE626A621596E0600E4E476 - 8BE626D221596F6E00E4E476 + 8B79288121F342AF006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 32}} + {{0, 0}, {603, 13}} RubberWindowFrame - 628 380 810 487 0 0 1440 878 + 447 360 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 32pt + 13pt Proportion - 409pt + 428pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 382}} - RubberWindowFrame - 628 380 810 487 0 0 1440 878 + {{10, 27}, {603, 401}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 401}} + RubberWindowFrame + 447 360 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8BE626D421596F6E00E4E476 + 8B79288721F342C1006E9731 1CA23ED40692098700951B8B - 8BE626D521596F6E00E4E476 + 8B79288821F342C1006E9731 8B7FDBEA1F85C96D00A80060 - 8BE626D621596F6E00E4E476 + 8B79288921F342C1006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +654,7 @@ StatusbarIsVisible TimeStamp - 559509358.82003796 + 569590465.72403705 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +671,10 @@ 5 WindowOrderList - 8BE626D721596F6E00E4E476 /Users/christopherjohnson/Desktop/MacAU/ButterComp/ButterComp.xcodeproj WindowString - 628 380 810 487 0 0 1440 878 + 447 360 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ButterComp2/ButterComp2.cpp b/plugins/MacAU/ButterComp2/ButterComp2.cpp index e85626f..ec45914 100755 --- a/plugins/MacAU/ButterComp2/ButterComp2.cpp +++ b/plugins/MacAU/ButterComp2/ButterComp2.cpp @@ -317,23 +317,15 @@ void ButterComp2::ButterComp2Kernel::Process( const Float32 *inSourceP, flip = !flip; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser index e13714b..9bf558f 100755 --- a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 559960504; - PBXWorkspaceStateSaveDate = 559960504; + PBXPerProjectTemplateStateSaveDate = 569590507; + PBXWorkspaceStateSaveDate = 569590507; }; perUserProjectItems = { 8B42FD41216050B10092969A /* PBXTextBookmark */ = 8B42FD41216050B10092969A /* PBXTextBookmark */; - 8B42FD83216056480092969A /* PBXTextBookmark */ = 8B42FD83216056480092969A /* PBXTextBookmark */; - 8B42FD84216056480092969A /* PBXTextBookmark */ = 8B42FD84216056480092969A /* PBXTextBookmark */; + 8B79289621F34318006E9731 /* PBXTextBookmark */ = 8B79289621F34318006E9731 /* PBXTextBookmark */; + 8B79289B21F34328006E9731 /* PBXTextBookmark */ = 8B79289B21F34328006E9731 /* PBXTextBookmark */; 8BE6255F2157A02A00E4E476 /* PlistBookmark */ = 8BE6255F2157A02A00E4E476 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; @@ -72,32 +72,32 @@ vrLen = 214; vrLoc = 5453; }; - 8B42FD83216056480092969A /* PBXTextBookmark */ = { + 8B79289621F34318006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ButterComp2.cpp */; name = "ButterComp2.cpp: 252"; rLen = 0; rLoc = 10778; rType = 0; - vrLen = 265; + vrLen = 180; vrLoc = 10712; }; - 8B42FD84216056480092969A /* PBXTextBookmark */ = { + 8B79289B21F34328006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ButterComp2.cpp */; name = "ButterComp2.cpp: 252"; rLen = 0; rLoc = 10778; rType = 0; - vrLen = 265; + vrLen = 180; vrLoc = 10712; }; 8BA05A660720730100365D66 /* ButterComp2.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {586, 4498}}"; + sepNavIntBoundsRect = "{{0, 0}, {558, 4329}}"; sepNavSelRange = "{10778, 0}"; - sepNavVisRange = "{10712, 265}"; - sepNavWindowFrame = "{{864, 45}, {816, 833}}"; + sepNavVisRange = "{10712, 180}"; + sepNavWindowFrame = "{{496, 45}, {816, 833}}"; }; }; 8BA05A690720730100365D66 /* ButterComp2Version.h */ = { diff --git a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3 index c95d3a7..22a4926 100755 --- a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 662 164 841 654 0 0 1440 878 + 456 186 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,12 +352,12 @@ _historyCapacity 0 bookmark - 8B42FD84216056480092969A + 8B79289B21F34328006E9731 history 8BE6255F2157A02A00E4E476 8B42FD41216050B10092969A - 8B42FD83216056480092969A + 8B79289621F34318006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 126}} + {{0, 0}, {531, 109}} RubberWindowFrame - 662 164 841 654 0 0 1440 878 + 456 186 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 126pt + 109pt Proportion - 482pt + 499pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 455}} - RubberWindowFrame - 662 164 841 654 0 0 1440 878 + {{10, 27}, {531, 472}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 393}} + {{10, 27}, {531, 472}} + RubberWindowFrame + 456 186 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8B42FD85216056480092969A + 8B79289C21F34328006E9731 1CA23ED40692098700951B8B - 8B42FD86216056480092969A + 8B79289D21F34328006E9731 8BD7274A1D46E5A5000176F0 - 8B42FD87216056480092969A + 8B79289E21F34328006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 559961672.53862405 + 569590568.39095497 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,10 @@ 5 WindowOrderList - 8B42FD88216056480092969A /Users/christopherjohnson/Desktop/MacAU/ButterComp2/ButterComp2.xcodeproj WindowString - 662 164 841 654 0 0 1440 878 + 456 186 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.cpp b/plugins/MacAU/C5RawBuss/C5RawBuss.cpp index 4f45ac0..9cca2dd 100755 --- a/plugins/MacAU/C5RawBuss/C5RawBuss.cpp +++ b/plugins/MacAU/C5RawBuss/C5RawBuss.cpp @@ -160,9 +160,7 @@ void C5RawBuss::C5RawBussKernel::Reset() { lastFXBuss = 0.0; lastSampleBuss = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -177,9 +175,6 @@ void C5RawBuss::C5RawBussKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double centering = GetParameter( kParam_One ) * 0.5; centering = 1.0 - pow(centering,5); @@ -237,19 +232,11 @@ void C5RawBuss::C5RawBussKernel::Process( const Float32 *inSourceP, //build new signal off what was present in output last time //slew aspect - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.h b/plugins/MacAU/C5RawBuss/C5RawBuss.h index b8a3a7c..1d3209e 100755 --- a/plugins/MacAU/C5RawBuss/C5RawBuss.h +++ b/plugins/MacAU/C5RawBuss/C5RawBuss.h @@ -127,9 +127,7 @@ public: private: Float64 lastFXBuss; Float64 lastSampleBuss; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser index b1e416f..cd94a9b 100755 --- a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser @@ -49,20 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538699005; - PBXWorkspaceStateSaveDate = 538699005; + PBXPerProjectTemplateStateSaveDate = 569590602; + PBXWorkspaceStateSaveDate = 569590602; }; perUserProjectItems = { - 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */ = 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */; - 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */ = 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */; - 8B4E57B9201BF00900B5DC2A /* PlistBookmark */ = 8B4E57B9201BF00900B5DC2A /* PlistBookmark */; - 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */ = 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */; + 8B7928AC21F343AD006E9731 /* PlistBookmark */ = 8B7928AC21F343AD006E9731 /* PlistBookmark */; + 8B7928B121F343BF006E9731 /* PlistBookmark */ = 8B7928B121F343BF006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */ = { + 8B7928AC21F343AD006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,15 +68,11 @@ kPath = ( CFBundleName, ); - name = /Users/christopherjohnson/Desktop/C5RawBuss/Info.plist; + name = /Users/christopherjohnson/Desktop/MacAU/C5RawBuss/Info.plist; rLen = 0; - rLoc = 9223372036854775808; - }; - 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* C5RawBuss.cpp */; + rLoc = 9223372036854775807; }; - 8B4E57B9201BF00900B5DC2A /* PlistBookmark */ = { + 8B7928B121F343BF006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -87,25 +81,15 @@ CFBundleName, ); name = /Users/christopherjohnson/Desktop/MacAU/C5RawBuss/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; - }; - 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* C5RawBuss.cpp */; - name = "C5RawBuss.cpp: 220"; - rLen = 762; - rLoc = 9965; - rType = 0; - vrLen = 1877; - vrLoc = 9307; + rLen = 26; + rLoc = 0; }; 8BA05A660720730100365D66 /* C5RawBuss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {876, 3380}}"; - sepNavSelRange = "{9965, 762}"; - sepNavVisRange = "{9307, 1877}"; - sepNavWindowFrame = "{{-64, 50}, {923, 828}}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 3419}}"; + sepNavSelRange = "{10825, 0}"; + sepNavVisRange = "{7481, 2627}"; + sepNavWindowFrame = "{{369, 50}, {923, 828}}"; }; }; 8BA05A690720730100365D66 /* C5RawBussVersion.h */ = { @@ -118,9 +102,9 @@ }; 8BC6025B073B072D006C4272 /* C5RawBuss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}"; - sepNavSelRange = "{5077, 48}"; - sepNavVisRange = "{2715, 1805}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}"; + sepNavSelRange = "{5147, 0}"; + sepNavVisRange = "{3528, 1724}"; sepNavWindowFrame = "{{517, 50}, {923, 828}}"; }; }; diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3 index dc4bb99..a043097 100755 --- a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3 @@ -222,52 +222,11 @@ OpenEditors - - - Content - - PBXProjectModuleGUID - 8B4E57BA201BF00900B5DC2A - PBXProjectModuleLabel - C5RawBuss.cpp - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 8B4E57BB201BF00900B5DC2A - PBXProjectModuleLabel - C5RawBuss.cpp - _historyCapacity - 0 - bookmark - 8B4E57BC201BF00900B5DC2A - history - - 8B4E57B0201BE78F00B5DC2A - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {923, 731}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - -64 106 923 772 0 0 1440 878 - - - + PerspectiveWidths - 810 - 810 + 682 + 682 Perspectives @@ -297,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -367,7 +324,7 @@ 288 RubberWindowFrame - 719 408 682 464 0 0 1440 878 + 598 397 682 464 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -395,10 +352,10 @@ _historyCapacity 0 bookmark - 8B4E57B9201BF00900B5DC2A + 8B7928B121F343BF006E9731 history - 8B4E55B3201BC48D00B5DC2A + 8B7928AC21F343AD006E9731 SplitCount @@ -412,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {372, 39}} + {{0, 0}, {372, 20}} RubberWindowFrame - 719 408 682 464 0 0 1440 878 + 598 397 682 464 0 0 1440 878 Module PBXNavigatorGroup Proportion - 39pt + 20pt Proportion - 379pt + 398pt Tabs @@ -437,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {372, 352}} - RubberWindowFrame - 719 408 682 464 0 0 1440 878 + {{10, 27}, {372, 371}} Module XCDetailModule @@ -493,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {372, 371}} + RubberWindowFrame + 598 397 682 464 0 0 1440 878 Module PBXBuildResultsModule @@ -521,11 +478,11 @@ TableOfContents - 8B4E5791201BE4FE00B5DC2A + 8B7928B221F343BF006E9731 1CA23ED40692098700951B8B - 8B4E5792201BE4FE00B5DC2A + 8B7928B321F343BF006E9731 8BD7274A1D46E5A5000176F0 - 8B4E5793201BE4FE00B5DC2A + 8B7928B421F343BF006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -698,7 +655,7 @@ StatusbarIsVisible TimeStamp - 538701833.475577 + 569590719.21111 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -715,11 +672,10 @@ 5 WindowOrderList - 8B4E57BA201BF00900B5DC2A /Users/christopherjohnson/Desktop/MacAU/C5RawBuss/C5RawBuss.xcodeproj WindowString - 719 408 682 464 0 0 1440 878 + 598 397 682 464 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.cpp b/plugins/MacAU/C5RawChannel/C5RawChannel.cpp index 15d4f7a..2b2eb79 100755 --- a/plugins/MacAU/C5RawChannel/C5RawChannel.cpp +++ b/plugins/MacAU/C5RawChannel/C5RawChannel.cpp @@ -160,9 +160,7 @@ void C5RawChannel::C5RawChannelKernel::Reset() { lastFXChannel = 0.0; lastSampleChannel = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -177,9 +175,6 @@ void C5RawChannel::C5RawChannelKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double centering = GetParameter( kParam_One ) * 0.5; centering = 1.0 - pow(centering,5); @@ -238,19 +233,11 @@ void C5RawChannel::C5RawChannelKernel::Process( const Float32 *inSourceP, inputSample = sin(inputSample); //amplitude aspect - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.h b/plugins/MacAU/C5RawChannel/C5RawChannel.h index 1f3735e..c0bc730 100755 --- a/plugins/MacAU/C5RawChannel/C5RawChannel.h +++ b/plugins/MacAU/C5RawChannel/C5RawChannel.h @@ -127,9 +127,7 @@ public: private: Float64 lastSampleChannel; Float64 lastFXChannel; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser index 9e28f23..fe95427 100755 --- a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 542412635; - PBXWorkspaceStateSaveDate = 542412635; + PBXPerProjectTemplateStateSaveDate = 569590745; + PBXWorkspaceStateSaveDate = 569590745; }; perUserProjectItems = { 8B44C16D20548F6200B1360B /* PlistBookmark */ = 8B44C16D20548F6200B1360B /* PlistBookmark */; - 8B44C16E20548F6200B1360B /* PBXBookmark */ = 8B44C16E20548F6200B1360B /* PBXBookmark */; - 8B44C16F20548F6200B1360B /* PBXTextBookmark */ = 8B44C16F20548F6200B1360B /* PBXTextBookmark */; + 8B7928C221F3441D006E9731 /* PBXTextBookmark */ = 8B7928C221F3441D006E9731 /* PBXTextBookmark */; + 8B7928C721F3442D006E9731 /* PBXTextBookmark */ = 8B7928C721F3442D006E9731 /* PBXTextBookmark */; + 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */ = 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,27 +72,33 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/C5RawChannel/Info.plist; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9223372036854775808; }; - 8B44C16E20548F6200B1360B /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */; + 8B7928C221F3441D006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* C5RawChannel.h */; + name = "C5RawChannel.h: 59"; + rLen = 0; + rLoc = 2944; + rType = 0; + vrLen = 0; + vrLoc = 0; }; - 8B44C16F20548F6200B1360B /* PBXTextBookmark */ = { + 8B7928C721F3442D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */; - name = "C5RawChannel.cpp: 220"; - rLen = 792; - rLoc = 10043; + fRef = 8BC6025B073B072D006C4272 /* C5RawChannel.h */; + name = "C5RawChannel.h: 59"; + rLen = 0; + rLoc = 2944; rType = 0; - vrLen = 1; - vrLoc = 10043; + vrLen = 0; + vrLoc = 0; }; 8BA05A660720730100365D66 /* C5RawChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 3601}}"; - sepNavSelRange = "{10043, 792}"; - sepNavVisRange = "{10043, 1}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 3445}}"; + sepNavSelRange = "{10933, 0}"; + sepNavVisRange = "{6542, 2174}"; sepNavWindowFrame = "{{434, 50}, {923, 828}}"; }; }; @@ -105,9 +112,9 @@ }; 8BC6025B073B072D006C4272 /* C5RawChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1638}}"; + sepNavIntBoundsRect = "{{0, 0}, {335, 1833}}"; sepNavSelRange = "{2944, 0}"; - sepNavVisRange = "{2680, 1548}"; + sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{15, 45}, {923, 828}}"; }; }; @@ -125,6 +132,16 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */; + name = "C5RawChannel.cpp: 220"; + rLen = 792; + rLoc = 9891; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; 8D01CCC60486CAD60068D4B7 /* C5RawChannel */ = { activeExec = 0; }; diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3 index 54a9bef..ee92352 100755 --- a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 694 + 694 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -302,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 + 4 2 1 0 @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 721 122 694 488 0 0 1440 878 + 490 149 694 488 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - C5RawChannel.cpp + C5RawChannel.h PBXSplitModuleInNavigatorKey Split0 @@ -350,15 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - C5RawChannel.cpp + C5RawChannel.h _historyCapacity 0 bookmark - 8B44C16F20548F6200B1360B + 8B7928C721F3442D006E9731 history 8B44C16D20548F6200B1360B - 8B44C16E20548F6200B1360B + 8BE625CC2157ABD800E4E476 + 8B7928C221F3441D006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {384, 45}} + {{0, 0}, {384, 6}} RubberWindowFrame - 721 122 694 488 0 0 1440 878 + 490 149 694 488 0 0 1440 878 Module PBXNavigatorGroup Proportion - 45pt + 6pt Proportion - 397pt + 436pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {384, 370}} - RubberWindowFrame - 721 122 694 488 0 0 1440 878 + {{10, 27}, {384, 409}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {384, 409}} + RubberWindowFrame + 490 149 694 488 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +480,11 @@ TableOfContents - 8B44C17020548F6200B1360B + 8B7928C821F3442D006E9731 1CA23ED40692098700951B8B - 8B44C17120548F6200B1360B + 8B7928C921F3442D006E9731 8BD7274A1D46E5A5000176F0 - 8B44C17220548F6200B1360B + 8B7928CA21F3442D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 542412642.174927 + 569590829.86194801 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8B44C17320548F6200B1360B /Users/christopherjohnson/Desktop/MacAU/C5RawChannel/C5RawChannel.xcodeproj WindowString - 721 122 694 488 0 0 1440 878 + 490 149 694 488 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/CStrip/CStrip.cpp b/plugins/MacAU/CStrip/CStrip.cpp index 78b3c31..494d6b5 100755 --- a/plugins/MacAU/CStrip/CStrip.cpp +++ b/plugins/MacAU/CStrip/CStrip.cpp @@ -257,9 +257,7 @@ ComponentResult CStrip::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void CStrip::CStripKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; lastSample = 0.0; last2Sample = 0.0; @@ -347,9 +345,8 @@ void CStrip::CStripKernel::Process( const Float32 *inSourceP, overallscale = GetSampleRate(); compscale = compscale * overallscale; //compscale is the one that's 1 or something like 2.2 for 96K rates - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; + long double fpOld = 0.618033988749894848204586; //golden ratio! + long double fpNew = 1.0 - fpOld; Float64 inputSample; Float64 highSample = 0.0; @@ -767,19 +764,11 @@ void CStrip::CStripKernel::Process( const Float32 *inSourceP, //built in output trim and dry/wet if desired if (outputgain != 1.0) inputSample *= outputgain; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/CStrip/CStrip.h b/plugins/MacAU/CStrip/CStrip.h index 750ef35..f12b4c8 100755 --- a/plugins/MacAU/CStrip/CStrip.h +++ b/plugins/MacAU/CStrip/CStrip.h @@ -162,9 +162,7 @@ public: virtual void Reset(); private: - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; Float64 lastSample; Float64 last2Sample; diff --git a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser index 22fd68a..d0297d0 100755 --- a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser @@ -49,23 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 559506724; - PBXWorkspaceStateSaveDate = 559506724; + PBXPerProjectTemplateStateSaveDate = 569595746; + PBXWorkspaceStateSaveDate = 569595746; }; perUserProjectItems = { - 8BE626742159682E00E4E476 /* PBXTextBookmark */ = 8BE626742159682E00E4E476 /* PBXTextBookmark */; - 8BE626752159682E00E4E476 /* PBXTextBookmark */ = 8BE626752159682E00E4E476 /* PBXTextBookmark */; + 8B792A1221F357B8006E9731 /* PBXTextBookmark */ = 8B792A1221F357B8006E9731 /* PBXTextBookmark */; + 8B792A1C21F357E5006E9731 /* PBXTextBookmark */ = 8B792A1C21F357E5006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792A1221F357B8006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CStrip.h */; + name = "CStrip.h: 167"; + rLen = 45; + rLoc = 6671; + rType = 0; + vrLen = 136; + vrLoc = 6648; + }; + 8B792A1C21F357E5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CStrip.h */; + name = "CStrip.h: 167"; + rLen = 45; + rLoc = 6671; + rType = 0; + vrLen = 136; + vrLoc = 6648; + }; 8BA05A660720730100365D66 /* CStrip.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {989, 10972}}"; - sepNavSelRange = "{12483, 39}"; - sepNavVisRange = "{16317, 1951}"; - sepNavWindowFrame = "{{618, 70}, {1036, 808}}"; + sepNavIntBoundsRect = "{{0, 0}, {989, 10543}}"; + sepNavSelRange = "{14732, 0}"; + sepNavVisRange = "{13582, 1981}"; + sepNavWindowFrame = "{{305, 65}, {1036, 808}}"; }; }; 8BA05A680720730100365D66 /* CStrip.r */ = { @@ -86,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* CStrip.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 3445}}"; - sepNavSelRange = "{6708, 45}"; - sepNavVisRange = "{6648, 121}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3289}}"; + sepNavSelRange = "{6671, 45}"; + sepNavVisRange = "{6648, 136}"; sepNavWindowFrame = "{{686, 40}, {754, 805}}"; }; }; @@ -106,26 +126,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BE626742159682E00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* CStrip.h */; - name = "CStrip.h: 169"; - rLen = 45; - rLoc = 6708; - rType = 0; - vrLen = 121; - vrLoc = 6648; - }; - 8BE626752159682E00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* CStrip.h */; - name = "CStrip.h: 169"; - rLen = 45; - rLoc = 6708; - rType = 0; - vrLen = 121; - vrLoc = 6648; - }; 8D01CCC60486CAD60068D4B7 /* CStrip */ = { activeExec = 0; }; diff --git a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3 index 02abfef..045b469 100755 --- a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 619 317 810 487 0 0 1440 878 + 471 312 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8BE626752159682E00E4E476 + 8B792A1C21F357E5006E9731 history - 8BE626742159682E00E4E476 + 8B792A1221F357B8006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 132}} + {{0, 0}, {603, 117}} RubberWindowFrame - 619 317 810 487 0 0 1440 878 + 471 312 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 132pt + 117pt Proportion - 309pt + 324pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} - RubberWindowFrame - 619 317 810 487 0 0 1440 878 + {{10, 27}, {603, 297}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 297}} + RubberWindowFrame + 471 312 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8BE626762159682E00E4E476 + 8B792A1D21F357E5006E9731 1CA23ED40692098700951B8B - 8BE626772159682E00E4E476 + 8B792A1E21F357E5006E9731 8BB5DCD21FBCB6E7008B4570 - 8BE626782159682E00E4E476 + 8B792A1F21F357E5006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 559507502.89647996 + 569595877.85073602 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,10 +650,11 @@ 5 WindowOrderList + 8B792A2021F357E5006E9731 /Users/christopherjohnson/Desktop/MacAU/CStrip/CStrip.xcodeproj WindowString - 619 317 810 487 0 0 1440 878 + 471 312 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Capacitor/Capacitor.cpp b/plugins/MacAU/Capacitor/Capacitor.cpp index f810f0e..bfe38c2 100755 --- a/plugins/MacAU/Capacitor/Capacitor.cpp +++ b/plugins/MacAU/Capacitor/Capacitor.cpp @@ -196,9 +196,7 @@ void Capacitor::CapacitorKernel::Reset() lastLowpass = 1000.0; lastHighpass = 1000.0; lastWet = 1000.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -229,9 +227,6 @@ void Capacitor::CapacitorKernel::Process( const Float32 *inSourceP, Float64 invLowpass; Float64 invHighpass; Float64 dry; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSample; Float32 drySample; @@ -324,19 +319,11 @@ void Capacitor::CapacitorKernel::Process( const Float32 *inSourceP, inputSample = (drySample * dry) + (inputSample * wet); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Capacitor/Capacitor.h b/plugins/MacAU/Capacitor/Capacitor.h index 92ca84a..7608462 100755 --- a/plugins/MacAU/Capacitor/Capacitor.h +++ b/plugins/MacAU/Capacitor/Capacitor.h @@ -158,9 +158,7 @@ public: Float64 lastHighpass; Float64 lastWet; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser index 2351b87..3c205e0 100755 --- a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser @@ -51,13 +51,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 531742140; - PBXWorkspaceStateSaveDate = 531742140; + PBXPerProjectTemplateStateSaveDate = 569590853; + PBXWorkspaceStateSaveDate = 569590853; }; perUserProjectItems = { 8B558E341E54FD3900D04D0B /* PlistBookmark */ = 8B558E341E54FD3900D04D0B /* PlistBookmark */; - 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */ = 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */; - 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */ = 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */; + 8B7928D921F344BA006E9731 /* PBXTextBookmark */ = 8B7928D921F344BA006E9731 /* PBXTextBookmark */; + 8B7928DE21F344CC006E9731 /* PBXTextBookmark */ = 8B7928DE21F344CC006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -75,32 +75,32 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */ = { + 8B7928D921F344BA006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Capacitor.cpp */; - name = "Capacitor.cpp: 238"; + name = "Capacitor.cpp: 233"; rLen = 0; - rLoc = 10065; + rLoc = 9913; rType = 0; - vrLen = 80; - vrLoc = 10017; + vrLen = 141; + vrLoc = 9914; }; - 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */ = { + 8B7928DE21F344CC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Capacitor.cpp */; - name = "Capacitor.cpp: 238"; + name = "Capacitor.cpp: 233"; rLen = 0; - rLoc = 10065; + rLoc = 9913; rType = 0; - vrLen = 80; - vrLoc = 10017; + vrLen = 141; + vrLoc = 9914; }; 8BA05A660720730100365D66 /* Capacitor.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {544, 4628}}"; - sepNavSelRange = "{10065, 0}"; - sepNavVisRange = "{10017, 80}"; - sepNavWindowFrame = "{{512, 39}, {923, 837}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4472}}"; + sepNavSelRange = "{9913, 0}"; + sepNavVisRange = "{9914, 141}"; + sepNavWindowFrame = "{{401, 32}, {923, 837}}"; }; }; 8BA05A690720730100365D66 /* CapacitorVersion.h */ = { @@ -113,9 +113,9 @@ }; 8BC6025B073B072D006C4272 /* Capacitor.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2158}}"; - sepNavSelRange = "{5829, 65}"; - sepNavVisRange = "{3949, 1667}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2353}}"; + sepNavSelRange = "{5854, 0}"; + sepNavVisRange = "{4764, 1192}"; sepNavWindowFrame = "{{517, 41}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3 index 53f7a19..079d4c2 100755 --- a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 841 + 841 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -301,7 +299,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 573 188 841 654 0 0 1440 878 + 493 190 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B6692B61FB1BDCA007B3434 + 8B7928DE21F344CC006E9731 history 8B558E341E54FD3900D04D0B - 8B6692B51FB1BDCA007B3434 + 8B7928D921F344BA006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 92}} + {{0, 0}, {531, 74}} RubberWindowFrame - 573 188 841 654 0 0 1440 878 + 493 190 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 92pt + 74pt Proportion - 516pt + 534pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 489}} - RubberWindowFrame - 573 188 841 654 0 0 1440 878 + {{10, 27}, {531, 507}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {531, 507}} + RubberWindowFrame + 493 190 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B6692B71FB1BDCA007B3434 + 8B7928DF21F344CC006E9731 1CA23ED40692098700951B8B - 8B6692B81FB1BDCA007B3434 + 8B7928E021F344CC006E9731 8BD7274A1D46E5A5000176F0 - 8B6692B91FB1BDCA007B3434 + 8B7928E121F344CC006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 531742154.04575902 + 569590988.98670805 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +672,10 @@ 5 WindowOrderList - 8B6692BA1FB1BDCA007B3434 /Users/christopherjohnson/Desktop/MacAU/Capacitor/Capacitor.xcodeproj WindowString - 573 188 841 654 0 0 1440 878 + 493 190 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Channel6/Channel6.cpp b/plugins/MacAU/Channel6/Channel6.cpp index a0e543c..160b961 100755 --- a/plugins/MacAU/Channel6/Channel6.cpp +++ b/plugins/MacAU/Channel6/Channel6.cpp @@ -284,22 +284,15 @@ void Channel6::Channel6Kernel::Process( const Float32 *inSourceP, { inputSample *= output; } - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. -} \ No newline at end of file +} diff --git a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser index 108e0b5..46650ee 100755 --- a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser @@ -49,19 +49,39 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553993498; - PBXWorkspaceStateSaveDate = 553993498; + PBXPerProjectTemplateStateSaveDate = 569591253; + PBXWorkspaceStateSaveDate = 569591253; }; perUserProjectItems = { + 8B79290F21F3460C006E9731 /* PBXTextBookmark */ = 8B79290F21F3460C006E9731 /* PBXTextBookmark */; + 8B79291421F3461E006E9731 /* PBXTextBookmark */ = 8B79291421F3461E006E9731 /* PBXTextBookmark */; 8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */ = 8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */; 8BB8B7512103B13800751000 /* PlistBookmark */ = 8BB8B7512103B13800751000 /* PlistBookmark */; - 8BBD18BF2105439F0015A233 /* PBXTextBookmark */ = 8BBD18BF2105439F0015A233 /* PBXTextBookmark */; - 8BBD18F5210547560015A233 /* PBXTextBookmark */ = 8BBD18F5210547560015A233 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79290F21F3460C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Channel6.cpp */; + name = "Channel6.cpp: 216"; + rLen = 0; + rLoc = 9427; + rType = 0; + vrLen = 338; + vrLoc = 9262; + }; + 8B79291421F3461E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Channel6.cpp */; + name = "Channel6.cpp: 216"; + rLen = 0; + rLoc = 9427; + rType = 0; + vrLen = 338; + vrLoc = 9262; + }; 8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Channel6.h */; @@ -74,10 +94,10 @@ }; 8BA05A660720730100365D66 /* Channel6.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 4030}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3874}}"; sepNavSelRange = "{9427, 0}"; - sepNavVisRange = "{9225, 393}"; - sepNavWindowFrame = "{{659, 57}, {850, 821}}"; + sepNavVisRange = "{9262, 338}"; + sepNavWindowFrame = "{{442, 57}, {850, 821}}"; }; }; 8BA05A670720730100365D66 /* Channel6.exp */ = { @@ -108,32 +128,12 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BBD18BF2105439F0015A233 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Channel6.cpp */; - name = "Channel6.cpp: 216"; - rLen = 0; - rLoc = 9427; - rType = 0; - vrLen = 439; - vrLoc = 9182; - }; - 8BBD18F5210547560015A233 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Channel6.cpp */; - name = "Channel6.cpp: 216"; - rLen = 0; - rLoc = 9427; - rType = 0; - vrLen = 393; - vrLoc = 9225; - }; 8BC6025B073B072D006C4272 /* Channel6.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2015}}"; - sepNavSelRange = "{5615, 0}"; - sepNavVisRange = "{2424, 1290}"; - sepNavWindowFrame = "{{600, 57}, {850, 821}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1989}}"; + sepNavSelRange = "{5497, 0}"; + sepNavVisRange = "{4141, 1596}"; + sepNavWindowFrame = "{{590, 57}, {850, 821}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3 index 42ecf8f..ffc3590 100755 --- a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 592 182 841 654 0 0 1440 878 + 463 218 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,12 +352,12 @@ _historyCapacity 0 bookmark - 8BBD18F5210547560015A233 + 8B79291421F3461E006E9731 history 8BB8B7512103B13800751000 8B97541F2103D42D00A4FFA3 - 8BBD18BF2105439F0015A233 + 8B79290F21F3460C006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {531, 142}} RubberWindowFrame - 592 182 841 654 0 0 1440 878 + 463 218 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 142pt Proportion - 435pt + 466pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} - RubberWindowFrame - 592 182 841 654 0 0 1440 878 + {{10, 27}, {531, 439}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 439}} + RubberWindowFrame + 463 218 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8BBD18F6210547560015A233 + 8B79291521F3461E006E9731 1CA23ED40692098700951B8B - 8BBD18F7210547560015A233 + 8B79291621F3461E006E9731 8BD7274A1D46E5A5000176F0 - 8BBD18F8210547560015A233 + 8B79291721F3461E006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 553994070.73831797 + 569591326.09985697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,10 @@ 5 WindowOrderList - 8BBD18F9210547560015A233 /Users/christopherjohnson/Desktop/MacAU/Channel6/Channel6.xcodeproj WindowString - 592 182 841 654 0 0 1440 878 + 463 218 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Chorus/Chorus.cpp b/plugins/MacAU/Chorus/Chorus.cpp index c82a9f8..6a4eb69 100755 --- a/plugins/MacAU/Chorus/Chorus.cpp +++ b/plugins/MacAU/Chorus/Chorus.cpp @@ -181,9 +181,8 @@ void Chorus::ChorusKernel::Reset() airEven = 0.0; airOdd = 0.0; airFactor = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; + fpFlip = false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -214,10 +213,6 @@ void Chorus::ChorusKernel::Process( const Float32 *inSourceP, Float64 tupi = 3.141592653589793238 * 2.0; Float64 offset; //this is a double buffer so we will be splitting it in two - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSample; Float64 drySample; @@ -282,19 +277,11 @@ void Chorus::ChorusKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; destP += inNumChannels; diff --git a/plugins/MacAU/Chorus/Chorus.h b/plugins/MacAU/Chorus/Chorus.h index e25e995..ff1fdf2 100755 --- a/plugins/MacAU/Chorus/Chorus.h +++ b/plugins/MacAU/Chorus/Chorus.h @@ -139,9 +139,8 @@ public: Float64 airEven; Float64 airOdd; Float64 airFactor; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; + bool fpFlip; }; }; diff --git a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser index 3cae981..f61c3d3 100755 --- a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser @@ -49,44 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 529841844; - PBXWorkspaceStateSaveDate = 529841844; + PBXPerProjectTemplateStateSaveDate = 569591348; + PBXWorkspaceStateSaveDate = 569591348; }; perUserProjectItems = { - 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */ = 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */; - 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */ = 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */; + 8B79292521F34676006E9731 /* PBXTextBookmark */ = 8B79292521F34676006E9731 /* PBXTextBookmark */; + 8B79293221F346AC006E9731 /* PBXTextBookmark */ = 8B79293221F346AC006E9731 /* PBXTextBookmark */; 8BCF321C1F4E492C00632CB6 /* PBXTextBookmark */ = 8BCF321C1F4E492C00632CB6 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */ = { + 8B79292521F34676006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Chorus.cpp */; - name = "Chorus.cpp: 269"; + name = "Chorus.cpp: 263"; rLen = 0; - rLoc = 11881; + rLoc = 11745; rType = 0; vrLen = 0; vrLoc = 0; }; - 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */ = { + 8B79293221F346AC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Chorus.cpp */; - name = "Chorus.cpp: 269"; + name = "Chorus.cpp: 264"; rLen = 0; - rLoc = 11881; + rLoc = 11745; rType = 0; - vrLen = 65; - vrLoc = 10659; + vrLen = 0; + vrLoc = 0; }; 8BA05A660720730100365D66 /* Chorus.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 4004}}"; - sepNavSelRange = "{11881, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3887}}"; + sepNavSelRange = "{11745, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{784, 39}, {1024, 839}}"; + sepNavWindowFrame = "{{257, 39}, {1024, 839}}"; }; }; 8BA05A670720730100365D66 /* Chorus.exp */ = { @@ -107,9 +107,9 @@ }; 8BC6025B073B072D006C4272 /* Chorus.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 1963}}"; - sepNavSelRange = "{5229, 0}"; - sepNavVisRange = "{4125, 1457}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 1937}}"; + sepNavSelRange = "{5444, 0}"; + sepNavVisRange = "{4046, 1502}"; sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; }; }; diff --git a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3 index ecf0b5a..4dc6f92 100755 --- a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3 @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 630 329 810 487 0 0 1440 878 + 473 332 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B36C9E21F94D13C003BE0C9 + 8B79293221F346AC006E9731 history 8BCF321C1F4E492C00632CB6 - 8B9D733F1F7F1245007AB60F + 8B79292521F34676006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 32}} + {{0, 0}, {603, 13}} RubberWindowFrame - 630 329 810 487 0 0 1440 878 + 473 332 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 32pt + 13pt Proportion - 409pt + 428pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 382}} - RubberWindowFrame - 630 329 810 487 0 0 1440 878 + {{10, 27}, {603, 401}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 401}} + RubberWindowFrame + 473 332 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B36C9E31F94D13C003BE0C9 + 8B79293321F346AC006E9731 1CA23ED40692098700951B8B - 8B36C9E41F94D13C003BE0C9 + 8B79293421F346AC006E9731 8BCFBD371E6DE48D0046F93B - 8B36C9E51F94D13C003BE0C9 + 8B79293521F346AC006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 529846588.24690598 + 569591468.25551903 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,10 @@ 5 WindowOrderList - 8B36C9E61F94D13C003BE0C9 /Users/christopherjohnson/Desktop/MacAU/Chorus/Chorus.xcodeproj WindowString - 630 329 810 487 0 0 1440 878 + 473 332 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp index 8caed8c..4cc8f36 100755 --- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp +++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp @@ -181,9 +181,8 @@ void ChorusEnsemble::ChorusEnsembleKernel::Reset() airEven = 0.0; airOdd = 0.0; airFactor = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; + fpFlip = false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -215,10 +214,6 @@ void ChorusEnsemble::ChorusEnsembleKernel::Process( const Float32 *inSourceP, Float64 offset; Float64 start[4]; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - long double inputSample; Float64 drySample; //now we'll precalculate some stuff that needn't be in every sample @@ -312,19 +307,11 @@ void ChorusEnsemble::ChorusEnsembleKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; destP += inNumChannels; diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h index 6b2b8ed..7012d58 100755 --- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h +++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h @@ -139,9 +139,8 @@ public: Float64 airEven; Float64 airOdd; Float64 airFactor; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; + bool fpFlip; }; }; diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser index 338f1c0..6b1f825 100755 --- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser @@ -49,61 +49,50 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528421453; - PBXWorkspaceStateSaveDate = 528421453; + PBXPerProjectTemplateStateSaveDate = 569591494; + PBXWorkspaceStateSaveDate = 569591494; }; perUserProjectItems = { + 8B79294D21F34765006E9731 /* PBXTextBookmark */ = 8B79294D21F34765006E9731 /* PBXTextBookmark */; 8B8847291F206D6800E13453 /* PBXTextBookmark */ = 8B8847291F206D6800E13453 /* PBXTextBookmark */; - 8B88472A1F206D6800E13453 /* PBXTextBookmark */ = 8B88472A1F206D6800E13453 /* PBXTextBookmark */; - 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */ = 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B8847291F206D6800E13453 /* PBXTextBookmark */ = { + 8B79294D21F34765006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A670720730100365D66 /* ChorusEnsemble.exp */; name = "ChorusEnsemble.exp: 2"; rLen = 0; rLoc = 21; rType = 0; - vrLen = 21; + vrLen = 0; vrLoc = 0; }; - 8B88472A1F206D6800E13453 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ChorusEnsemble.h */; - name = "ChorusEnsemble.h: 58"; - rLen = 0; - rLoc = 2939; - rType = 0; - vrLen = 239; - vrLoc = 2754; - }; - 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */ = { + 8B8847291F206D6800E13453 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ChorusEnsemble.h */; - name = "ChorusEnsemble.h: 58"; + fRef = 8BA05A670720730100365D66 /* ChorusEnsemble.exp */; + name = "ChorusEnsemble.exp: 2"; rLen = 0; - rLoc = 2939; + rLoc = 21; rType = 0; - vrLen = 0; + vrLen = 21; vrLoc = 0; }; 8BA05A660720730100365D66 /* ChorusEnsemble.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {521, 4407}}"; - sepNavSelRange = "{11914, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{295, 65}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 4368}}"; + sepNavSelRange = "{8495, 0}"; + sepNavVisRange = "{7989, 1986}"; + sepNavWindowFrame = "{{147, 42}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* ChorusEnsemble.exp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 100}}"; + sepNavIntBoundsRect = "{{0, 0}, {521, 26}}"; sepNavSelRange = "{21, 0}"; - sepNavVisRange = "{0, 21}"; + sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{15, 39}, {1005, 839}}"; }; }; @@ -117,7 +106,7 @@ }; 8BC6025B073B072D006C4272 /* ChorusEnsemble.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {719, 2197}}"; + sepNavIntBoundsRect = "{{0, 0}, {521, 1937}}"; sepNavSelRange = "{2939, 0}"; sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3 index 71d07ef..d35aa7f 100755 --- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3 @@ -326,7 +326,7 @@ 218 RubberWindowFrame - 616 217 810 487 0 0 1440 878 + 457 305 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +342,7 @@ PBXProjectModuleGUID 8B8847271F206D6800E13453 PBXProjectModuleLabel - ChorusEnsemble.h + ChorusEnsemble.exp PBXSplitModuleInNavigatorKey Split0 @@ -350,15 +350,14 @@ PBXProjectModuleGUID 8B8847281F206D6800E13453 PBXProjectModuleLabel - ChorusEnsemble.h + ChorusEnsemble.exp _historyCapacity 0 bookmark - 8B9D734E1F7F1296007AB60F + 8B79294D21F34765006E9731 history 8B8847291F206D6800E13453 - 8B88472A1F206D6800E13453 SplitCount @@ -374,7 +373,7 @@ Frame {{0, 0}, {570, 0}} RubberWindowFrame - 616 217 810 487 0 0 1440 878 + 457 305 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -398,8 +397,6 @@ Frame {{10, 27}, {570, 414}} - RubberWindowFrame - 616 217 810 487 0 0 1440 878 Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {570, 312}} + {{10, 27}, {570, 414}} + RubberWindowFrame + 457 305 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +480,11 @@ TableOfContents - 8B9D734F1F7F1296007AB60F + 8B79294E21F34765006E9731 1CA23ED40692098700951B8B - 8B9D73501F7F1296007AB60F + 8B79294F21F34765006E9731 8B8847271F206D6800E13453 - 8B9D73511F7F1296007AB60F + 8B79295021F34765006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -638,7 +637,7 @@ StatusbarIsVisible TimeStamp - 528421526.378672 + 569591653.62024701 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -655,11 +654,11 @@ 5 WindowOrderList - 8B9D73521F7F1296007AB60F + 8B79295121F34765006E9731 /Users/christopherjohnson/Desktop/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj WindowString - 616 217 810 487 0 0 1440 878 + 457 305 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser index a51396a..6f6145c 100755 --- a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser @@ -51,13 +51,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 529441914; - PBXWorkspaceStateSaveDate = 529441914; + PBXPerProjectTemplateStateSaveDate = 569591684; + PBXWorkspaceStateSaveDate = 569591684; }; perUserProjectItems = { 8B1E10641D87858F0016BF5B /* PBXTextBookmark */ = 8B1E10641D87858F0016BF5B /* PBXTextBookmark */; 8B1E10651D87858F0016BF5B /* PBXTextBookmark */ = 8B1E10651D87858F0016BF5B /* PBXTextBookmark */; - 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */ = 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */; + 8B79296121F347C4006E9731 /* PBXTextBookmark */ = 8B79296121F347C4006E9731 /* PBXTextBookmark */; 8BCA0F671D87688800A4EFAF /* PlistBookmark */ = 8BCA0F671D87688800A4EFAF /* PlistBookmark */; 8BE9F8701F8EA4A0009702A4 /* PBXTextBookmark */ = 8BE9F8701F8EA4A0009702A4 /* PBXTextBookmark */; }; @@ -85,21 +85,21 @@ vrLen = 354; vrLoc = 2596; }; - 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */ = { + 8B79296121F347C4006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* ClipOnly.h */; name = "ClipOnly.h: 125"; rLen = 60; rLoc = 4934; rType = 0; - vrLen = 402; + vrLen = 308; vrLoc = 4693; }; 8BA05A660720730100365D66 /* ClipOnly.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 3354}}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 3250}}"; sepNavSelRange = "{10288, 28}"; - sepNavVisRange = "{8363, 2011}"; + sepNavVisRange = "{8312, 2062}"; sepNavWindowFrame = "{{545, 59}, {895, 819}}"; }; }; @@ -115,7 +115,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1911}}"; sepNavSelRange = "{4934, 60}"; - sepNavVisRange = "{4693, 309}"; + sepNavVisRange = "{4693, 308}"; sepNavWindowFrame = "{{15, 54}, {895, 819}}"; }; }; diff --git a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3 index 567a3d2..1b24ce5 100755 --- a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 586 185 841 654 0 0 1440 878 + 513 205 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,13 +353,13 @@ _historyCapacity 0 bookmark - 8BE9F8701F8EA4A0009702A4 + 8B79296121F347C4006E9731 history 8BCA0F671D87688800A4EFAF 8B1E10641D87858F0016BF5B 8B1E10651D87858F0016BF5B - 8B9D735D1F7F9736007AB60F + 8BE9F8701F8EA4A0009702A4 SplitCount @@ -373,18 +373,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 202}} RubberWindowFrame - 586 185 841 654 0 0 1440 878 + 513 205 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 202pt Proportion - 392pt + 406pt Tabs @@ -398,9 +398,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} + {{10, 27}, {531, 379}} RubberWindowFrame - 586 185 841 654 0 0 1440 878 + 513 205 841 654 0 0 1440 878 Module XCDetailModule @@ -482,11 +482,11 @@ TableOfContents - 8BE9F8711F8EA4A0009702A4 + 8B79296221F347C4006E9731 1CA23ED40692098700951B8B - 8BE9F8721F8EA4A0009702A4 + 8B79296321F347C4006E9731 8BD7274A1D46E5A5000176F0 - 8BE9F8731F8EA4A0009702A4 + 8B79296421F347C4006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +659,7 @@ StatusbarIsVisible TimeStamp - 529441952.39161801 + 569591748.91110599 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +676,11 @@ 5 WindowOrderList - 8BE9F8741F8EA4A0009702A4 + 8B79296521F347C4006E9731 /Users/christopherjohnson/Desktop/MacAU/ClipOnly/ClipOnly.xcodeproj WindowString - 586 185 841 654 0 0 1440 878 + 513 205 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Console4Buss/Console4Buss.cpp b/plugins/MacAU/Console4Buss/Console4Buss.cpp index d263fe8..a37a7c5 100755 --- a/plugins/MacAU/Console4Buss/Console4Buss.cpp +++ b/plugins/MacAU/Console4Buss/Console4Buss.cpp @@ -162,10 +162,7 @@ void Console4Buss::Console4BussKernel::Reset() gainchase = -90.0; settingchase = -90.0; chasespeed = 350.0; - demotimer = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -187,9 +184,6 @@ void Console4Buss::Console4BussKernel::Process( const Float32 *inSourceP, overallscale /= 44100.0; // 1 for CD rate, more if it's a high sample rate - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSample; long double half; long double falf; @@ -264,19 +258,11 @@ void Console4Buss::Console4BussKernel::Process( const Float32 *inSourceP, //this is the inverse processing for Console: boosts but not so much if there's slew. //is this too subtle an effect? - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Console4Buss/Console4Buss.h b/plugins/MacAU/Console4Buss/Console4Buss.h index 87b1a17..dc7e15f 100755 --- a/plugins/MacAU/Console4Buss/Console4Buss.h +++ b/plugins/MacAU/Console4Buss/Console4Buss.h @@ -131,10 +131,7 @@ public: Float64 gainchase; Float64 settingchase; Float64 chasespeed; - int demotimer; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser index 8a1c58c..0ed4251 100755 --- a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser @@ -49,48 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 533150868; - PBXWorkspaceStateSaveDate = 533150868; + PBXPerProjectTemplateStateSaveDate = 569592284; + PBXWorkspaceStateSaveDate = 569592284; }; perUserProjectItems = { - 8B484E281FC73D0300977397 /* PBXTextBookmark */ = 8B484E281FC73D0300977397 /* PBXTextBookmark */; - 8B484E291FC73D0300977397 /* PBXBookmark */ = 8B484E291FC73D0300977397 /* PBXBookmark */; - 8B484E2A1FC73D0300977397 /* PBXTextBookmark */ = 8B484E2A1FC73D0300977397 /* PBXTextBookmark */; + 8B79297721F34A6E006E9731 /* PBXTextBookmark */ = 8B79297721F34A6E006E9731 /* PBXTextBookmark */; + 8B79297821F34A6E006E9731 /* PBXTextBookmark */ = 8B79297821F34A6E006E9731 /* PBXTextBookmark */; + 8B79297D21F34A7F006E9731 /* PBXTextBookmark */ = 8B79297D21F34A7F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B484E281FC73D0300977397 /* PBXTextBookmark */ = { + 8B79297721F34A6E006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */; - name = "Console4Buss.h: 138"; + fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */; + name = "Console4Buss.cpp: 213"; rLen = 0; - rLoc = 5276; + rLoc = 9086; rType = 0; - vrLen = 85; - vrLoc = 48; + vrLen = 173; + vrLoc = 10045; }; - 8B484E291FC73D0300977397 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */; + 8B79297821F34A6E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */; + name = "Console4Buss.h: 135"; + rLen = 0; + rLoc = 5226; + rType = 0; + vrLen = 66; + vrLoc = 67; }; - 8B484E2A1FC73D0300977397 /* PBXTextBookmark */ = { + 8B79297D21F34A7F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */; - name = "Console4Buss.cpp: 213"; + fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */; + name = "Console4Buss.h: 135"; rLen = 0; - rLoc = 9245; + rLoc = 5226; rType = 0; - vrLen = 232; - vrLoc = 10045; + vrLen = 66; + vrLoc = 67; }; 8BA05A660720730100365D66 /* Console4Buss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 3913}}"; - sepNavSelRange = "{9245, 0}"; - sepNavVisRange = "{10045, 232}"; - sepNavWindowFrame = "{{545, 39}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 3783}}"; + sepNavSelRange = "{11405, 0}"; + sepNavVisRange = "{9653, 1840}"; + sepNavWindowFrame = "{{183, 47}, {895, 831}}"; }; }; 8BA05A690720730100365D66 /* Console4BussVersion.h */ = { @@ -103,10 +109,10 @@ }; 8BC6025B073B072D006C4272 /* Console4Buss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; - sepNavSelRange = "{5135, 67}"; - sepNavVisRange = "{3839, 1546}"; - sepNavWindowFrame = "{{621, 47}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 1885}}"; + sepNavSelRange = "{5226, 0}"; + sepNavVisRange = "{67, 66}"; + sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3 index 3a90e01..d66b6f6 100755 --- a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 631 363 810 487 0 0 1440 878 + 470 336 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8B049F931D109A8900F78DCA PBXProjectModuleLabel - Console4Buss.cpp + Console4Buss.h PBXSplitModuleInNavigatorKey Split0 @@ -348,15 +346,15 @@ PBXProjectModuleGUID 8B049F941D109A8900F78DCA PBXProjectModuleLabel - Console4Buss.cpp + Console4Buss.h _historyCapacity 0 bookmark - 8B484E2A1FC73D0300977397 + 8B79297D21F34A7F006E9731 history - 8B484E281FC73D0300977397 - 8B484E291FC73D0300977397 + 8B79297721F34A6E006E9731 + 8B79297821F34A6E006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame - 631 363 810 487 0 0 1440 878 + 470 336 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 631 363 810 487 0 0 1440 878 + {{10, 27}, {603, 363}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 470 336 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B484E2B1FC73D0300977397 + 8B79296E21F349E0006E9731 1CA23ED40692098700951B8B - 8B484E2C1FC73D0300977397 + 8B79296F21F349E0006E9731 8B049F931D109A8900F78DCA - 8B484E2D1FC73D0300977397 + 8B79297021F349E0006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 533150979.70890802 + 569592447.53790605 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -656,7 +654,7 @@ /Users/christopherjohnson/Desktop/MacAU/Console4Buss/Console4Buss.xcodeproj WindowString - 631 363 810 487 0 0 1440 878 + 470 336 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Console4Channel/Console4Channel.cpp b/plugins/MacAU/Console4Channel/Console4Channel.cpp index a357629..865b3b0 100755 --- a/plugins/MacAU/Console4Channel/Console4Channel.cpp +++ b/plugins/MacAU/Console4Channel/Console4Channel.cpp @@ -161,10 +161,7 @@ void Console4Channel::Console4ChannelKernel::Reset() gainchase = -90.0; settingchase = -90.0; chasespeed = 350.0; - demotimer = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -182,9 +179,6 @@ void Console4Channel::Console4ChannelKernel::Process( const Float32 *inSourceP long double inputSample; long double half; long double falf; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; Float64 inputgain = GetParameter( kParam_One ); if (settingchase != inputgain) { chasespeed *= 2.0; @@ -243,19 +237,11 @@ void Console4Channel::Console4ChannelKernel::Process( const Float32 *inSourceP //this is part of the Purest line: stuff that is on every track //needs to be DAMN LOW ON MATH srsly guys - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; //force 80 bit into 32 bit output diff --git a/plugins/MacAU/Console4Channel/Console4Channel.h b/plugins/MacAU/Console4Channel/Console4Channel.h index 0d447d4..665d892 100755 --- a/plugins/MacAU/Console4Channel/Console4Channel.h +++ b/plugins/MacAU/Console4Channel/Console4Channel.h @@ -129,10 +129,7 @@ public: Float64 gainchase; Float64 settingchase; Float64 chasespeed; - int demotimer; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser index 038b3b3..3aa3959 100755 --- a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser @@ -49,15 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 533424844; - PBXWorkspaceStateSaveDate = 533424844; + PBXPerProjectTemplateStateSaveDate = 569592470; + PBXWorkspaceStateSaveDate = 569592470; }; perUserProjectItems = { 8B484F0F1FCB69BE00977397 /* PBXTextBookmark */ = 8B484F0F1FCB69BE00977397 /* PBXTextBookmark */; 8B484F1F1FCB6ADC00977397 /* PBXTextBookmark */ = 8B484F1F1FCB6ADC00977397 /* PBXTextBookmark */; - 8B484F201FCB6ADC00977397 /* PBXTextBookmark */ = 8B484F201FCB6ADC00977397 /* PBXTextBookmark */; - 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */ = 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */; 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */; + 8B79298C21F34AE6006E9731 /* PBXTextBookmark */ = 8B79298C21F34AE6006E9731 /* PBXTextBookmark */; + 8B79299121F34AF7006E9731 /* PBXTextBookmark */ = 8B79299121F34AF7006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -83,42 +83,42 @@ vrLen = 43; vrLoc = 32; }; - 8B484F201FCB6ADC00977397 /* PBXTextBookmark */ = { + 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */; - name = "Console4Channel.h: 1"; + fRef = 8BA05A680720730100365D66 /* Console4Channel.r */; + name = "Console4Channel.r: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 106; - vrLoc = 30; + vrLen = 0; + vrLoc = 0; }; - 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */ = { + 8B79298C21F34AE6006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */; name = "Console4Channel.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 22; - vrLoc = 48; + vrLen = 40; + vrLoc = 30; }; - 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = { + 8B79299121F34AF7006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A680720730100365D66 /* Console4Channel.r */; - name = "Console4Channel.r: 1"; + fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */; + name = "Console4Channel.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 40; + vrLoc = 30; }; 8BA05A660720730100365D66 /* Console4Channel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 3289}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{7711, 2420}"; - sepNavWindowFrame = "{{545, 47}, {895, 831}}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 3380}}"; + sepNavSelRange = "{8218, 0}"; + sepNavVisRange = "{7422, 2528}"; + sepNavWindowFrame = "{{384, 47}, {895, 831}}"; }; }; 8BA05A680720730100365D66 /* Console4Channel.r */ = { @@ -138,9 +138,9 @@ }; 8BC6025B073B072D006C4272 /* Console4Channel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 1924}}"; + sepNavIntBoundsRect = "{{0, 0}, {740, 1885}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{30, 106}"; + sepNavVisRange = "{30, 40}"; sepNavWindowFrame = "{{545, 39}, {895, 831}}"; }; }; diff --git a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3 index 39bab7a..cde33b3 100755 --- a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 199 RubberWindowFrame - 629 366 810 487 0 0 1440 878 + 484 362 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,13 +350,13 @@ _historyCapacity 0 bookmark - 8B484F201FCB6ADC00977397 + 8B79299121F34AF7006E9731 history 8B6F9BCA1D4A913400B449D5 8B484F0F1FCB69BE00977397 8B484F1F1FCB6ADC00977397 - 8B6F9B891D4A8A2400B449D5 + 8B79298C21F34AE6006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {589, 96}} + {{0, 0}, {589, 80}} RubberWindowFrame - 629 366 810 487 0 0 1440 878 + 484 362 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 96pt + 80pt Proportion - 345pt + 361pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {589, 318}} - RubberWindowFrame - 629 366 810 487 0 0 1440 878 + {{10, 27}, {589, 334}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {589, 334}} + RubberWindowFrame + 484 362 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B484F211FCB6ADC00977397 + 8B79299221F34AF7006E9731 1CA23ED40692098700951B8B - 8B484F221FCB6ADC00977397 + 8B79299321F34AF7006E9731 8B049F641D108FA800F78DCA - 8B484F231FCB6ADC00977397 + 8B79299421F34AF7006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -638,7 +636,7 @@ StatusbarIsVisible TimeStamp - 533424860.76372099 + 569592567.96526098 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -658,7 +656,7 @@ /Users/christopherjohnson/Desktop/MacAU/Console4Channel/Console4Channel.xcodeproj WindowString - 629 366 810 487 0 0 1440 878 + 484 362 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Console5Buss/Console5Buss.cpp b/plugins/MacAU/Console5Buss/Console5Buss.cpp index 13008f9..3c1c845 100755 --- a/plugins/MacAU/Console5Buss/Console5Buss.cpp +++ b/plugins/MacAU/Console5Buss/Console5Buss.cpp @@ -165,9 +165,7 @@ void Console5Buss::Console5BussKernel::Reset() settingchase = -90.0; chasespeed = 350.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -185,9 +183,6 @@ void Console5Buss::Console5BussKernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 inputgain = GetParameter( kParam_One ); Float64 difference; @@ -278,19 +273,11 @@ void Console5Buss::Console5BussKernel::Process( const Float32 *inSourceP, lastFXBuss *= (1.0 - (nearZero * bassTrim)); //this cuts back the DC offset directly, relative to how near zero we are - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Console5Buss/Console5Buss.h b/plugins/MacAU/Console5Buss/Console5Buss.h index 51cd70c..c7f1638 100755 --- a/plugins/MacAU/Console5Buss/Console5Buss.h +++ b/plugins/MacAU/Console5Buss/Console5Buss.h @@ -132,9 +132,7 @@ public: Float64 settingchase; Float64 chasespeed; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser index 77bac7c..d93ee0d 100755 --- a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser @@ -49,55 +49,55 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538690007; - PBXWorkspaceStateSaveDate = 538690007; + PBXPerProjectTemplateStateSaveDate = 569593643; + PBXWorkspaceStateSaveDate = 569593643; }; perUserProjectItems = { - 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */ = 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */; - 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */ = 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */; - 8B95A7D820006AC3007183A2 /* PBXTextBookmark */ = 8B95A7D820006AC3007183A2 /* PBXTextBookmark */; + 8B7929A221F34F6F006E9731 /* PBXTextBookmark */ = 8B7929A221F34F6F006E9731 /* PBXTextBookmark */; + 8B7929A321F34F6F006E9731 /* PBXTextBookmark */ = 8B7929A321F34F6F006E9731 /* PBXTextBookmark */; + 8B7929A821F34F7F006E9731 /* PBXTextBookmark */ = 8B7929A821F34F7F006E9731 /* PBXTextBookmark */; 8BBE44D71FE5EAC70022E6F7 /* PlistBookmark */ = 8BBE44D71FE5EAC70022E6F7 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */ = { + 8B7929A221F34F6F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Console5Buss.cpp */; name = "Console5Buss.cpp: 197"; rLen = 0; - rLoc = 8561; + rLoc = 8409; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 272; + vrLoc = 3; }; - 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */ = { + 8B7929A321F34F6F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Console5Buss.cpp */; - name = "Console5Buss.cpp: 197"; + fRef = 8BC6025B073B072D006C4272 /* Console5Buss.h */; + name = "Console5Buss.h: 128"; rLen = 0; - rLoc = 8561; + rLoc = 5111; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 149; + vrLoc = 5032; }; - 8B95A7D820006AC3007183A2 /* PBXTextBookmark */ = { + 8B7929A821F34F7F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Console5Buss.h */; name = "Console5Buss.h: 128"; rLen = 0; rLoc = 5111; rType = 0; - vrLen = 63; - vrLoc = 5096; + vrLen = 149; + vrLoc = 5032; }; 8BA05A660720730100365D66 /* Console5Buss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {346, 3991}}"; - sepNavSelRange = "{8561, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{519, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 4043}}"; + sepNavSelRange = "{12118, 0}"; + sepNavVisRange = "{10187, 2019}"; + sepNavWindowFrame = "{{422, 39}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* Console5BussVersion.h */ = { @@ -122,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* Console5Buss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; - sepNavSelRange = "{2819, 272}"; - sepNavVisRange = "{1789, 1938}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 2002}}"; + sepNavSelRange = "{5111, 0}"; + sepNavVisRange = "{5032, 149}"; sepNavWindowFrame = "{{545, 39}, {895, 839}}"; }; }; diff --git a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3 index 71675a6..9aef77c 100755 --- a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 705 + 705 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 710 433 705 445 0 0 1440 878 + 539 403 705 445 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Console5Buss.cpp + Console5Buss.h PBXSplitModuleInNavigatorKey Split0 @@ -349,16 +347,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Console5Buss.cpp + Console5Buss.h _historyCapacity 0 bookmark - 8B4E5591201BC43400B5DC2A + 8B7929A821F34F7F006E9731 history 8BBE44D71FE5EAC70022E6F7 - 8B95A7D820006AC3007183A2 - 8B4E5566201BC09200B5DC2A + 8B7929A221F34F6F006E9731 + 8B7929A321F34F6F006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {395, 0}} + {{0, 0}, {395, 120}} RubberWindowFrame - 710 433 705 445 0 0 1440 878 + 539 403 705 445 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 120pt Proportion - 399pt + 279pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {395, 372}} - RubberWindowFrame - 710 433 705 445 0 0 1440 878 + {{10, 27}, {395, 252}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {395, 252}} + RubberWindowFrame + 539 403 705 445 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B4E5592201BC43400B5DC2A + 8B7929A921F34F7F006E9731 1CA23ED40692098700951B8B - 8B4E5593201BC43400B5DC2A + 8B7929AA21F34F7F006E9731 8BD7274A1D46E5A5000176F0 - 8B4E5594201BC43400B5DC2A + 8B7929AB21F34F7F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 538690612.183846 + 569593727.64458299 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -678,7 +676,7 @@ /Users/christopherjohnson/Desktop/MacAU/Console5Buss/Console5Buss.xcodeproj WindowString - 710 433 705 445 0 0 1440 878 + 539 403 705 445 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Console5Channel/Console5Channel.cpp b/plugins/MacAU/Console5Channel/Console5Channel.cpp index 795c960..356f347 100755 --- a/plugins/MacAU/Console5Channel/Console5Channel.cpp +++ b/plugins/MacAU/Console5Channel/Console5Channel.cpp @@ -165,9 +165,7 @@ void Console5Channel::Console5ChannelKernel::Reset() settingchase = -90.0; chasespeed = 350.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -185,9 +183,6 @@ void Console5Channel::Console5ChannelKernel::Process( const Float32 *inSourceP long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 inputgain = GetParameter( kParam_One ); Float64 difference; @@ -279,19 +274,11 @@ void Console5Channel::Console5ChannelKernel::Process( const Float32 *inSourceP inputSample = sin(inputSample); //amplitude aspect - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Console5Channel/Console5Channel.h b/plugins/MacAU/Console5Channel/Console5Channel.h index 8c9f293..3b4104e 100755 --- a/plugins/MacAU/Console5Channel/Console5Channel.h +++ b/plugins/MacAU/Console5Channel/Console5Channel.h @@ -131,9 +131,7 @@ public: Float64 settingchase; Float64 chasespeed; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser index b2bdf5a..34f20bd 100755 --- a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 544914744; - PBXWorkspaceStateSaveDate = 544914744; + PBXPerProjectTemplateStateSaveDate = 569594770; + PBXWorkspaceStateSaveDate = 569594770; }; perUserProjectItems = { 8B050BAA206487EB00700365 /* PlistBookmark */ = 8B050BAA206487EB00700365 /* PlistBookmark */; - 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */ = 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */; - 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */ = 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */; + 8B7929B921F353D1006E9731 /* PBXTextBookmark */ = 8B7929B921F353D1006E9731 /* PBXTextBookmark */; + 8B7929BE21F353E2006E9731 /* PBXTextBookmark */ = 8B7929BE21F353E2006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,32 +73,32 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */ = { + 8B7929B921F353D1006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Console5Channel.cpp */; - name = "Console5Channel.cpp: 234"; + name = "Console5Channel.cpp: 229"; rLen = 380; - rLoc = 10265; + rLoc = 10113; rType = 0; - vrLen = 46; - vrLoc = 10265; + vrLen = 66; + vrLoc = 10205; }; - 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */ = { + 8B7929BE21F353E2006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Console5Channel.cpp */; - name = "Console5Channel.cpp: 234"; + name = "Console5Channel.cpp: 229"; rLen = 380; - rLoc = 10265; + rLoc = 10113; rType = 0; - vrLen = 46; - vrLoc = 10265; + vrLen = 66; + vrLoc = 10205; }; 8BA05A660720730100365D66 /* Console5Channel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {537, 3978}}"; - sepNavSelRange = "{10265, 380}"; - sepNavVisRange = "{10265, 46}"; - sepNavWindowFrame = "{{484, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {509, 3874}}"; + sepNavSelRange = "{10113, 380}"; + sepNavVisRange = "{10205, 66}"; + sepNavWindowFrame = "{{459, 39}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* Console5ChannelVersion.h */ = { @@ -111,9 +111,9 @@ }; 8BC6025B073B072D006C4272 /* Console5Channel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}"; - sepNavSelRange = "{5229, 65}"; - sepNavVisRange = "{3844, 1559}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; + sepNavSelRange = "{5254, 0}"; + sepNavVisRange = "{3765, 1597}"; sepNavWindowFrame = "{{479, 39}, {895, 839}}"; }; }; diff --git a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3 index 37dc046..fbe9f3f 100755 --- a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 817 + 817 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 596 381 817 431 0 0 1440 878 + 533 389 817 431 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B8D6A19207ABF300029B7B0 + 8B7929BE21F353E2006E9731 history 8B050BAA206487EB00700365 - 8B8D6A18207ABF300029B7B0 + 8B7929B921F353D1006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {507, 53}} + {{0, 0}, {507, 35}} RubberWindowFrame - 596 381 817 431 0 0 1440 878 + 533 389 817 431 0 0 1440 878 Module PBXNavigatorGroup Proportion - 53pt + 35pt Proportion - 332pt + 350pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {507, 305}} - RubberWindowFrame - 596 381 817 431 0 0 1440 878 + {{10, 27}, {507, 323}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {507, 323}} + RubberWindowFrame + 533 389 817 431 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B8D6A1A207ABF300029B7B0 + 8B7929BF21F353E2006E9731 1CA23ED40692098700951B8B - 8B8D6A1B207ABF300029B7B0 + 8B7929C021F353E2006E9731 8BD7274A1D46E5A5000176F0 - 8B8D6A1C207ABF300029B7B0 + 8B7929C121F353E2006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 544915248.23002303 + 569594850.24200404 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -677,7 +675,7 @@ /Users/christopherjohnson/Desktop/MacAU/Console5Channel/Console5Channel.xcodeproj WindowString - 596 381 817 431 0 0 1440 878 + 533 389 817 431 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp b/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp index 2ad03c3..4b1cefd 100755 --- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp +++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp @@ -165,9 +165,7 @@ void Console5DarkCh::Console5DarkChKernel::Reset() settingchase = -90.0; chasespeed = 350.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -184,11 +182,7 @@ void Console5DarkCh::Console5DarkChKernel::Process( const Float32 *inSourceP, Float32 *destP = inDestP; long double overallscale = 1.0; overallscale /= 44100.0; - overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + overallscale *= GetSampleRate(); Float64 inputgain = GetParameter( kParam_One ); Float64 difference; Float64 nearZero; @@ -279,19 +273,11 @@ void Console5DarkCh::Console5DarkChKernel::Process( const Float32 *inSourceP, inputSample = sin(inputSample); //amplitude aspect - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.h b/plugins/MacAU/Console5DarkCh/Console5DarkCh.h index 8bb2126..157ad9b 100755 --- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.h +++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.h @@ -131,9 +131,7 @@ public: Float64 settingchase; Float64 chasespeed; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser index 4adcf1e..0562b0f 100755 --- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 537050873; - PBXWorkspaceStateSaveDate = 537050873; + PBXPerProjectTemplateStateSaveDate = 569594878; + PBXWorkspaceStateSaveDate = 569594878; }; perUserProjectItems = { - 8B4D27592002BF690051360A /* PlistBookmark */ = 8B4D27592002BF690051360A /* PlistBookmark */; - 8B95A7E020006AC9007183A2 /* PlistBookmark */ = 8B95A7E020006AC9007183A2 /* PlistBookmark */; + 8B7929CF21F3543F006E9731 /* PlistBookmark */ = 8B7929CF21F3543F006E9731 /* PlistBookmark */; + 8B7929D421F35450006E9731 /* PlistBookmark */ = 8B7929D421F35450006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4D27592002BF690051360A /* PlistBookmark */ = { + 8B7929CF21F3543F006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -72,7 +72,7 @@ rLen = 0; rLoc = 9223372036854775807; }; - 8B95A7E020006AC9007183A2 /* PlistBookmark */ = { + 8B7929D421F35450006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -80,15 +80,15 @@ kPath = ( CFBundleName, ); - name = /Users/christopherjohnson/Desktop/Console5DarkCh/Info.plist; + name = /Users/christopherjohnson/Desktop/MacAU/Console5DarkCh/Info.plist; rLen = 26; rLoc = 0; }; 8BA05A660720730100365D66 /* Console5DarkCh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 4160}}"; - sepNavSelRange = "{10956, 0}"; - sepNavVisRange = "{10771, 1848}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 3991}}"; + sepNavSelRange = "{12259, 0}"; + sepNavVisRange = "{10314, 2033}"; sepNavWindowFrame = "{{29, 39}, {895, 839}}"; }; }; @@ -102,10 +102,10 @@ }; 8BC6025B073B072D006C4272 /* Console5DarkCh.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}"; - sepNavSelRange = "{5389, 0}"; - sepNavVisRange = "{3832, 1557}"; - sepNavWindowFrame = "{{579, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; + sepNavSelRange = "{5240, 0}"; + sepNavVisRange = "{3753, 1595}"; + sepNavWindowFrame = "{{329, 39}, {895, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3 index 91ebb9c..8b9ecd1 100755 --- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 20 224 841 654 0 0 1440 878 + 55 218 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,10 +352,10 @@ _historyCapacity 0 bookmark - 8B4D27592002BF690051360A + 8B7929D421F35450006E9731 history - 8B95A7E020006AC9007183A2 + 8B7929CF21F3543F006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 216}} RubberWindowFrame - 20 224 841 654 0 0 1440 878 + 55 218 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 216pt Proportion - 379pt + 392pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 20 224 841 654 0 0 1440 878 + {{10, 27}, {531, 365}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 365}} + RubberWindowFrame + 55 218 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B4D275A2002BF690051360A + 8B7929D521F35450006E9731 1CA23ED40692098700951B8B - 8B4D275B2002BF690051360A + 8B7929D621F35450006E9731 8BD7274A1D46E5A5000176F0 - 8B4D275C2002BF690051360A + 8B7929D721F35450006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 537050985.45516396 + 569594960.15694499 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +672,10 @@ 5 WindowOrderList - 8B4D275D2002BF690051360A /Users/christopherjohnson/Desktop/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj WindowString - 20 224 841 654 0 0 1440 878 + 55 218 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp index 847c101..be4cd10 100755 --- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp +++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp @@ -177,9 +177,7 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Reset() bMidPrev = 0.0; cMidPrev = 0.0; dMidPrev = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -193,11 +191,7 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Process( const Float32 *inSou { UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; - Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + Float32 *destP = inDestP; Float64 overallscale = (pow(GetParameter( kParam_One ),2)*19.0)+1.0; Float64 gain = overallscale; //mid groove wear @@ -450,19 +444,11 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Process( const Float32 *inSou inputSample = (inputSample * dWet) + (drySample * dDry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h index a1d9fc8..07db5c7 100755 --- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h +++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h @@ -138,9 +138,7 @@ public: Float64 cMidPrev; Float64 dMidPrev; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser index 3479d30..af3720e 100755 --- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541894646; - PBXWorkspaceStateSaveDate = 541894646; + PBXPerProjectTemplateStateSaveDate = 569595525; + PBXWorkspaceStateSaveDate = 569595525; }; perUserProjectItems = { 8B181BD6204CA7CC00516BEE /* PlistBookmark */ = 8B181BD6204CA7CC00516BEE /* PlistBookmark */; - 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */ = 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */; - 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */ = 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */; + 8B7929E621F356D5006E9731 /* PBXTextBookmark */ = 8B7929E621F356D5006E9731 /* PBXTextBookmark */; + 8B7929EB21F356E6006E9731 /* PBXTextBookmark */ = 8B7929EB21F356E6006E9731 /* PBXTextBookmark */; + 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */ = 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,32 +74,42 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */ = { + 8B7929E621F356D5006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */; - name = "CrunchyGrooveWear.h: 56"; - rLen = 0; - rLoc = 2856; + fRef = 8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */; + name = "CrunchyGrooveWear.cpp: 349"; + rLen = 875; + rLoc = 16513; rType = 0; - vrLen = 229; - vrLoc = 2728; + vrLen = 316; + vrLoc = 19570; }; - 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */ = { + 8B7929EB21F356E6006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */; + name = "CrunchyGrooveWear.cpp: 349"; + rLen = 875; + rLoc = 16513; + rType = 0; + vrLen = 316; + vrLoc = 19570; + }; + 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */; name = "CrunchyGrooveWear.h: 56"; rLen = 0; rLoc = 2856; rType = 0; - vrLen = 228; - vrLoc = 2729; + vrLen = 178; + vrLoc = 2730; }; 8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {769, 6084}}"; - sepNavSelRange = "{12165, 581}"; - sepNavVisRange = "{11798, 2704}"; - sepNavWindowFrame = "{{528, 46}, {816, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 6058}}"; + sepNavSelRange = "{16513, 875}"; + sepNavVisRange = "{19570, 316}"; + sepNavWindowFrame = "{{500, 44}, {816, 832}}"; }; }; 8BA05A670720730100365D66 /* CrunchyGrooveWear.exp */ = { @@ -119,10 +130,10 @@ }; 8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 1963}}"; - sepNavSelRange = "{2856, 0}"; - sepNavVisRange = "{2729, 228}"; - sepNavWindowFrame = "{{15, 41}, {816, 832}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}"; + sepNavSelRange = "{5501, 0}"; + sepNavVisRange = "{4045, 1558}"; + sepNavWindowFrame = "{{451, 39}, {816, 832}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3 index 5152037..e829e94 100755 --- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 476 182 841 654 0 0 1440 878 + 398 187 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - CrunchyGrooveWear.h + CrunchyGrooveWear.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,15 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - CrunchyGrooveWear.h + CrunchyGrooveWear.cpp _historyCapacity 0 bookmark - 8B1A6DF8204CA7FC009DEEA1 + 8B7929EB21F356E6006E9731 history 8B181BD6204CA7CC00516BEE - 8B181BD8204CA7CC00516BEE + 8B9D5E35207AB7DF00C332E2 + 8B7929E621F356D5006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 158}} + {{0, 0}, {531, 109}} RubberWindowFrame - 476 182 841 654 0 0 1440 878 + 398 187 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 158pt + 109pt Proportion - 450pt + 499pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 423}} - RubberWindowFrame - 476 182 841 654 0 0 1440 878 + {{10, 27}, {531, 472}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} + {{10, 27}, {531, 472}} + RubberWindowFrame + 398 187 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +480,11 @@ TableOfContents - 8B1A6DF5204CA7FC009DEEA1 + 8B7929EC21F356E6006E9731 1CA23ED40692098700951B8B - 8B1A6DF6204CA7FC009DEEA1 + 8B7929ED21F356E6006E9731 8BD7274A1D46E5A5000176F0 - 8B1A6DF7204CA7FC009DEEA1 + 8B7929EE21F356E6006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 541894652.77613103 + 569595622.14955699 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -678,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj WindowString - 476 182 841 654 0 0 1440 878 + 398 187 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Crystal/Crystal.cpp b/plugins/MacAU/Crystal/Crystal.cpp index f57a72e..9ca3fba 100755 --- a/plugins/MacAU/Crystal/Crystal.cpp +++ b/plugins/MacAU/Crystal/Crystal.cpp @@ -302,23 +302,15 @@ void Crystal::CrystalKernel::Process( const Float32 *inSourceP, //when current and old samples are different from each other, otherwise you can't tell it's there. //This is not only during silence but the tops of low frequency waves: it scales down to affect lows more gently. - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser index 7ed81d1..9bee97b 100755 --- a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser @@ -49,34 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 566521916; - PBXWorkspaceStateSaveDate = 566521916; + PBXPerProjectTemplateStateSaveDate = 569595657; + PBXWorkspaceStateSaveDate = 569595657; }; perUserProjectItems = { - 8BBB31EA21BDBFE700825986 /* PlistBookmark */ = 8BBB31EA21BDBFE700825986 /* PlistBookmark */; - 8BBB350621C472FB00825986 /* PlistBookmark */ = 8BBB350621C472FB00825986 /* PlistBookmark */; + 8B7929FC21F35738006E9731 /* PlistBookmark */ = 8B7929FC21F35738006E9731 /* PlistBookmark */; + 8B792A0121F35748006E9731 /* PlistBookmark */ = 8B792A0121F35748006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8BA05A660720730100365D66 /* Crystal.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1082, 4225}}"; - sepNavSelRange = "{15530, 0}"; - sepNavVisRange = "{9843, 3243}"; - sepNavWindowFrame = "{{457, 44}, {1129, 834}}"; - }; - }; - 8BA05A690720730100365D66 /* CrystalVersion.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1082, 767}}"; - sepNavSelRange = "{2880, 0}"; - sepNavVisRange = "{32, 2911}"; - sepNavWindowFrame = "{{15, 39}, {1129, 834}}"; - }; - }; - 8BBB31EA21BDBFE700825986 /* PlistBookmark */ = { + 8B7929FC21F35738006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -84,11 +68,11 @@ kPath = ( CFBundleName, ); - name = /Users/christopherjohnson/Desktop/Crystal/Info.plist; + name = /Users/christopherjohnson/Desktop/MacAU/Crystal/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8BBB350621C472FB00825986 /* PlistBookmark */ = { + 8B792A0121F35748006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -97,15 +81,31 @@ CFBundleName, ); name = /Users/christopherjohnson/Desktop/MacAU/Crystal/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; + rLen = 26; + rLoc = 0; + }; + 8BA05A660720730100365D66 /* Crystal.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1082, 3952}}"; + sepNavSelRange = "{15755, 0}"; + sepNavVisRange = "{12294, 3464}"; + sepNavWindowFrame = "{{208, 44}, {1129, 834}}"; + }; + }; + 8BA05A690720730100365D66 /* CrystalVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1082, 767}}"; + sepNavSelRange = "{2880, 0}"; + sepNavVisRange = "{32, 2911}"; + sepNavWindowFrame = "{{15, 39}, {1129, 834}}"; + }; }; 8BC6025B073B072D006C4272 /* Crystal.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1082, 1911}}"; sepNavSelRange = "{5476, 0}"; - sepNavVisRange = "{2711, 1740}"; - sepNavWindowFrame = "{{731, 44}, {1129, 834}}"; + sepNavVisRange = "{3946, 1714}"; + sepNavWindowFrame = "{{224, 44}, {1129, 834}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3 index 0364ddc..1b41ecc 100755 --- a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 708 184 841 654 0 0 1440 878 + 463 195 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,10 +352,10 @@ _historyCapacity 0 bookmark - 8BBB350621C472FB00825986 + 8B792A0121F35748006E9731 history - 8BBB31EA21BDBFE700825986 + 8B7929FC21F35738006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 216}} RubberWindowFrame - 708 184 841 654 0 0 1440 878 + 463 195 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 216pt Proportion - 379pt + 392pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 708 184 841 654 0 0 1440 878 + {{10, 27}, {531, 365}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 365}} + RubberWindowFrame + 463 195 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8BBB350721C472FC00825986 + 8B792A0221F35748006E9731 1CA23ED40692098700951B8B - 8BBB350821C472FC00825986 + 8B792A0321F35748006E9731 8BD7274A1D46E5A5000176F0 - 8BBB350921C472FC00825986 + 8B792A0421F35748006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 566522619.99816501 + 569595720.77537096 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +672,10 @@ 5 WindowOrderList - 8BBB350A21C472FC00825986 /Users/christopherjohnson/Desktop/MacAU/Crystal/Crystal.xcodeproj WindowString - 708 184 841 654 0 0 1440 878 + 463 195 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser index dcc937e..080021a 100755 --- a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser @@ -49,11 +49,11 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528455539; - PBXWorkspaceStateSaveDate = 528455539; + PBXPerProjectTemplateStateSaveDate = 569597377; + PBXWorkspaceStateSaveDate = 569597377; }; perUserProjectItems = { - 8B9D64111F7C844B007AB60F /* PBXTextBookmark */ = 8B9D64111F7C844B007AB60F /* PBXTextBookmark */; + 8B792A3021F35DE0006E9731 /* PBXTextBookmark */ = 8B792A3021F35DE0006E9731 /* PBXTextBookmark */; 8B9D738A1F7F978A007AB60F /* PBXTextBookmark */ = 8B9D738A1F7F978A007AB60F /* PBXTextBookmark */; 8BD4F5F01E6E13CD00288155 /* PlistBookmark */ = 8BD4F5F01E6E13CD00288155 /* PlistBookmark */; 8BD4F6011E6E155D00288155 /* PBXTextBookmark */ = 8BD4F6011E6E155D00288155 /* PBXTextBookmark */; @@ -63,14 +63,14 @@ userBuildSettings = { }; }; - 8B9D64111F7C844B007AB60F /* PBXTextBookmark */ = { + 8B792A3021F35DE0006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* DCVoltage.cpp */; name = "DCVoltage.cpp: 178"; rLen = 0; rLoc = 7961; rType = 0; - vrLen = 509; + vrLen = 506; vrLoc = 7573; }; 8B9D738A1F7F978A007AB60F /* PBXTextBookmark */ = { @@ -85,9 +85,9 @@ }; 8BA05A660720730100365D66 /* DCVoltage.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 2535}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 2548}}"; sepNavSelRange = "{7961, 0}"; - sepNavVisRange = "{7573, 508}"; + sepNavVisRange = "{7573, 506}"; sepNavWindowFrame = "{{194, 39}, {1024, 839}}"; }; }; @@ -101,9 +101,9 @@ }; 8BC6025B073B072D006C4272 /* DCVoltage.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}"; + sepNavIntBoundsRect = "{{0, 0}, {977, 1742}}"; sepNavSelRange = "{5068, 0}"; - sepNavVisRange = "{2673, 325}"; + sepNavVisRange = "{3419, 1758}"; sepNavWindowFrame = "{{15, 39}, {1024, 839}}"; }; }; diff --git a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3 index 7d3cd83..49602fc 100755 --- a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 592 163 841 654 0 0 1440 878 + 481 181 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,13 +353,13 @@ _historyCapacity 0 bookmark - 8B9D738A1F7F978A007AB60F + 8B792A3021F35DE0006E9731 history 8BD4F5F01E6E13CD00288155 8BD4F6011E6E155D00288155 8BD4F6021E6E155D00288155 - 8B9D64111F7C844B007AB60F + 8B9D738A1F7F978A007AB60F SplitCount @@ -373,18 +373,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 202}} RubberWindowFrame - 592 163 841 654 0 0 1440 878 + 481 181 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 202pt Proportion - 392pt + 406pt Tabs @@ -398,9 +398,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} + {{10, 27}, {531, 379}} RubberWindowFrame - 592 163 841 654 0 0 1440 878 + 481 181 841 654 0 0 1440 878 Module XCDetailModule @@ -482,11 +482,11 @@ TableOfContents - 8B9D738B1F7F978A007AB60F + 8B792A3121F35DE0006E9731 1CA23ED40692098700951B8B - 8B9D738C1F7F978A007AB60F + 8B792A3221F35DE0006E9731 8BD7274A1D46E5A5000176F0 - 8B9D738D1F7F978A007AB60F + 8B792A3321F35DE0006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +659,7 @@ StatusbarIsVisible TimeStamp - 528455562.74837202 + 569597408.43308794 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +676,10 @@ 5 WindowOrderList - 8B9D738E1F7F978A007AB60F /Users/christopherjohnson/Desktop/MacAU/DCVoltage/DCVoltage.xcodeproj WindowString - 592 163 841 654 0 0 1440 878 + 481 181 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DeEss/DeEss.cpp b/plugins/MacAU/DeEss/DeEss.cpp index 1858308..bf85e76 100755 --- a/plugins/MacAU/DeEss/DeEss.cpp +++ b/plugins/MacAU/DeEss/DeEss.cpp @@ -276,23 +276,15 @@ void DeEss::DeEssKernel::Process( const Float32 *inSourceP, flip = !flip; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser index e135353..fe46618 100755 --- a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser @@ -51,18 +51,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561683701; - PBXWorkspaceStateSaveDate = 561683701; + PBXPerProjectTemplateStateSaveDate = 569597430; + PBXWorkspaceStateSaveDate = 569597430; }; perUserProjectItems = { - 8B15DCF1217AA138007AD769 /* PlistBookmark */ = 8B15DCF1217AA138007AD769 /* PlistBookmark */; - 8B42FC5121604F050092969A /* PlistBookmark */ = 8B42FC5121604F050092969A /* PlistBookmark */; + 8B792A4121F35E2C006E9731 /* PlistBookmark */ = 8B792A4121F35E2C006E9731 /* PlistBookmark */; + 8B792A4621F35E3B006E9731 /* PlistBookmark */ = 8B792A4621F35E3B006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B15DCF1217AA138007AD769 /* PlistBookmark */ = { + 8B792A4121F35E2C006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -74,7 +74,7 @@ rLen = 0; rLoc = 9223372036854775807; }; - 8B42FC5121604F050092969A /* PlistBookmark */ = { + 8B792A4621F35E3B006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -83,15 +83,15 @@ CFBundleName, ); name = /Users/christopherjohnson/Desktop/MacAU/DeEss/Info.plist; - rLen = 0; - rLoc = 9223372036854775808; + rLen = 26; + rLoc = 0; }; 8BA05A660720730100365D66 /* DeEss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {843, 4056}}"; - sepNavSelRange = "{10679, 1381}"; - sepNavVisRange = "{10978, 1915}"; - sepNavWindowFrame = "{{550, 67}, {890, 810}}"; + sepNavIntBoundsRect = "{{0, 0}, {843, 3900}}"; + sepNavSelRange = "{12395, 0}"; + sepNavVisRange = "{8626, 2352}"; + sepNavWindowFrame = "{{356, 68}, {890, 810}}"; }; }; 8BA05A670720730100365D66 /* DeEss.exp */ = { @@ -114,8 +114,8 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 2145}}"; sepNavSelRange = "{5669, 0}"; - sepNavVisRange = "{2589, 1459}"; - sepNavWindowFrame = "{{843, 68}, {890, 810}}"; + sepNavVisRange = "{4790, 1025}"; + sepNavWindowFrame = "{{550, 68}, {890, 810}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3 index 83b64e1..3c8c7b4 100755 --- a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 700 + 700 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 807 197 700 649 0 0 1440 878 + 562 202 700 649 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,10 +352,10 @@ _historyCapacity 0 bookmark - 8B15DCF1217AA138007AD769 + 8B792A4621F35E3B006E9731 history - 8B42FC5121604F050092969A + 8B792A4121F35E2C006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {390, 197}} + {{0, 0}, {390, 183}} RubberWindowFrame - 807 197 700 649 0 0 1440 878 + 562 202 700 649 0 0 1440 878 Module PBXNavigatorGroup Proportion - 197pt + 183pt Proportion - 406pt + 420pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {390, 379}} - RubberWindowFrame - 807 197 700 649 0 0 1440 878 + {{10, 27}, {390, 393}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {390, 393}} + RubberWindowFrame + 562 202 700 649 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B15DCC9217A9CFD007AD769 + 8B792A4721F35E3B006E9731 1CA23ED40692098700951B8B - 8B15DCCA217A9CFD007AD769 + 8B792A4821F35E3B006E9731 8BD7274A1D46E5A5000176F0 - 8B15DCCB217A9CFD007AD769 + 8B792A4921F35E3B006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 561684792.65047503 + 569597499.49246502 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -677,7 +675,7 @@ /Users/christopherjohnson/Desktop/MacAU/DeEss/DeEss.xcodeproj WindowString - 807 197 700 649 0 0 1440 878 + 562 202 700 649 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DeRez/DeRez.cpp b/plugins/MacAU/DeRez/DeRez.cpp index 4bc3ee4..e2f3829 100755 --- a/plugins/MacAU/DeRez/DeRez.cpp +++ b/plugins/MacAU/DeRez/DeRez.cpp @@ -171,9 +171,7 @@ void DeRez::DeRezKernel::Reset() position = 0.0; incrementA = 0.0; incrementB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -200,10 +198,7 @@ void DeRez::DeRezKernel::Process( const Float32 *inSourceP, Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - targetA /= overallscale; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + targetA /= overallscale; while (nSampleFrames-- > 0) { long double inputSample = *sourceP; @@ -265,18 +260,11 @@ void DeRez::DeRezKernel::Process( const Float32 *inSourceP, inputSample *= (1.0 - incrementB); } - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - if (fpFlip) { - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; lastSample = drySample; diff --git a/plugins/MacAU/DeRez/DeRez.h b/plugins/MacAU/DeRez/DeRez.h index 55cc562..e592bcb 100755 --- a/plugins/MacAU/DeRez/DeRez.h +++ b/plugins/MacAU/DeRez/DeRez.h @@ -133,9 +133,7 @@ public: Float64 position; Float64 incrementA; Float64 incrementB; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser index 78a1751..359639f 100755 --- a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,38 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553899071; - PBXWorkspaceStateSaveDate = 553899071; + PBXPerProjectTemplateStateSaveDate = 569597675; + PBXWorkspaceStateSaveDate = 569597675; }; perUserProjectItems = { + 8B792A7321F35F66006E9731 /* PBXTextBookmark */ = 8B792A7321F35F66006E9731 /* PBXTextBookmark */; + 8B792A7821F35F77006E9731 /* PBXTextBookmark */ = 8B792A7821F35F77006E9731 /* PBXTextBookmark */; 8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */ = 8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */; - 8B9754332103D44500A4FFA3 /* PBXTextBookmark */ = 8B9754332103D44500A4FFA3 /* PBXTextBookmark */; - 8BB8B6DD21039A3300751000 /* PBXTextBookmark */ = 8BB8B6DD21039A3300751000 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792A7321F35F66006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DeRez.cpp */; + name = "DeRez.cpp: 199"; + rLen = 0; + rLoc = 8817; + rType = 0; + vrLen = 87; + vrLoc = 8817; + }; + 8B792A7821F35F77006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DeRez.cpp */; + name = "DeRez.cpp: 199"; + rLen = 0; + rLoc = 8817; + rType = 0; + vrLen = 87; + vrLoc = 8817; + }; 8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* DeRezVersion.h */; @@ -71,22 +91,12 @@ vrLen = 166; vrLoc = 3288; }; - 8B9754332103D44500A4FFA3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DeRez.cpp */; - name = "DeRez.cpp: 201"; - rLen = 0; - rLoc = 8852; - rType = 0; - vrLen = 177; - vrLoc = 8761; - }; 8BA05A660720730100365D66 /* DeRez.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3861}}"; - sepNavSelRange = "{8852, 0}"; - sepNavVisRange = "{8761, 177}"; - sepNavWindowFrame = "{{433, 59}, {1007, 819}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3783}}"; + sepNavSelRange = "{8817, 0}"; + sepNavVisRange = "{8817, 87}"; + sepNavWindowFrame = "{{303, 48}, {1007, 819}}"; }; }; 8BA05A670720730100365D66 /* DeRez.exp */ = { @@ -104,21 +114,11 @@ sepNavVisRange = "{3288, 166}"; }; }; - 8BB8B6DD21039A3300751000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DeRez.cpp */; - name = "DeRez.cpp: 201"; - rLen = 0; - rLoc = 8852; - rType = 0; - vrLen = 277; - vrLoc = 8761; - }; 8BC6025B073B072D006C4272 /* DeRez.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1062, 1677}}"; - sepNavSelRange = "{3000, 0}"; - sepNavVisRange = "{1247, 2041}"; + sepNavIntBoundsRect = "{{0, 0}, {1062, 1807}}"; + sepNavSelRange = "{5245, 0}"; + sepNavVisRange = "{3769, 1578}"; sepNavWindowFrame = "{{433, 48}, {1007, 819}}"; }; }; diff --git a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3 index 78a77d9..a77fdf8 100755 --- a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 614 318 810 487 0 0 1440 878 + 516 329 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8B9754332103D44500A4FFA3 + 8B792A7821F35F77006E9731 history 8B7E3E4320A68C5B00482CB5 - 8BB8B6DD21039A3300751000 + 8B792A7321F35F66006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {603, 69}} RubberWindowFrame - 614 318 810 487 0 0 1440 878 + 516 329 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 69pt Proportion - 355pt + 372pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 614 318 810 487 0 0 1440 878 + {{10, 27}, {603, 345}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} + {{10, 27}, {603, 345}} + RubberWindowFrame + 516 329 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B9754342103D44500A4FFA3 + 8B792A7921F35F77006E9731 1CA23ED40692098700951B8B - 8B9754352103D44500A4FFA3 + 8B792A7A21F35F77006E9731 8B8D69E4207ABD0F0029B7B0 - 8B9754362103D44500A4FFA3 + 8B792A7B21F35F77006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 553899077.362046 + 569597815.38705599 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +651,10 @@ 5 WindowOrderList - 8B9754372103D44500A4FFA3 /Users/christopherjohnson/Desktop/MacAU/DeRez/DeRez.xcodeproj WindowString - 614 318 810 487 0 0 1440 878 + 516 329 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Density/Density.cpp b/plugins/MacAU/Density/Density.cpp index 68c3828..7edf12b 100755 --- a/plugins/MacAU/Density/Density.cpp +++ b/plugins/MacAU/Density/Density.cpp @@ -184,8 +184,7 @@ void Density::DensityKernel::Reset() { iirSampleA = 0.0; iirSampleB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -220,9 +219,6 @@ void Density::DensityKernel::Process( const Float32 *inSourceP, Float64 out = fabs(density); density = density * fabs(density); Float64 count; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -291,20 +287,13 @@ void Density::DensityKernel::Process( const Float32 *inSourceP, if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet); //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Density/Density.exp b/plugins/MacAU/Density/Density.exp index 8d6e23b..85300f6 100755 --- a/plugins/MacAU/Density/Density.exp +++ b/plugins/MacAU/Density/Density.exp @@ -1 +1 @@ -_DensityEntry \ No newline at end of file +_DensityEntry diff --git a/plugins/MacAU/Density/Density.h b/plugins/MacAU/Density/Density.h index ac8d445..0d9af29 100755 --- a/plugins/MacAU/Density/Density.h +++ b/plugins/MacAU/Density/Density.h @@ -138,8 +138,7 @@ public: private: Float64 iirSampleA; Float64 iirSampleB; - Float64 fpNShapeA; - Float64 fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser index bbb10da..76445ad 100755 --- a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser @@ -49,33 +49,51 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553737317; - PBXWorkspaceStateSaveDate = 553737317; + PBXPerProjectTemplateStateSaveDate = 569597523; + PBXWorkspaceStateSaveDate = 569597523; }; perUserProjectItems = { - 8B241C8921015F29001BBF7E /* PBXTextBookmark */ = 8B241C8921015F29001BBF7E /* PBXTextBookmark */; - 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */ = 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */; + 8B792A5721F35EBB006E9731 /* PBXTextBookmark */ = 8B792A5721F35EBB006E9731 /* PBXTextBookmark */; + 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */ = 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B241C8921015F29001BBF7E /* PBXTextBookmark */ = { + 8B792A5721F35EBB006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Density.cpp */; - name = "Density.cpp: 290"; + name = "Density.cpp: 286"; rLen = 68; - rLoc = 12813; + rLoc = 12685; rType = 0; - vrLen = 106; - vrLoc = 27; + vrLen = 91; + vrLoc = 42; + }; + 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Density.cpp */; + name = "Density.cpp: 286"; + rLen = 68; + rLoc = 12685; + rType = 0; + vrLen = 91; + vrLoc = 42; }; 8BA05A660720730100365D66 /* Density.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4108}}"; - sepNavSelRange = "{12813, 68}"; - sepNavVisRange = "{27, 106}"; - sepNavWindowFrame = "{{545, 59}, {895, 819}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 4069}}"; + sepNavSelRange = "{12685, 68}"; + sepNavVisRange = "{42, 91}"; + sepNavWindowFrame = "{{414, 59}, {895, 819}}"; + }; + }; + 8BA05A670720730100365D66 /* Density.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{14, 0}"; + sepNavVisRange = "{0, 14}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; }; }; 8BA05A690720730100365D66 /* DensityVersion.h */ = { @@ -86,21 +104,11 @@ sepNavWindowFrame = "{{15, 38}, {731, 835}}"; }; }; - 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Density.cpp */; - name = "Density.cpp: 290"; - rLen = 68; - rLoc = 12813; - rType = 0; - vrLen = 109; - vrLoc = 24; - }; 8BC6025B073B072D006C4272 /* Density.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {856, 1950}}"; - sepNavSelRange = "{5537, 44}"; - sepNavVisRange = "{4519, 1228}"; + sepNavIntBoundsRect = "{{0, 0}, {856, 2158}}"; + sepNavSelRange = "{5604, 0}"; + sepNavVisRange = "{4448, 1275}"; sepNavWindowFrame = "{{537, 146}, {903, 692}}"; }; }; diff --git a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3 index 8c57043..affa75d 100755 --- a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 619 361 810 487 0 0 1440 878 + 482 370 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +352,10 @@ _historyCapacity 0 bookmark - 8B241C8921015F29001BBF7E + 8B792A5D21F35ED5006E9731 history - 8BC5CD4B208D59FB0058B257 + 8B792A5721F35EBB006E9731 SplitCount @@ -369,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 619 361 810 487 0 0 1440 878 + 482 370 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -394,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} - RubberWindowFrame - 619 361 810 487 0 0 1440 878 + {{10, 27}, {603, 328}} Module XCDetailModule @@ -450,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 328}} + RubberWindowFrame + 482 370 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +478,11 @@ TableOfContents - 8B241C8A21015F29001BBF7E + 8B792A5E21F35ED5006E9731 1CA23ED40692098700951B8B - 8B241C8B21015F29001BBF7E + 8B792A5F21F35ED5006E9731 8BE3FF9D1DAAD40200A5AAF5 - 8B241C8C21015F29001BBF7E + 8B792A6021F35ED5006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +635,7 @@ StatusbarIsVisible TimeStamp - 553738025.40924096 + 569597652.99950302 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,10 +652,11 @@ 5 WindowOrderList + 8B792A6121F35ED5006E9731 /Users/christopherjohnson/Desktop/MacAU/Density/Density.xcodeproj WindowString - 619 361 810 487 0 0 1440 878 + 482 370 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Desk/Desk.cpp b/plugins/MacAU/Desk/Desk.cpp index d9bdb53..69dcf98 100755 --- a/plugins/MacAU/Desk/Desk.cpp +++ b/plugins/MacAU/Desk/Desk.cpp @@ -152,9 +152,7 @@ void Desk::DeskKernel::Reset() lastSample = 0.0; lastOutSample = 0.0; lastSlew = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -184,11 +182,7 @@ void Desk::DeskKernel::Process( const Float32 *inSourceP, Float64 bridgerectifier; Float64 combSample; long double inputSample; - long double drySample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - + long double drySample; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -251,19 +245,11 @@ void Desk::DeskKernel::Process( const Float32 *inSourceP, //drive section inputSample /= gain; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/Desk/Desk.h b/plugins/MacAU/Desk/Desk.h index de63d97..1193995 100755 --- a/plugins/MacAU/Desk/Desk.h +++ b/plugins/MacAU/Desk/Desk.h @@ -120,9 +120,7 @@ public: long double lastSample; long double lastOutSample; Float64 lastSlew; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser index 88a6471..de343e4 100755 --- a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser @@ -49,42 +49,42 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528455712; - PBXWorkspaceStateSaveDate = 528455712; + PBXPerProjectTemplateStateSaveDate = 569597840; + PBXWorkspaceStateSaveDate = 569597840; }; perUserProjectItems = { - 8B9D64341F7C8495007AB60F /* PBXTextBookmark */ = 8B9D64341F7C8495007AB60F /* PBXTextBookmark */; - 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */ = 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */; + 8B792A8921F35FDB006E9731 /* PBXTextBookmark */ = 8B792A8921F35FDB006E9731 /* PBXTextBookmark */; + 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */ = 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D64341F7C8495007AB60F /* PBXTextBookmark */ = { + 8B792A8921F35FDB006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Desk.cpp */; - name = "Desk.cpp: 252"; + name = "Desk.cpp: 247"; rLen = 0; - rLoc = 10568; + rLoc = 10424; rType = 0; - vrLen = 149; - vrLoc = 7870; + vrLen = 57; + vrLoc = 7909; }; - 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */ = { + 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Desk.cpp */; - name = "Desk.cpp: 253"; + name = "Desk.cpp: 247"; rLen = 0; - rLoc = 10568; + rLoc = 10424; rType = 0; - vrLen = 102; - vrLoc = 7917; + vrLen = 57; + vrLoc = 7909; }; 8BA05A660720730100365D66 /* Desk.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3692}}"; - sepNavSelRange = "{10568, 0}"; - sepNavVisRange = "{7917, 102}"; + sepNavIntBoundsRect = "{{0, 0}, {684, 3536}}"; + sepNavSelRange = "{10424, 0}"; + sepNavVisRange = "{7909, 57}"; sepNavWindowFrame = "{{244, 43}, {932, 815}}"; }; }; @@ -106,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* Desk.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {885, 1716}}"; - sepNavSelRange = "{4798, 57}"; - sepNavVisRange = "{3480, 1484}"; + sepNavIntBoundsRect = "{{0, 0}, {885, 1690}}"; + sepNavSelRange = "{4821, 0}"; + sepNavVisRange = "{3419, 1512}"; sepNavWindowFrame = "{{508, 59}, {932, 815}}"; }; }; diff --git a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3 index d3824ff..f7cdd23 100755 --- a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 531 308 810 487 0 0 1440 878 + 516 308 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B9D73AA1F7F984A007AB60F + 8B792A8E21F35FEC006E9731 history - 8B9D64341F7C8495007AB60F + 8B792A8921F35FDB006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame - 531 308 810 487 0 0 1440 878 + 516 308 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 531 308 810 487 0 0 1440 878 + {{10, 27}, {603, 363}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 516 308 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B9D73AB1F7F984A007AB60F + 8B792A8F21F35FEC006E9731 1CA23ED40692098700951B8B - 8B9D73AC1F7F984A007AB60F + 8B792A9021F35FEC006E9731 8B3ED5371DDE6344004F9D64 - 8B9D73AD1F7F984A007AB60F + 8B792A9121F35FEC006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528455754.98853803 + 569597932.88541305 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B9D73AE1F7F984A007AB60F /Users/christopherjohnson/Desktop/MacAU/Desk/Desk.xcodeproj WindowString - 531 308 810 487 0 0 1440 878 + 516 308 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Desk4/Desk4.cpp b/plugins/MacAU/Desk4/Desk4.cpp index 58dc36f..1fbdca1 100755 --- a/plugins/MacAU/Desk4/Desk4.cpp +++ b/plugins/MacAU/Desk4/Desk4.cpp @@ -204,9 +204,7 @@ void Desk4::Desk4Kernel::Reset() lastSample = 0.0; lastOutSample = 0.0; lastSlew = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -224,9 +222,6 @@ void Desk4::Desk4Kernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 gain = (pow(GetParameter( kParam_One ),2)*10)+0.0001; Float64 gaintrim = (pow(GetParameter( kParam_One ),2)*2)+1.0; @@ -354,20 +349,11 @@ void Desk4::Desk4Kernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Desk4/Desk4.h b/plugins/MacAU/Desk4/Desk4.h index a9cc924..8cd0193 100755 --- a/plugins/MacAU/Desk4/Desk4.h +++ b/plugins/MacAU/Desk4/Desk4.h @@ -146,9 +146,7 @@ public: Float64 lastSample; Float64 lastOutSample; Float64 lastSlew; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser index 298344e..6ee8f8f 100755 --- a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528455766; - PBXWorkspaceStateSaveDate = 528455766; + PBXPerProjectTemplateStateSaveDate = 569597965; + PBXWorkspaceStateSaveDate = 569597965; }; perUserProjectItems = { - 8B9D64451F7C84BA007AB60F /* PlistBookmark */ = 8B9D64451F7C84BA007AB60F /* PlistBookmark */; - 8B9D73B91F7F9867007AB60F /* PlistBookmark */ = 8B9D73B91F7F9867007AB60F /* PlistBookmark */; + 8B792A9F21F36063006E9731 /* PlistBookmark */ = 8B792A9F21F36063006E9731 /* PlistBookmark */; + 8B792AA421F36073006E9731 /* PlistBookmark */ = 8B792AA421F36073006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D64451F7C84BA007AB60F /* PlistBookmark */ = { + 8B792A9F21F36063006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,9 +70,9 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/Desk4/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8B9D73B91F7F9867007AB60F /* PlistBookmark */ = { + 8B792AA421F36073006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -81,15 +81,15 @@ CFBundleName, ); name = /Users/christopherjohnson/Desktop/MacAU/Desk4/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; + rLen = 26; + rLoc = 0; }; 8BA05A660720730100365D66 /* Desk4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 5005}}"; - sepNavSelRange = "{11418, 0}"; - sepNavVisRange = "{11164, 2245}"; - sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 5057}}"; + sepNavSelRange = "{14871, 0}"; + sepNavVisRange = "{13633, 1574}"; + sepNavWindowFrame = "{{330, 39}, {1005, 839}}"; }; }; 8BA05A690720730100365D66 /* Desk4Version.h */ = { @@ -103,9 +103,9 @@ 8BC6025B073B072D006C4272 /* Desk4.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {958, 2054}}"; - sepNavSelRange = "{5655, 120}"; - sepNavVisRange = "{1885, 1865}"; - sepNavWindowFrame = "{{725, 39}, {1005, 839}}"; + sepNavSelRange = "{5798, 0}"; + sepNavVisRange = "{4297, 1611}"; + sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3 index e8d84b4..b050245 100755 --- a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 599 190 841 654 0 0 1440 878 + 487 206 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +351,10 @@ _historyCapacity 0 bookmark - 8B9D73B91F7F9867007AB60F + 8B792AA421F36073006E9731 history - 8B9D64451F7C84BA007AB60F + 8B792A9F21F36063006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 188}} + {{0, 0}, {531, 173}} RubberWindowFrame - 599 190 841 654 0 0 1440 878 + 487 206 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 188pt + 173pt Proportion - 420pt + 435pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 393}} - RubberWindowFrame - 599 190 841 654 0 0 1440 878 + {{10, 27}, {531, 408}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 408}} + RubberWindowFrame + 487 206 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B9D73BA1F7F9867007AB60F + 8B792AA521F36073006E9731 1CA23ED40692098700951B8B - 8B9D73BB1F7F9867007AB60F + 8B792AA621F36073006E9731 8BD7274A1D46E5A5000176F0 - 8B9D73BC1F7F9867007AB60F + 8B792AA721F36073006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +654,7 @@ StatusbarIsVisible TimeStamp - 528455783.26185501 + 569598067.29641104 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +671,10 @@ 5 WindowOrderList - 8B9D73BD1F7F9867007AB60F /Users/christopherjohnson/Desktop/MacAU/Desk4/Desk4.xcodeproj WindowString - 599 190 841 654 0 0 1440 878 + 487 206 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Distance/Distance.cpp b/plugins/MacAU/Distance/Distance.cpp index 72c9e27..35c0a22 100755 --- a/plugins/MacAU/Distance/Distance.cpp +++ b/plugins/MacAU/Distance/Distance.cpp @@ -169,9 +169,7 @@ void Distance::DistanceKernel::Reset() { thirdresult = prevresult = lastclamp = clamp = change = last = 0.0; //just an example - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -204,10 +202,6 @@ void Distance::DistanceKernel::Process( const Float32 *inSourceP, Float64 wet = GetParameter( kParam_Two ); Float64 dry = 1.0-wet; Float64 bridgerectifier; - - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; Float64 inputSample; Float64 drySample; @@ -262,19 +256,11 @@ void Distance::DistanceKernel::Process( const Float32 *inSourceP, if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/Distance/Distance.exp b/plugins/MacAU/Distance/Distance.exp index d74c02c..f4b0e52 100755 --- a/plugins/MacAU/Distance/Distance.exp +++ b/plugins/MacAU/Distance/Distance.exp @@ -1 +1 @@ -_DistanceEntry \ No newline at end of file +_DistanceEntry diff --git a/plugins/MacAU/Distance/Distance.h b/plugins/MacAU/Distance/Distance.h index e1c5af3..cade7a5 100755 --- a/plugins/MacAU/Distance/Distance.h +++ b/plugins/MacAU/Distance/Distance.h @@ -137,10 +137,7 @@ public: Float64 thirdresult; Float64 prevresult; Float64 last; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + long double fpNShape; }; }; diff --git a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser index bb0c98b..1979f1e 100755 --- a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser @@ -49,54 +49,62 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547638606; - PBXWorkspaceStateSaveDate = 547638606; + PBXPerProjectTemplateStateSaveDate = 569598091; + PBXWorkspaceStateSaveDate = 569598091; }; perUserProjectItems = { + 8B792AB521F360EC006E9731 /* PBXTextBookmark */ = 8B792AB521F360EC006E9731 /* PBXTextBookmark */; + 8B792ABB21F36103006E9731 /* PBXTextBookmark */ = 8B792ABB21F36103006E9731 /* PBXTextBookmark */; 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */; - 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */ = 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */; - 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */ = 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = { + 8B792AB521F360EC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Distance.h */; - name = "Distance.h: 134"; + fRef = 8BA05A660720730100365D66 /* Distance.cpp */; + name = "Distance.cpp: 255"; rLen = 0; - rLoc = 5367; + rLoc = 11375; rType = 0; - vrLen = 50; - vrLoc = 5335; + vrLen = 0; + vrLoc = 0; }; - 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */ = { + 8B792ABB21F36103006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Distance.cpp */; - name = "Distance.cpp: 261"; + name = "Distance.cpp: 255"; rLen = 0; - rLoc = 11520; + rLoc = 11375; rType = 0; - vrLen = 97; - vrLoc = 10123; + vrLen = 0; + vrLoc = 0; }; - 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */ = { + 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Distance.cpp */; - name = "Distance.cpp: 261"; + fRef = 8BC6025B073B072D006C4272 /* Distance.h */; + name = "Distance.h: 134"; rLen = 0; - rLoc = 11520; + rLoc = 5367; rType = 0; - vrLen = 97; - vrLoc = 10123; + vrLen = 50; + vrLoc = 5335; }; 8BA05A660720730100365D66 /* Distance.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3783}}"; - sepNavSelRange = "{11520, 0}"; - sepNavVisRange = "{10123, 97}"; - sepNavWindowFrame = "{{492, 53}, {948, 825}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3705}}"; + sepNavSelRange = "{11375, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{394, 53}, {948, 825}}"; + }; + }; + 8BA05A670720730100365D66 /* Distance.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{15, 0}"; + sepNavVisRange = "{0, 15}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; }; }; 8BA05A690720730100365D66 /* DistanceVersion.h */ = { @@ -109,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* Distance.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 1950}}"; - sepNavSelRange = "{5367, 0}"; - sepNavVisRange = "{2035, 1667}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 1937}}"; + sepNavSelRange = "{5487, 0}"; + sepNavVisRange = "{4077, 1522}"; sepNavWindowFrame = "{{295, 66}, {1145, 812}}"; }; }; diff --git a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3 index d80f812..2054453 100755 --- a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3 @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 630 345 810 487 0 0 1440 878 + 493 340 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B904D1120A44D87008CBAD8 + 8B792ABB21F36103006E9731 history 8B904CF820A44C4B008CBAD8 - 8B904D1020A44D87008CBAD8 + 8B792AB521F360EC006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 51}} + {{0, 0}, {603, 32}} RubberWindowFrame - 630 345 810 487 0 0 1440 878 + 493 340 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 32pt Proportion - 390pt + 409pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} - RubberWindowFrame - 630 345 810 487 0 0 1440 878 + {{10, 27}, {603, 382}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 382}} + RubberWindowFrame + 493 340 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B904D1220A44D87008CBAD8 + 8B792ABC21F36103006E9731 1CA23ED40692098700951B8B - 8B904D1320A44D87008CBAD8 + 8B792ABD21F36103006E9731 8BC5212E1DB3E2E500E72CD6 - 8B904D1420A44D87008CBAD8 + 8B792ABE21F36103006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 547638663.51005495 + 569598211.72343302 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,11 @@ 5 WindowOrderList - 8B904D1520A44D87008CBAD8 + 8B792ABF21F36103006E9731 /Users/christopherjohnson/Desktop/MacAU/Distance/Distance.xcodeproj WindowString - 630 345 810 487 0 0 1440 878 + 493 340 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Distance2/Distance2.cpp b/plugins/MacAU/Distance2/Distance2.cpp index d9101d7..ddafb82 100755 --- a/plugins/MacAU/Distance2/Distance2.cpp +++ b/plugins/MacAU/Distance2/Distance2.cpp @@ -359,23 +359,15 @@ void Distance2::Distance2Kernel::Process( const Float32 *inSourceP, } //Dry/Wet control, defaults to the last slider - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser index 3d24615..6b4a4a7 100755 --- a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser @@ -49,20 +49,40 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547768382; - PBXWorkspaceStateSaveDate = 547768382; + PBXPerProjectTemplateStateSaveDate = 569598233; + PBXWorkspaceStateSaveDate = 569598233; }; perUserProjectItems = { + 8B792ACD21F3615C006E9731 /* PBXTextBookmark */ = 8B792ACD21F3615C006E9731 /* PBXTextBookmark */; + 8B792AD221F3616C006E9731 /* PBXTextBookmark */ = 8B792AD221F3616C006E9731 /* PBXTextBookmark */; 8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */; 8B7E3D4320A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4320A64FFD00482CB5 /* PBXTextBookmark */; - 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */ = 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */; - 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */; 8B904DA120A465EC008CBAD8 /* PlistBookmark */ = 8B904DA120A465EC008CBAD8 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792ACD21F3615C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Distance2.cpp */; + name = "Distance2.cpp: 176"; + rLen = 0; + rLoc = 8084; + rType = 0; + vrLen = 420; + vrLoc = 10855; + }; + 8B792AD221F3616C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Distance2.cpp */; + name = "Distance2.cpp: 176"; + rLen = 0; + rLoc = 8084; + rType = 0; + vrLen = 420; + vrLoc = 10855; + }; 8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* Distance2Version.h */; @@ -83,20 +103,6 @@ vrLen = 375; vrLoc = 2714; }; - 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* Distance2.cpp */; - }; - 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Distance2.cpp */; - name = "Distance2.cpp: 176"; - rLen = 0; - rLoc = 8084; - rType = 0; - vrLen = 476; - vrLoc = 10855; - }; 8B904DA120A465EC008CBAD8 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -111,10 +117,10 @@ }; 8BA05A660720730100365D66 /* Distance2.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {642, 4979}}"; + sepNavIntBoundsRect = "{{0, 0}, {572, 4875}}"; sepNavSelRange = "{8084, 0}"; - sepNavVisRange = "{10855, 476}"; - sepNavWindowFrame = "{{561, 47}, {877, 831}}"; + sepNavVisRange = "{10855, 420}"; + sepNavWindowFrame = "{{432, 47}, {877, 831}}"; }; }; 8BA05A670720730100365D66 /* Distance2.exp */ = { @@ -135,10 +141,10 @@ }; 8BC6025B073B072D006C4272 /* Distance2.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 2210}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2223}}"; sepNavSelRange = "{2966, 0}"; - sepNavVisRange = "{2714, 375}"; - sepNavWindowFrame = "{{786, 47}, {877, 831}}"; + sepNavVisRange = "{4877, 1321}"; + sepNavWindowFrame = "{{563, 47}, {877, 831}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3 index 5d06e6f..deed33a 100755 --- a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 576 144 841 654 0 0 1440 878 + 487 174 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,13 +352,13 @@ _historyCapacity 0 bookmark - 8B7E3D4520A64FFD00482CB5 + 8B792AD221F3616C006E9731 history 8B904DA120A465EC008CBAD8 8B7E3D4220A64FFD00482CB5 8B7E3D4320A64FFD00482CB5 - 8B7E3D4420A64FFD00482CB5 + 8B792ACD21F3615C006E9731 SplitCount @@ -374,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 188}} RubberWindowFrame - 576 144 841 654 0 0 1440 878 + 487 174 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 188pt Proportion - 406pt + 420pt Tabs @@ -399,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 576 144 841 654 0 0 1440 878 + {{10, 27}, {531, 393}} Module XCDetailModule @@ -455,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 393}} + RubberWindowFrame + 487 174 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -483,11 +481,11 @@ TableOfContents - 8B7E3D4620A64FFD00482CB5 + 8B792AD321F3616C006E9731 1CA23ED40692098700951B8B - 8B7E3D4720A64FFD00482CB5 + 8B792AD421F3616C006E9731 8BD7274A1D46E5A5000176F0 - 8B7E3D4820A64FFD00482CB5 + 8B792AD521F3616C006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -660,7 +658,7 @@ StatusbarIsVisible TimeStamp - 547770365.68357301 + 569598316.742221 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -680,7 +678,7 @@ /Users/christopherjohnson/Desktop/MacAU/Distance2/Distance2.xcodeproj WindowString - 576 144 841 654 0 0 1440 878 + 487 174 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DitherFloat/DitherFloat.cpp b/plugins/MacAU/DitherFloat/DitherFloat.cpp new file mode 100755 index 0000000..7939fbe --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.cpp @@ -0,0 +1,255 @@ +/* +* File: DitherFloat.cpp +* +* Version: 1.0 +* +* Created: 1/11/19 +* +* Copyright: Copyright © 2019 Airwindows, All Rights Reserved +* +* 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. +* +*/ +/*============================================================================= + DitherFloat.cpp + +=============================================================================*/ +#include "DitherFloat.h" + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(DitherFloat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::DitherFloat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +DitherFloat::DitherFloat(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult DitherFloat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult DitherFloat::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 32.0; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult DitherFloat::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult DitherFloat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// DitherFloat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult DitherFloat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____DitherFloatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::DitherFloatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void DitherFloat::DitherFloatKernel::Reset() +{ + fpNShape = 0.0; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// DitherFloat::DitherFloatKernel::Process +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +void DitherFloat::DitherFloatKernel::Process( const Float32 *inSourceP, + Float32 *inDestP, + UInt32 inFramesToProcess, + UInt32 inNumChannels, + bool &ioSilence ) +{ + UInt32 nSampleFrames = inFramesToProcess; + const Float32 *sourceP = inSourceP; + Float32 *destP = inDestP; + long double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + + int floatOffset = GetParameter( kParam_One ); + long double blend = GetParameter( kParam_Two ); + + long double gain = 0; + + switch (floatOffset) + { + case 0: gain = 1.0; break; + case 1: gain = 2.0; break; + case 2: gain = 4.0; break; + case 3: gain = 8.0; break; + case 4: gain = 16.0; break; + case 5: gain = 32.0; break; + case 6: gain = 64.0; break; + case 7: gain = 128.0; break; + case 8: gain = 256.0; break; + case 9: gain = 512.0; break; + case 10: gain = 1024.0; break; + case 11: gain = 2048.0; break; + case 12: gain = 4096.0; break; + case 13: gain = 8192.0; break; + case 14: gain = 16384.0; break; + case 15: gain = 32768.0; break; + case 16: gain = 65536.0; break; + case 17: gain = 131072.0; break; + case 18: gain = 262144.0; break; + case 19: gain = 524288.0; break; + case 20: gain = 1048576.0; break; + case 21: gain = 2097152.0; break; + case 22: gain = 4194304.0; break; + case 23: gain = 8388608.0; break; + case 24: gain = 16777216.0; break; + case 25: gain = 33554432.0; break; + case 26: gain = 67108864.0; break; + case 27: gain = 134217728.0; break; + case 28: gain = 268435456.0; break; + case 29: gain = 536870912.0; break; + case 30: gain = 1073741824.0; break; + case 31: gain = 2147483648.0; break; + case 32: gain = 4294967296.0; break; + } + //we are directly punching in the gain values rather than calculating them + + while (nSampleFrames-- > 0) { + long double inputSample = *sourceP + (gain-1); //this offsets the float into total truncation-land. + + + + + + + //begin 32 bit floating point dither + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62) * blend; //remove 'blend' for real use, it's for the demo + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit floating point dither + + + + + + inputSample = (Float32)inputSample; //equivalent of 'floor' for 32 bit floating point + //We do that separately, we're truncating to floating point WHILE heavily offset. + + *destP = inputSample - (gain-1); //this de-offsets the float. + sourceP += inNumChannels; destP += inNumChannels; + } +} + diff --git a/plugins/MacAU/DitherFloat/DitherFloat.exp b/plugins/MacAU/DitherFloat/DitherFloat.exp new file mode 100755 index 0000000..3dcb049 --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.exp @@ -0,0 +1 @@ +_DitherFloatEntry diff --git a/plugins/MacAU/DitherFloat/DitherFloat.h b/plugins/MacAU/DitherFloat/DitherFloat.h new file mode 100755 index 0000000..0eea62e --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.h @@ -0,0 +1,138 @@ +/* +* File: DitherFloat.h +* +* Version: 1.0 +* +* Created: 1/11/19 +* +* Copyright: Copyright © 2019 Airwindows, All Rights Reserved +* +* 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 "DitherFloatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __DitherFloat_h__ +#define __DitherFloat_h__ + + +#pragma mark ____DitherFloat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 0.0; +static const float kDefaultValue_ParamTwo = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Float Offset"); +static CFStringRef kParameterTwoName = CFSTR("Dither Engage"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + //Add your parameters here... + kNumberOfParameters=2 +}; + +#pragma mark ____DitherFloat +class DitherFloat : public AUEffectBase +{ +public: + DitherFloat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~DitherFloat () { delete mDebugDispatcher; } +#endif + + virtual AUKernelBase * NewKernel() { return new DitherFloatKernel(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 kDitherFloatVersion; } + + + +protected: + class DitherFloatKernel : public AUKernelBase // most of the real work happens here + { +public: + DitherFloatKernel(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: + long double fpNShape; + }; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/DitherFloat/DitherFloat.r b/plugins/MacAU/DitherFloat/DitherFloat.r new file mode 100755 index 0000000..89170e0 --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.r @@ -0,0 +1,61 @@ +/* +* File: DitherFloat.r +* +* Version: 1.0 +* +* Created: 1/11/19 +* +* Copyright: Copyright © 2019 Airwindows, All Rights Reserved +* +* 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 "DitherFloatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_DitherFloat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DitherFloat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_DitherFloat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE DitherFloat_COMP_SUBTYPE +#define COMP_MANUF DitherFloat_COMP_MANF + +#define VERSION kDitherFloatVersion +#define NAME "Airwindows: DitherFloat" +#define DESCRIPTION "DitherFloat AU" +#define ENTRY_POINT "DitherFloatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 0000000..f301be9 --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.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/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 0000000..b851c08 --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,131 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* DitherFloat */; + 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 = 569802726; + PBXWorkspaceStateSaveDate = 569802726; + }; + perUserProjectItems = { + 8BEF85AB21F6801300FEF113 /* PlistBookmark */ = 8BEF85AB21F6801300FEF113 /* PlistBookmark */; + 8BEF85AC21F6801300FEF113 /* PBXBookmark */ = 8BEF85AC21F6801300FEF113 /* PBXBookmark */; + 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */ = 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* DitherFloat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1048, 3588}}"; + sepNavSelRange = "{10182, 58}"; + sepNavVisRange = "{9784, 862}"; + sepNavWindowFrame = "{{643, 56}, {1300, 822}}"; + }; + }; + 8BA05A690720730100365D66 /* DitherFloatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 767}}"; + sepNavSelRange = "{2908, 0}"; + sepNavVisRange = "{54, 2917}"; + sepNavWindowFrame = "{{498, 23}, {1300, 822}}"; + }; + }; + 8BC6025B073B072D006C4272 /* DitherFloat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 1794}}"; + sepNavSelRange = "{3211, 0}"; + sepNavVisRange = "{2595, 1482}"; + sepNavWindowFrame = "{{717, 56}, {1300, 822}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8BEF85AB21F6801300FEF113 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/MacAU/DitherFloat/Info.plist; + rLen = 0; + rLoc = 9223372036854775807; + }; + 8BEF85AC21F6801300FEF113 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */; + }; + 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */; + name = "DitherFloat.cpp: 240"; + rLen = 58; + rLoc = 10182; + rType = 0; + vrLen = 862; + vrLoc = 9784; + }; + 8D01CCC60486CAD60068D4B7 /* DitherFloat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 0000000..c05c55f --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.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 + + + 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 + 566 208 841 654 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 305pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BD7274A1D46E5A5000176F0 + PBXProjectModuleLabel + DitherFloat.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8BD7274B1D46E5A5000176F0 + PBXProjectModuleLabel + DitherFloat.cpp + _historyCapacity + 0 + bookmark + 8BEF85AD21F6801300FEF113 + history + + 8BEF85AB21F6801300FEF113 + 8BEF85AC21F6801300FEF113 + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {531, 413}} + RubberWindowFrame + 566 208 841 654 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + Proportion + 195pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {531, 168}} + RubberWindowFrame + 566 208 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 + + 8BEF85AE21F6801300FEF113 + 1CA23ED40692098700951B8B + 8BEF85AF21F6801300FEF113 + 8BD7274A1D46E5A5000176F0 + 8BEF85B021F6801300FEF113 + 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}, {424, 270}} + + Module + PBXDebugCLIModule + Proportion + 270pt + + + 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 + + 8B79259B21F28381006E9731 + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 8B79259C21F28381006E9731 + 8B79259D21F28381006E9731 + 8B79259E21F28381006E9731 + 8B79259F21F28381006E9731 + 8B7925A021F28381006E9731 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 569802771.16773605 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/MacAU/DitherFloat/DitherFloat.xcodeproj + + WindowString + 566 208 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/DitherFloat/DitherFloat.xcodeproj/project.pbxproj b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj new file mode 100755 index 0000000..e97226a --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloat.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 /* DitherFloat.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* DitherFloat.r */; }; + 8BA05A6B0720730100365D66 /* DitherFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */; }; + 8BA05A6E0720730100365D66 /* DitherFloatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* DitherFloatVersion.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 /* DitherFloat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* DitherFloat.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 /* DitherFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DitherFloat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* DitherFloat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = DitherFloat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* DitherFloat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = DitherFloat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* DitherFloatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DitherFloatVersion.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 /* DitherFloat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DitherFloat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* DitherFloat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DitherFloat.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 /* DitherFloat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = DitherFloat; + 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 /* DitherFloat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* DitherFloat.h */, + 8BA05A660720730100365D66 /* DitherFloat.cpp */, + 8BA05A670720730100365D66 /* DitherFloat.exp */, + 8BA05A680720730100365D66 /* DitherFloat.r */, + 8BA05A690720730100365D66 /* DitherFloatVersion.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 /* DitherFloatVersion.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 /* DitherFloat.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 /* DitherFloat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "DitherFloat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DitherFloat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = DitherFloat; + productReference = 8D01CCD20486CAD60068D4B7 /* DitherFloat.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 "DitherFloat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* DitherFloat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* DitherFloat */, + ); + }; +/* 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 /* DitherFloat.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* DitherFloat.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 = DitherFloat.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 = DitherFloat; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = DitherFloat.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 = DitherFloat; + 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 "DitherFloat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "DitherFloat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/DitherFloat/DitherFloatVersion.h b/plugins/MacAU/DitherFloat/DitherFloatVersion.h new file mode 100755 index 0000000..b9f4b9b --- /dev/null +++ b/plugins/MacAU/DitherFloat/DitherFloatVersion.h @@ -0,0 +1,58 @@ +/* +* File: DitherFloatVersion.h +* +* Version: 1.0 +* +* Created: 1/11/19 +* +* Copyright: Copyright © 2019 Airwindows, All Rights Reserved +* +* 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 __DitherFloatVersion_h__ +#define __DitherFloatVersion_h__ + + +#ifdef DEBUG + #define kDitherFloatVersion 0xFFFFFFFF +#else + #define kDitherFloatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define DitherFloat_COMP_MANF 'Dthr' +#define DitherFloat_COMP_SUBTYPE 'dthf' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings b/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings new file mode 100755 index 0000000..bb9c5d5 Binary files /dev/null and b/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings differ diff --git a/plugins/MacAU/DitherFloat/Info.plist b/plugins/MacAU/DitherFloat/Info.plist new file mode 100755 index 0000000..01dc683 --- /dev/null +++ b/plugins/MacAU/DitherFloat/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/DitherFloat/version.plist b/plugins/MacAU/DitherFloat/version.plist new file mode 100755 index 0000000..11edf8a --- /dev/null +++ b/plugins/MacAU/DitherFloat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser index ae10e21..e01742c 100755 --- a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser @@ -49,24 +49,34 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 566513740; - PBXWorkspaceStateSaveDate = 566513740; + PBXPerProjectTemplateStateSaveDate = 569599304; + PBXWorkspaceStateSaveDate = 569599304; }; perUserProjectItems = { - 8BBB304421B70E5D00825986 /* PBXTextBookmark */ = 8BBB304421B70E5D00825986 /* PBXTextBookmark */; - 8BBB329D21C4508800825986 /* PlistBookmark */ = 8BBB329D21C4508800825986 /* PlistBookmark */; + 8B792AF321F36563006E9731 /* PlistBookmark */ = 8B792AF321F36563006E9731 /* PlistBookmark */; 8BBB32A221C4509A00825986 /* PlistBookmark */ = 8BBB32A221C4509A00825986 /* PlistBookmark */; - 8BBB32A621C4509A00825986 /* PBXTextBookmark */ = 8BBB32A621C4509A00825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792AF321F36563006E9731 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/Info.plist; + rLen = 0; + rLoc = 9223372036854775807; + }; 8BA05A660720730100365D66 /* DitherMeDiskers.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1082, 2964}}"; - sepNavSelRange = "{8372, 0}"; - sepNavVisRange = "{6754, 1793}"; + sepNavIntBoundsRect = "{{0, 0}, {1082, 2938}}"; + sepNavSelRange = "{7589, 0}"; + sepNavVisRange = "{6703, 1843}"; sepNavWindowFrame = "{{15, 39}, {1129, 834}}"; }; }; @@ -78,28 +88,6 @@ sepNavWindowFrame = "{{15, 39}, {1129, 834}}"; }; }; - 8BBB304421B70E5D00825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DitherMeDiskers.cpp */; - name = "DitherMeDiskers.cpp: 187"; - rLen = 0; - rLoc = 8466; - rType = 0; - vrLen = 1811; - vrLoc = 6559; - }; - 8BBB329D21C4508800825986 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; - }; 8BBB32A221C4509A00825986 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -112,16 +100,6 @@ rLen = 26; rLoc = 0; }; - 8BBB32A621C4509A00825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DitherMeDiskers.cpp */; - name = "DitherMeDiskers.cpp: 192"; - rLen = 0; - rLoc = 8372; - rType = 0; - vrLen = 1793; - vrLoc = 6754; - }; 8BC6025B073B072D006C4272 /* DitherMeDiskers.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1082, 1664}}"; diff --git a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3 index 663d212..214721f 100755 --- a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3 @@ -222,48 +222,7 @@ OpenEditors - - - Content - - PBXProjectModuleGUID - 8BBB303C21B70E4F00825986 - PBXProjectModuleLabel - DitherMeDiskers.cpp - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 8BBB303D21B70E4F00825986 - PBXProjectModuleLabel - DitherMeDiskers.cpp - _historyCapacity - 0 - bookmark - 8BBB32A621C4509A00825986 - history - - 8BBB304421B70E5D00825986 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {1129, 737}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 95 1129 778 0 0 1440 878 - - - + PerspectiveWidths 841 @@ -297,6 +256,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -365,7 +326,7 @@ 288 RubberWindowFrame - 16 205 841 654 0 0 1440 878 + 67 204 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -393,10 +354,10 @@ _historyCapacity 0 bookmark - 8BBB32A221C4509A00825986 + 8B792AF321F36563006E9731 history - 8BBB329D21C4508800825986 + 8BBB32A221C4509A00825986 SplitCount @@ -410,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 216}} RubberWindowFrame - 16 205 841 654 0 0 1440 878 + 67 204 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 216pt Proportion - 379pt + 392pt Tabs @@ -435,7 +396,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {531, 365}} + RubberWindowFrame + 67 204 841 654 0 0 1440 878 Module XCDetailModule @@ -490,8 +453,6 @@ Frame {{10, 27}, {531, 352}} - RubberWindowFrame - 16 205 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -519,11 +480,11 @@ TableOfContents - 8BBB32A321C4509A00825986 + 8B792AF421F36563006E9731 1CA23ED40692098700951B8B - 8BBB32A421C4509A00825986 + 8B792AF521F36563006E9731 8BD7274A1D46E5A5000176F0 - 8BBB32A521C4509A00825986 + 8B792AF621F36563006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -696,7 +657,7 @@ StatusbarIsVisible TimeStamp - 566513818.26343 + 569599331.99398303 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -713,11 +674,10 @@ 5 WindowOrderList - 8BBB303C21B70E4F00825986 /Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj WindowString - 16 205 841 654 0 0 1440 878 + 67 204 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp index a9c5963..7651fda 100755 --- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp +++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp @@ -177,10 +177,10 @@ void DitherMeTimbers::DitherMeTimbersKernel::Process( const Float32 *inSourceP if ((lastSample+lastSample) >= (inputSample+lastSample2)) outputSample = floor(lastSample); else outputSample = floor(lastSample+1.0); //round down or up based on whether it softens treble angles - + lastSample2 = lastSample; lastSample = inputSample; //we retain three samples in a row - + noiseShaping += outputSample; noiseShaping -= lastSample; @@ -199,6 +199,3 @@ void DitherMeTimbers::DitherMeTimbersKernel::Process( const Float32 *inSourceP destP += inNumChannels; } } - - - diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h index 28c3eb4..abc959d 100755 --- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h +++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h @@ -119,8 +119,8 @@ public: private: long double noiseShaping; - Float64 lastSample; - Float64 lastSample2; + long double lastSample; + long double lastSample2; }; }; diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser index 7f19694..45e9d2e 100755 --- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser @@ -51,13 +51,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 566513924; - PBXWorkspaceStateSaveDate = 566513924; + PBXPerProjectTemplateStateSaveDate = 569599350; + PBXWorkspaceStateSaveDate = 569599350; }; perUserProjectItems = { 8B416D5621B6000500DD5013 /* PlistBookmark */ = 8B416D5621B6000500DD5013 /* PlistBookmark */; - 8BBB329121C4504400825986 /* PBXTextBookmark */ = 8BBB329121C4504400825986 /* PBXTextBookmark */; - 8BBB32D021C4524300825986 /* PBXTextBookmark */ = 8BBB32D021C4524300825986 /* PBXTextBookmark */; + 8B792B0221F3657A006E9731 /* PBXTextBookmark */ = 8B792B0221F3657A006E9731 /* PBXTextBookmark */; + 8B792B0821F365A0006E9731 /* PBXTextBookmark */ = 8B792B0821F365A0006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -75,11 +75,31 @@ rLen = 0; rLoc = 9223372036854775808; }; + 8B792B0221F3657A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */; + name = "DitherMeTimbers.cpp: 202"; + rLen = 0; + rLoc = 8558; + rType = 0; + vrLen = 152; + vrLoc = 8165; + }; + 8B792B0821F365A0006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */; + name = "DitherMeTimbers.cpp: 202"; + rLen = 0; + rLoc = 8558; + rType = 0; + vrLen = 335; + vrLoc = 7733; + }; 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {789, 2808}}"; - sepNavSelRange = "{8279, 0}"; - sepNavVisRange = "{8161, 245}"; + sepNavIntBoundsRect = "{{0, 0}, {789, 2834}}"; + sepNavSelRange = "{8558, 0}"; + sepNavVisRange = "{7733, 335}"; sepNavWindowFrame = "{{311, 44}, {1129, 834}}"; }; }; @@ -91,31 +111,11 @@ sepNavWindowFrame = "{{311, 44}, {1129, 834}}"; }; }; - 8BBB329121C4504400825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */; - name = "DitherMeTimbers.cpp: 188"; - rLen = 0; - rLoc = 8279; - rType = 0; - vrLen = 252; - vrLoc = 8161; - }; - 8BBB32D021C4524300825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */; - name = "DitherMeTimbers.cpp: 188"; - rLen = 0; - rLoc = 8279; - rType = 0; - vrLen = 245; - vrLoc = 8161; - }; 8BC6025B073B072D006C4272 /* DitherMeTimbers.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1082, 1690}}"; - sepNavSelRange = "{4971, 45}"; - sepNavVisRange = "{2662, 1719}"; + sepNavSelRange = "{4943, 81}"; + sepNavVisRange = "{3376, 1757}"; sepNavWindowFrame = "{{311, 44}, {1129, 834}}"; }; }; diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3 index 349f556..f9c57cc 100755 --- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3 @@ -302,7 +302,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -354,11 +354,11 @@ _historyCapacity 0 bookmark - 8BBB32D021C4524300825986 + 8B792B0821F365A0006E9731 history 8B416D5621B6000500DD5013 - 8BBB329121C4504400825986 + 8B792B0221F3657A006E9731 SplitCount @@ -372,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 158}} + {{0, 0}, {531, 109}} RubberWindowFrame 594 193 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 158pt + 109pt Proportion - 450pt + 499pt Tabs @@ -397,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 423}} - RubberWindowFrame - 594 193 841 654 0 0 1440 878 + {{10, 27}, {531, 472}} Module XCDetailModule @@ -453,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} + {{10, 27}, {531, 472}} + RubberWindowFrame + 594 193 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +481,11 @@ TableOfContents - 8BBB32D121C4524300825986 + 8B792B0921F365A0006E9731 1CA23ED40692098700951B8B - 8BBB32D221C4524300825986 + 8B792B0A21F365A0006E9731 8BD7274A1D46E5A5000176F0 - 8BBB32D321C4524300825986 + 8B792B0B21F365A0006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +658,7 @@ StatusbarIsVisible TimeStamp - 566514243.55308604 + 569599392.67723703 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode diff --git a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser index 3c31d7a..bb2bf83 100755 --- a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser @@ -51,18 +51,28 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557696136; - PBXWorkspaceStateSaveDate = 557696136; + PBXPerProjectTemplateStateSaveDate = 569598344; + PBXWorkspaceStateSaveDate = 569598344; }; perUserProjectItems = { + 8B792AE321F361B2006E9731 /* PBXTextBookmark */ = 8B792AE321F361B2006E9731 /* PBXTextBookmark */; 8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */ = 8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */; - 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */ = 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */; 8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */ = 8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792AE321F361B2006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */; + name = "Ditherbox.h: 216"; + rLen = 0; + rLoc = 8486; + rType = 0; + vrLen = 206; + vrLoc = 132; + }; 8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Ditherbox.cpp */; @@ -73,16 +83,6 @@ vrLen = 342; vrLoc = 10516; }; - 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */; - name = "Ditherbox.h: 216"; - rLen = 0; - rLoc = 8486; - rType = 0; - vrLen = 209; - vrLoc = 129; - }; 8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */; @@ -95,9 +95,9 @@ }; 8BA05A660720730100365D66 /* Ditherbox.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {978, 11076}}"; + sepNavIntBoundsRect = "{{0, 0}, {978, 10829}}"; sepNavSelRange = "{11237, 0}"; - sepNavVisRange = "{1680, 2418}"; + sepNavVisRange = "{29519, 1747}"; sepNavWindowFrame = "{{471, 45}, {816, 833}}"; }; }; @@ -127,9 +127,9 @@ }; 8BC6025B073B072D006C4272 /* Ditherbox.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 3003}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 2990}}"; sepNavSelRange = "{8486, 0}"; - sepNavVisRange = "{129, 209}"; + sepNavVisRange = "{132, 206}"; sepNavWindowFrame = "{{419, 78}, {1021, 800}}"; }; }; diff --git a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3 index efe3540..2486243 100755 --- a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3 @@ -256,6 +256,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -350,11 +352,11 @@ _historyCapacity 0 bookmark - 8B913FEB213DC5A500BA6EEC + 8B792AE321F361B2006E9731 history 8B913FA3213DBD2F00BA6EEC - 8B913FE1213DC54C00BA6EEC + 8B913FEB213DC5A500BA6EEC SplitCount @@ -368,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame 468 237 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -393,7 +395,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 468 237 810 487 0 0 1440 878 Module XCDetailModule @@ -448,8 +452,6 @@ Frame {{10, 27}, {603, 345}} - RubberWindowFrame - 468 237 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -477,11 +479,11 @@ TableOfContents - 8B913FB1213DC48A00BA6EEC + 8B792AE421F361B2006E9731 1CA23ED40692098700951B8B - 8B913FB2213DC48A00BA6EEC + 8B792AE521F361B2006E9731 8B9E7EE61DDE28AC006035FA - 8B913FB3213DC48A00BA6EEC + 8B792AE621F361B2006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -634,7 +636,7 @@ StatusbarIsVisible TimeStamp - 557696421.06510198 + 569598386.47118104 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode diff --git a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser index 76f3628..0076005 100755 --- a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser @@ -49,15 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528455820; - PBXWorkspaceStateSaveDate = 528455820; + PBXPerProjectTemplateStateSaveDate = 569599414; + PBXWorkspaceStateSaveDate = 569599414; }; perUserProjectItems = { 8B753DD21E4005B300347157 /* PlistBookmark */ = 8B753DD21E4005B300347157 /* PlistBookmark */; - 8B9D64691F7C8512007AB60F /* PBXTextBookmark */ = 8B9D64691F7C8512007AB60F /* PBXTextBookmark */; - 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */ = 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */; + 8B792B1921F365CE006E9731 /* PBXTextBookmark */ = 8B792B1921F365CE006E9731 /* PBXTextBookmark */; + 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */ = 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */; + 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */ = 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */; 8BB6DE001E5A8BDB00F3CD1D /* PBXTextBookmark */ = 8BB6DE001E5A8BDB00F3CD1D /* PBXTextBookmark */; - 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */ = 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -75,39 +75,49 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D64691F7C8512007AB60F /* PBXTextBookmark */ = { + 8B792B1921F365CE006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* DoublePaulVersion.h */; - name = "DoublePaulVersion.h: 54"; + fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */; + name = "DoublePaul.cpp: 219"; rLen = 0; - rLoc = 2901; + rLoc = 9846; rType = 0; - vrLen = 357; - vrLoc = 2598; + vrLen = 152; + vrLoc = 9879; }; - 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */ = { + 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* DoublePaulVersion.h */; name = "DoublePaulVersion.h: 54"; rLen = 0; rLoc = 2901; rType = 0; - vrLen = 354; - vrLoc = 2601; + vrLen = 290; + vrLoc = 2665; + }; + 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */; + name = "DoublePaul.cpp: 219"; + rLen = 0; + rLoc = 9846; + rType = 0; + vrLen = 474; + vrLoc = 8093; }; 8BA05A660720730100365D66 /* DoublePaul.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {876, 3159}}"; - sepNavSelRange = "{7552, 0}"; - sepNavVisRange = "{6507, 2681}"; - sepNavWindowFrame = "{{517, 41}, {923, 837}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 3068}}"; + sepNavSelRange = "{9846, 0}"; + sepNavVisRange = "{9879, 152}"; + sepNavWindowFrame = "{{42, 39}, {923, 837}}"; }; }; 8BA05A690720730100365D66 /* DoublePaulVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 819}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 858}}"; sepNavSelRange = "{2901, 0}"; - sepNavVisRange = "{2601, 354}"; + sepNavVisRange = "{2665, 290}"; sepNavWindowFrame = "{{15, 39}, {923, 837}}"; }; }; @@ -121,22 +131,12 @@ vrLen = 412; vrLoc = 4667; }; - 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */; - name = "DoublePaul.cpp: 193"; - rLen = 0; - rLoc = 9846; - rType = 0; - vrLen = 595; - vrLoc = 8025; - }; 8BC6025B073B072D006C4272 /* DoublePaul.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}"; sepNavSelRange = "{4958, 19}"; - sepNavVisRange = "{1786, 1948}"; - sepNavWindowFrame = "{{509, 12}, {923, 837}}"; + sepNavVisRange = "{3359, 1727}"; + sepNavWindowFrame = "{{38, 12}, {923, 837}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3 index a45f5ce..9124a10 100755 --- a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 328 180 841 654 0 0 1440 878 + 19 213 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,7 +341,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - DoublePaulVersion.h + DoublePaul.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,17 +349,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - DoublePaulVersion.h + DoublePaul.cpp _historyCapacity 0 bookmark - 8B9D73DB1F7F98B0007AB60F + 8B792B1921F365CE006E9731 history 8B753DD21E4005B300347157 8BB6DE001E5A8BDB00F3CD1D - 8BB6DE011E5A8BDB00F3CD1D - 8B9D64691F7C8512007AB60F + 8B913F30213DB8AA00BA6EEC + 8B913FCD213DC4EE00BA6EEC SplitCount @@ -373,18 +373,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 158}} RubberWindowFrame - 328 180 841 654 0 0 1440 878 + 19 213 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 158pt Proportion - 406pt + 450pt Tabs @@ -398,9 +398,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} + {{10, 27}, {531, 423}} RubberWindowFrame - 328 180 841 654 0 0 1440 878 + 19 213 841 654 0 0 1440 878 Module XCDetailModule @@ -482,11 +482,11 @@ TableOfContents - 8B9D73DC1F7F98B0007AB60F + 8B792B1A21F365CE006E9731 1CA23ED40692098700951B8B - 8B9D73DD1F7F98B0007AB60F + 8B792B1B21F365CE006E9731 8BD7274A1D46E5A5000176F0 - 8B9D73DE1F7F98B0007AB60F + 8B792B1C21F365CE006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +659,7 @@ StatusbarIsVisible TimeStamp - 528455856.515679 + 569599438.68596196 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +676,10 @@ 5 WindowOrderList - 8B9D73DF1F7F98B0007AB60F /Users/christopherjohnson/Desktop/MacAU/DoublePaul/DoublePaul.xcodeproj WindowString - 328 180 841 654 0 0 1440 878 + 19 213 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Drive/Drive.cpp b/plugins/MacAU/Drive/Drive.cpp index 179d9ae..ab3c0bc 100755 --- a/plugins/MacAU/Drive/Drive.cpp +++ b/plugins/MacAU/Drive/Drive.cpp @@ -184,8 +184,7 @@ void Drive::DriveKernel::Reset() { iirSampleA = 0.0; iirSampleB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -220,10 +219,6 @@ void Drive::DriveKernel::Process( const Float32 *inSourceP, Float64 glitch = 0.60; Float64 out; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -282,20 +277,13 @@ void Drive::DriveKernel::Process( const Float32 *inSourceP, if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet); //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Drive/Drive.exp b/plugins/MacAU/Drive/Drive.exp index f23aad0..caa6fe9 100755 --- a/plugins/MacAU/Drive/Drive.exp +++ b/plugins/MacAU/Drive/Drive.exp @@ -1 +1 @@ -_DriveEntry \ No newline at end of file +_DriveEntry diff --git a/plugins/MacAU/Drive/Drive.h b/plugins/MacAU/Drive/Drive.h index 83be2b2..0e4af2a 100755 --- a/plugins/MacAU/Drive/Drive.h +++ b/plugins/MacAU/Drive/Drive.h @@ -139,8 +139,7 @@ public: private: Float64 iirSampleA; Float64 iirSampleB; - Float64 fpNShapeA; - Float64 fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser index 948474f..8cd024d 100755 --- a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 559395484; - PBXWorkspaceStateSaveDate = 559395484; + PBXPerProjectTemplateStateSaveDate = 569599476; + PBXWorkspaceStateSaveDate = 569599476; }; perUserProjectItems = { 8B3D790A1DB4057D00247AD5 /* PBXTextBookmark */ = 8B3D790A1DB4057D00247AD5 /* PBXTextBookmark */; - 8BE626152157B2BF00E4E476 /* PBXTextBookmark */ = 8BE626152157B2BF00E4E476 /* PBXTextBookmark */; - 8BE626162157B2BF00E4E476 /* PBXTextBookmark */ = 8BE626162157B2BF00E4E476 /* PBXTextBookmark */; + 8B792B2A21F36661006E9731 /* PBXTextBookmark */ = 8B792B2A21F36661006E9731 /* PBXTextBookmark */; + 8B792B3021F36679006E9731 /* PBXTextBookmark */ = 8B792B3021F36679006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,12 +71,40 @@ vrLen = 59; vrLoc = 0; }; + 8B792B2A21F36661006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Drive.cpp */; + name = "Drive.cpp: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 64; + vrLoc = 0; + }; + 8B792B3021F36679006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Drive.cpp */; + name = "Drive.cpp: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 64; + vrLoc = 0; + }; 8BA05A660720730100365D66 /* Drive.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4056}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 3991}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 127}"; - sepNavWindowFrame = "{{537, 59}, {895, 819}}"; + sepNavVisRange = "{0, 64}"; + sepNavWindowFrame = "{{423, 59}, {895, 819}}"; + }; + }; + 8BA05A670720730100365D66 /* Drive.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{12, 0}"; + sepNavVisRange = "{0, 12}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; }; }; 8BA05A690720730100365D66 /* DriveVersion.h */ = { @@ -89,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* Drive.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {856, 1963}}"; - sepNavSelRange = "{5553, 57}"; - sepNavVisRange = "{4498, 1221}"; + sepNavIntBoundsRect = "{{0, 0}, {856, 2184}}"; + sepNavSelRange = "{5576, 0}"; + sepNavVisRange = "{4496, 1205}"; sepNavWindowFrame = "{{517, 162}, {903, 692}}"; }; }; @@ -109,26 +137,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BE626152157B2BF00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Drive.cpp */; - name = "Drive.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 127; - vrLoc = 0; - }; - 8BE626162157B2BF00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Drive.cpp */; - name = "Drive.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 127; - vrLoc = 0; - }; 8D01CCC60486CAD60068D4B7 /* Drive */ = { activeExec = 0; }; diff --git a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3 index 09b8cfc..a684ee9 100755 --- a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 624 381 810 487 0 0 1440 878 + 511 370 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8BE626162157B2BF00E4E476 + 8B792B3021F36679006E9731 history 8B3D790A1DB4057D00247AD5 - 8BE626152157B2BF00E4E476 + 8B792B2A21F36661006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 132}} + {{0, 0}, {603, 117}} RubberWindowFrame - 624 381 810 487 0 0 1440 878 + 511 370 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 132pt + 117pt Proportion - 309pt + 324pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} - RubberWindowFrame - 624 381 810 487 0 0 1440 878 + {{10, 27}, {603, 297}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 297}} + RubberWindowFrame + 511 370 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8BE626172157B2BF00E4E476 + 8B792B3121F36679006E9731 1CA23ED40692098700951B8B - 8BE626182157B2BF00E4E476 + 8B792B3221F36679006E9731 8BE3FFB51DAAD42E00A5AAF5 - 8BE626192157B2BF00E4E476 + 8B792B3321F36679006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 559395519.27228796 + 569599609.11398804 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,10 +651,11 @@ 5 WindowOrderList + 8B792B3421F36679006E9731 /Users/christopherjohnson/Desktop/MacAU/Drive/Drive.xcodeproj WindowString - 624 381 810 487 0 0 1440 878 + 511 370 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DrumSlam/DrumSlam.cpp b/plugins/MacAU/DrumSlam/DrumSlam.cpp index 50053f3..8002ede 100755 --- a/plugins/MacAU/DrumSlam/DrumSlam.cpp +++ b/plugins/MacAU/DrumSlam/DrumSlam.cpp @@ -183,9 +183,8 @@ void DrumSlam::DrumSlamKernel::Reset() iirSampleG = 0.0; iirSampleH = 0.0; lastSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; + fpFlip = false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -216,8 +215,6 @@ void DrumSlam::DrumSlamKernel::Process( const Float32 *inSourceP, Float64 out = GetParameter( kParam_Two ); Float64 wet = GetParameter( kParam_Three ); Float64 dry = 1.0 - wet; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { long double inputSample = *sourceP; @@ -320,21 +317,13 @@ void DrumSlam::DrumSlamKernel::Process( const Float32 *inSourceP, if (wet < 1.0) { inputSample = (drySample * dry)+(inputSample*wet); } - - //noise shaping to 32-bit floating point - Float32 fpTemp; - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/DrumSlam/DrumSlam.h b/plugins/MacAU/DrumSlam/DrumSlam.h index 2222f01..99d3058 100755 --- a/plugins/MacAU/DrumSlam/DrumSlam.h +++ b/plugins/MacAU/DrumSlam/DrumSlam.h @@ -140,8 +140,7 @@ public: Float64 iirSampleG; Float64 iirSampleH; Float64 lastSample; - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser index 549e398..fed09c8 100755 --- a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser @@ -49,54 +49,65 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547825387; - PBXWorkspaceStateSaveDate = 547825387; + PBXPerProjectTemplateStateSaveDate = 569599635; + PBXWorkspaceStateSaveDate = 569599635; }; perUserProjectItems = { + 8B792B4421F36707006E9731 /* PBXTextBookmark */ = 8B792B4421F36707006E9731 /* PBXTextBookmark */; + 8B792B4521F36707006E9731 /* PBXTextBookmark */ = 8B792B4521F36707006E9731 /* PBXTextBookmark */; + 8B792B5221F36735006E9731 /* PBXTextBookmark */ = 8B792B5221F36735006E9731 /* PBXTextBookmark */; 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */; - 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */; - 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = { + 8B792B4421F36707006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* DrumSlamVersion.h */; - name = "DrumSlamVersion.h: 1"; + fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */; + name = "DrumSlam.cpp: 314"; rLen = 0; - rLoc = 0; + rLoc = 13827; rType = 0; - vrLen = 397; - vrLoc = 3021; + vrLen = 237; + vrLoc = 13982; }; - 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */ = { + 8B792B4521F36707006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */; - name = "DrumSlam.cpp: 329"; + fRef = 8BC6025B073B072D006C4272 /* DrumSlam.h */; + name = "DrumSlam.h: 143"; rLen = 0; - rLoc = 13944; + rLoc = 5485; rType = 0; - vrLen = 318; - vrLoc = 13904; + vrLen = 119; + vrLoc = 5359; }; - 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */ = { + 8B792B5221F36735006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */; - name = "DrumSlam.cpp: 318"; + fRef = 8BC6025B073B072D006C4272 /* DrumSlam.h */; + name = "DrumSlam.h: 144"; rLen = 0; - rLoc = 13944; + rLoc = 5485; rType = 0; - vrLen = 201; - vrLoc = 14073; + vrLen = 131; + vrLoc = 5359; + }; + 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* DrumSlamVersion.h */; + name = "DrumSlamVersion.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 397; + vrLoc = 3021; }; 8BA05A660720730100365D66 /* DrumSlam.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {852, 4810}}"; - sepNavSelRange = "{13944, 0}"; - sepNavVisRange = "{14073, 201}"; - sepNavWindowFrame = "{{291, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 4472}}"; + sepNavSelRange = "{13975, 0}"; + sepNavVisRange = "{12035, 1944}"; + sepNavWindowFrame = "{{208, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* DrumSlam.exp */ = { @@ -116,10 +127,10 @@ }; 8BC6025B073B072D006C4272 /* DrumSlam.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {960, 1976}}"; - sepNavSelRange = "{5249, 198}"; - sepNavVisRange = "{1784, 1800}"; - sepNavWindowFrame = "{{673, 59}, {1007, 819}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 2132}}"; + sepNavSelRange = "{5485, 0}"; + sepNavVisRange = "{5359, 131}"; + sepNavWindowFrame = "{{433, 59}, {1007, 819}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3 index 5b5c6ba..882f5c2 100755 --- a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3 @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 618 344 810 487 0 0 1440 878 + 526 350 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +340,7 @@ PBXProjectModuleGUID 8BBDB99F208BFC67006F0D04 PBXProjectModuleLabel - DrumSlam.cpp + DrumSlam.h PBXSplitModuleInNavigatorKey Split0 @@ -348,15 +348,16 @@ PBXProjectModuleGUID 8BBDB9A0208BFC67006F0D04 PBXProjectModuleLabel - DrumSlam.cpp + DrumSlam.h _historyCapacity 0 bookmark - 8B7E3F3020A72F9500482CB5 + 8B792B5221F36735006E9731 history 8B7E3F2E20A72F9500482CB5 - 8B7E3F2F20A72F9500482CB5 + 8B792B4421F36707006E9731 + 8B792B4521F36707006E9731 SplitCount @@ -370,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 132}} + {{0, 0}, {603, 117}} RubberWindowFrame - 618 344 810 487 0 0 1440 878 + 526 350 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 132pt + 117pt Proportion - 309pt + 324pt Tabs @@ -395,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} - RubberWindowFrame - 618 344 810 487 0 0 1440 878 + {{10, 27}, {603, 297}} Module XCDetailModule @@ -451,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 297}} + RubberWindowFrame + 526 350 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +480,11 @@ TableOfContents - 8B7E3F3120A72F9500482CB5 + 8B792B4721F36707006E9731 1CA23ED40692098700951B8B - 8B7E3F3220A72F9500482CB5 + 8B792B4821F36707006E9731 8BBDB99F208BFC67006F0D04 - 8B7E3F3320A72F9500482CB5 + 8B792B4921F36707006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +637,7 @@ StatusbarIsVisible TimeStamp - 547827605.06235003 + 569599797.07027304 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -656,7 +657,7 @@ /Users/christopherjohnson/Desktop/MacAU/DrumSlam/DrumSlam.xcodeproj WindowString - 618 344 810 487 0 0 1440 878 + 526 350 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DubCenter/DubCenter.cpp b/plugins/MacAU/DubCenter/DubCenter.cpp index e0bfcae..397d118 100755 --- a/plugins/MacAU/DubCenter/DubCenter.cpp +++ b/plugins/MacAU/DubCenter/DubCenter.cpp @@ -608,18 +608,14 @@ OSStatus DubCenter::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla bflip++; if (bflip < 1 || bflip > 3) bflip = 1; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSampleL; - fpNShapeL += (inputSampleL-fpTemp); - inputSampleL += fpNShapeL; - //if this confuses you look at the wordlength for fpTemp :) - fpTemp = inputSampleR; - fpNShapeR += (inputSampleR-fpTemp); - inputSampleR += fpNShapeR; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; @@ -630,12 +626,6 @@ OSStatus DubCenter::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla outputL += 1; outputR += 1; } - fpNShapeL *= 0.999999; - fpNShapeR *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. return noErr; } diff --git a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser index 7ca3e9a..92a76a9 100755 --- a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser @@ -49,50 +49,50 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561682686; - PBXWorkspaceStateSaveDate = 561682686; + PBXPerProjectTemplateStateSaveDate = 569601995; + PBXWorkspaceStateSaveDate = 569601995; }; perUserProjectItems = { - 8B15DBE021788E16007AD769 /* PBXTextBookmark */ = 8B15DBE021788E16007AD769 /* PBXTextBookmark */; - 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */ = 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */; + 8B792B6021F37032006E9731 /* PBXTextBookmark */ = 8B792B6021F37032006E9731 /* PBXTextBookmark */; + 8B792B6521F37044006E9731 /* PBXTextBookmark */ = 8B792B6521F37044006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B15DBE021788E16007AD769 /* PBXTextBookmark */ = { + 8B792B6021F37032006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* DubCenterVersion.h */; name = "DubCenterVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 138; + vrLen = 72; vrLoc = 0; }; - 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */ = { + 8B792B6521F37044006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* DubCenterVersion.h */; name = "DubCenterVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 75; + vrLen = 72; vrLoc = 0; }; 8BA05A660720730100365D66 /* DubCenter.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {843, 8515}}"; - sepNavSelRange = "{21662, 0}"; - sepNavVisRange = "{18060, 2145}"; - sepNavWindowFrame = "{{524, 68}, {890, 810}}"; + sepNavIntBoundsRect = "{{0, 0}, {843, 8710}}"; + sepNavSelRange = "{25766, 0}"; + sepNavVisRange = "{12612, 2162}"; + sepNavWindowFrame = "{{418, 60}, {890, 810}}"; }; }; 8BA05A690720730100365D66 /* DubCenterVersion.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {803, 845}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 75}"; + sepNavVisRange = "{0, 72}"; sepNavWindowFrame = "{{15, 63}, {890, 810}}"; }; }; @@ -106,9 +106,9 @@ 8BC6025B073B072D006C4272 /* DubCenter.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 2626}}"; - sepNavSelRange = "{6309, 802}"; - sepNavVisRange = "{1890, 2172}"; - sepNavWindowFrame = "{{743, 68}, {890, 810}}"; + sepNavSelRange = "{6647, 0}"; + sepNavVisRange = "{6253, 1011}"; + sepNavWindowFrame = "{{550, 68}, {890, 810}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3 index 9e4deb2..db80a2d 100755 --- a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 824 324 573 517 0 0 1440 878 + 506 318 573 517 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B15DC9D217A9A34007AD769 + 8B792B6521F37044006E9731 history - 8B15DBE021788E16007AD769 + 8B792B6021F37032006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {366, 119}} + {{0, 0}, {366, 103}} RubberWindowFrame - 824 324 573 517 0 0 1440 878 + 506 318 573 517 0 0 1440 878 Module PBXNavigatorGroup Proportion - 119pt + 103pt Proportion - 352pt + 368pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {366, 325}} - RubberWindowFrame - 824 324 573 517 0 0 1440 878 + {{10, 27}, {366, 341}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {366, 282}} + {{10, 27}, {366, 341}} + RubberWindowFrame + 506 318 573 517 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B15DC9E217A9A34007AD769 + 8B792B6621F37044006E9731 1CA23ED40692098700951B8B - 8B15DC9F217A9A34007AD769 + 8B792B6721F37044006E9731 8B27205C2173B3A600396442 - 8B15DCA0217A9A34007AD769 + 8B792B6821F37044006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 561682996.86381996 + 569602116.17734897 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -655,7 +653,7 @@ /Users/christopherjohnson/Desktop/MacAU/DubCenter/DubCenter.xcodeproj WindowString - 824 324 573 517 0 0 1440 878 + 506 318 573 517 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DubSub/DubSub.cpp b/plugins/MacAU/DubSub/DubSub.cpp index 3d375c7..49a371b 100755 --- a/plugins/MacAU/DubSub/DubSub.cpp +++ b/plugins/MacAU/DubSub/DubSub.cpp @@ -523,23 +523,14 @@ void DubSub::DubSubKernel::Process( const Float32 *inSourceP, bflip++; if (bflip < 1 || bflip > 3) bflip = 1; - - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser index 1b78563..0bf9966 100755 --- a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 560565055; - PBXWorkspaceStateSaveDate = 560565055; + PBXPerProjectTemplateStateSaveDate = 569602135; + PBXWorkspaceStateSaveDate = 569602135; }; perUserProjectItems = { - 8B42FE3E21698BC50092969A /* PBXTextBookmark */ = 8B42FE3E21698BC50092969A /* PBXTextBookmark */; - 8B42FE3F21698BC50092969A /* PBXTextBookmark */ = 8B42FE3F21698BC50092969A /* PBXTextBookmark */; + 8B792B7521F3708C006E9731 /* PBXTextBookmark */ = 8B792B7521F3708C006E9731 /* PBXTextBookmark */; + 8B792B7A21F3709C006E9731 /* PBXTextBookmark */ = 8B792B7A21F3709C006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B42FE3E21698BC50092969A /* PBXTextBookmark */ = { + 8B792B7521F3708C006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* DubSub.cpp */; name = "DubSub.cpp: 521"; rLen = 0; rLoc = 22045; rType = 0; - vrLen = 160; - vrLoc = 21949; + vrLen = 68; + vrLoc = 21996; }; - 8B42FE3F21698BC50092969A /* PBXTextBookmark */ = { + 8B792B7A21F3709C006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* DubSub.cpp */; name = "DubSub.cpp: 521"; rLen = 0; rLoc = 22045; rType = 0; - vrLen = 160; - vrLoc = 21915; + vrLen = 68; + vrLoc = 21996; }; 8BA05A660720730100365D66 /* DubSub.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {663, 7241}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 7072}}"; sepNavSelRange = "{22045, 0}"; - sepNavVisRange = "{21915, 160}"; - sepNavWindowFrame = "{{749, 66}, {1145, 812}}"; + sepNavVisRange = "{21996, 68}"; + sepNavWindowFrame = "{{1, 41}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* DubSub.exp */ = { @@ -108,16 +108,16 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1098, 767}}"; sepNavSelRange = "{2869, 0}"; - sepNavVisRange = "{68, 2869}"; + sepNavVisRange = "{49, 2888}"; sepNavWindowFrame = "{{295, 66}, {1145, 812}}"; }; }; 8BC6025B073B072D006C4272 /* DubSub.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 2392}}"; - sepNavSelRange = "{3332, 0}"; - sepNavVisRange = "{2519, 1677}"; - sepNavWindowFrame = "{{832, 72}, {608, 806}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 2756}}"; + sepNavSelRange = "{6097, 1035}"; + sepNavVisRange = "{6232, 1033}"; + sepNavWindowFrame = "{{26, 54}, {608, 806}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3 index 5e22a02..b95829d 100755 --- a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 625 371 810 487 0 0 1440 878 + 412 359 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B42FE3F21698BC50092969A + 8B792B7A21F3709C006E9731 history - 8B42FE3E21698BC50092969A + 8B792B7521F3708C006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 69}} RubberWindowFrame - 625 371 810 487 0 0 1440 878 + 412 359 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 69pt Proportion - 324pt + 372pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 625 371 810 487 0 0 1440 878 + {{10, 27}, {603, 345}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 345}} + RubberWindowFrame + 412 359 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B42FE4021698BC50092969A + 8B792B7B21F3709C006E9731 1CA23ED40692098700951B8B - 8B42FE4121698BC50092969A + 8B792B7C21F3709C006E9731 8BE6256A2157A03900E4E476 - 8B42FE4221698BC50092969A + 8B792B7D21F3709C006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 560565189.36784196 + 569602204.74752998 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,11 @@ 5 WindowOrderList - 8B42FE4321698BC50092969A + 8B792B7E21F3709C006E9731 /Users/christopherjohnson/Desktop/MacAU/DubSub/DubSub.xcodeproj WindowString - 625 371 810 487 0 0 1440 878 + 412 359 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/DustBunny/DustBunny.cpp b/plugins/MacAU/DustBunny/DustBunny.cpp index 84ac4f6..28418d4 100755 --- a/plugins/MacAU/DustBunny/DustBunny.cpp +++ b/plugins/MacAU/DustBunny/DustBunny.cpp @@ -164,7 +164,7 @@ void DustBunny::DustBunnyKernel::Reset() ataUpsampleHighTweak = 0.0414213562373095048801688; //more adds treble to upsampling ataDecay = 0.915965594177219015; //Catalan's constant, more adds focus and clarity ataFlip = false; //end reset of antialias parameters - demotimer = 0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -242,6 +242,12 @@ void DustBunny::DustBunnyKernel::Process( const Float32 *inSourceP, ataPrevDiffSample = ataDiffSample / 2.0; //apply processing as difference to non-oversampled raw input + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; //built in output trim and dry/wet by default diff --git a/plugins/MacAU/DustBunny/DustBunny.h b/plugins/MacAU/DustBunny/DustBunny.h index 942ef4a..ce73aa5 100755 --- a/plugins/MacAU/DustBunny/DustBunny.h +++ b/plugins/MacAU/DustBunny/DustBunny.h @@ -140,7 +140,7 @@ public: Float32 ataDiffSample; Float32 ataPrevDiffSample; bool ataFlip; //end defining of antialiasing variables - int demotimer; + long double fpNShape; }; }; diff --git a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser index f043578..aed040a 100755 --- a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528455970; - PBXWorkspaceStateSaveDate = 528455970; + PBXPerProjectTemplateStateSaveDate = 569602226; + PBXWorkspaceStateSaveDate = 569602226; }; perUserProjectItems = { - 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */ = 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */; + 8B792B8D21F37127006E9731 /* PBXTextBookmark */ = 8B792B8D21F37127006E9731 /* PBXTextBookmark */; 8B9D73FD1F7F9959007AB60F /* PBXTextBookmark */ = 8B9D73FD1F7F9959007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */ = { + 8B792B8D21F37127006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A670720730100365D66 /* DustBunny.exp */; name = "DustBunny.exp: 2"; @@ -82,15 +82,15 @@ }; 8BA05A660720730100365D66 /* DustBunny.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1027, 3315}}"; - sepNavSelRange = "{8604, 0}"; - sepNavVisRange = "{8097, 2779}"; - sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 3536}}"; + sepNavSelRange = "{7726, 0}"; + sepNavVisRange = "{5884, 2552}"; + sepNavWindowFrame = "{{329, 39}, {1005, 839}}"; }; }; 8BA05A670720730100365D66 /* DustBunny.exp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 70}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 54}}"; sepNavSelRange = "{16, 0}"; sepNavVisRange = "{0, 16}"; sepNavWindowFrame = "{{15, 39}, {1005, 839}}"; @@ -106,10 +106,10 @@ }; 8BC6025B073B072D006C4272 /* DustBunny.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 1950}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{4064, 1467}"; - sepNavWindowFrame = "{{435, 39}, {1005, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 1898}}"; + sepNavSelRange = "{5428, 0}"; + sepNavVisRange = "{3922, 1609}"; + sepNavWindowFrame = "{{166, 39}, {1005, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3 index dc5427b..0cf4cf6 100755 --- a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3 @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 630 291 810 487 0 0 1440 878 + 444 300 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +352,10 @@ _historyCapacity 0 bookmark - 8B9D73FD1F7F9959007AB60F + 8B792B8D21F37127006E9731 history - 8B9D648D1F7C8584007AB60F + 8B9D73FD1F7F9959007AB60F SplitCount @@ -369,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 630 291 810 487 0 0 1440 878 + 444 300 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -394,9 +394,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} + {{10, 27}, {603, 328}} RubberWindowFrame - 630 291 810 487 0 0 1440 878 + 444 300 810 487 0 0 1440 878 Module XCDetailModule @@ -478,11 +478,11 @@ TableOfContents - 8B9D73FE1F7F9959007AB60F + 8B792B8E21F37127006E9731 1CA23ED40692098700951B8B - 8B9D73FF1F7F9959007AB60F + 8B792B8F21F37127006E9731 8BAC230D1F1EA30C009C635C - 8B9D74001F7F9959007AB60F + 8B792B9021F37127006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528456025.40104002 + 569602343.09456503 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +652,10 @@ 5 WindowOrderList - 8B9D74011F7F9959007AB60F /Users/christopherjohnson/Desktop/MacAU/DustBunny/DustBunny.xcodeproj WindowString - 630 291 810 487 0 0 1440 878 + 444 300 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/EQ/EQ.cpp b/plugins/MacAU/EQ/EQ.cpp index eecaa38..4b2d40b 100755 --- a/plugins/MacAU/EQ/EQ.cpp +++ b/plugins/MacAU/EQ/EQ.cpp @@ -222,9 +222,7 @@ ComponentResult EQ::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void EQ::EQKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; iirHighSampleA = 0.0; iirHighSampleB = 0.0; @@ -285,10 +283,6 @@ void EQ::EQKernel::Process( const Float32 *inSourceP, const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; Float64 overallscale = GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - Float64 inputSample; Float64 highSample = 0.0; Float64 midSample = 0.0; @@ -354,7 +348,7 @@ void EQ::EQKernel::Process( const Float32 *inSourceP, last2Sample = lastSample; lastSample = inputSample; - flip = not flip; + flip = !flip; flipthree++; if (flipthree < 1 || flipthree > 3) flipthree = 1; //counters @@ -522,19 +516,11 @@ void EQ::EQKernel::Process( const Float32 *inSourceP, //built in output trim and dry/wet if desired if (outputgain != 1.0) inputSample *= outputgain; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/EQ/EQ.h b/plugins/MacAU/EQ/EQ.h index bfe6e51..a3b0194 100755 --- a/plugins/MacAU/EQ/EQ.h +++ b/plugins/MacAU/EQ/EQ.h @@ -197,9 +197,7 @@ public: Float64 lastSample; Float64 last2Sample; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser index bcc2261..0385b92 100755 --- a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser @@ -49,8 +49,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541887565; - PBXWorkspaceStateSaveDate = 541887565; + PBXPerProjectTemplateStateSaveDate = 569643969; + PBXWorkspaceStateSaveDate = 569643969; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -58,9 +58,9 @@ }; 8BA05A660720730100365D66 /* EQ.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {787, 7306}}"; - sepNavSelRange = "{11544, 0}"; - sepNavVisRange = "{9924, 1260}"; + sepNavIntBoundsRect = "{{0, 0}, {787, 7280}}"; + sepNavSelRange = "{12231, 0}"; + sepNavVisRange = "{11723, 2294}"; sepNavWindowFrame = "{{25, 65}, {834, 813}}"; }; }; @@ -81,9 +81,9 @@ }; 8BC6025B073B072D006C4272 /* EQ.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2717}}"; - sepNavSelRange = "{7129, 0}"; - sepNavVisRange = "{2030, 1998}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 3133}}"; + sepNavSelRange = "{7155, 0}"; + sepNavVisRange = "{6104, 1153}"; sepNavWindowFrame = "{{561, 65}, {834, 813}}"; }; }; diff --git a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3 index bfd1346..91f367e 100755 --- a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 + 4 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 626 361 810 487 0 0 1440 878 + 497 289 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -363,7 +363,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 626 361 810 487 0 0 1440 878 + 497 289 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -387,8 +387,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 626 361 810 487 0 0 1440 878 Module XCDetailModule @@ -442,7 +440,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 497 289 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +470,11 @@ TableOfContents - 8B181AEC204C940200516BEE + 8B792BFF21F41480006E9731 1CA23ED40692098700951B8B - 8B181AED204C940200516BEE + 8B792C0021F41480006E9731 8BCA70302027EDF000D92BAD - 8B181AEE204C940200516BEE + 8B792C0121F41480006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +627,7 @@ StatusbarIsVisible TimeStamp - 541889538.11759806 + 569644160.89823198 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,10 +644,11 @@ 5 WindowOrderList + 8B792C0221F41480006E9731 /Users/christopherjohnson/Desktop/MacAU/EQ/EQ.xcodeproj WindowString - 626 361 810 487 0 0 1440 878 + 497 289 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/EdIsDim/EdIsDim.cpp b/plugins/MacAU/EdIsDim/EdIsDim.cpp index 164f8df..e9d2e23 100755 --- a/plugins/MacAU/EdIsDim/EdIsDim.cpp +++ b/plugins/MacAU/EdIsDim/EdIsDim.cpp @@ -171,11 +171,8 @@ ComponentResult EdIsDim::Initialize() // this is called the reset the DSP state (clear buffers, reset counters, etc.) ComponentResult EdIsDim::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeLA = 0.0; - fpNShapeLB = 0.0; - fpNShapeRA = 0.0; - fpNShapeRB = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -194,10 +191,6 @@ OSStatus EdIsDim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); UInt32 nSampleFrames = inFramesToProcess; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; @@ -256,25 +249,14 @@ OSStatus EdIsDim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags mid = (inputSampleL+inputSampleR)/2.0; side = (inputSampleL-inputSampleR)/2.0; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = mid; - fpNShapeLA = (fpNShapeLA*fpOld)+((mid-fpTemp)*fpNew); - mid += fpNShapeLA; - fpTemp = side; - fpNShapeRA = (fpNShapeRA*fpOld)+((side-fpTemp)*fpNew); - side += fpNShapeRA; - } - else { - fpTemp = mid; - fpNShapeLB = (fpNShapeLB*fpOld)+((mid-fpTemp)*fpNew); - mid += fpNShapeLB; - fpTemp = side; - fpNShapeRB = (fpNShapeRB*fpOld)+((side-fpTemp)*fpNew); - side += fpNShapeRB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)mid, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + mid += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)side, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + side += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = mid; *outputR = side; diff --git a/plugins/MacAU/EdIsDim/EdIsDim.h b/plugins/MacAU/EdIsDim/EdIsDim.h index 6646778..e5d5e46 100755 --- a/plugins/MacAU/EdIsDim/EdIsDim.h +++ b/plugins/MacAU/EdIsDim/EdIsDim.h @@ -111,11 +111,8 @@ public: virtual ComponentResult Version() { return kEdIsDimVersion; } private: - long double fpNShapeLA; - long double fpNShapeLB; - long double fpNShapeRA; - long double fpNShapeRB; - bool fpFlip; + long double fpNShapeL; + long double fpNShapeR; //default stuff }; diff --git a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser index dd54e22..0eaeffc 100755 --- a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456036; - PBXWorkspaceStateSaveDate = 528456036; + PBXPerProjectTemplateStateSaveDate = 569602369; + PBXWorkspaceStateSaveDate = 569602369; }; perUserProjectItems = { - 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */ = 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */; - 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */ = 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */; + 8B792B9E21F371C6006E9731 /* PBXTextBookmark */ = 8B792B9E21F371C6006E9731 /* PBXTextBookmark */; + 8B792BA321F371D7006E9731 /* PBXTextBookmark */ = 8B792BA321F371D7006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */ = { + 8B792B9E21F371C6006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* EdIsDim.cpp */; - name = "EdIsDim.cpp: 253"; - rLen = 710; - rLoc = 10830; + name = "EdIsDim.cpp: 260"; + rLen = 0; + rLoc = 11194; rType = 0; - vrLen = 437; - vrLoc = 8933; + vrLen = 150; + vrLoc = 9250; }; - 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */ = { + 8B792BA321F371D7006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* EdIsDim.cpp */; - name = "EdIsDim.cpp: 253"; - rLen = 710; - rLoc = 10830; + name = "EdIsDim.cpp: 260"; + rLen = 0; + rLoc = 11194; rType = 0; - vrLen = 382; - vrLoc = 8988; + vrLen = 150; + vrLoc = 9250; }; 8BA05A660720730100365D66 /* EdIsDim.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 3770}}"; - sepNavSelRange = "{10830, 710}"; - sepNavVisRange = "{8988, 382}"; - sepNavWindowFrame = "{{370, 39}, {1070, 811}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3640}}"; + sepNavSelRange = "{11194, 0}"; + sepNavVisRange = "{9250, 150}"; + sepNavWindowFrame = "{{182, 67}, {1070, 811}}"; }; }; 8BA05A670720730100365D66 /* EdIsDim.exp */ = { @@ -106,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* EdIsDim.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {922, 1638}}"; - sepNavSelRange = "{2966, 8}"; - sepNavVisRange = "{3189, 1845}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 1599}}"; + sepNavSelRange = "{4844, 0}"; + sepNavVisRange = "{3126, 1842}"; sepNavWindowFrame = "{{376, 41}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3 index 500b578..187be5c 100755 --- a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 622 330 810 487 0 0 1440 878 + 457 331 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B9D740C1F7F99CD007AB60F + 8B792BA321F371D7006E9731 history - 8B9D649D1F7C85BA007AB60F + 8B792B9E21F371C6006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {603, 69}} RubberWindowFrame - 622 330 810 487 0 0 1440 878 + 457 331 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 69pt Proportion - 355pt + 372pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 622 330 810 487 0 0 1440 878 + {{10, 27}, {603, 345}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 345}} + RubberWindowFrame + 457 331 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B9D740D1F7F99CD007AB60F + 8B792BA421F371D7006E9731 1CA23ED40692098700951B8B - 8B9D740E1F7F99CD007AB60F + 8B792BA521F371D7006E9731 8B753E4E1E40210F00347157 - 8B9D740F1F7F99CD007AB60F + 8B792BA621F371D7006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528456141.63520998 + 569602519.02649903 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B9D74101F7F99CD007AB60F /Users/christopherjohnson/Desktop/MacAU/EdIsDim/EdIsDim.xcodeproj WindowString - 622 330 810 487 0 0 1440 878 + 457 331 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ElectroHat/ElectroHat.cpp b/plugins/MacAU/ElectroHat/ElectroHat.cpp index 6fd2b29..cfdf411 100755 --- a/plugins/MacAU/ElectroHat/ElectroHat.cpp +++ b/plugins/MacAU/ElectroHat/ElectroHat.cpp @@ -214,9 +214,7 @@ void ElectroHat::ElectroHatKernel::Reset() tik = 3746926; lok = 0; flip = true; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -270,9 +268,6 @@ void ElectroHat::ElectroHatKernel::Process( const Float32 *inSourceP, int posE = fosE; int posF = fosF; int posG = posF*posE*posD*posC*posB; //factorial - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { @@ -317,19 +312,11 @@ void ElectroHat::ElectroHatKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; //moving average combats that near-Nyquist stuff diff --git a/plugins/MacAU/ElectroHat/ElectroHat.h b/plugins/MacAU/ElectroHat/ElectroHat.h index 7592a4c..6d3525e 100755 --- a/plugins/MacAU/ElectroHat/ElectroHat.h +++ b/plugins/MacAU/ElectroHat/ElectroHat.h @@ -156,9 +156,7 @@ public: int tik; int lok; bool flip; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser index 9605e3d..6e8da0d 100755 --- a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser @@ -49,12 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541288564; - PBXWorkspaceStateSaveDate = 541288564; + PBXPerProjectTemplateStateSaveDate = 569602542; + PBXWorkspaceStateSaveDate = 569602542; }; perUserProjectItems = { - 8BC009F220436BB300304BC7 /* PBXTextBookmark */ = 8BC009F220436BB300304BC7 /* PBXTextBookmark */; - 8BC009F320436BB300304BC7 /* PBXTextBookmark */ = 8BC009F320436BB300304BC7 /* PBXTextBookmark */; + 8B792BB621F37247006E9731 /* PBXTextBookmark */ = 8B792BB621F37247006E9731 /* PBXTextBookmark */; + 8B792BBB21F37261006E9731 /* PBXTextBookmark */ = 8B792BBB21F37261006E9731 /* PBXTextBookmark */; 8BCEFB832042DD54002E8187 /* PBXTextBookmark */ = 8BCEFB832042DD54002E8187 /* PBXTextBookmark */; 8BCEFBA32043656D002E8187 /* PBXTextBookmark */ = 8BCEFBA32043656D002E8187 /* PBXTextBookmark */; }; @@ -62,11 +62,31 @@ userBuildSettings = { }; }; + 8B792BB621F37247006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */; + name = "ElectroHat.cpp: 303"; + rLen = 31; + rLoc = 12605; + rType = 0; + vrLen = 524; + vrLoc = 12283; + }; + 8B792BBB21F37261006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */; + name = "ElectroHat.cpp: 303"; + rLen = 31; + rLoc = 12605; + rType = 0; + vrLen = 226; + vrLoc = 12283; + }; 8BA05A660720730100365D66 /* ElectroHat.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {712, 4667}}"; - sepNavSelRange = "{12748, 31}"; - sepNavVisRange = "{12105, 736}"; + sepNavIntBoundsRect = "{{0, 0}, {712, 4472}}"; + sepNavSelRange = "{12605, 31}"; + sepNavVisRange = "{12283, 226}"; sepNavWindowFrame = "{{252, 40}, {997, 838}}"; }; }; @@ -78,31 +98,11 @@ sepNavWindowFrame = "{{15, 40}, {909, 838}}"; }; }; - 8BC009F220436BB300304BC7 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */; - name = "ElectroHat.cpp: 145"; - rLen = 0; - rLoc = 6799; - rType = 0; - vrLen = 926; - vrLoc = 9949; - }; - 8BC009F320436BB300304BC7 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */; - name = "ElectroHat.cpp: 308"; - rLen = 31; - rLoc = 12748; - rType = 0; - vrLen = 736; - vrLoc = 12105; - }; 8BC6025B073B072D006C4272 /* ElectroHat.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 2002}}"; - sepNavSelRange = "{3208, 0}"; - sepNavVisRange = "{2134, 1985}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2301}}"; + sepNavSelRange = "{6281, 0}"; + sepNavVisRange = "{4808, 1583}"; sepNavWindowFrame = "{{630, 50}, {810, 826}}"; }; }; diff --git a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3 index f67a203..2f7bc15 100755 --- a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3 @@ -333,8 +333,6 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -352,12 +350,12 @@ _historyCapacity 0 bookmark - 8BC009F320436BB300304BC7 + 8B792BBB21F37261006E9731 history 8BCEFB832042DD54002E8187 8BCEFBA32043656D002E8187 - 8BC009F220436BB300304BC7 + 8B792BB621F37247006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 306}} + {{0, 0}, {603, 94}} RubberWindowFrame 442 380 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 306pt + 94pt Proportion - 135pt + 347pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 108}} - RubberWindowFrame - 442 380 810 487 0 0 1440 878 + {{10, 27}, {603, 114}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 320}} + RubberWindowFrame + 442 380 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8BC009F420436BB300304BC7 + 8B792BBC21F37261006E9731 1CA23ED40692098700951B8B - 8BC009F520436BB300304BC7 + 8B792BBD21F37261006E9731 8BCA6F152027DB6B00D92BAD - 8BC009F620436BB300304BC7 + 8B792BBE21F37261006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 541289395.77599096 + 569602657.83772898 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode diff --git a/plugins/MacAU/Energy/Energy.cpp b/plugins/MacAU/Energy/Energy.cpp index e3b3354..3e9d4cb 100755 --- a/plugins/MacAU/Energy/Energy.cpp +++ b/plugins/MacAU/Energy/Energy.cpp @@ -733,22 +733,14 @@ void Energy::EnergyKernel::Process( const Float32 *inSourceP, //we don't need a drySample because we never touched inputSample //so, this provides the inv/dry/wet control all by itself - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } \ No newline at end of file diff --git a/plugins/MacAU/Energy/Energy.h b/plugins/MacAU/Energy/Energy.h index 2ea7b28..62648f2 100755 --- a/plugins/MacAU/Energy/Energy.h +++ b/plugins/MacAU/Energy/Energy.h @@ -225,7 +225,7 @@ public: Float64 PrevB; Float64 PrevA; - Float64 fpNShape; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser index 4d5f878..ea6a47e 100755 --- a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser @@ -49,19 +49,39 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547787625; - PBXWorkspaceStateSaveDate = 547787625; + PBXPerProjectTemplateStateSaveDate = 569602677; + PBXWorkspaceStateSaveDate = 569602677; }; perUserProjectItems = { + 8B792BCC21F372B8006E9731 /* PBXTextBookmark */ = 8B792BCC21F372B8006E9731 /* PBXTextBookmark */; + 8B792BD121F372CE006E9731 /* PBXTextBookmark */ = 8B792BD121F372CE006E9731 /* PBXTextBookmark */; 8B7E3EE120A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE120A720D100482CB5 /* PBXTextBookmark */; 8B7E3EE220A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE220A720D100482CB5 /* PBXTextBookmark */; - 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */; - 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792BCC21F372B8006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Energy.h */; + name = "Energy.h: 229"; + rLen = 0; + rLoc = 7165; + rType = 0; + vrLen = 64; + vrLoc = 7106; + }; + 8B792BD121F372CE006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Energy.h */; + name = "Energy.h: 229"; + rLen = 0; + rLoc = 7165; + rType = 0; + vrLen = 64; + vrLoc = 7106; + }; 8B7E3EE120A720D100482CB5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Energy.cpp */; @@ -82,32 +102,12 @@ vrLen = 265; vrLoc = 3189; }; - 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Energy.h */; - name = "Energy.h: 229"; - rLen = 0; - rLoc = 7161; - rType = 0; - vrLen = 63; - vrLoc = 7106; - }; - 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Energy.h */; - name = "Energy.h: 229"; - rLen = 0; - rLoc = 7161; - rType = 0; - vrLen = 63; - vrLoc = 7106; - }; 8BA05A660720730100365D66 /* Energy.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {740, 10985}}"; - sepNavSelRange = "{13885, 8875}"; - sepNavVisRange = "{22057, 1537}"; - sepNavWindowFrame = "{{653, 65}, {787, 813}}"; + sepNavIntBoundsRect = "{{0, 0}, {740, 10309}}"; + sepNavSelRange = "{23013, 0}"; + sepNavVisRange = "{21843, 1256}"; + sepNavWindowFrame = "{{504, 65}, {787, 813}}"; }; }; 8BA05A670720730100365D66 /* Energy.exp */ = { @@ -128,10 +128,10 @@ }; 8BC6025B073B072D006C4272 /* Energy.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3263}}"; - sepNavSelRange = "{7161, 0}"; - sepNavVisRange = "{7106, 63}"; - sepNavWindowFrame = "{{796, 53}, {863, 813}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3211}}"; + sepNavSelRange = "{7165, 0}"; + sepNavVisRange = "{7106, 64}"; + sepNavWindowFrame = "{{577, 53}, {863, 813}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3 index b8eeb52..951b9b4 100755 --- a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 618 342 810 487 0 0 1440 878 + 475 322 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,12 +350,12 @@ _historyCapacity 0 bookmark - 8B7E3EE420A720D100482CB5 + 8B792BD121F372CE006E9731 history 8B7E3EE120A720D100482CB5 8B7E3EE220A720D100482CB5 - 8B7E3EE320A720D100482CB5 + 8B792BCC21F372B8006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 102}} RubberWindowFrame - 618 342 810 487 0 0 1440 878 + 475 322 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 102pt Proportion - 324pt + 339pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 618 342 810 487 0 0 1440 878 + {{10, 27}, {603, 312}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 312}} + RubberWindowFrame + 475 322 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B7E3EE520A720D100482CB5 + 8B792BD221F372CE006E9731 1CA23ED40692098700951B8B - 8B7E3EE620A720D100482CB5 + 8B792BD321F372CE006E9731 8B7E3C2F20A5148000482CB5 - 8B7E3EE720A720D100482CB5 + 8B792BD421F372CE006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 547823825.49813604 + 569602766.40819299 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -657,7 +655,7 @@ /Users/christopherjohnson/Desktop/MacAU/Energy/Energy.xcodeproj WindowString - 618 342 810 487 0 0 1440 878 + 475 322 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Ensemble/Ensemble.cpp b/plugins/MacAU/Ensemble/Ensemble.cpp index dec69cb..cdb1f4c 100755 --- a/plugins/MacAU/Ensemble/Ensemble.cpp +++ b/plugins/MacAU/Ensemble/Ensemble.cpp @@ -190,8 +190,7 @@ void Ensemble::EnsembleKernel::Reset() airEven = 0.0; airOdd = 0.0; airFactor = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -229,11 +228,6 @@ void Ensemble::EnsembleKernel::Process( const Float32 *inSourceP, int count; int ensemble; Float64 temp; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - long double inputSample; Float64 drySample; //now we'll precalculate some stuff that needn't be in every sample @@ -308,20 +302,13 @@ void Ensemble::EnsembleKernel::Process( const Float32 *inSourceP, if (wet !=1.0) { inputSample = (inputSample * wet) + (drySample * dry); } - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; destP += inNumChannels; diff --git a/plugins/MacAU/Ensemble/Ensemble.h b/plugins/MacAU/Ensemble/Ensemble.h index 356e30e..af1c3aa 100755 --- a/plugins/MacAU/Ensemble/Ensemble.h +++ b/plugins/MacAU/Ensemble/Ensemble.h @@ -143,9 +143,8 @@ public: Float64 airEven; Float64 airOdd; Float64 airFactor; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; + bool fpFlip; }; }; diff --git a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser index c4a1875..2fdaf52 100755 --- a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 529850403; - PBXWorkspaceStateSaveDate = 529850403; + PBXPerProjectTemplateStateSaveDate = 569602943; + PBXWorkspaceStateSaveDate = 569602943; }; perUserProjectItems = { - 8B4C96551F94E0EC00064452 /* PBXTextBookmark */ = 8B4C96551F94E0EC00064452 /* PBXTextBookmark */; - 8B4C96561F94E0EC00064452 /* PBXTextBookmark */ = 8B4C96561F94E0EC00064452 /* PBXTextBookmark */; + 8B792BE321F373ED006E9731 /* PBXTextBookmark */ = 8B792BE321F373ED006E9731 /* PBXTextBookmark */; + 8B792BE821F37401006E9731 /* PBXTextBookmark */ = 8B792BE821F37401006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4C96551F94E0EC00064452 /* PBXTextBookmark */ = { + 8B792BE321F373ED006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Ensemble.cpp */; - name = "Ensemble.cpp: 278"; + name = "Ensemble.cpp: 272"; rLen = 0; - rLoc = 12211; + rLoc = 12071; rType = 0; - vrLen = 310; - vrLoc = 7547; + vrLen = 162; + vrLoc = 7695; }; - 8B4C96561F94E0EC00064452 /* PBXTextBookmark */ = { + 8B792BE821F37401006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Ensemble.cpp */; - name = "Ensemble.cpp: 278"; + name = "Ensemble.cpp: 272"; rLen = 0; - rLoc = 12211; + rLoc = 12071; rType = 0; - vrLen = 310; - vrLoc = 7547; + vrLen = 162; + vrLoc = 7695; }; 8BA05A660720730100365D66 /* Ensemble.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 4303}}"; - sepNavSelRange = "{12211, 0}"; - sepNavVisRange = "{7547, 310}"; - sepNavWindowFrame = "{{770, 63}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 4277}}"; + sepNavSelRange = "{12071, 0}"; + sepNavVisRange = "{7695, 162}"; + sepNavWindowFrame = "{{179, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* Ensemble.exp */ = { @@ -107,9 +107,9 @@ 8BC6025B073B072D006C4272 /* Ensemble.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {980, 2015}}"; - sepNavSelRange = "{5506, 0}"; - sepNavVisRange = "{1439, 2148}"; - sepNavWindowFrame = "{{659, 41}, {1027, 835}}"; + sepNavSelRange = "{5659, 0}"; + sepNavVisRange = "{4251, 1512}"; + sepNavWindowFrame = "{{238, 39}, {1027, 835}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3 index 90acbb9..91e64e9 100755 --- a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 618 373 810 487 0 0 1440 878 + 501 374 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B4C96561F94E0EC00064452 + 8B792BE821F37401006E9731 history - 8B4C96551F94E0EC00064452 + 8B792BE321F373ED006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {603, 69}} RubberWindowFrame - 618 373 810 487 0 0 1440 878 + 501 374 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 69pt Proportion - 355pt + 372pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 618 373 810 487 0 0 1440 878 + {{10, 27}, {603, 345}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 345}} + RubberWindowFrame + 501 374 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B4C96571F94E0EC00064452 + 8B792BE921F37401006E9731 1CA23ED40692098700951B8B - 8B4C96581F94E0EC00064452 + 8B792BEA21F37401006E9731 8B7FDBCE1F85C8E400A80060 - 8B4C96591F94E0EC00064452 + 8B792BEB21F37401006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 529850604.37639201 + 569603073.27928698 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B4C965A1F94E0EC00064452 /Users/christopherjohnson/Desktop/MacAU/Ensemble/Ensemble.xcodeproj WindowString - 618 373 810 487 0 0 1440 878 + 501 374 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/EveryTrim/EveryTrim.cpp b/plugins/MacAU/EveryTrim/EveryTrim.cpp index 94f854e..550a23a 100755 --- a/plugins/MacAU/EveryTrim/EveryTrim.cpp +++ b/plugins/MacAU/EveryTrim/EveryTrim.cpp @@ -203,11 +203,8 @@ ComponentResult EveryTrim::Initialize() // this is called the reset the DSP state (clear buffers, reset counters, etc.) ComponentResult EveryTrim::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeLA = 0.0; - fpNShapeLB = 0.0; - fpNShapeRA = 0.0; - fpNShapeRB = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -226,11 +223,7 @@ OSStatus EveryTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); UInt32 nSampleFrames = inFramesToProcess; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + long double inputSampleL; long double inputSampleR; long double mid; @@ -296,25 +289,14 @@ OSStatus EveryTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla inputSampleR = (mid-side) * rightgain; //contains mastergain and the gain trim fixing the mid/side - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSampleL; - fpNShapeLA = (fpNShapeLA*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeLA; - fpTemp = inputSampleR; - fpNShapeRA = (fpNShapeRA*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeRA; - } - else { - fpTemp = inputSampleL; - fpNShapeLB = (fpNShapeLB*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeLB; - fpTemp = inputSampleR; - fpNShapeRB = (fpNShapeRB*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeRB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/EveryTrim/EveryTrim.h b/plugins/MacAU/EveryTrim/EveryTrim.h index dfb8b69..58ffc72 100755 --- a/plugins/MacAU/EveryTrim/EveryTrim.h +++ b/plugins/MacAU/EveryTrim/EveryTrim.h @@ -121,12 +121,8 @@ public: virtual ComponentResult Version() { return kEveryTrimVersion; } private: - long double fpNShapeLA; - long double fpNShapeLB; - long double fpNShapeRA; - long double fpNShapeRB; - bool fpFlip; - //default stuff + long double fpNShapeL; + long double fpNShapeR; }; diff --git a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser index 9bc4e8a..bd0016f 100755 --- a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser @@ -49,32 +49,42 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557257719; - PBXWorkspaceStateSaveDate = 557257719; + PBXPerProjectTemplateStateSaveDate = 569644212; + PBXWorkspaceStateSaveDate = 569644212; }; perUserProjectItems = { - 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */ = 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */; - 8BFDAF84213714150079F90D /* PBXTextBookmark */ = 8BFDAF84213714150079F90D /* PBXTextBookmark */; + 8B792C1021F4152A006E9731 /* PBXTextBookmark */ = 8B792C1021F4152A006E9731 /* PBXTextBookmark */; + 8B792C1621F41559006E9731 /* PBXTextBookmark */ = 8B792C1621F41559006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */ = { + 8B792C1021F4152A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */; - name = "EveryTrim.cpp: 208"; + name = "EveryTrim.cpp: 207"; rLen = 0; - rLoc = 9439; + rLoc = 9418; rType = 0; - vrLen = 105; - vrLoc = 29; + vrLen = 69; + vrLoc = 65; + }; + 8B792C1621F41559006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */; + name = "EveryTrim.cpp: 207"; + rLen = 0; + rLoc = 9418; + rType = 0; + vrLen = 69; + vrLoc = 65; }; 8BA05A660720730100365D66 /* EveryTrim.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4407}}"; - sepNavSelRange = "{9439, 0}"; - sepNavVisRange = "{44, 90}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 4238}}"; + sepNavSelRange = "{9418, 0}"; + sepNavVisRange = "{65, 69}"; sepNavWindowFrame = "{{170, 67}, {1070, 811}}"; }; }; @@ -96,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* EveryTrim.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1023, 1768}}"; - sepNavSelRange = "{5173, 131}"; - sepNavVisRange = "{3570, 1835}"; + sepNavIntBoundsRect = "{{0, 0}, {1023, 1716}}"; + sepNavSelRange = "{5221, 0}"; + sepNavVisRange = "{3522, 1806}"; sepNavWindowFrame = "{{370, 67}, {1070, 811}}"; }; }; @@ -116,16 +126,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BFDAF84213714150079F90D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */; - name = "EveryTrim.cpp: 208"; - rLen = 0; - rLoc = 9439; - rType = 0; - vrLen = 90; - vrLoc = 44; - }; 8D01CCC60486CAD60068D4B7 /* EveryTrim */ = { activeExec = 0; }; diff --git a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3 index 3937f74..afd4e1f 100755 --- a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -325,7 +325,7 @@ 185 RubberWindowFrame - 610 324 810 487 0 0 1440 878 + 507 328 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +353,10 @@ _historyCapacity 0 bookmark - 8BFDAF84213714150079F90D + 8B792C1621F41559006E9731 history - 8B67C6D91FA1721B008C64D6 + 8B792C1021F4152A006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {603, 69}} RubberWindowFrame - 610 324 810 487 0 0 1440 878 + 507 328 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 69pt Proportion - 355pt + 372pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 610 324 810 487 0 0 1440 878 + {{10, 27}, {603, 345}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 345}} + RubberWindowFrame + 507 328 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8BFDAF85213714150079F90D + 8B792C1721F41559006E9731 1CA23ED40692098700951B8B - 8BFDAF86213714150079F90D + 8B792C1821F41559006E9731 8B753E6F1E40231800347157 - 8BFDAF87213714150079F90D + 8B792C1921F41559006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 557257749.03621697 + 569644377.55946004 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,10 +653,11 @@ 5 WindowOrderList + 8B792C1A21F41559006E9731 /Users/christopherjohnson/Desktop/MacAU/EveryTrim/EveryTrim.xcodeproj WindowString - 610 324 810 487 0 0 1440 878 + 507 328 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/FathomFive/FathomFive.cpp b/plugins/MacAU/FathomFive/FathomFive.cpp index dd2bd98..b2746ae 100755 --- a/plugins/MacAU/FathomFive/FathomFive.cpp +++ b/plugins/MacAU/FathomFive/FathomFive.cpp @@ -188,6 +188,7 @@ void FathomFive::FathomFiveKernel::Reset() iirSampleB = 0.0; iirSampleC = 0.0; iirSampleD = 0.0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -274,6 +275,11 @@ void FathomFive::FathomFiveKernel::Process( const Float32 *inSourceP, //to make it easier to understand for when these are open sourced. //FathomFive is the original Airwindows deep bass booster algorithm: //further ones work to rein in that DC offset issue. + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)outputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + outputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither sourceP += inNumChannels; *destP = outputSample; diff --git a/plugins/MacAU/FathomFive/FathomFive.h b/plugins/MacAU/FathomFive/FathomFive.h index 8cc656c..4d0b2f1 100755 --- a/plugins/MacAU/FathomFive/FathomFive.h +++ b/plugins/MacAU/FathomFive/FathomFive.h @@ -140,6 +140,7 @@ public: Float64 iirSampleB; Float64 iirSampleC; Float64 iirSampleD; + long double fpNShape; }; }; diff --git a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser index 8f8248b..7d4e84c 100755 --- a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456153; - PBXWorkspaceStateSaveDate = 528456153; + PBXPerProjectTemplateStateSaveDate = 569644406; + PBXWorkspaceStateSaveDate = 569644406; }; perUserProjectItems = { 8B5E540B1D629899009FEF76 /* PBXTextBookmark */ = 8B5E540B1D629899009FEF76 /* PBXTextBookmark */; - 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */ = 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */; - 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */ = 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */; + 8B792C2821F416B3006E9731 /* PBXTextBookmark */ = 8B792C2821F416B3006E9731 /* PBXTextBookmark */; + 8B792C2D21F416C5006E9731 /* PBXTextBookmark */ = 8B792C2D21F416C5006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,32 +71,32 @@ vrLen = 177; vrLoc = 3318; }; - 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */ = { + 8B792C2821F416B3006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* FathomFive.h */; name = "FathomFive.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 148; - vrLoc = 4091; + vrLen = 0; + vrLoc = 0; }; - 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */ = { + 8B792C2D21F416C5006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* FathomFive.h */; name = "FathomFive.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 107; - vrLoc = 4091; + vrLen = 0; + vrLoc = 0; }; 8BA05A660720730100365D66 /* FathomFive.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {964, 3926}}"; - sepNavSelRange = "{11859, 0}"; - sepNavVisRange = "{9798, 2175}"; - sepNavWindowFrame = "{{568, 49}, {872, 829}}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 3939}}"; + sepNavSelRange = "{12693, 0}"; + sepNavVisRange = "{10879, 1966}"; + sepNavWindowFrame = "{{427, 49}, {872, 829}}"; }; }; 8BA05A670720730100365D66 /* FathomFive.exp */ = { @@ -116,9 +116,9 @@ }; 8BC6025B073B072D006C4272 /* FathomFive.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {649, 1963}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 1976}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{4091, 107}"; + sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{568, 49}, {872, 829}}"; }; }; diff --git a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3 index 1b9c6b6..16aca64 100755 --- a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 185 RubberWindowFrame - 506 355 810 487 0 0 1440 878 + 457 343 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B9D741B1F7F99FC007AB60F + 8B792C2D21F416C5006E9731 history 8B5E540B1D629899009FEF76 - 8B9D64B81F7C86FC007AB60F + 8B792C2821F416B3006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 51}} + {{0, 0}, {603, 32}} RubberWindowFrame - 506 355 810 487 0 0 1440 878 + 457 343 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 32pt Proportion - 390pt + 409pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} - RubberWindowFrame - 506 355 810 487 0 0 1440 878 + {{10, 27}, {603, 382}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} + {{10, 27}, {603, 382}} + RubberWindowFrame + 457 343 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D741C1F7F99FC007AB60F + 8B792C2E21F416C5006E9731 1CA23ED40692098700951B8B - 8B9D741D1F7F99FC007AB60F + 8B792C2F21F416C5006E9731 8B5E54091D629899009FEF76 - 8B9D741E1F7F99FC007AB60F + 8B792C3021F416C5006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528456188.63718599 + 569644741.719468 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +652,10 @@ 5 WindowOrderList - 8B9D741F1F7F99FC007AB60F /Users/christopherjohnson/Desktop/MacAU/FathomFive/FathomFive.xcodeproj WindowString - 506 355 810 487 0 0 1440 878 + 457 343 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Floor/Floor.cpp b/plugins/MacAU/Floor/Floor.cpp index db0dbe5..fefa12e 100755 --- a/plugins/MacAU/Floor/Floor.cpp +++ b/plugins/MacAU/Floor/Floor.cpp @@ -346,23 +346,15 @@ void Floor::FloorKernel::Process( const Float32 *inSourceP, if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet); - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser index c955700..6a349bf 100755 --- a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser @@ -49,34 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561685575; - PBXWorkspaceStateSaveDate = 561685575; + PBXPerProjectTemplateStateSaveDate = 569644795; + PBXWorkspaceStateSaveDate = 569644795; }; perUserProjectItems = { - 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */ = 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */; + 8B792C3E21F4179E006E9731 /* PBXTextBookmark */ = 8B792C3E21F4179E006E9731 /* PBXTextBookmark */; + 8B792C4321F4194B006E9731 /* PBXTextBookmark */ = 8B792C4321F4194B006E9731 /* PBXTextBookmark */; 8BE625F22157B1F000E4E476 /* PBXTextBookmark */ = 8BE625F22157B1F000E4E476 /* PBXTextBookmark */; - 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */ = 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */ = { + 8B792C3E21F4179E006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Floor.h */; name = "Floor.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 63; + vrLen = 60; + vrLoc = 0; + }; + 8B792C4321F4194B006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Floor.h */; + name = "Floor.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 60; vrLoc = 0; }; 8BA05A660720730100365D66 /* Floor.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {843, 4901}}"; - sepNavSelRange = "{10441, 3168}"; - sepNavVisRange = "{10017, 1785}"; - sepNavWindowFrame = "{{550, 56}, {890, 810}}"; + sepNavIntBoundsRect = "{{0, 0}, {843, 5096}}"; + sepNavSelRange = "{13928, 0}"; + sepNavVisRange = "{10975, 1602}"; + sepNavWindowFrame = "{{413, 68}, {890, 810}}"; }; }; 8BA05A670720730100365D66 /* Floor.exp */ = { @@ -99,8 +109,8 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {740, 2015}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 63}"; - sepNavWindowFrame = "{{743, 68}, {890, 810}}"; + sepNavVisRange = "{0, 60}"; + sepNavWindowFrame = "{{550, 68}, {890, 810}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { @@ -127,16 +137,6 @@ vrLen = 133; vrLoc = 0; }; - 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Floor.h */; - name = "Floor.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 126; - vrLoc = 0; - }; 8D01CCC60486CAD60068D4B7 /* Floor */ = { activeExec = 0; }; diff --git a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3 index 51cf855..d5526e2 100755 --- a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 745 315 810 487 0 0 1440 878 + 517 310 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8B15DD2C217AA6B4007AD769 + 8B792C4321F4194B006E9731 history 8BE625F22157B1F000E4E476 - 8BE6261E2157B2E800E4E476 + 8B792C3E21F4179E006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 102}} RubberWindowFrame - 745 315 810 487 0 0 1440 878 + 517 310 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 102pt Proportion - 324pt + 339pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 745 315 810 487 0 0 1440 878 + {{10, 27}, {603, 312}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 312}} + RubberWindowFrame + 517 310 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B15DD08217AA44C007AD769 + 8B792C4421F4194B006E9731 1CA23ED40692098700951B8B - 8B15DD09217AA44C007AD769 + 8B792C4521F4194B006E9731 8BE625F02157B1F000E4E476 - 8B15DD0A217AA44C007AD769 + 8B792C4621F4194B006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 561686196.25954103 + 569645387.98353899 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -656,7 +654,7 @@ /Users/christopherjohnson/Desktop/MacAU/Floor/Floor.xcodeproj WindowString - 745 315 810 487 0 0 1440 878 + 517 310 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Fracture/Fracture.cpp b/plugins/MacAU/Fracture/Fracture.cpp index f6a7186..4818270 100755 --- a/plugins/MacAU/Fracture/Fracture.cpp +++ b/plugins/MacAU/Fracture/Fracture.cpp @@ -182,9 +182,7 @@ ComponentResult Fracture::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void Fracture::FractureKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -211,11 +209,7 @@ void Fracture::FractureKernel::Process( const Float32 *inSourceP, Float64 wet = GetParameter( kParam_Four ); Float64 dry = 1.0-wet; Float64 bridgerectifier; - density = density * fabs(density); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - + density = density * fabs(density); while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -261,19 +255,11 @@ void Fracture::FractureKernel::Process( const Float32 *inSourceP, inputSample = (drySample * dry)+(inputSample*wet); //that simple. - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/Fracture/Fracture.exp b/plugins/MacAU/Fracture/Fracture.exp index b485428..9eb17a5 100755 --- a/plugins/MacAU/Fracture/Fracture.exp +++ b/plugins/MacAU/Fracture/Fracture.exp @@ -1 +1 @@ -_FractureEntry \ No newline at end of file +_FractureEntry diff --git a/plugins/MacAU/Fracture/Fracture.h b/plugins/MacAU/Fracture/Fracture.h index aa9a6f5..1dccb92 100755 --- a/plugins/MacAU/Fracture/Fracture.h +++ b/plugins/MacAU/Fracture/Fracture.h @@ -134,9 +134,7 @@ public: virtual void Reset(); private: - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser index 9e2cdb2..4efb520 100755 --- a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser @@ -49,19 +49,51 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456201; - PBXWorkspaceStateSaveDate = 528456201; + PBXPerProjectTemplateStateSaveDate = 569645423; + PBXWorkspaceStateSaveDate = 569645423; + }; + perUserProjectItems = { + 8B792C5521F41A58006E9731 /* PBXTextBookmark */ = 8B792C5521F41A58006E9731 /* PBXTextBookmark */; + 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */ = 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792C5521F41A58006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Fracture.cpp */; + name = "Fracture.cpp: 248"; + rLen = 0; + rLoc = 11543; + rType = 0; + vrLen = 312; + vrLoc = 11562; + }; + 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Fracture.cpp */; + name = "Fracture.cpp: 248"; + rLen = 0; + rLoc = 11543; + rType = 0; + vrLen = 312; + vrLoc = 11562; + }; 8BA05A660720730100365D66 /* Fracture.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {964, 3913}}"; - sepNavSelRange = "{11687, 0}"; - sepNavVisRange = "{9717, 2345}"; - sepNavWindowFrame = "{{517, 41}, {923, 837}}"; + sepNavIntBoundsRect = "{{0, 0}, {621, 3718}}"; + sepNavSelRange = "{11543, 0}"; + sepNavVisRange = "{11562, 312}"; + sepNavWindowFrame = "{{365, 41}, {923, 837}}"; + }; + }; + 8BA05A670720730100365D66 /* Fracture.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{15, 0}"; + sepNavVisRange = "{0, 15}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; }; }; 8BA05A690720730100365D66 /* FractureVersion.h */ = { @@ -74,9 +106,9 @@ }; 8BC6025B073B072D006C4272 /* Fracture.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {922, 1846}}"; - sepNavSelRange = "{5434, 0}"; - sepNavVisRange = "{3891, 1652}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 1859}}"; + sepNavSelRange = "{5401, 0}"; + sepNavVisRange = "{3843, 1667}"; sepNavWindowFrame = "{{517, 39}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3 index 46cfa67..a5f791e 100755 --- a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 362 267 810 487 0 0 1440 878 + 431 299 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +340,7 @@ PBXProjectModuleGUID 8B9CE5211DFF96EB00A5DC6F PBXProjectModuleLabel - + Fracture.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,7 +348,15 @@ PBXProjectModuleGUID 8B9CE5221DFF96EB00A5DC6F PBXProjectModuleLabel - + Fracture.cpp + _historyCapacity + 0 + bookmark + 8B792C5B21F41AB6006E9731 + history + + 8B792C5521F41A58006E9731 + SplitCount 1 @@ -361,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {603, 132}} RubberWindowFrame - 362 267 810 487 0 0 1440 878 + 431 299 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 132pt Proportion - 441pt + 309pt Tabs @@ -386,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} - RubberWindowFrame - 362 267 810 487 0 0 1440 878 + {{10, 27}, {603, 282}} Module XCDetailModule @@ -442,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 282}} + RubberWindowFrame + 431 299 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +478,11 @@ TableOfContents - 8B9D742C1F7F9A57007AB60F + 8B792C5C21F41AB6006E9731 1CA23ED40692098700951B8B - 8B9D742D1F7F9A57007AB60F + 8B792C5D21F41AB6006E9731 8B9CE5211DFF96EB00A5DC6F - 8B9D742E1F7F9A57007AB60F + 8B792C5E21F41AB6006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528456279.90402597 + 569645750.04603803 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +652,10 @@ 5 WindowOrderList - 8B9D742F1F7F9A57007AB60F /Users/christopherjohnson/Desktop/MacAU/Fracture/Fracture.xcodeproj WindowString - 362 267 810 487 0 0 1440 878 + 431 299 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/FromTape/FromTape.cpp b/plugins/MacAU/FromTape/FromTape.cpp index 4a305e9..30fe41a 100755 --- a/plugins/MacAU/FromTape/FromTape.cpp +++ b/plugins/MacAU/FromTape/FromTape.cpp @@ -221,9 +221,7 @@ void FromTape::FromTapeKernel::Reset() iirSampleZ = 0.0; flip = 0; //noisesource = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -259,9 +257,6 @@ void FromTape::FromTapeKernel::Process( const Float32 *inSourceP, long double inputSample; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -378,19 +373,11 @@ void FromTape::FromTapeKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/FromTape/FromTape.h b/plugins/MacAU/FromTape/FromTape.h index f79862f..e9156d5 100755 --- a/plugins/MacAU/FromTape/FromTape.h +++ b/plugins/MacAU/FromTape/FromTape.h @@ -169,9 +169,7 @@ public: Float64 iirSampleZ; int flip; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser index a9b7fe9..3594710 100755 --- a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser @@ -49,27 +49,28 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456291; - PBXWorkspaceStateSaveDate = 528456291; + PBXPerProjectTemplateStateSaveDate = 569646762; + PBXWorkspaceStateSaveDate = 569646762; }; perUserProjectItems = { - 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */ = 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */; + 8B792C7021F41F11006E9731 /* PlistBookmark */ = 8B792C7021F41F11006E9731 /* PlistBookmark */; 8B8845F81F20429900E13453 /* PlistBookmark */ = 8B8845F81F20429900E13453 /* PlistBookmark */; - 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */ = 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* FromTape.h */; - name = "FromTape.h: 172"; - rLen = 65; - rLoc = 6216; - rType = 0; - vrLen = 40; - vrLoc = 6241; + 8B792C7021F41F11006E9731 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleName, + ); + name = /Users/christopherjohnson/Desktop/MacAU/FromTape/Info.plist; + rLen = 0; + rLoc = 9223372036854775807; }; 8B8845F81F20429900E13453 /* PlistBookmark */ = { isa = PlistBookmark; @@ -83,22 +84,12 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* FromTape.h */; - name = "FromTape.h: 172"; - rLen = 65; - rLoc = 6216; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 8BA05A660720730100365D66 /* FromTape.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {663, 5291}}"; - sepNavSelRange = "{17764, 148}"; - sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{410, 39}, {1005, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 4849}}"; + sepNavSelRange = "{18025, 0}"; + sepNavVisRange = "{16126, 1987}"; + sepNavWindowFrame = "{{208, 39}, {1005, 839}}"; }; }; 8BA05A690720730100365D66 /* FromTapeVersion.h */ = { @@ -111,8 +102,8 @@ }; 8BC6025B073B072D006C4272 /* FromTape.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {482, 2418}}"; - sepNavSelRange = "{6216, 65}"; + sepNavIntBoundsRect = "{{0, 0}, {482, 2392}}"; + sepNavSelRange = "{6238, 0}"; sepNavVisRange = "{0, 0}"; sepNavWindowFrame = "{{238, 39}, {1005, 839}}"; }; diff --git a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3 index 9ea14ce..dbd983d 100755 --- a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - FromTape.h + Info.plist PBXSplitModuleInNavigatorKey Split0 @@ -349,15 +347,14 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - FromTape.h + Info.plist _historyCapacity 0 bookmark - 8B9D743A1F7F9A77007AB60F + 8B792C7021F41F11006E9731 history 8B8845F81F20429900E13453 - 8B2B77731F6D6F8D00A2CD5B SplitCount @@ -397,8 +394,6 @@ Frame {{10, 27}, {531, 581}} - RubberWindowFrame - 187 187 841 654 0 0 1440 878 Module XCDetailModule @@ -452,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 525}} + {{10, 27}, {531, 581}} + RubberWindowFrame + 187 187 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +477,11 @@ TableOfContents - 8B9D743B1F7F9A77007AB60F + 8B792C7121F41F11006E9731 1CA23ED40692098700951B8B - 8B9D743C1F7F9A77007AB60F + 8B792C7221F41F11006E9731 8BD7274A1D46E5A5000176F0 - 8B9D743D1F7F9A77007AB60F + 8B792C7321F41F11006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +654,7 @@ StatusbarIsVisible TimeStamp - 528456311.18495703 + 569646865.43937504 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +671,6 @@ 5 WindowOrderList - 8B9D743E1F7F9A77007AB60F /Users/christopherjohnson/Desktop/MacAU/FromTape/FromTape.xcodeproj WindowString diff --git a/plugins/MacAU/Gatelinked/Gatelinked.cpp b/plugins/MacAU/Gatelinked/Gatelinked.cpp index 9c0c484..641b64d 100755 --- a/plugins/MacAU/Gatelinked/Gatelinked.cpp +++ b/plugins/MacAU/Gatelinked/Gatelinked.cpp @@ -310,7 +310,7 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl if (highestSample > threshold) { treblefreq += attackSpeed; - if (treblefreq > 1.0) treblefreq = 1.0; + if (treblefreq > 2.0) treblefreq = 2.0; bassfreq -= attackSpeed; bassfreq -= attackSpeed; if (bassfreq < 0.0) bassfreq = 0.0; @@ -337,6 +337,8 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl iirLowpassAR = (iirLowpassAR * (1.0 - treblefreq)) + (inputSampleR * treblefreq); } + if (bassfreq > 1.0) bassfreq = 1.0; + if (bassfreq > 0.0) { iirHighpassAL = (iirHighpassAL * (1.0 - bassfreq)) + (inputSampleL * bassfreq); iirHighpassAR = (iirHighpassAR * (1.0 - bassfreq)) + (inputSampleR * bassfreq); @@ -358,7 +360,7 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl if (highestSample > threshold) { treblefreq += attackSpeed; - if (treblefreq > 1.0) treblefreq = 1.0; + if (treblefreq > 2.0) treblefreq = 2.0; bassfreq -= attackSpeed; bassfreq -= attackSpeed; if (bassfreq < 0.0) bassfreq = 0.0; @@ -385,6 +387,8 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl iirLowpassBR = (iirLowpassBR * (1.0 - treblefreq)) + (inputSampleR * treblefreq); } + if (bassfreq > 1.0) bassfreq = 1.0; + if (bassfreq > 0.0) { iirHighpassBL = (iirHighpassBL * (1.0 - bassfreq)) + (inputSampleL * bassfreq); iirHighpassBR = (iirHighpassBR * (1.0 - bassfreq)) + (inputSampleR * bassfreq); @@ -408,18 +412,14 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl flip = !flip; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSampleL; - fpNShapeL += (inputSampleL-fpTemp); - inputSampleL += fpNShapeL; - //if this confuses you look at the wordlength for fpTemp :) - fpTemp = inputSampleR; - fpNShapeR += (inputSampleR-fpTemp); - inputSampleR += fpNShapeR; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; @@ -430,12 +430,6 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl outputL += 1; outputR += 1; } - fpNShapeL *= 0.999999; - fpNShapeR *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. return noErr; } diff --git a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser index 21b7e89..9dd8e83 100755 --- a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 565400646; - PBXWorkspaceStateSaveDate = 565400646; + PBXPerProjectTemplateStateSaveDate = 569646892; + PBXWorkspaceStateSaveDate = 569646892; }; perUserProjectItems = { 8B0209B221B3258000952287 /* PBXTextBookmark */ = 8B0209B221B3258000952287 /* PBXTextBookmark */; - 8B0209B421B3258000952287 /* PBXTextBookmark */ = 8B0209B421B3258000952287 /* PBXTextBookmark */; - 8B020A3621B354DE00952287 /* PBXTextBookmark */ = 8B020A3621B354DE00952287 /* PBXTextBookmark */; + 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */ = 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */; + 8B792C8121F41F65006E9731 /* PBXTextBookmark */ = 8B792C8121F41F65006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,39 +71,39 @@ vrLen = 140; vrLoc = 5351; }; - 8B0209B421B3258000952287 /* PBXTextBookmark */ = { + 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* GatelinkedVersion.h */; name = "GatelinkedVersion.h: 54"; rLen = 0; rLoc = 2902; rType = 0; - vrLen = 139; + vrLen = 130; vrLoc = 2826; }; - 8B020A3621B354DE00952287 /* PBXTextBookmark */ = { + 8B792C8121F41F65006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* GatelinkedVersion.h */; name = "GatelinkedVersion.h: 54"; rLen = 0; rLoc = 2902; rType = 0; - vrLen = 131; + vrLen = 130; vrLoc = 2826; }; 8BA05A660720730100365D66 /* Gatelinked.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1105, 6136}}"; - sepNavSelRange = "{15096, 0}"; - sepNavVisRange = "{14897, 1807}"; + sepNavIntBoundsRect = "{{0, 0}, {1105, 6071}}"; + sepNavSelRange = "{16752, 0}"; + sepNavVisRange = "{15147, 1623}"; sepNavWindowFrame = "{{177, 58}, {1152, 820}}"; }; }; 8BA05A690720730100365D66 /* GatelinkedVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {761, 936}}"; + sepNavIntBoundsRect = "{{0, 0}, {456, 871}}"; sepNavSelRange = "{2902, 0}"; - sepNavVisRange = "{2826, 131}"; + sepNavVisRange = "{2826, 130}"; sepNavWindowFrame = "{{15, 43}, {705, 830}}"; }; }; @@ -118,7 +118,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; sepNavSelRange = "{5276, 0}"; - sepNavVisRange = "{2524, 1545}"; + sepNavVisRange = "{3729, 1930}"; sepNavWindowFrame = "{{735, 48}, {705, 830}}"; }; }; diff --git a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3 index caae9ee..acd4314 100755 --- a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3 @@ -324,7 +324,7 @@ 288 RubberWindowFrame - 622 458 815 376 0 0 1440 878 + 491 452 815 376 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B020A3621B354DE00952287 + 8B792C8121F41F65006E9731 history 8B0209B221B3258000952287 - 8B0209B421B3258000952287 + 8B416D4621B5FDC600DD5013 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {505, 84}} + {{0, 0}, {505, 51}} RubberWindowFrame - 622 458 815 376 0 0 1440 878 + 491 452 815 376 0 0 1440 878 Module PBXNavigatorGroup Proportion - 84pt + 51pt Proportion - 246pt + 279pt Tabs @@ -395,9 +395,9 @@ GeometryConfiguration Frame - {{10, 27}, {505, 219}} + {{10, 27}, {505, 252}} RubberWindowFrame - 622 458 815 376 0 0 1440 878 + 491 452 815 376 0 0 1440 878 Module XCDetailModule @@ -451,7 +451,7 @@ GeometryConfiguration Frame - {{10, 27}, {505, 303}} + {{10, 27}, {505, 235}} Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B020A3721B354DE00952287 + 8B792C8221F41F65006E9731 1CA23ED40692098700951B8B - 8B020A3821B354DE00952287 + 8B792C8321F41F65006E9731 8BCAE2B921B0AD04005A3737 - 8B020A3921B354DE00952287 + 8B792C8421F41F65006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 565400798.62677002 + 569646949.70571005 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,10 @@ 5 WindowOrderList - 8B020A3A21B354DE00952287 /Users/christopherjohnson/Desktop/MacAU/Gatelinked/Gatelinked.xcodeproj WindowString - 622 458 815 376 0 0 1440 878 + 491 452 815 376 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Gatelope/Gatelope.cpp b/plugins/MacAU/Gatelope/Gatelope.cpp index bde6522..3f6ed4e 100755 --- a/plugins/MacAU/Gatelope/Gatelope.cpp +++ b/plugins/MacAU/Gatelope/Gatelope.cpp @@ -334,23 +334,15 @@ void Gatelope::GatelopeKernel::Process( const Float32 *inSourceP, flip = !flip; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser index 7846c86..fdc4740 100755 --- a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser @@ -49,15 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 565571362; - PBXWorkspaceStateSaveDate = 565571362; + PBXPerProjectTemplateStateSaveDate = 569646970; + PBXWorkspaceStateSaveDate = 569646970; }; perUserProjectItems = { 8B0209A521B3215F00952287 /* PlistBookmark */ = 8B0209A521B3215F00952287 /* PlistBookmark */; - 8B416D2421B5EF2500DD5013 /* PBXBookmark */ = 8B416D2421B5EF2500DD5013 /* PBXBookmark */; - 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */ = 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */; - 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */ = 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */; - 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */ = 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */; + 8B792C9021F41F9A006E9731 /* PBXTextBookmark */ = 8B792C9021F41F9A006E9731 /* PBXTextBookmark */; + 8B792C9521F420BF006E9731 /* PBXTextBookmark */ = 8B792C9521F420BF006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -75,11 +73,7 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B416D2421B5EF2500DD5013 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* Gatelope.cpp */; - }; - 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */ = { + 8B792C9021F41F9A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* GatelopeVersion.h */; name = "GatelopeVersion.h: 54"; @@ -89,7 +83,7 @@ vrLen = 126; vrLoc = 2816; }; - 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */ = { + 8B792C9521F420BF006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* GatelopeVersion.h */; name = "GatelopeVersion.h: 54"; @@ -99,22 +93,12 @@ vrLen = 126; vrLoc = 2816; }; - 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Gatelope.cpp */; - name = "Gatelope.cpp: 325"; - rLen = 0; - rLoc = 13129; - rType = 0; - vrLen = 1897; - vrLoc = 12493; - }; 8BA05A660720730100365D66 /* Gatelope.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1082, 5057}}"; - sepNavSelRange = "{13129, 0}"; - sepNavVisRange = "{12493, 1897}"; - sepNavWindowFrame = "{{15, 39}, {1129, 834}}"; + sepNavIntBoundsRect = "{{0, 0}, {1082, 4979}}"; + sepNavSelRange = "{13893, 0}"; + sepNavVisRange = "{12404, 1492}"; + sepNavWindowFrame = "{{185, 44}, {1129, 834}}"; }; }; 8BA05A670720730100365D66 /* Gatelope.exp */ = { @@ -127,7 +111,7 @@ }; 8BA05A690720730100365D66 /* GatelopeVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {456, 923}}"; + sepNavIntBoundsRect = "{{0, 0}, {456, 871}}"; sepNavSelRange = "{2884, 4}"; sepNavVisRange = "{2816, 126}"; sepNavWindowFrame = "{{15, 43}, {705, 830}}"; diff --git a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3 index 1a46c04..7009de0 100755 --- a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3 @@ -222,48 +222,7 @@ OpenEditors - - - Content - - PBXProjectModuleGUID - 8B416D3221B5FD3000DD5013 - PBXProjectModuleLabel - Gatelope.cpp - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 8B416D3321B5FD3000DD5013 - PBXProjectModuleLabel - Gatelope.cpp - _historyCapacity - 0 - bookmark - 8B416D3421B5FD3000DD5013 - history - - 8B416D2421B5EF2500DD5013 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {1129, 737}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 95 1129 778 0 0 1440 878 - - - + PerspectiveWidths 815 @@ -365,7 +324,7 @@ 288 RubberWindowFrame - 46 385 815 372 0 0 1440 878 + 278 409 815 372 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -393,11 +352,11 @@ _historyCapacity 0 bookmark - 8B416D2E21B5FD3000DD5013 + 8B792C9521F420BF006E9731 history 8B0209A521B3215F00952287 - 8B416D2921B5FD1F00DD5013 + 8B792C9021F41F9A006E9731 SplitCount @@ -411,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {505, 67}} + {{0, 0}, {505, 50}} RubberWindowFrame - 46 385 815 372 0 0 1440 878 + 278 409 815 372 0 0 1440 878 Module PBXNavigatorGroup Proportion - 67pt + 50pt Proportion - 259pt + 276pt Tabs @@ -436,7 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {505, 232}} + {{10, 27}, {505, 249}} Module XCDetailModule @@ -490,9 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {505, 232}} + {{10, 27}, {505, 249}} RubberWindowFrame - 46 385 815 372 0 0 1440 878 + 278 409 815 372 0 0 1440 878 Module PBXBuildResultsModule @@ -520,11 +479,11 @@ TableOfContents - 8B416D2F21B5FD3000DD5013 + 8B792C9621F420BF006E9731 1CA23ED40692098700951B8B - 8B416D3021B5FD3000DD5013 + 8B792C9721F420BF006E9731 8BD7274A1D46E5A5000176F0 - 8B416D3121B5FD3000DD5013 + 8B792C9821F420BF006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -697,7 +656,7 @@ StatusbarIsVisible TimeStamp - 565574960.58745801 + 569647295.48975003 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -714,11 +673,10 @@ 5 WindowOrderList - 8B416D3221B5FD3000DD5013 /Users/christopherjohnson/Desktop/MacAU/Gatelope/Gatelope.xcodeproj WindowString - 46 385 815 372 0 0 1440 878 + 278 409 815 372 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Golem/Golem.cpp b/plugins/MacAU/Golem/Golem.cpp index 25ac011..e6f1566 100755 --- a/plugins/MacAU/Golem/Golem.cpp +++ b/plugins/MacAU/Golem/Golem.cpp @@ -210,11 +210,8 @@ ComponentResult Golem::Reset(AudioUnitScope inScope, AudioUnitElement inElement { for(count = 0; count < 4098; count++) {p[count] = 0.0;} count = 0; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - flip = false; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -233,9 +230,6 @@ OSStatus Golem::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); UInt32 nSampleFrames = inFramesToProcess; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; int phase = (int) GetParameter( kParam_Three ); Float64 balance = GetParameter( kParam_One ) / 2.0; Float64 gainL = 0.5 - balance; @@ -333,32 +327,15 @@ OSStatus Golem::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, inputSampleR = inputSampleL; //the output is totally mono - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - flip = !flip; - //end noise shaping on 32 bit output - - *outputL = inputSampleL; - *outputR = inputSampleR; - //don't know why we're getting a volume boost, cursed thing - + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither + *outputL = inputSampleL; *outputR = inputSampleR; //We have pointers to increment- every actual value reference has to be to a *value diff --git a/plugins/MacAU/Golem/Golem.h b/plugins/MacAU/Golem/Golem.h index ecaeea5..d66b91f 100755 --- a/plugins/MacAU/Golem/Golem.h +++ b/plugins/MacAU/Golem/Golem.h @@ -132,11 +132,8 @@ public: private: Float64 p[4099]; int count; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - bool flip; + long double fpNShapeL; + long double fpNShapeR; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser index 9e13ec7..91361ce 100755 --- a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser @@ -49,23 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546574392; - PBXWorkspaceStateSaveDate = 546574392; + PBXPerProjectTemplateStateSaveDate = 569647319; + PBXWorkspaceStateSaveDate = 569647319; }; perUserProjectItems = { - 8BC5D0B6209410C50058B257 /* PBXTextBookmark */ = 8BC5D0B6209410C50058B257 /* PBXTextBookmark */; - 8BC5D0B7209410C50058B257 /* PBXTextBookmark */ = 8BC5D0B7209410C50058B257 /* PBXTextBookmark */; + 8B792CA721F42166006E9731 /* PBXTextBookmark */ = 8B792CA721F42166006E9731 /* PBXTextBookmark */; + 8B792CAC21F42187006E9731 /* PBXTextBookmark */ = 8B792CAC21F42187006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792CA721F42166006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Golem.cpp */; + name = "Golem.cpp: 296"; + rLen = 831; + rLoc = 12420; + rType = 0; + vrLen = 126; + vrLoc = 12547; + }; + 8B792CAC21F42187006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Golem.cpp */; + name = "Golem.cpp: 296"; + rLen = 831; + rLoc = 12420; + rType = 0; + vrLen = 126; + vrLoc = 12547; + }; 8BA05A660720730100365D66 /* Golem.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4979}}"; - sepNavSelRange = "{12592, 831}"; - sepNavVisRange = "{12592, 178}"; - sepNavWindowFrame = "{{702, 65}, {714, 813}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 4680}}"; + sepNavSelRange = "{12420, 831}"; + sepNavVisRange = "{12547, 126}"; + sepNavWindowFrame = "{{548, 65}, {714, 813}}"; }; }; 8BA05A670720730100365D66 /* Golem.exp */ = { @@ -84,32 +104,12 @@ sepNavWindowFrame = "{{601, -12}, {877, 831}}"; }; }; - 8BC5D0B6209410C50058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Golem.cpp */; - name = "Golem.cpp: 302"; - rLen = 831; - rLoc = 12592; - rType = 0; - vrLen = 178; - vrLoc = 12592; - }; - 8BC5D0B7209410C50058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Golem.cpp */; - name = "Golem.cpp: 302"; - rLen = 831; - rLoc = 12592; - rType = 0; - vrLen = 178; - vrLoc = 12592; - }; 8BC6025B073B072D006C4272 /* Golem.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 1885}}"; - sepNavSelRange = "{5566, 30}"; - sepNavVisRange = "{1674, 2178}"; - sepNavWindowFrame = "{{655, 43}, {1021, 800}}"; + sepNavIntBoundsRect = "{{0, 0}, {974, 1833}}"; + sepNavSelRange = "{5596, 0}"; + sepNavVisRange = "{4025, 1724}"; + sepNavWindowFrame = "{{419, 43}, {1021, 800}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3 index c96e719..30ddbd9 100755 --- a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 619 304 810 487 0 0 1440 878 + 478 304 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8BC5D0B7209410C50058B257 + 8B792CAC21F42187006E9731 history - 8BC5D0B6209410C50058B257 + 8B792CA721F42166006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 132}} + {{0, 0}, {603, 117}} RubberWindowFrame - 619 304 810 487 0 0 1440 878 + 478 304 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 132pt + 117pt Proportion - 309pt + 324pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} - RubberWindowFrame - 619 304 810 487 0 0 1440 878 + {{10, 27}, {603, 297}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 297}} + RubberWindowFrame + 478 304 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8BC5D0B8209410C50058B257 + 8B792CAD21F42187006E9731 1CA23ED40692098700951B8B - 8BC5D0B9209410C50058B257 + 8B792CAE21F42187006E9731 8B8D6996207ABA9A0029B7B0 - 8BC5D0BA209410C50058B257 + 8B792CAF21F42187006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 546574533.255705 + 569647495.88627398 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8BC5D0BB209410C50058B257 /Users/christopherjohnson/Desktop/MacAU/Golem/Golem.xcodeproj WindowString - 619 304 810 487 0 0 1440 878 + 478 304 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/GrooveWear/GrooveWear.cpp b/plugins/MacAU/GrooveWear/GrooveWear.cpp old mode 100644 new mode 100755 index baf7ac4..62c9634 --- a/plugins/MacAU/GrooveWear/GrooveWear.cpp +++ b/plugins/MacAU/GrooveWear/GrooveWear.cpp @@ -177,9 +177,7 @@ void GrooveWear::GrooveWearKernel::Reset() bMidPrev = 0.0; cMidPrev = 0.0; dMidPrev = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -194,9 +192,6 @@ void GrooveWear::GrooveWearKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; Float64 overallscale = (pow(GetParameter( kParam_One ),2)*19.0)+1.0; Float64 gain = overallscale; @@ -449,19 +444,11 @@ void GrooveWear::GrooveWearKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * dWet) + (drySample * dDry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/GrooveWear/GrooveWear.h b/plugins/MacAU/GrooveWear/GrooveWear.h old mode 100644 new mode 100755 index b9e7722..5f86da8 --- a/plugins/MacAU/GrooveWear/GrooveWear.h +++ b/plugins/MacAU/GrooveWear/GrooveWear.h @@ -138,9 +138,7 @@ public: Float64 cMidPrev; Float64 dMidPrev; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index bdb3283..1980dfa --- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538681963; - PBXWorkspaceStateSaveDate = 538681963; + PBXPerProjectTemplateStateSaveDate = 569647523; + PBXWorkspaceStateSaveDate = 569647523; }; perUserProjectItems = { 8B0E2BD7201B927800943268 /* PlistBookmark */ = 8B0E2BD7201B927800943268 /* PlistBookmark */; 8B0E2BD8201B927800943268 /* PBXTextBookmark */ = 8B0E2BD8201B927800943268 /* PBXTextBookmark */; - 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */ = 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */; - 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */ = 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */; + 8B181B43204CA16500516BEE /* PBXTextBookmark */ = 8B181B43204CA16500516BEE /* PBXTextBookmark */; + 8B792CBD21F42257006E9731 /* PBXTextBookmark */ = 8B792CBD21F42257006E9731 /* PBXTextBookmark */; + 8B792CC221F422B5006E9731 /* PBXTextBookmark */ = 8B792CC221F422B5006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -84,47 +85,57 @@ vrLen = 297; vrLoc = 2667; }; - 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */ = { + 8B181B43204CA16500516BEE /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* GrooveWear.h */; name = "GrooveWear.h: 135"; rLen = 0; rLoc = 5282; rType = 0; - vrLen = 272; - vrLoc = 2923; + vrLen = 217; + vrLoc = 2978; }; - 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */ = { + 8B792CBD21F42257006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* GrooveWear.h */; - name = "GrooveWear.h: 135"; - rLen = 0; - rLoc = 5282; + fRef = 8BA05A660720730100365D66 /* GrooveWear.cpp */; + name = "GrooveWear.cpp: 336"; + rLen = 90; + rLoc = 15454; + rType = 0; + vrLen = 324; + vrLoc = 15544; + }; + 8B792CC221F422B5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* GrooveWear.cpp */; + name = "GrooveWear.cpp: 336"; + rLen = 90; + rLoc = 15454; rType = 0; - vrLen = 271; - vrLoc = 2924; + vrLen = 324; + vrLoc = 15544; }; 8BA05A660720730100365D66 /* GrooveWear.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 6123}}"; - sepNavSelRange = "{15606, 90}"; - sepNavVisRange = "{13375, 2804}"; - sepNavWindowFrame = "{{532, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 6058}}"; + sepNavSelRange = "{15454, 90}"; + sepNavVisRange = "{15544, 324}"; + sepNavWindowFrame = "{{413, 39}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* GrooveWearVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 767}}"; + sepNavIntBoundsRect = "{{0, 0}, {848, 767}}"; sepNavSelRange = "{2897, 0}"; - sepNavVisRange = "{2667, 297}"; - sepNavWindowFrame = "{{15, 39}, {895, 839}}"; + sepNavVisRange = "{50, 2915}"; + sepNavWindowFrame = "{{593, 37}, {895, 839}}"; }; }; 8BC6025B073B072D006C4272 /* GrooveWear.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {761, 2275}}"; - sepNavSelRange = "{5282, 0}"; - sepNavVisRange = "{2924, 271}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}"; + sepNavSelRange = "{5410, 0}"; + sepNavVisRange = "{4014, 1506}"; sepNavWindowFrame = "{{542, 39}, {895, 839}}"; }; }; diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index a0182a0..3db790a --- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -302,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 603 113 841 654 0 0 1440 878 + 442 219 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - GrooveWear.h + GrooveWear.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,16 +348,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - GrooveWear.h + GrooveWear.cpp _historyCapacity 0 bookmark - 8B4E5435201BA7FC00B5DC2A + 8B792CC221F422B5006E9731 history 8B0E2BD7201B927800943268 8B0E2BD8201B927800943268 - 8B4E5400201BA1BA00B5DC2A + 8B181B43204CA16500516BEE + 8B792CBD21F42257006E9731 SplitCount @@ -373,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 142}} + {{0, 0}, {531, 109}} RubberWindowFrame - 603 113 841 654 0 0 1440 878 + 442 219 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 142pt + 109pt Proportion - 466pt + 499pt Tabs @@ -398,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 439}} - RubberWindowFrame - 603 113 841 654 0 0 1440 878 + {{10, 27}, {531, 472}} Module XCDetailModule @@ -454,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} + {{10, 27}, {531, 472}} + RubberWindowFrame + 442 219 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +481,11 @@ TableOfContents - 8B4E540C201BA27000B5DC2A + 8B792CC321F422B5006E9731 1CA23ED40692098700951B8B - 8B4E540D201BA27000B5DC2A + 8B792CC421F422B5006E9731 8BD7274A1D46E5A5000176F0 - 8B4E540E201BA27000B5DC2A + 8B792CC521F422B5006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +658,7 @@ StatusbarIsVisible TimeStamp - 538683388.29162097 + 569647797.66937697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +678,7 @@ /Users/christopherjohnson/Desktop/MacAU/GrooveWear/GrooveWear.xcodeproj WindowString - 603 113 841 654 0 0 1440 878 + 442 219 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp b/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp index 232fd21..d3d23e6 100755 --- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp +++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp @@ -150,8 +150,7 @@ ComponentResult GuitarConditioner::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void GuitarConditioner::GuitarConditionerKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; lastSampleT = 0.0; lastSampleB = 0.0; //for Slews. T for treble, B for bass @@ -176,9 +175,6 @@ void GuitarConditioner::GuitarConditionerKernel::Process( const Float32 *inSou long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSample; long double treble; long double bass; @@ -264,21 +260,14 @@ void GuitarConditioner::GuitarConditionerKernel::Process( const Float32 *inSou lastSampleB = bass; //bass slew inputSample = treble + bass; //final merge + fpFlip = !fpFlip; + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.h b/plugins/MacAU/GuitarConditioner/GuitarConditioner.h index 834905f..4ad6669 100755 --- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.h +++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.h @@ -121,8 +121,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; Float64 lastSampleT; Float64 lastSampleB; //for Slews diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser index 27ab557..34d863a 100755 --- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456379; - PBXWorkspaceStateSaveDate = 528456379; + PBXPerProjectTemplateStateSaveDate = 569648041; + PBXWorkspaceStateSaveDate = 569648041; }; perUserProjectItems = { 8B3BE93A1D667DD60098F86C /* PBXTextBookmark */ = 8B3BE93A1D667DD60098F86C /* PBXTextBookmark */; 8B3BE93B1D667DD60098F86C /* PBXTextBookmark */ = 8B3BE93B1D667DD60098F86C /* PBXTextBookmark */; - 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */ = 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */; - 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */ = 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */; + 8B792CD321F42407006E9731 /* PBXTextBookmark */ = 8B792CD321F42407006E9731 /* PBXTextBookmark */; + 8B792CD921F42423006E9731 /* PBXTextBookmark */ = 8B792CD921F42423006E9731 /* PBXTextBookmark */; 8BC032BB1D6667CB0039F36E /* PlistBookmark */ = 8BC032BB1D6667CB0039F36E /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; @@ -68,7 +68,7 @@ fRef = 8BC6025B073B072D006C4272 /* GuitarConditioner.h */; name = "GuitarConditioner.h: 126"; rLen = 0; - rLoc = 5114; + rLoc = 5088; rType = 0; vrLen = 474; vrLoc = 4808; @@ -83,32 +83,32 @@ vrLen = 405; vrLoc = 2608; }; - 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */ = { + 8B792CD321F42407006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* GuitarConditioner.cpp */; - name = "GuitarConditioner.cpp: 281"; + name = "GuitarConditioner.cpp: 274"; rLen = 0; - rLoc = 11852; + rLoc = 11616; rType = 0; - vrLen = 523; - vrLoc = 10536; + vrLen = 476; + vrLoc = 10604; }; - 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */ = { + 8B792CD921F42423006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* GuitarConditioner.cpp */; - name = "GuitarConditioner.cpp: 281"; + name = "GuitarConditioner.cpp: 271"; rLen = 0; - rLoc = 11852; + rLoc = 11616; rType = 0; - vrLen = 502; - vrLoc = 10557; + vrLen = 485; + vrLoc = 10548; }; 8BA05A660720730100365D66 /* GuitarConditioner.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {733, 3913}}"; - sepNavSelRange = "{11852, 0}"; - sepNavVisRange = "{10557, 502}"; - sepNavWindowFrame = "{{639, 40}, {801, 838}}"; + sepNavIntBoundsRect = "{{0, 0}, {733, 3744}}"; + sepNavSelRange = "{11616, 0}"; + sepNavVisRange = "{10548, 485}"; + sepNavWindowFrame = "{{377, 40}, {801, 838}}"; }; }; 8BA05A690720730100365D66 /* GuitarConditionerVersion.h */ = { @@ -133,10 +133,10 @@ }; 8BC6025B073B072D006C4272 /* GuitarConditioner.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; - sepNavSelRange = "{5115, 167}"; - sepNavVisRange = "{3840, 1555}"; - sepNavWindowFrame = "{{684, 40}, {801, 838}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1820}}"; + sepNavSelRange = "{5073, 0}"; + sepNavVisRange = "{3804, 1565}"; + sepNavWindowFrame = "{{458, 40}, {801, 838}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3 index 9e238ca..1f67dae 100755 --- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 841 + 841 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 598 208 841 654 0 0 1440 878 + 455 207 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,13 +351,13 @@ _historyCapacity 0 bookmark - 8B9D74491F7F9ACF007AB60F + 8B792CD921F42423006E9731 history 8BC032BB1D6667CB0039F36E 8B3BE93A1D667DD60098F86C 8B3BE93B1D667DD60098F86C - 8B9D64EE1F7C8859007AB60F + 8B792CD321F42407006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 202}} RubberWindowFrame - 598 208 841 654 0 0 1440 878 + 455 207 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 202pt Proportion - 392pt + 406pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} - RubberWindowFrame - 598 208 841 654 0 0 1440 878 + {{10, 27}, {531, 379}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {531, 379}} + RubberWindowFrame + 455 207 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8B9D744A1F7F9ACF007AB60F + 8B792CDA21F42423006E9731 1CA23ED40692098700951B8B - 8B9D744B1F7F9ACF007AB60F + 8B792CDB21F42423006E9731 8BD7274A1D46E5A5000176F0 - 8B9D744C1F7F9ACF007AB60F + 8B792CDC21F42423006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528456399.548949 + 569648163.99752402 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,11 @@ 5 WindowOrderList - 8B9D744D1F7F9ACF007AB60F + 8B792CDD21F42424006E9731 /Users/christopherjohnson/Desktop/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj WindowString - 598 208 841 654 0 0 1440 878 + 455 207 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/HardVacuum/HardVacuum.cpp b/plugins/MacAU/HardVacuum/HardVacuum.cpp index 15bb5ec..d652431 100755 --- a/plugins/MacAU/HardVacuum/HardVacuum.cpp +++ b/plugins/MacAU/HardVacuum/HardVacuum.cpp @@ -191,9 +191,7 @@ ComponentResult HardVacuum::Initialize() void HardVacuum::HardVacuumKernel::Reset() { lastSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -226,9 +224,6 @@ void HardVacuum::HardVacuumKernel::Process( const Float32 *inSourceP, Float64 skew; long double inputSample; Float64 drySample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -319,19 +314,11 @@ void HardVacuum::HardVacuumKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/HardVacuum/HardVacuum.h b/plugins/MacAU/HardVacuum/HardVacuum.h index ad9518d..b5b4116 100755 --- a/plugins/MacAU/HardVacuum/HardVacuum.h +++ b/plugins/MacAU/HardVacuum/HardVacuum.h @@ -139,9 +139,7 @@ public: private: Float64 lastSample; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser index a26a4bf..35ae242 100755 --- a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541823423; - PBXWorkspaceStateSaveDate = 541823423; + PBXPerProjectTemplateStateSaveDate = 569648475; + PBXWorkspaceStateSaveDate = 569648475; }; perUserProjectItems = { - 8B1819FB204B936300516BEE /* PBXTextBookmark */ = 8B1819FB204B936300516BEE /* PBXTextBookmark */; - 8B181A0D204B961F00516BEE /* PBXTextBookmark */ = 8B181A0D204B961F00516BEE /* PBXTextBookmark */; + 8B792CEB21F425BC006E9731 /* PBXTextBookmark */ = 8B792CEB21F425BC006E9731 /* PBXTextBookmark */; + 8B792CF121F425DC006E9731 /* PBXTextBookmark */ = 8B792CF121F425DC006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B1819FB204B936300516BEE /* PBXTextBookmark */ = { + 8B792CEB21F425BC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* HardVacuum.h */; name = "HardVacuum.h: 61"; rLen = 0; rLoc = 3064; rType = 0; - vrLen = 334; + vrLen = 296; vrLoc = 4037; }; - 8B181A0D204B961F00516BEE /* PBXTextBookmark */ = { + 8B792CF121F425DC006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* HardVacuum.h */; name = "HardVacuum.h: 61"; rLen = 0; rLoc = 3064; rType = 0; - vrLen = 334; + vrLen = 296; vrLoc = 4037; }; 8BA05A660720730100365D66 /* HardVacuum.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 4758}}"; - sepNavSelRange = "{13965, 0}"; - sepNavVisRange = "{12718, 1710}"; - sepNavWindowFrame = "{{639, 60}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 4303}}"; + sepNavSelRange = "{10378, 0}"; + sepNavVisRange = "{9068, 2247}"; + sepNavWindowFrame = "{{157, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* HardVacuum.exp */ = { @@ -106,10 +106,10 @@ }; 8BC6025B073B072D006C4272 /* HardVacuum.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 2288}}"; + sepNavIntBoundsRect = "{{0, 0}, {698, 1989}}"; sepNavSelRange = "{3064, 0}"; - sepNavVisRange = "{4037, 334}"; - sepNavWindowFrame = "{{798, 44}, {816, 832}}"; + sepNavVisRange = "{4037, 296}"; + sepNavWindowFrame = "{{624, 44}, {816, 832}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3 index ee4a326..447f391 100755 --- a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3 @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 5 + 4 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 627 370 810 487 0 0 1440 878 + 501 353 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +352,10 @@ _historyCapacity 0 bookmark - 8B181A0D204B961F00516BEE + 8B792CF121F425DC006E9731 history - 8B1819FB204B936300516BEE + 8B792CEB21F425BC006E9731 SplitCount @@ -369,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 132}} + {{0, 0}, {603, 117}} RubberWindowFrame - 627 370 810 487 0 0 1440 878 + 501 353 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 132pt + 117pt Proportion - 309pt + 324pt Tabs @@ -394,7 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 297}} Module XCDetailModule @@ -448,9 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {603, 297}} RubberWindowFrame - 627 370 810 487 0 0 1440 878 + 501 353 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +478,11 @@ TableOfContents - 8B181A0E204B961F00516BEE + 8B792CF221F425DC006E9731 1CA23ED40692098700951B8B - 8B181A0F204B961F00516BEE + 8B792CF321F425DC006E9731 8BCA6FBD2027E68400D92BAD - 8B181A10204B961F00516BEE + 8B792CF421F425DC006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +635,7 @@ StatusbarIsVisible TimeStamp - 541824543.72034597 + 569648604.79217398 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +652,11 @@ 5 WindowOrderList - 8B181A11204B961F00516BEE + 8B792CF521F425DC006E9731 /Users/christopherjohnson/Desktop/MacAU/HardVacuum/HardVacuum.xcodeproj WindowString - 627 370 810 487 0 0 1440 878 + 501 353 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/HermeTrim/HermeTrim.cpp b/plugins/MacAU/HermeTrim/HermeTrim.cpp index 9964961..d66c78c 100755 --- a/plugins/MacAU/HermeTrim/HermeTrim.cpp +++ b/plugins/MacAU/HermeTrim/HermeTrim.cpp @@ -203,11 +203,8 @@ ComponentResult HermeTrim::Initialize() // this is called the reset the DSP state (clear buffers, reset counters, etc.) ComponentResult HermeTrim::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeLA = 0.0; - fpNShapeLB = 0.0; - fpNShapeRA = 0.0; - fpNShapeRB = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -226,11 +223,7 @@ OSStatus HermeTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); UInt32 nSampleFrames = inFramesToProcess; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + long double inputSampleL; long double inputSampleR; long double mid; @@ -296,25 +289,14 @@ OSStatus HermeTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla inputSampleR = (mid-side) * rightgain; //contains mastergain and the gain trim fixing the mid/side - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSampleL; - fpNShapeLA = (fpNShapeLA*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeLA; - fpTemp = inputSampleR; - fpNShapeRA = (fpNShapeRA*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeRA; - } - else { - fpTemp = inputSampleL; - fpNShapeLB = (fpNShapeLB*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeLB; - fpTemp = inputSampleR; - fpNShapeRB = (fpNShapeRB*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeRB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/HermeTrim/HermeTrim.h b/plugins/MacAU/HermeTrim/HermeTrim.h index 15b9053..28ed599 100755 --- a/plugins/MacAU/HermeTrim/HermeTrim.h +++ b/plugins/MacAU/HermeTrim/HermeTrim.h @@ -121,11 +121,8 @@ public: virtual ComponentResult Version() { return kHermeTrimVersion; } private: - long double fpNShapeLA; - long double fpNShapeLB; - long double fpNShapeRA; - long double fpNShapeRB; - bool fpFlip; + long double fpNShapeL; + long double fpNShapeR; //default stuff }; diff --git a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser index 7bf93ba..f32d1ce 100755 --- a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser @@ -49,23 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 532472000; - PBXWorkspaceStateSaveDate = 532472000; + PBXPerProjectTemplateStateSaveDate = 569648812; + PBXWorkspaceStateSaveDate = 569648812; }; perUserProjectItems = { - 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */ = 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */; - 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */ = 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */; + 8B792D2821F42723006E9731 /* PBXTextBookmark */ = 8B792D2821F42723006E9731 /* PBXTextBookmark */; + 8B792D2D21F42744006E9731 /* PBXTextBookmark */ = 8B792D2D21F42744006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792D2821F42723006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */; + name = "HermeTrim.cpp: 207"; + rLen = 0; + rLoc = 9408; + rType = 0; + vrLen = 66; + vrLoc = 68; + }; + 8B792D2D21F42744006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */; + name = "HermeTrim.cpp: 207"; + rLen = 0; + rLoc = 9408; + rType = 0; + vrLen = 66; + vrLoc = 68; + }; 8BA05A660720730100365D66 /* HermeTrim.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4368}}"; - sepNavSelRange = "{9429, 0}"; - sepNavVisRange = "{65, 69}"; - sepNavWindowFrame = "{{370, 62}, {1070, 811}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 4225}}"; + sepNavSelRange = "{9408, 0}"; + sepNavVisRange = "{68, 66}"; + sepNavWindowFrame = "{{185, 67}, {1070, 811}}"; }; }; 8BA05A670720730100365D66 /* HermeTrim.exp */ = { @@ -84,31 +104,11 @@ sepNavWindowFrame = "{{419, 39}, {1024, 839}}"; }; }; - 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */; - name = "HermeTrim.cpp: 208"; - rLen = 0; - rLoc = 9429; - rType = 0; - vrLen = 90; - vrLoc = 44; - }; - 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */; - name = "HermeTrim.cpp: 208"; - rLen = 0; - rLoc = 9429; - rType = 0; - vrLen = 69; - vrLoc = 65; - }; 8BC6025B073B072D006C4272 /* HermeTrim.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1023, 1768}}"; - sepNavSelRange = "{5173, 131}"; - sepNavVisRange = "{1538, 1957}"; + sepNavIntBoundsRect = "{{0, 0}, {1023, 1729}}"; + sepNavSelRange = "{5221, 0}"; + sepNavVisRange = "{3560, 1785}"; sepNavWindowFrame = "{{370, 67}, {1070, 811}}"; }; }; diff --git a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3 index c7490f3..a1c5be6 100755 --- a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -301,7 +299,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 7 + 4 2 1 0 @@ -325,7 +323,7 @@ 185 RubberWindowFrame - 610 324 810 487 0 0 1440 878 + 483 338 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +351,10 @@ _historyCapacity 0 bookmark - 8BB5DD3E1FBCE0D8008B4570 + 8B792D2D21F42744006E9731 history - 8BB5DCFB1FBCDFA9008B4570 + 8B792D2821F42723006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame - 610 324 810 487 0 0 1440 878 + 483 338 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 610 324 810 487 0 0 1440 878 + {{10, 27}, {603, 363}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 483 338 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8BB5DD3F1FBCE0D8008B4570 + 8B792D2E21F42744006E9731 1CA23ED40692098700951B8B - 8BB5DD401FBCE0D8008B4570 + 8B792D2F21F42744006E9731 8B753E6F1E40231800347157 - 8BB5DD411FBCE0D8008B4570 + 8B792D3021F42744006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 532472024.21283603 + 569648964.14450204 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +651,10 @@ 5 WindowOrderList - 8BB5DD421FBCE0D8008B4570 /Users/christopherjohnson/Desktop/MacAU/HermeTrim/HermeTrim.xcodeproj WindowString - 610 324 810 487 0 0 1440 878 + 483 338 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Hermepass/Hermepass.cpp b/plugins/MacAU/Hermepass/Hermepass.cpp index 8c8da5d..c969719 100755 --- a/plugins/MacAU/Hermepass/Hermepass.cpp +++ b/plugins/MacAU/Hermepass/Hermepass.cpp @@ -174,8 +174,7 @@ void Hermepass::HermepassKernel::Reset() iirF = 0.0; iirG = 0.0; iirH = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -194,10 +193,9 @@ void Hermepass::HermepassKernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; long double fpOld = 0.618033988749894848204586; //golden ratio! long double fpNew = 1.0 - fpOld; - + Float64 rangescale = 0.1 / overallscale; Float64 cutoff = pow(GetParameter( kParam_One ),3); @@ -301,20 +299,13 @@ void Hermepass::HermepassKernel::Process( const Float32 *inSourceP, //with everything an array value. However, this makes just as much sense for this few poles. inputSample -= correction; - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Hermepass/Hermepass.h b/plugins/MacAU/Hermepass/Hermepass.h index 24cfb07..3483edc 100755 --- a/plugins/MacAU/Hermepass/Hermepass.h +++ b/plugins/MacAU/Hermepass/Hermepass.h @@ -139,8 +139,7 @@ public: Float64 iirH; //seven poles max, and the final pole is always at 20hz directly. - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser index b85e0a0..7dff583 100755 --- a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser @@ -3,6 +3,8 @@ 089C1669FE841209C02AAC07 /* Project object */ = { activeBuildConfigurationName = Release; activeTarget = 8D01CCC60486CAD60068D4B7 /* Hermepass */; + breakpoints = ( + ); codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; perUserDictionary = { PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { @@ -49,18 +51,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456409; - PBXWorkspaceStateSaveDate = 528456409; + PBXPerProjectTemplateStateSaveDate = 569648641; + PBXWorkspaceStateSaveDate = 569648641; }; perUserProjectItems = { - 8B9D64FF1F7C889C007AB60F /* PlistBookmark */ = 8B9D64FF1F7C889C007AB60F /* PlistBookmark */; - 8B9D74581F7F9AF1007AB60F /* PlistBookmark */ = 8B9D74581F7F9AF1007AB60F /* PlistBookmark */; + 8B792D0521F4265D006E9731 /* PlistBookmark */ = 8B792D0521F4265D006E9731 /* PlistBookmark */; + 8B792D1021F42698006E9731 /* PlistBookmark */ = 8B792D1021F42698006E9731 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D64FF1F7C889C007AB60F /* PlistBookmark */ = { + 8B792D0521F4265D006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,9 +72,9 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/Hermepass/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8B9D74581F7F9AF1007AB60F /* PlistBookmark */ = { + 8B792D1021F42698006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -86,10 +88,10 @@ }; 8BA05A660720730100365D66 /* Hermepass.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1006, 4407}}"; - sepNavSelRange = "{10576, 0}"; - sepNavVisRange = "{9818, 2810}"; - sepNavWindowFrame = "{{387, 39}, {1053, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 4342}}"; + sepNavSelRange = "{8578, 0}"; + sepNavVisRange = "{7759, 2039}"; + sepNavWindowFrame = "{{235, 39}, {1053, 839}}"; }; }; 8BA05A690720730100365D66 /* HermepassVersion.h */ = { @@ -102,9 +104,9 @@ }; 8BC6025B073B072D006C4272 /* Hermepass.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1006, 1833}}"; - sepNavSelRange = "{1818, 0}"; - sepNavVisRange = "{651, 2568}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 1937}}"; + sepNavSelRange = "{5697, 0}"; + sepNavVisRange = "{4041, 1775}"; sepNavWindowFrame = "{{387, 39}, {1053, 839}}"; }; }; diff --git a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3 index a56662d..db59c0b 100755 --- a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 599 176 841 654 0 0 1440 878 + 471 176 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +351,10 @@ _historyCapacity 0 bookmark - 8B9D74581F7F9AF1007AB60F + 8B792D1021F42698006E9731 history - 8B9D64FF1F7C889C007AB60F + 8B792D0521F4265D006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 188}} RubberWindowFrame - 599 176 841 654 0 0 1440 878 + 471 176 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 188pt Proportion - 406pt + 420pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 599 176 841 654 0 0 1440 878 + {{10, 27}, {531, 393}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 393}} + RubberWindowFrame + 471 176 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B9D74591F7F9AF1007AB60F + 8B792D1121F42698006E9731 1CA23ED40692098700951B8B - 8B9D745A1F7F9AF1007AB60F + 8B792D1221F42698006E9731 8BD7274A1D46E5A5000176F0 - 8B9D745B1F7F9AF1007AB60F + 8B792D1321F42698006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -534,12 +532,12 @@ GeometryConfiguration Frame - {{0, 0}, {810, 0}} + {{0, 0}, {424, 270}} Module PBXDebugCLIModule Proportion - 0pt + 270pt ContentConfiguration @@ -632,14 +630,14 @@ TableOfContents - 8BD727EC1D46ECF1000176F0 + 8B792D1421F42698006E9731 1CCC7628064C1048000F2A68 1CCC7629064C1048000F2A68 - 8BD727ED1D46ECF1000176F0 - 8BD727EE1D46ECF1000176F0 - 8BD727EF1D46ECF1000176F0 - 8BD727F01D46ECF1000176F0 - 8BD727E71D46ECD9000176F0 + 8B792D1521F42698006E9731 + 8B792D1621F42698006E9731 + 8B792D1721F42698006E9731 + 8B792D1821F42698006E9731 + 8B792D1921F42698006E9731 ToolbarConfigUserDefaultsMinorVersion 2 @@ -656,7 +654,7 @@ StatusbarIsVisible TimeStamp - 528456433.21989697 + 569648792.66830301 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +671,11 @@ 5 WindowOrderList - 8B9D745C1F7F9AF1007AB60F + 8B792D1A21F42698006E9731 /Users/christopherjohnson/Desktop/MacAU/Hermepass/Hermepass.xcodeproj WindowString - 599 176 841 654 0 0 1440 878 + 471 176 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser index c23f043..1e583b1 100755 --- a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser @@ -49,11 +49,11 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456443; - PBXWorkspaceStateSaveDate = 528456443; + PBXPerProjectTemplateStateSaveDate = 569648994; + PBXWorkspaceStateSaveDate = 569648994; }; perUserProjectItems = { - 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */ = 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */; + 8B792D3921F4276D006E9731 /* PBXTextBookmark */ = 8B792D3921F4276D006E9731 /* PBXTextBookmark */; 8B9D74691F7F9B39007AB60F /* PBXTextBookmark */ = 8B9D74691F7F9B39007AB60F /* PBXTextBookmark */; 8B9E7FA51DDE554B006035FA /* PlistBookmark */ = 8B9E7FA51DDE554B006035FA /* PlistBookmark */; }; @@ -61,14 +61,14 @@ userBuildSettings = { }; }; - 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */ = { + 8B792D3921F4276D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* HighGlossDither.h */; name = "HighGlossDither.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 443; + vrLen = 243; vrLoc = 0; }; 8B9D74691F7F9B39007AB60F /* PBXTextBookmark */ = { @@ -95,9 +95,9 @@ }; 8BA05A660720730100365D66 /* HighGlossDither.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {726, 3133}}"; + sepNavIntBoundsRect = "{{0, 0}, {726, 3224}}"; sepNavSelRange = "{7750, 0}"; - sepNavVisRange = "{6612, 2521}"; + sepNavVisRange = "{7830, 2063}"; sepNavWindowFrame = "{{728, 43}, {679, 835}}"; }; }; @@ -111,9 +111,9 @@ }; 8BC6025B073B072D006C4272 /* HighGlossDither.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 1729}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 1742}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 346}"; + sepNavVisRange = "{0, 243}"; sepNavWindowFrame = "{{742, 43}, {679, 835}}"; }; }; diff --git a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3 index 2c6537c..aaa67ee 100755 --- a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3 @@ -353,11 +353,11 @@ _historyCapacity 0 bookmark - 8B9D74691F7F9B39007AB60F + 8B792D3921F4276D006E9731 history 8B9E7FA51DDE554B006035FA - 8B9D65101F7C88C6007AB60F + 8B9D74691F7F9B39007AB60F SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {531, 158}} RubberWindowFrame 599 149 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 158pt Proportion - 435pt + 450pt Tabs @@ -396,7 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} + {{10, 27}, {531, 423}} RubberWindowFrame 599 149 841 654 0 0 1440 878 @@ -480,11 +480,11 @@ TableOfContents - 8B9D746A1F7F9B39007AB60F + 8B792D3A21F4276D006E9731 1CA23ED40692098700951B8B - 8B9D746B1F7F9B39007AB60F + 8B792D3B21F4276D006E9731 8BD7274A1D46E5A5000176F0 - 8B9D746C1F7F9B39007AB60F + 8B792D3C21F4276D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528456505.919761 + 569649005.97733605 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +674,7 @@ 5 WindowOrderList - 8B9D746D1F7F9B39007AB60F + 8B792D3D21F4276D006E9731 /Users/christopherjohnson/Desktop/MacAU/HighGlossDither/HighGlossDither.xcodeproj WindowString diff --git a/plugins/MacAU/HighImpact/HighImpact.cpp b/plugins/MacAU/HighImpact/HighImpact.cpp index 91cbd6a..43ca1f5 100755 --- a/plugins/MacAU/HighImpact/HighImpact.cpp +++ b/plugins/MacAU/HighImpact/HighImpact.cpp @@ -175,9 +175,7 @@ ComponentResult HighImpact::Initialize() void HighImpact::HighImpactKernel::Reset() { lastSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -201,11 +199,7 @@ void HighImpact::HighImpactKernel::Process( const Float32 *inSourceP, Float64 drySample; Float64 output = GetParameter( kParam_Two ); Float64 wet = GetParameter( kParam_Three ); - Float64 dry = 1.0-wet; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - + Float64 dry = 1.0-wet; Float64 clamp; Float64 threshold = (1.25 - out); @@ -279,19 +273,11 @@ void HighImpact::HighImpactKernel::Process( const Float32 *inSourceP, //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/HighImpact/HighImpact.h b/plugins/MacAU/HighImpact/HighImpact.h index 1778590..4315822 100755 --- a/plugins/MacAU/HighImpact/HighImpact.h +++ b/plugins/MacAU/HighImpact/HighImpact.h @@ -134,9 +134,7 @@ public: private: Float64 lastSample; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser index 95f75f7..a4ea24e 100755 --- a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser @@ -49,12 +49,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456515; - PBXWorkspaceStateSaveDate = 528456515; + PBXPerProjectTemplateStateSaveDate = 569649013; + PBXWorkspaceStateSaveDate = 569649013; }; perUserProjectItems = { - 8B9D65211F7C8934007AB60F /* PBXTextBookmark */ = 8B9D65211F7C8934007AB60F /* PBXTextBookmark */; - 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */ = 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */; + 8B792D4B21F427D4006E9731 /* PBXTextBookmark */ = 8B792D4B21F427D4006E9731 /* PBXTextBookmark */; + 8B792D5021F427E4006E9731 /* PBXTextBookmark */ = 8B792D5021F427E4006E9731 /* PBXTextBookmark */; 8BD4F5C21E6E137800288155 /* PBXTextBookmark */ = 8BD4F5C21E6E137800288155 /* PBXTextBookmark */; 8BD4F5C31E6E137800288155 /* PBXTextBookmark */ = 8BD4F5C31E6E137800288155 /* PBXTextBookmark */; }; @@ -62,32 +62,32 @@ userBuildSettings = { }; }; - 8B9D65211F7C8934007AB60F /* PBXTextBookmark */ = { + 8B792D4B21F427D4006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* HighImpact.cpp */; - name = "HighImpact.cpp: 201"; + name = "HighImpact.cpp: 199"; rLen = 0; - rLoc = 9245; + rLoc = 9210; rType = 0; - vrLen = 504; - vrLoc = 7848; + vrLen = 584; + vrLoc = 7867; }; - 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */ = { + 8B792D5021F427E4006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* HighImpact.cpp */; - name = "HighImpact.cpp: 201"; + name = "HighImpact.cpp: 199"; rLen = 0; - rLoc = 9245; + rLoc = 9210; rType = 0; - vrLen = 485; + vrLen = 584; vrLoc = 7867; }; 8BA05A660720730100365D66 /* HighImpact.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {670, 3978}}"; - sepNavSelRange = "{9245, 0}"; - sepNavVisRange = "{7867, 485}"; - sepNavWindowFrame = "{{283, 58}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 3887}}"; + sepNavSelRange = "{9210, 0}"; + sepNavVisRange = "{7867, 584}"; + sepNavWindowFrame = "{{178, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* HighImpact.exp */ = { @@ -107,9 +107,9 @@ }; 8BC6025B073B072D006C4272 /* HighImpact.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 1898}}"; - sepNavSelRange = "{5304, 0}"; - sepNavVisRange = "{2715, 570}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 1859}}"; + sepNavSelRange = "{5347, 0}"; + sepNavVisRange = "{3845, 1610}"; sepNavWindowFrame = "{{15, 39}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3 index 8773219..a53e030 100755 --- a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 589 316 810 487 0 0 1440 878 + 493 322 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,12 +350,12 @@ _historyCapacity 0 bookmark - 8B9D74781F7F9B7D007AB60F + 8B792D5021F427E4006E9731 history 8BD4F5C21E6E137800288155 8BD4F5C31E6E137800288155 - 8B9D65211F7C8934007AB60F + 8B792D4B21F427D4006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 253}} + {{0, 0}, {603, 244}} RubberWindowFrame - 589 316 810 487 0 0 1440 878 + 493 322 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 253pt + 244pt Proportion - 188pt + 197pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 161}} - RubberWindowFrame - 589 316 810 487 0 0 1440 878 + {{10, 27}, {603, 170}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 170}} + RubberWindowFrame + 493 322 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D74791F7F9B7D007AB60F + 8B792D5121F427E4006E9731 1CA23ED40692098700951B8B - 8B9D747A1F7F9B7D007AB60F + 8B792D5221F427E4006E9731 8B753F071E4027BF00347157 - 8B9D747B1F7F9B7D007AB60F + 8B792D5321F427E4006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528456573.47978503 + 569649124.25200295 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +652,10 @@ 5 WindowOrderList - 8B9D747C1F7F9B7D007AB60F /Users/christopherjohnson/Desktop/MacAU/HighImpact/HighImpact.xcodeproj WindowString - 589 316 810 487 0 0 1440 878 + 493 322 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Highpass/Highpass.cpp b/plugins/MacAU/Highpass/Highpass.cpp index 1f887f4..095a5fd 100755 --- a/plugins/MacAU/Highpass/Highpass.cpp +++ b/plugins/MacAU/Highpass/Highpass.cpp @@ -175,8 +175,7 @@ void Highpass::HighpassKernel::Reset() { iirSampleA = 0.0; iirSampleB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -207,9 +206,6 @@ void Highpass::HighpassKernel::Process( const Float32 *inSourceP, Float64 offset; Float64 inputSample; Float64 outputSample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; iirAmount += (iirAmount * tight * tight); if (tight > 0) tight /= 1.5; @@ -264,20 +260,13 @@ void Highpass::HighpassKernel::Process( const Float32 *inSourceP, } if (wet < 1.0) outputSample = (outputSample * wet) + (inputSample * dry); - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = outputSample; - fpNShapeA = (fpNShapeA*fpOld)+((outputSample-fpTemp)*fpNew); - outputSample += fpNShapeA; - } - else { - fpTemp = outputSample; - fpNShapeB = (fpNShapeB*fpOld)+((outputSample-fpTemp)*fpNew); - outputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = outputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/Highpass/Highpass.h b/plugins/MacAU/Highpass/Highpass.h index 05f4b8c..d29dcf9 100755 --- a/plugins/MacAU/Highpass/Highpass.h +++ b/plugins/MacAU/Highpass/Highpass.h @@ -136,8 +136,7 @@ public: private: Float64 iirSampleA; Float64 iirSampleB; - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser index 11b4400..10f000e 100755 --- a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser @@ -49,15 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456582; - PBXWorkspaceStateSaveDate = 528456582; + PBXPerProjectTemplateStateSaveDate = 569649241; + PBXWorkspaceStateSaveDate = 569649241; }; perUserProjectItems = { 8B22B1581DB190F20075D7AA /* PBXTextBookmark */ = 8B22B1581DB190F20075D7AA /* PBXTextBookmark */; 8B22B1591DB190F20075D7AA /* PBXTextBookmark */ = 8B22B1591DB190F20075D7AA /* PBXTextBookmark */; 8B22B15A1DB190F20075D7AA /* PBXTextBookmark */ = 8B22B15A1DB190F20075D7AA /* PBXTextBookmark */; - 8B9D65321F7C8976007AB60F /* PBXTextBookmark */ = 8B9D65321F7C8976007AB60F /* PBXTextBookmark */; - 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */ = 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */; + 8B792D6121F428B9006E9731 /* PBXTextBookmark */ = 8B792D6121F428B9006E9731 /* PBXTextBookmark */; + 8B792D6621F428CA006E9731 /* PBXTextBookmark */ = 8B792D6621F428CA006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -93,32 +93,32 @@ vrLen = 772; vrLoc = 5298; }; - 8B9D65321F7C8976007AB60F /* PBXTextBookmark */ = { + 8B792D6121F428B9006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Highpass.h */; name = "Highpass.h: 125"; rLen = 0; rLoc = 5113; rType = 0; - vrLen = 395; + vrLen = 369; vrLoc = 5287; }; - 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */ = { + 8B792D6621F428CA006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Highpass.h */; name = "Highpass.h: 125"; rLen = 0; rLoc = 5113; rType = 0; - vrLen = 394; + vrLen = 369; vrLoc = 5287; }; 8BA05A660720730100365D66 /* Highpass.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {964, 3770}}"; - sepNavSelRange = "{9907, 0}"; - sepNavVisRange = "{9082, 2429}"; - sepNavWindowFrame = "{{584, 39}, {801, 838}}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 3757}}"; + sepNavSelRange = "{12047, 0}"; + sepNavVisRange = "{9888, 2247}"; + sepNavWindowFrame = "{{463, 37}, {801, 838}}"; }; }; 8BA05A670720730100365D66 /* Highpass.exp */ = { @@ -138,10 +138,10 @@ }; 8BC6025B073B072D006C4272 /* Highpass.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {698, 2080}}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 2106}}"; sepNavSelRange = "{5113, 0}"; - sepNavVisRange = "{5287, 394}"; - sepNavWindowFrame = "{{615, 40}, {801, 838}}"; + sepNavVisRange = "{5287, 369}"; + sepNavWindowFrame = "{{143, 40}, {801, 838}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3 index 49ba097..6210205 100755 --- a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 626 387 810 487 0 0 1440 878 + 369 385 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,13 +350,13 @@ _historyCapacity 0 bookmark - 8B9D74871F7F9B9C007AB60F + 8B792D6621F428CA006E9731 history 8B22B1581DB190F20075D7AA 8B22B1591DB190F20075D7AA 8B22B15A1DB190F20075D7AA - 8B9D65321F7C8976007AB60F + 8B792D6121F428B9006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 264}} + {{0, 0}, {603, 256}} RubberWindowFrame - 626 387 810 487 0 0 1440 878 + 369 385 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 264pt + 256pt Proportion - 177pt + 185pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 150}} - RubberWindowFrame - 626 387 810 487 0 0 1440 878 + {{10, 27}, {603, 158}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} + {{10, 27}, {603, 158}} + RubberWindowFrame + 369 385 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B9D74881F7F9B9C007AB60F + 8B792D6721F428CA006E9731 1CA23ED40692098700951B8B - 8B9D74891F7F9B9C007AB60F + 8B792D6821F428CA006E9731 8BC032A31D66648E0039F36E - 8B9D748A1F7F9B9C007AB60F + 8B792D6921F428CA006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -638,7 +636,7 @@ StatusbarIsVisible TimeStamp - 528456604.44275099 + 569649354.665344 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -655,11 +653,10 @@ 5 WindowOrderList - 8B9D748B1F7F9B9C007AB60F /Users/christopherjohnson/Desktop/MacAU/Highpass/Highpass.xcodeproj WindowString - 626 387 810 487 0 0 1440 878 + 369 385 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Hombre/Hombre.cpp b/plugins/MacAU/Hombre/Hombre.cpp index d16d992..420afa5 100755 --- a/plugins/MacAU/Hombre/Hombre.cpp +++ b/plugins/MacAU/Hombre/Hombre.cpp @@ -169,9 +169,7 @@ void Hombre::HombreKernel::Reset() for(int count = 0; count < 4000; count++) {p[count] = 0.0;} gcount = 0; slide = 0.421; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -196,15 +194,10 @@ void Hombre::HombreKernel::Process( const Float32 *inSourceP, int widthB = (int)(7.0*overallscale); //max 364 at 44.1, 792 at 96K Float64 wet = GetParameter( kParam_Two ); Float64 dry = 1.0 - wet; - long double inputSample; Float64 drySample; Float64 total; - int count; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + int count; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -273,23 +266,13 @@ void Hombre::HombreKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; - //built in output trim and dry/wet if desired - //*destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } diff --git a/plugins/MacAU/Hombre/Hombre.h b/plugins/MacAU/Hombre/Hombre.h index fd408c3..0f2225b 100755 --- a/plugins/MacAU/Hombre/Hombre.h +++ b/plugins/MacAU/Hombre/Hombre.h @@ -131,9 +131,7 @@ public: Float64 p[4001]; Float64 slide; int gcount; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser index 5ff61b8..31f4928 100755 --- a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456614; - PBXWorkspaceStateSaveDate = 528456614; + PBXPerProjectTemplateStateSaveDate = 569649376; + PBXWorkspaceStateSaveDate = 569649376; }; perUserProjectItems = { - 8B9D65431F7C899F007AB60F /* PBXTextBookmark */ = 8B9D65431F7C899F007AB60F /* PBXTextBookmark */; + 8B792D7F21F4297F006E9731 /* PBXTextBookmark */ = 8B792D7F21F4297F006E9731 /* PBXTextBookmark */; 8B9D74961F7F9BB0007AB60F /* PBXTextBookmark */ = 8B9D74961F7F9BB0007AB60F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D65431F7C899F007AB60F /* PBXTextBookmark */ = { + 8B792D7F21F4297F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A670720730100365D66 /* Hombre.exp */; name = "Hombre.exp: 2"; @@ -82,10 +82,10 @@ }; 8BA05A660720730100365D66 /* Hombre.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 3900}}"; - sepNavSelRange = "{9060, 0}"; - sepNavVisRange = "{8861, 2038}"; - sepNavWindowFrame = "{{295, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 3913}}"; + sepNavSelRange = "{11704, 0}"; + sepNavVisRange = "{10307, 1458}"; + sepNavWindowFrame = "{{165, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* Hombre.exp */ = { @@ -106,10 +106,10 @@ }; 8BC6025B073B072D006C4272 /* Hombre.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 1859}}"; - sepNavSelRange = "{5132, 0}"; - sepNavVisRange = "{3790, 1531}"; - sepNavWindowFrame = "{{809, 39}, {1005, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {958, 1833}}"; + sepNavSelRange = "{5170, 0}"; + sepNavVisRange = "{3685, 1595}"; + sepNavWindowFrame = "{{111, 39}, {1005, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3 index 6c54c7c..794a8fd 100755 --- a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 630 297 810 487 0 0 1440 878 + 455 313 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B9D74961F7F9BB0007AB60F + 8B792D7F21F4297F006E9731 history - 8B9D65431F7C899F007AB60F + 8B9D74961F7F9BB0007AB60F SplitCount @@ -371,7 +369,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 630 297 810 487 0 0 1440 878 + 455 313 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -395,8 +393,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 630 297 810 487 0 0 1440 878 Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 455 313 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B9D74971F7F9BB0007AB60F + 8B792D7221F428E1006E9731 1CA23ED40692098700951B8B - 8B9D74981F7F9BB0007AB60F + 8B792D7321F428E1006E9731 8BAC23231F1EA3AC009C635C - 8B9D74991F7F9BB0007AB60F + 8B792D7421F428E1006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528456624.78481799 + 569649535.57319403 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B9D749A1F7F9BB0007AB60F /Users/christopherjohnson/Desktop/MacAU/Hombre/Hombre.xcodeproj WindowString - 630 297 810 487 0 0 1440 878 + 455 313 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/IronOxide5/IronOxide5.cpp b/plugins/MacAU/IronOxide5/IronOxide5.cpp index f0c27dd..c64d19a 100755 --- a/plugins/MacAU/IronOxide5/IronOxide5.cpp +++ b/plugins/MacAU/IronOxide5/IronOxide5.cpp @@ -224,9 +224,7 @@ void IronOxide5::IronOxide5Kernel::Reset() sweep = 0.0; rateof = 0.5; nextmax = 0.5; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -288,11 +286,6 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP, Float64 dry = 1.0; if (invdrywet > 0.0) dry -= invdrywet; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -475,7 +468,7 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP, inputSample += (prevInputSample*randy); prevInputSample = drySample; - flip = not flip; + flip = !flip; //begin invdrywet block with outputgain if (outputgain != 1.0) inputSample *= outputgain; @@ -484,23 +477,14 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP, if (fabs(drySample) > 0.0) inputSample += drySample; //end invdrywet block with outputgain - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; - sourceP += inNumChannels; destP += inNumChannels; } } diff --git a/plugins/MacAU/IronOxide5/IronOxide5.h b/plugins/MacAU/IronOxide5/IronOxide5.h index 2b0b16e..2b3c655 100755 --- a/plugins/MacAU/IronOxide5/IronOxide5.h +++ b/plugins/MacAU/IronOxide5/IronOxide5.h @@ -167,13 +167,8 @@ public: Float64 rateof; Float64 sweep; Float64 nextmax; - - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; - + long double fpNShape; bool flip; - int demotimer; }; }; diff --git a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser index 0cb3aa0..8cbc973 100755 --- a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456633; - PBXWorkspaceStateSaveDate = 528456633; + PBXPerProjectTemplateStateSaveDate = 569649559; + PBXWorkspaceStateSaveDate = 569649559; }; perUserProjectItems = { - 8B9D65541F7C89D7007AB60F /* PlistBookmark */ = 8B9D65541F7C89D7007AB60F /* PlistBookmark */; + 8B792D9121F42A46006E9731 /* PlistBookmark */ = 8B792D9121F42A46006E9731 /* PlistBookmark */; 8B9D74A51F7F9BC2007AB60F /* PlistBookmark */ = 8B9D74A51F7F9BC2007AB60F /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D65541F7C89D7007AB60F /* PlistBookmark */ = { + 8B792D9121F42A46006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,7 +70,7 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/IronOxide5/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; 8B9D74A51F7F9BC2007AB60F /* PlistBookmark */ = { isa = PlistBookmark; @@ -82,14 +82,14 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/IronOxide5/Info.plist; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9223372036854775808; }; 8BA05A660720730100365D66 /* IronOxide5.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1006, 6552}}"; - sepNavSelRange = "{13026, 0}"; - sepNavVisRange = "{12449, 2393}"; - sepNavWindowFrame = "{{387, 39}, {1053, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 7072}}"; + sepNavSelRange = "{19392, 0}"; + sepNavVisRange = "{17695, 1759}"; + sepNavWindowFrame = "{{237, 39}, {1053, 839}}"; }; }; 8BA05A690720730100365D66 /* IronOxide5Version.h */ = { @@ -102,10 +102,10 @@ }; 8BC6025B073B072D006C4272 /* IronOxide5.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1006, 2327}}"; - sepNavSelRange = "{3959, 0}"; - sepNavVisRange = "{4993, 1457}"; - sepNavWindowFrame = "{{387, 39}, {1053, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 2535}}"; + sepNavSelRange = "{6418, 0}"; + sepNavVisRange = "{5321, 1207}"; + sepNavWindowFrame = "{{130, 39}, {1053, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3 index e2992e0..fd0036a 100755 --- a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 826 + 826 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 607 110 826 502 0 0 1440 878 + 386 241 826 502 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +351,10 @@ _historyCapacity 0 bookmark - 8B9D74A51F7F9BC2007AB60F + 8B792D9121F42A46006E9731 history - 8B9D65541F7C89D7007AB60F + 8B9D74A51F7F9BC2007AB60F SplitCount @@ -372,7 +370,7 @@ Frame {{0, 0}, {516, 0}} RubberWindowFrame - 607 110 826 502 0 0 1440 878 + 386 241 826 502 0 0 1440 878 Module PBXNavigatorGroup @@ -396,8 +394,6 @@ Frame {{10, 27}, {516, 429}} - RubberWindowFrame - 607 110 826 502 0 0 1440 878 Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {516, 429}} + RubberWindowFrame + 386 241 826 502 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B9D74A61F7F9BC2007AB60F + 8B792D9221F42A46006E9731 1CA23ED40692098700951B8B - 8B9D74A71F7F9BC2007AB60F + 8B792D9321F42A46006E9731 8BD7274A1D46E5A5000176F0 - 8B9D74A81F7F9BC2007AB60F + 8B792D9421F42A46006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +654,7 @@ StatusbarIsVisible TimeStamp - 528456642.85610998 + 569649734.80982804 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +671,10 @@ 5 WindowOrderList - 8B9D74A91F7F9BC2007AB60F /Users/christopherjohnson/Desktop/MacAU/IronOxide5/IronOxide5.xcodeproj WindowString - 607 110 826 502 0 0 1440 878 + 386 241 826 502 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp b/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp index 54c5821..4bd736f 100755 --- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp +++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp @@ -180,8 +180,7 @@ void IronOxideClassic::IronOxideClassicKernel::Reset() gcount = 0; fastIIRA = fastIIRB = slowIIRA = slowIIRB = 0.0; iirSampleA = iirSampleB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -223,11 +222,6 @@ void IronOxideClassic::IronOxideClassicKernel::Process( const Float32 *inSourc fastTaper = 1.0 + (fastTaper / overallscale); slowTaper = 1.0 + (slowTaper / overallscale); } - - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -385,20 +379,13 @@ void IronOxideClassic::IronOxideClassicKernel::Process( const Float32 *inSourc //second stage of overdrive to prevent overs and allow bloody loud extremeness if (outputgain != 1.0) inputSample *= outputgain; + fpFlip = !fpFlip; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.h b/plugins/MacAU/IronOxideClassic/IronOxideClassic.h index 283ae2b..4dfe41b 100755 --- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.h +++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.h @@ -142,8 +142,7 @@ public: Float64 slowIIRB; SInt32 gcount; - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser index 4f2e20c..46ceb7d 100755 --- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser @@ -49,44 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456653; - PBXWorkspaceStateSaveDate = 528456653; + PBXPerProjectTemplateStateSaveDate = 569649756; + PBXWorkspaceStateSaveDate = 569649756; }; perUserProjectItems = { - 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */ = 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */; - 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */ = 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */; + 8B792DA221F42AC7006E9731 /* PBXTextBookmark */ = 8B792DA221F42AC7006E9731 /* PBXTextBookmark */; + 8B792DA721F42AD9006E9731 /* PBXTextBookmark */ = 8B792DA721F42AD9006E9731 /* PBXTextBookmark */; 8BCB78421ED90EBD001D6861 /* PlistBookmark */ = 8BCB78421ED90EBD001D6861 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */ = { + 8B792DA221F42AC7006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* IronOxideClassic.cpp */; - name = "IronOxideClassic.cpp: 271"; + name = "IronOxideClassic.cpp: 265"; rLen = 50; - rLoc = 11952; + rLoc = 11820; rType = 0; - vrLen = 342; - vrLoc = 13099; + vrLen = 250; + vrLoc = 13063; }; - 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */ = { + 8B792DA721F42AD9006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* IronOxideClassic.cpp */; - name = "IronOxideClassic.cpp: 271"; + name = "IronOxideClassic.cpp: 265"; rLen = 50; - rLoc = 11952; + rLoc = 11820; rType = 0; - vrLen = 263; - vrLoc = 13099; + vrLen = 250; + vrLoc = 13063; }; 8BA05A660720730100365D66 /* IronOxideClassic.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {482, 5538}}"; - sepNavSelRange = "{11952, 50}"; - sepNavVisRange = "{13099, 263}"; - sepNavWindowFrame = "{{408, 39}, {952, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {482, 5421}}"; + sepNavSelRange = "{11820, 50}"; + sepNavVisRange = "{13063, 250}"; + sepNavWindowFrame = "{{215, 32}, {952, 839}}"; }; }; 8BA05A690720730100365D66 /* IronOxideClassicVersion.h */ = { @@ -100,8 +100,8 @@ 8BC6025B073B072D006C4272 /* IronOxideClassic.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {905, 2002}}"; - sepNavSelRange = "{5476, 159}"; - sepNavVisRange = "{955, 2468}"; + sepNavSelRange = "{5661, 0}"; + sepNavVisRange = "{4268, 1518}"; sepNavWindowFrame = "{{5, 39}, {952, 839}}"; }; }; diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3 index 11ad553..4aa0a49 100755 --- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 841 + 841 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -301,7 +299,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B9D74B41F7F9BE8007AB60F + 8B792DA721F42AD9006E9731 history 8BCB78421ED90EBD001D6861 - 8B9D65651F7C8A00007AB60F + 8B792DA221F42AC7006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 188}} + {{0, 0}, {531, 173}} RubberWindowFrame 396 187 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 188pt + 173pt Proportion - 420pt + 435pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 393}} - RubberWindowFrame - 396 187 841 654 0 0 1440 878 + {{10, 27}, {531, 408}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {531, 408}} + RubberWindowFrame + 396 187 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D74B51F7F9BE8007AB60F + 8B792DA821F42AD9006E9731 1CA23ED40692098700951B8B - 8B9D74B61F7F9BE8007AB60F + 8B792DA921F42AD9006E9731 8BD7274A1D46E5A5000176F0 - 8B9D74B71F7F9BE8007AB60F + 8B792DAA21F42AD9006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 528456680.36902398 + 569649881.95772898 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +672,6 @@ 5 WindowOrderList - 8B9D74B81F7F9BE8007AB60F /Users/christopherjohnson/Desktop/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj WindowString diff --git a/plugins/MacAU/Logical4/Logical4.cpp b/plugins/MacAU/Logical4/Logical4.cpp index 32e4312..af228c2 100755 --- a/plugins/MacAU/Logical4/Logical4.cpp +++ b/plugins/MacAU/Logical4/Logical4.cpp @@ -267,10 +267,9 @@ ComponentResult Logical4::Reset(AudioUnitScope inScope, AudioUnitElement inElem gcount = 0; //end Power Sags - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; + + fpNShapeL = 0.0; + fpNShapeR = 0.0; fpFlip = true; return noErr; } @@ -293,16 +292,16 @@ OSStatus Logical4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; UInt32 nSampleFrames = inFramesToProcess; Float32 drySampleL; Float32 drySampleR; - Float64 inputSampleL; - Float64 inputSampleR; - + long double inputSampleL; + long double inputSampleR; + + long double fpOld = 0.618033988749894848204586; //golden ratio! + long double fpNew = 1.0 - fpOld; + //begin ButterComp Float64 inputpos; Float64 inputneg; @@ -1145,26 +1144,16 @@ OSStatus Logical4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag inputSampleL = (inputSampleL * wet) + (drySampleL * dry); inputSampleR = (inputSampleR * wet) + (drySampleR * dry); } - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = drySampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeAL; - fpTemp = drySampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeAR; - } - else { - fpTemp = drySampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeBL; - fpTemp = drySampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeBR; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Logical4/Logical4.h b/plugins/MacAU/Logical4/Logical4.h index 269fb08..31b3c1a 100755 --- a/plugins/MacAU/Logical4/Logical4.h +++ b/plugins/MacAU/Logical4/Logical4.h @@ -210,10 +210,8 @@ private: int gcount; - Float64 fpNShapeAL; - Float64 fpNShapeAR; - Float64 fpNShapeBL; - Float64 fpNShapeBR; + long double fpNShapeR; + long double fpNShapeL; bool fpFlip; }; diff --git a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser index aeec156..7396e6c 100755 --- a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,19 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456690; - PBXWorkspaceStateSaveDate = 528456690; - }; - perUserProjectItems = { - 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */ = 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */; - 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */ = 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */; + PBXPerProjectTemplateStateSaveDate = 569649914; + PBXWorkspaceStateSaveDate = 569649914; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Logical4.h */; - name = "Logical4.h: 65"; - rLen = 0; - rLoc = 3218; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Logical4.h */; - name = "Logical4.h: 65"; - rLen = 0; - rLoc = 3218; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 8BA05A660720730100365D66 /* Logical4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1156, 15431}}"; - sepNavSelRange = "{14451, 0}"; - sepNavVisRange = "{14181, 2352}"; - sepNavWindowFrame = "{{237, 42}, {1203, 836}}"; + sepNavIntBoundsRect = "{{0, 0}, {1156, 15860}}"; + sepNavSelRange = "{11365, 0}"; + sepNavVisRange = "{10694, 1692}"; + sepNavWindowFrame = "{{85, 42}, {1203, 836}}"; }; }; 8BA05A690720730100365D66 /* Logical4Version.h */ = { @@ -98,10 +74,10 @@ }; 8BC6025B073B072D006C4272 /* Logical4.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 2925}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 2912}}"; sepNavSelRange = "{3218, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{767, -61}, {932, 815}}"; + sepNavWindowFrame = "{{508, 39}, {932, 815}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3 index 2664542..65ca7eb 100755 --- a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 185 RubberWindowFrame - 630 344 810 487 0 0 1440 878 + 489 322 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,23 +341,13 @@ PBXProjectModuleGUID 8BAC22EC1F1EA26E009C635C PBXProjectModuleLabel - Logical4.h + <No Editor> PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID 8BAC22ED1F1EA26E009C635C - PBXProjectModuleLabel - Logical4.h - _historyCapacity - 0 - bookmark - 8B9D74C31F7F9C65007AB60F - history - - 8B9D65761F7C8A4B007AB60F - SplitCount 1 @@ -372,7 +362,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 630 344 810 487 0 0 1440 878 + 489 322 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -396,8 +386,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 630 344 810 487 0 0 1440 878 Module XCDetailModule @@ -451,7 +439,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 489 322 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +469,11 @@ TableOfContents - 8B9D74C41F7F9C65007AB60F + 8B792DC121F42BF4006E9731 1CA23ED40692098700951B8B - 8B9D74C51F7F9C65007AB60F + 8B792DC221F42BF4006E9731 8BAC22EC1F1EA26E009C635C - 8B9D74C61F7F9C65007AB60F + 8B792DC321F42BF4006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +626,7 @@ StatusbarIsVisible TimeStamp - 528456805.22078699 + 569650164.73212397 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +643,10 @@ 5 WindowOrderList - 8B9D74C71F7F9C65007AB60F /Users/christopherjohnson/Desktop/MacAU/Logical4/Logical4.xcodeproj WindowString - 630 344 810 487 0 0 1440 878 + 489 322 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Loud/Loud.cpp b/plugins/MacAU/Loud/Loud.cpp index 3d954d6..8be40d2 100755 --- a/plugins/MacAU/Loud/Loud.cpp +++ b/plugins/MacAU/Loud/Loud.cpp @@ -175,9 +175,7 @@ ComponentResult Loud::Initialize() void Loud::LoudKernel::Reset() { lastSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -196,9 +194,6 @@ void Loud::LoudKernel::Process( const Float32 *inSourceP, overallscale /= 44100.0; overallscale *= GetSampleRate(); Float64 boost = pow(GetParameter( kParam_One )+1.0,5); - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - Float32 fpTemp; Float64 output = GetParameter( kParam_Two ); Float64 wet = GetParameter( kParam_Three ); @@ -267,19 +262,11 @@ void Loud::LoudKernel::Process( const Float32 *inSourceP, //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Loud/Loud.h b/plugins/MacAU/Loud/Loud.h index 4f15994..289716f 100755 --- a/plugins/MacAU/Loud/Loud.h +++ b/plugins/MacAU/Loud/Loud.h @@ -134,9 +134,7 @@ public: private: Float64 lastSample; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser index 987043f..77ce748 100755 --- a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser @@ -49,37 +49,37 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547640834; - PBXWorkspaceStateSaveDate = 547640834; + PBXPerProjectTemplateStateSaveDate = 569650197; + PBXWorkspaceStateSaveDate = 569650197; }; perUserProjectItems = { - 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */ = 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */; - 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */ = 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */; + 8B792DD221F42C71006E9731 /* PBXTextBookmark */ = 8B792DD221F42C71006E9731 /* PBXTextBookmark */; + 8B792DD721F42C90006E9731 /* PBXTextBookmark */ = 8B792DD721F42C90006E9731 /* PBXTextBookmark */; 8B9F0C141EB4035300D3B900 /* PBXTextBookmark */ = 8B9F0C141EB4035300D3B900 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */ = { + 8B792DD221F42C71006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Loud.cpp */; - name = "Loud.cpp: 237"; + name = "Loud.cpp: 232"; rLen = 983; - rLoc = 10671; + rLoc = 10520; rType = 0; - vrLen = 140; - vrLoc = 9658; + vrLen = 0; + vrLoc = 0; }; - 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */ = { + 8B792DD721F42C90006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Loud.cpp */; - name = "Loud.cpp: 237"; + name = "Loud.cpp: 232"; rLen = 983; - rLoc = 10671; + rLoc = 10520; rType = 0; - vrLen = 140; - vrLoc = 9658; + vrLen = 0; + vrLoc = 0; }; 8B9F0C141EB4035300D3B900 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -93,10 +93,10 @@ }; 8BA05A660720730100365D66 /* Loud.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 3809}}"; - sepNavSelRange = "{10671, 983}"; - sepNavVisRange = "{9658, 140}"; - sepNavWindowFrame = "{{477, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 3718}}"; + sepNavSelRange = "{10520, 983}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{92, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* Loud.exp */ = { @@ -117,10 +117,10 @@ }; 8BC6025B073B072D006C4272 /* Loud.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1006, 1898}}"; - sepNavSelRange = "{2999, 121}"; - sepNavVisRange = "{3795, 1551}"; - sepNavWindowFrame = "{{89, -6}, {1053, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {1006, 1846}}"; + sepNavSelRange = "{5199, 0}"; + sepNavVisRange = "{3721, 1588}"; + sepNavWindowFrame = "{{89, 39}, {1053, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3 index 2b8deb6..fc5744d 100755 --- a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8B904D5920A4584C008CBAD8 + 8B792DD721F42C90006E9731 history 8B9F0C141EB4035300D3B900 - 8B904D5820A4584C008CBAD8 + 8B792DD221F42C71006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 51}} + {{0, 0}, {603, 32}} RubberWindowFrame 337 373 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 51pt + 32pt Proportion - 390pt + 409pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 363}} - RubberWindowFrame - 337 373 810 487 0 0 1440 878 + {{10, 27}, {603, 382}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 382}} + RubberWindowFrame + 337 373 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +477,11 @@ TableOfContents - 8B904D5A20A4584C008CBAD8 + 8B792DD821F42C90006E9731 1CA23ED40692098700951B8B - 8B904D5B20A4584C008CBAD8 + 8B792DD921F42C90006E9731 8BDB26991EAA805E001F42B2 - 8B904D5C20A4584C008CBAD8 + 8B792DDA21F42C90006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 547641420.42251396 + 569650320.319924 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,7 +651,6 @@ 5 WindowOrderList - 8B904D5D20A4584C008CBAD8 /Users/christopherjohnson/Desktop/MacAU/Loud/Loud.xcodeproj WindowString diff --git a/plugins/MacAU/Lowpass/Lowpass.cpp b/plugins/MacAU/Lowpass/Lowpass.cpp index 234b763..f727829 100755 --- a/plugins/MacAU/Lowpass/Lowpass.cpp +++ b/plugins/MacAU/Lowpass/Lowpass.cpp @@ -176,8 +176,7 @@ void Lowpass::LowpassKernel::Reset() { iirSampleA = 0.0; iirSampleB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -205,9 +204,6 @@ void Lowpass::LowpassKernel::Process( const Float32 *inSourceP, Float64 offset; Float64 inputSample; Float64 outputSample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; iirAmount += (iirAmount * tight * tight); if (tight > 0) tight /= 1.5; @@ -262,20 +258,13 @@ void Lowpass::LowpassKernel::Process( const Float32 *inSourceP, } if (wet < 1.0) outputSample = (outputSample * wet) + (inputSample * dry); - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = outputSample; - fpNShapeA = (fpNShapeA*fpOld)+((outputSample-fpTemp)*fpNew); - outputSample += fpNShapeA; - } - else { - fpTemp = outputSample; - fpNShapeB = (fpNShapeB*fpOld)+((outputSample-fpTemp)*fpNew); - outputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = outputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/Lowpass/Lowpass.h b/plugins/MacAU/Lowpass/Lowpass.h index 695a116..cf12e75 100755 --- a/plugins/MacAU/Lowpass/Lowpass.h +++ b/plugins/MacAU/Lowpass/Lowpass.h @@ -133,8 +133,7 @@ public: private: Float64 iirSampleA; Float64 iirSampleB; - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser index f5f0bfd..badd1c8 100755 --- a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456837; - PBXWorkspaceStateSaveDate = 528456837; + PBXPerProjectTemplateStateSaveDate = 569650365; + PBXWorkspaceStateSaveDate = 569650365; }; perUserProjectItems = { 8B22B12A1DB18F4E0075D7AA /* PBXTextBookmark */ = 8B22B12A1DB18F4E0075D7AA /* PBXTextBookmark */; 8B22B12B1DB18F4E0075D7AA /* PBXTextBookmark */ = 8B22B12B1DB18F4E0075D7AA /* PBXTextBookmark */; - 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */ = 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */; - 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */ = 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */; + 8B792DE821F42D38006E9731 /* PBXTextBookmark */ = 8B792DE821F42D38006E9731 /* PBXTextBookmark */; + 8B792DED21F42D64006E9731 /* PBXTextBookmark */ = 8B792DED21F42D64006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -82,7 +82,7 @@ vrLen = 672; vrLoc = 7641; }; - 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */ = { + 8B792DE821F42D38006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Lowpass.h */; name = "Lowpass.h: 134"; @@ -92,21 +92,21 @@ vrLen = 647; vrLoc = 2906; }; - 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */ = { + 8B792DED21F42D64006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Lowpass.h */; name = "Lowpass.h: 134"; rLen = 44; rLoc = 5247; rType = 0; - vrLen = 647; + vrLen = 379; vrLoc = 2906; }; 8BA05A660720730100365D66 /* Lowpass.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {964, 3770}}"; - sepNavSelRange = "{9874, 0}"; - sepNavVisRange = "{9374, 2090}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 3796}}"; + sepNavSelRange = "{11986, 0}"; + sepNavVisRange = "{10557, 1517}"; sepNavWindowFrame = "{{418, 133}, {903, 692}}"; }; }; @@ -128,9 +128,9 @@ }; 8BC6025B073B072D006C4272 /* Lowpass.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 2080}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 1911}}"; sepNavSelRange = "{5247, 44}"; - sepNavVisRange = "{2906, 647}"; + sepNavVisRange = "{2906, 379}"; sepNavWindowFrame = "{{15, 54}, {895, 819}}"; }; }; diff --git a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3 index 77c2c6b..1791e2f 100755 --- a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 548 245 810 487 0 0 1440 878 + 445 250 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,12 +350,12 @@ _historyCapacity 0 bookmark - 8B9D74E11F7F9CD5007AB60F + 8B792DED21F42D64006E9731 history 8B22B12A1DB18F4E0075D7AA 8B22B12B1DB18F4E0075D7AA - 8B9D65961F7C8AEB007AB60F + 8B792DE821F42D38006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 325}} + {{0, 0}, {603, 146}} RubberWindowFrame - 548 245 810 487 0 0 1440 878 + 445 250 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 325pt + 146pt Proportion - 116pt + 295pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 89}} - RubberWindowFrame - 548 245 810 487 0 0 1440 878 + {{10, 27}, {603, 95}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 268}} + RubberWindowFrame + 445 250 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D74E21F7F9CD5007AB60F + 8B792DEE21F42D64006E9731 1CA23ED40692098700951B8B - 8B9D74E31F7F9CD5007AB60F + 8B792DEF21F42D64006E9731 8B48C3411DAAD496009A0ADD - 8B9D74E41F7F9CD5007AB60F + 8B792DF021F42D64006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528456917.709867 + 569650532.61439598 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +652,10 @@ 5 WindowOrderList - 8B9D74E51F7F9CD5007AB60F /Users/christopherjohnson/Desktop/MacAU/Lowpass/Lowpass.xcodeproj WindowString - 548 245 810 487 0 0 1440 878 + 445 250 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Melt/Melt.cpp b/plugins/MacAU/Melt/Melt.cpp index 8da35b4..eaca93d 100755 --- a/plugins/MacAU/Melt/Melt.cpp +++ b/plugins/MacAU/Melt/Melt.cpp @@ -189,10 +189,7 @@ void Melt::MeltKernel::Reset() stepCount = 0; slowCount = 0; gcount = 0; - - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -245,10 +242,6 @@ void Melt::MeltKernel::Process( const Float32 *inSourceP, minTap[28] = floor(109 * depthA); maxTap[28] = floor(109 * depthB); minTap[29] = floor(113 * depthA); maxTap[29] = floor(113 * depthB); minTap[30] = floor(117 * depthA); maxTap[30] = floor(117 * depthB); - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double drySample; long double inputSample; @@ -370,20 +363,11 @@ void Melt::MeltKernel::Process( const Float32 *inSourceP, //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Melt/Melt.h b/plugins/MacAU/Melt/Melt.h index b8e7122..4473fb5 100755 --- a/plugins/MacAU/Melt/Melt.h +++ b/plugins/MacAU/Melt/Melt.h @@ -145,9 +145,7 @@ public: Float32 scalefactor; int gcount; //we're using 32 bit because we want to build some truncation into the tails to noise them. - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser index 608567f..0973f73 100755 --- a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528456926; - PBXWorkspaceStateSaveDate = 528456926; + PBXPerProjectTemplateStateSaveDate = 569650600; + PBXWorkspaceStateSaveDate = 569650600; }; perUserProjectItems = { 8B3483971E27D980007B1BF6 /* PlistBookmark */ = 8B3483971E27D980007B1BF6 /* PlistBookmark */; 8B4296221E6DCF55007D8787 /* PBXTextBookmark */ = 8B4296221E6DCF55007D8787 /* PBXTextBookmark */; - 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */ = 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */; - 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */ = 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */; + 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */ = 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */; + 8B792E0421F42E5D006E9731 /* PBXTextBookmark */ = 8B792E0421F42E5D006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -84,48 +84,48 @@ vrLen = 354; vrLoc = 5375; }; - 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */ = { + 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* MeltVersion.h */; name = "MeltVersion.h: 56"; rLen = 0; rLoc = 2913; rType = 0; - vrLen = 326; - vrLoc = 2595; + vrLen = 274; + vrLoc = 2647; }; - 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */ = { + 8B792E0421F42E5D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* MeltVersion.h */; name = "MeltVersion.h: 56"; rLen = 0; rLoc = 2913; rType = 0; - vrLen = 300; - vrLoc = 2621; + vrLen = 274; + vrLoc = 2647; }; 8BA05A660720730100365D66 /* Melt.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {880, 4914}}"; - sepNavSelRange = "{12007, 0}"; - sepNavVisRange = "{11242, 2563}"; - sepNavWindowFrame = "{{516, 41}, {923, 837}}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 5252}}"; + sepNavSelRange = "{16035, 0}"; + sepNavVisRange = "{14613, 1510}"; + sepNavWindowFrame = "{{351, 41}, {923, 837}}"; }; }; 8BA05A690720730100365D66 /* MeltVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 793}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 832}}"; sepNavSelRange = "{2913, 0}"; - sepNavVisRange = "{2621, 300}"; + sepNavVisRange = "{2647, 274}"; sepNavWindowFrame = "{{15, 39}, {923, 837}}"; }; }; 8BC6025B073B072D006C4272 /* Melt.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}"; - sepNavSelRange = "{5375, 185}"; - sepNavVisRange = "{2703, 1607}"; - sepNavWindowFrame = "{{780, 30}, {923, 837}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}"; + sepNavSelRange = "{5681, 0}"; + sepNavVisRange = "{4205, 1578}"; + sepNavWindowFrame = "{{358, 41}, {923, 837}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3 index a3708e3..09058db 100755 --- a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 599 164 841 654 0 0 1440 878 + 461 194 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,12 +351,12 @@ _historyCapacity 0 bookmark - 8B9D74F01F7F9D02007AB60F + 8B792E0421F42E5D006E9731 history 8B3483971E27D980007B1BF6 8B4296221E6DCF55007D8787 - 8B9D65A91F7C8B27007AB60F + 8B792DFF21F42E3C006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 202}} RubberWindowFrame - 599 164 841 654 0 0 1440 878 + 461 194 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 202pt Proportion - 392pt + 406pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} - RubberWindowFrame - 599 164 841 654 0 0 1440 878 + {{10, 27}, {531, 379}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 379}} + RubberWindowFrame + 461 194 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B9D74F11F7F9D02007AB60F + 8B792E0521F42E5D006E9731 1CA23ED40692098700951B8B - 8B9D74F21F7F9D02007AB60F + 8B792E0621F42E5D006E9731 8BD7274A1D46E5A5000176F0 - 8B9D74F31F7F9D02007AB60F + 8B792E0721F42E5D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 528456962.27142799 + 569650781.22719395 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +673,10 @@ 5 WindowOrderList - 8B9D74F41F7F9D02007AB60F /Users/christopherjohnson/Desktop/MacAU/Melt/Melt.xcodeproj WindowString - 599 164 841 654 0 0 1440 878 + 461 194 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/MidSide/MidSide.cpp b/plugins/MacAU/MidSide/MidSide.cpp index 32dfa00..8330aa1 100755 --- a/plugins/MacAU/MidSide/MidSide.cpp +++ b/plugins/MacAU/MidSide/MidSide.cpp @@ -171,11 +171,8 @@ ComponentResult MidSide::Initialize() // this is called the reset the DSP state (clear buffers, reset counters, etc.) ComponentResult MidSide::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeLA = 0.0; - fpNShapeLB = 0.0; - fpNShapeRA = 0.0; - fpNShapeRB = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -194,11 +191,7 @@ OSStatus MidSide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); UInt32 nSampleFrames = inFramesToProcess; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + long double inputSampleL; long double inputSampleR; long double mid; @@ -256,25 +249,14 @@ OSStatus MidSide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags mid *= midgain; side *= sidegain; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = mid; - fpNShapeLA = (fpNShapeLA*fpOld)+((mid-fpTemp)*fpNew); - mid += fpNShapeLA; - fpTemp = side; - fpNShapeRA = (fpNShapeRA*fpOld)+((side-fpTemp)*fpNew); - side += fpNShapeRA; - } - else { - fpTemp = mid; - fpNShapeLB = (fpNShapeLB*fpOld)+((mid-fpTemp)*fpNew); - mid += fpNShapeLB; - fpTemp = side; - fpNShapeRB = (fpNShapeRB*fpOld)+((side-fpTemp)*fpNew); - side += fpNShapeRB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)mid, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + mid += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)side, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + side += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = mid; *outputR = side; diff --git a/plugins/MacAU/MidSide/MidSide.h b/plugins/MacAU/MidSide/MidSide.h index 9d78006..643457a 100755 --- a/plugins/MacAU/MidSide/MidSide.h +++ b/plugins/MacAU/MidSide/MidSide.h @@ -111,11 +111,8 @@ public: virtual ComponentResult Version() { return kMidSideVersion; } private: - long double fpNShapeLA; - long double fpNShapeLB; - long double fpNShapeRA; - long double fpNShapeRB; - bool fpFlip; + long double fpNShapeL; + long double fpNShapeR; //default stuff }; diff --git a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser index 4bb0c76..854d5ed 100755 --- a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457068; - PBXWorkspaceStateSaveDate = 528457068; + PBXPerProjectTemplateStateSaveDate = 569650825; + PBXWorkspaceStateSaveDate = 569650825; }; perUserProjectItems = { - 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */ = 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */; - 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */ = 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */; + 8B792E1621F42F27006E9731 /* PBXTextBookmark */ = 8B792E1621F42F27006E9731 /* PBXTextBookmark */; + 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */ = 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */ = { + 8B792E1621F42F27006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* MidSide.cpp */; - name = "MidSide.cpp: 179"; + name = "MidSide.cpp: 176"; rLen = 0; - rLoc = 7698; + rLoc = 7642; rType = 0; - vrLen = 71; - vrLoc = 7644; + vrLen = 4; + vrLoc = 7657; }; - 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */ = { + 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* MidSide.cpp */; - name = "MidSide.cpp: 179"; + name = "MidSide.cpp: 176"; rLen = 0; - rLoc = 7698; + rLoc = 7642; rType = 0; - vrLen = 33; - vrLoc = 7682; + vrLen = 3; + vrLoc = 7657; }; 8BA05A660720730100365D66 /* MidSide.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3848}}"; - sepNavSelRange = "{7698, 0}"; - sepNavVisRange = "{7682, 33}"; - sepNavWindowFrame = "{{370, 56}, {1070, 811}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3770}}"; + sepNavSelRange = "{7642, 0}"; + sepNavVisRange = "{7657, 3}"; + sepNavWindowFrame = "{{199, 67}, {1070, 811}}"; }; }; 8BA05A670720730100365D66 /* MidSide.exp */ = { @@ -106,10 +106,10 @@ }; 8BC6025B073B072D006C4272 /* MidSide.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1023, 1638}}"; - sepNavSelRange = "{4794, 131}"; - sepNavVisRange = "{3189, 1836}"; - sepNavWindowFrame = "{{612, 23}, {1070, 811}}"; + sepNavIntBoundsRect = "{{0, 0}, {1023, 1599}}"; + sepNavSelRange = "{4842, 0}"; + sepNavVisRange = "{3187, 1779}"; + sepNavWindowFrame = "{{370, 39}, {1070, 811}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3 index 32ff114..3db9e85 100755 --- a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 612 261 810 487 0 0 1440 878 + 444 290 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B9D74FF1F7F9D7C007AB60F + 8B792E1B21F42F3C006E9731 history - 8B9D65B91F7C8B49007AB60F + 8B792E1621F42F27006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame - 612 261 810 487 0 0 1440 878 + 444 290 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 612 261 810 487 0 0 1440 878 + {{10, 27}, {603, 363}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 444 290 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B9D75001F7F9D7C007AB60F + 8B792E1C21F42F3C006E9731 1CA23ED40692098700951B8B - 8B9D75011F7F9D7C007AB60F + 8B792E1D21F42F3C006E9731 8B753E6F1E40231800347157 - 8B9D75021F7F9D7C007AB60F + 8B792E1E21F42F3C006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 528457084.46547401 + 569651004.49607897 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B9D75031F7F9D7C007AB60F /Users/christopherjohnson/Desktop/MacAU/MidSide/MidSide.xcodeproj WindowString - 612 261 810 487 0 0 1440 878 + 444 290 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.cpp b/plugins/MacAU/NCSeventeen/NCSeventeen.cpp index cc27033..14f0cf2 100755 --- a/plugins/MacAU/NCSeventeen/NCSeventeen.cpp +++ b/plugins/MacAU/NCSeventeen/NCSeventeen.cpp @@ -173,9 +173,7 @@ void NCSeventeen::NCSeventeenKernel::Reset() basslev = 0.0; treblev = 0.0; cheblev = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -189,12 +187,7 @@ void NCSeventeen::NCSeventeenKernel::Process( const Float32 *inSourceP, { UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; - Float32 *destP = inDestP; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + Float32 *destP = inDestP; Float64 inP2; Float64 chebyshev; Float64 overallscale = 1.0; @@ -389,19 +382,11 @@ void NCSeventeen::NCSeventeenKernel::Process( const Float32 *inSourceP, if (inputSample < -0.95) inputSample = -0.95; //iron bar - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; //built in output trim and dry/wet by default diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.h b/plugins/MacAU/NCSeventeen/NCSeventeen.h index 80575ef..571f64f 100755 --- a/plugins/MacAU/NCSeventeen/NCSeventeen.h +++ b/plugins/MacAU/NCSeventeen/NCSeventeen.h @@ -133,9 +133,7 @@ public: Float64 basslev; Float64 treblev; Float64 cheblev; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; //default stuff }; diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser index f9c1f79..6f69541 100755 --- a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser @@ -49,43 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 531741948; - PBXWorkspaceStateSaveDate = 531741948; + PBXPerProjectTemplateStateSaveDate = 569651037; + PBXWorkspaceStateSaveDate = 569651037; }; perUserProjectItems = { - 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */ = 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */; - 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */ = 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */; + 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */ = 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */; + 8B792E3221F43005006E9731 /* PBXTextBookmark */ = 8B792E3221F43005006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */ = { + 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* NCSeventeen.h */; name = "NCSeventeen.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 47; + vrLen = 26; vrLoc = 0; }; - 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */ = { + 8B792E3221F43005006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* NCSeventeen.h */; name = "NCSeventeen.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 29; + vrLen = 26; vrLoc = 0; }; 8BA05A660720730100365D66 /* NCSeventeen.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 5460}}"; - sepNavSelRange = "{16304, 0}"; - sepNavVisRange = "{15087, 1879}"; - sepNavWindowFrame = "{{295, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 5317}}"; + sepNavSelRange = "{16560, 0}"; + sepNavVisRange = "{14728, 1968}"; + sepNavWindowFrame = "{{152, 66}, {1145, 812}}"; }; }; 8BA05A690720730100365D66 /* NCSeventeenVersion.h */ = { @@ -98,10 +98,10 @@ }; 8BC6025B073B072D006C4272 /* NCSeventeen.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 1963}}"; + sepNavIntBoundsRect = "{{0, 0}, {554, 1937}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 29}"; - sepNavWindowFrame = "{{413, 43}, {1027, 835}}"; + sepNavVisRange = "{0, 26}"; + sepNavWindowFrame = "{{244, 43}, {1027, 835}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3 index 8047d9f..b049979 100755 --- a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 613 385 810 487 0 0 1440 878 + 460 371 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B6692BF1FB1BEBD007B3434 + 8B792E3221F43005006E9731 history - 8B66929D1FA3B6DF007B3434 + 8B792E2D21F42FE2006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {603, 51}} RubberWindowFrame - 613 385 810 487 0 0 1440 878 + 460 371 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 51pt Proportion - 372pt + 390pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 613 385 810 487 0 0 1440 878 + {{10, 27}, {603, 363}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 363}} + RubberWindowFrame + 460 371 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B6692C01FB1BEBD007B3434 + 8B792E3321F43005006E9731 1CA23ED40692098700951B8B - 8B6692C11FB1BEBD007B3434 + 8B792E3421F43005006E9731 8B67C76A1FA2B03A008C64D6 - 8B6692C21FB1BEBD007B3434 + 8B792E3521F43005006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 531742397.05920899 + 569651205.03675902 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B6692C31FB1BEBD007B3434 /Users/christopherjohnson/Desktop/MacAU/NCSeventeen/NCSeventeen.xcodeproj WindowString - 613 385 810 487 0 0 1440 878 + 460 371 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Noise/Noise.cpp b/plugins/MacAU/Noise/Noise.cpp index b528b4b..15ca903 100755 --- a/plugins/MacAU/Noise/Noise.cpp +++ b/plugins/MacAU/Noise/Noise.cpp @@ -209,9 +209,7 @@ void Noise::NoiseKernel::Reset() flip = false; filterflip = false; for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;} - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -311,10 +309,6 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP, f[9] /= overallscale; //and now it's neatly scaled, too - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -359,8 +353,8 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP, invcutoff = 1.0 - cutoff; //set up modified cutoff - flip = not flip; - filterflip = not filterflip; + flip = !flip; + filterflip = !filterflip; quadratic -= 1; if (quadratic < 0) { @@ -428,19 +422,11 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP, inputSample -= correctionSample; //applying the distance calculation to both the dry AND the noise output to blend them - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Noise/Noise.h b/plugins/MacAU/Noise/Noise.h index 7d0a6d7..452a603 100755 --- a/plugins/MacAU/Noise/Noise.h +++ b/plugins/MacAU/Noise/Noise.h @@ -152,9 +152,7 @@ public: bool filterflip; Float64 b[11]; Float64 f[11]; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser index 5aa8db5..fd77959 100755 --- a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser @@ -49,8 +49,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538271590; - PBXWorkspaceStateSaveDate = 538271590; + PBXPerProjectTemplateStateSaveDate = 569651243; + PBXWorkspaceStateSaveDate = 569651243; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -58,10 +58,10 @@ }; 8BA05A660720730100365D66 /* Noise.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {934, 6162}}"; - sepNavSelRange = "{17598, 1}"; - sepNavVisRange = "{16371, 1511}"; - sepNavWindowFrame = "{{449, 62}, {981, 816}}"; + sepNavIntBoundsRect = "{{0, 0}, {934, 5928}}"; + sepNavSelRange = "{13301, 0}"; + sepNavVisRange = "{10580, 1962}"; + sepNavWindowFrame = "{{302, 62}, {981, 816}}"; }; }; 8BA05A680720730100365D66 /* Noise.r */ = { @@ -82,10 +82,10 @@ }; 8BC6025B073B072D006C4272 /* Noise.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {934, 1911}}"; - sepNavSelRange = "{3042, 0}"; - sepNavVisRange = "{1672, 2009}"; - sepNavWindowFrame = "{{763, 62}, {981, 816}}"; + sepNavIntBoundsRect = "{{0, 0}, {934, 2223}}"; + sepNavSelRange = "{5824, 0}"; + sepNavVisRange = "{4614, 1330}"; + sepNavWindowFrame = "{{459, 62}, {981, 816}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3 index bc7c41e..3d7c6a5 100755 --- a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 614 382 810 487 0 0 1440 878 + 455 339 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -363,7 +361,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 614 382 810 487 0 0 1440 878 + 455 339 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -387,8 +385,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 614 382 810 487 0 0 1440 878 Module XCDetailModule @@ -442,7 +438,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 455 339 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +468,11 @@ TableOfContents - 8BA11D6C20155F6900D31247 + 8B792E4721F430DD006E9731 1CA23ED40692098700951B8B - 8BA11D6D20155F6900D31247 + 8B792E4821F430DD006E9731 8B6FC0582010B87E003CA5F7 - 8BA11D6E20155F6900D31247 + 8B792E4921F430DD006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +625,7 @@ StatusbarIsVisible TimeStamp - 538274889.58884597 + 569651421.60977602 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -647,7 +645,7 @@ /Users/christopherjohnson/Desktop/MacAU/Noise/Noise.xcodeproj WindowString - 614 382 810 487 0 0 1440 878 + 455 339 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp b/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp index 4c11ff3..d91e997 100755 --- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp +++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp @@ -408,11 +408,8 @@ ComponentResult NonlinearSpace::Reset(AudioUnitScope inScope, AudioUnitElement countdown = -1; flip = true; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -430,9 +427,6 @@ OSStatus NonlinearSpace::ProcessBufferLists(AudioUnitRenderActionFlags & ioActi Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; UInt32 nSampleFrames = inFramesToProcess; long double drySampleL; long double drySampleR; @@ -1161,25 +1155,14 @@ OSStatus NonlinearSpace::ProcessBufferLists(AudioUnitRenderActionFlags & ioActi drySampleR += inputSampleR; //here we combine the tanks with the dry signal - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = drySampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeAL; - fpTemp = drySampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeAR; - } - else { - fpTemp = drySampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeBL; - fpTemp = drySampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeBR; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither flip = !flip; *outputL = drySampleL; diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.h b/plugins/MacAU/NonlinearSpace/NonlinearSpace.h index 4e1fa8c..2c9b3d0 100755 --- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.h +++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.h @@ -293,12 +293,8 @@ private: Float64 nonlin; - - Float64 fpNShapeAL; - Float64 fpNShapeAR; - Float64 fpNShapeBL; - Float64 fpNShapeBR; - bool fpFlip; + Float64 fpNShapeR; + Float64 fpNShapeL; }; diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser index 3db0ed1..2fc6ea7 100755 --- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser @@ -49,28 +49,28 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541885687; - PBXWorkspaceStateSaveDate = 541885687; + PBXPerProjectTemplateStateSaveDate = 569651447; + PBXWorkspaceStateSaveDate = 569651447; }; perUserProjectItems = { - 8B18199D204B916F00516BEE /* PBXTextBookmark */ = 8B18199D204B916F00516BEE /* PBXTextBookmark */; - 8B181A99204C8C0B00516BEE /* PBXTextBookmark */ = 8B181A99204C8C0B00516BEE /* PBXTextBookmark */; + 8B792E5721F4316F006E9731 /* PBXTextBookmark */ = 8B792E5721F4316F006E9731 /* PBXTextBookmark */; + 8B792E5D21F4318F006E9731 /* PBXTextBookmark */ = 8B792E5D21F4318F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B18199D204B916F00516BEE /* PBXTextBookmark */ = { + 8B792E5721F4316F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */; name = "NonlinearSpaceVersion.h: 54"; rLen = 0; rLoc = 2930; rType = 0; - vrLen = 291; - vrLoc = 2693; + vrLen = 242; + vrLoc = 2742; }; - 8B181A99204C8C0B00516BEE /* PBXTextBookmark */ = { + 8B792E5D21F4318F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */; name = "NonlinearSpaceVersion.h: 54"; @@ -82,10 +82,10 @@ }; 8BA05A660720730100365D66 /* NonlinearSpace.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {950, 15535}}"; - sepNavSelRange = "{48346, 16}"; - sepNavVisRange = "{47066, 1488}"; - sepNavWindowFrame = "{{443, 40}, {997, 838}}"; + sepNavIntBoundsRect = "{{0, 0}, {1020, 15964}}"; + sepNavSelRange = "{16757, 0}"; + sepNavVisRange = "{15636, 1745}"; + sepNavWindowFrame = "{{278, 40}, {997, 838}}"; }; }; 8BA05A670720730100365D66 /* NonlinearSpace.exp */ = { @@ -97,7 +97,7 @@ }; 8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 897}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 910}}"; sepNavSelRange = "{2930, 0}"; sepNavVisRange = "{2742, 242}"; sepNavWindowFrame = "{{15, 40}, {997, 838}}"; @@ -105,9 +105,9 @@ }; 8BC6025B073B072D006C4272 /* NonlinearSpace.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {950, 4004}}"; - sepNavSelRange = "{3309, 0}"; - sepNavVisRange = "{9015, 1297}"; + sepNavIntBoundsRect = "{{0, 0}, {950, 4446}}"; + sepNavSelRange = "{10101, 0}"; + sepNavVisRange = "{8847, 1404}"; sepNavWindowFrame = "{{443, 40}, {997, 838}}"; }; }; diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3 index 71cc409..93eb68c 100755 --- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 605 353 810 487 0 0 1440 878 + 474 350 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B181A99204C8C0B00516BEE + 8B792E5D21F4318F006E9731 history - 8B18199D204B916F00516BEE + 8B792E5721F4316F006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 102}} RubberWindowFrame - 605 353 810 487 0 0 1440 878 + 474 350 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 102pt Proportion - 324pt + 339pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 605 353 810 487 0 0 1440 878 + {{10, 27}, {603, 312}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 312}} + RubberWindowFrame + 474 350 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B181A9A204C8C0B00516BEE + 8B792E5E21F4318F006E9731 1CA23ED40692098700951B8B - 8B181A9B204C8C0B00516BEE + 8B792E5F21F4318F006E9731 8BCA70082027EAB800D92BAD - 8B181A9C204C8C0B00516BEE + 8B792E6021F4318F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 541887499.900267 + 569651599.64848602 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,10 +650,11 @@ 5 WindowOrderList + 8B792E6121F4318F006E9731 /Users/christopherjohnson/Desktop/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj WindowString - 605 353 810 487 0 0 1440 878 + 474 350 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser index f4dc55f..f23ecda 100755 --- a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457201; - PBXWorkspaceStateSaveDate = 528457201; + PBXPerProjectTemplateStateSaveDate = 568767039; + PBXWorkspaceStateSaveDate = 568767039; }; perUserProjectItems = { 8B5B839E1E419C8A00ECA542 /* PlistBookmark */ = 8B5B839E1E419C8A00ECA542 /* PlistBookmark */; - 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */ = 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */; - 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */ = 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */; + 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */ = 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */; + 8BBB307421B7EF7400825986 /* PBXTextBookmark */ = 8BBB307421B7EF7400825986 /* PBXTextBookmark */; + 8BBB307621B7EF7400825986 /* PBXTextBookmark */ = 8BBB307621B7EF7400825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,41 +74,51 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */ = { + 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {691, 3991}}"; + sepNavSelRange = "{9514, 0}"; + sepNavVisRange = "{9386, 305}"; + sepNavWindowFrame = "{{517, 41}, {923, 837}}"; + }; + }; + 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {803, 819}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 561}"; + sepNavWindowFrame = "{{15, 39}, {923, 837}}"; + }; + }; + 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */; - name = "NotJustAnotherCDVersion.h: 1"; + fRef = 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */; + name = "NotJustAnotherCD.cpp: 221"; rLen = 0; - rLoc = 0; + rLoc = 9514; rType = 0; - vrLen = 756; - vrLoc = 0; + vrLen = 305; + vrLoc = 9386; }; - 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */ = { + 8BBB307421B7EF7400825986 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */; name = "NotJustAnotherCDVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 665; + vrLen = 561; vrLoc = 0; }; - 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {876, 4082}}"; - sepNavSelRange = "{8015, 0}"; - sepNavVisRange = "{7112, 2405}"; - sepNavWindowFrame = "{{464, 41}, {923, 837}}"; - }; - }; - 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 806}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 665}"; - sepNavWindowFrame = "{{15, 39}, {923, 837}}"; - }; + 8BBB307621B7EF7400825986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */; + name = "NotJustAnotherCD.cpp: 221"; + rLen = 0; + rLoc = 9514; + rType = 0; + vrLen = 393; + vrLoc = 9386; }; 8BC6025B073B072D006C4272 /* NotJustAnotherCD.h */ = { uiCtxt = { diff --git a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3 index 2032d51..0ddef39 100755 --- a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3 @@ -341,7 +341,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - NotJustAnotherCDVersion.h + NotJustAnotherCD.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,15 +349,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - NotJustAnotherCDVersion.h + NotJustAnotherCD.cpp _historyCapacity 0 bookmark - 8B9D752B1F7F9E40007AB60F + 8BAF09C721E6BA6000C38394 history 8B5B839E1E419C8A00ECA542 - 8B9D65E71F7C8B79007AB60F + 8BBB307421B7EF7400825986 + 8BBB307621B7EF7400825986 SplitCount @@ -371,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 188}} RubberWindowFrame 405 167 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 188pt Proportion - 379pt + 420pt Tabs @@ -396,7 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {531, 393}} RubberWindowFrame 405 167 841 654 0 0 1440 878 @@ -480,11 +481,11 @@ TableOfContents - 8B9D752C1F7F9E40007AB60F + 8BAF09C821E6BA6000C38394 1CA23ED40692098700951B8B - 8B9D752D1F7F9E40007AB60F + 8BAF09C921E6BA6000C38394 8BD7274A1D46E5A5000176F0 - 8B9D752E1F7F9E40007AB60F + 8BAF09CA21E6BA6000C38394 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +658,7 @@ StatusbarIsVisible TimeStamp - 528457280.83582401 + 568769120.05031896 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +675,6 @@ 5 WindowOrderList - 8B9D752F1F7F9E40007AB60F /Users/christopherjohnson/Desktop/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj WindowString diff --git a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser index d3268bb..3aee3d6 100755 --- a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser @@ -49,38 +49,18 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557543049; - PBXWorkspaceStateSaveDate = 557543049; + PBXPerProjectTemplateStateSaveDate = 568766952; + PBXWorkspaceStateSaveDate = 568766952; }; perUserProjectItems = { - 8B39A172213B703300112CCA /* PBXTextBookmark */ = 8B39A172213B703300112CCA /* PBXTextBookmark */; - 8B39A173213B703300112CCA /* PBXTextBookmark */ = 8B39A173213B703300112CCA /* PBXTextBookmark */; 8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */ = 8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */; + 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */ = 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */; + 8BBB2F6D21B620F100825986 /* PBXTextBookmark */ = 8BBB2F6D21B620F100825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B39A172213B703300112CCA /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */; - name = "NotJustAnotherDither.cpp: 190"; - rLen = 0; - rLoc = 8123; - rType = 0; - vrLen = 447; - vrLoc = 8049; - }; - 8B39A173213B703300112CCA /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */; - name = "NotJustAnotherDither.cpp: 190"; - rLen = 0; - rLoc = 8123; - rType = 0; - vrLen = 447; - vrLoc = 8049; - }; 8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -95,10 +75,10 @@ }; 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {705, 4004}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4082}}"; sepNavSelRange = "{8123, 0}"; - sepNavVisRange = "{8049, 447}"; - sepNavWindowFrame = "{{818, 41}, {923, 837}}"; + sepNavVisRange = "{8086, 233}"; + sepNavWindowFrame = "{{517, 41}, {923, 837}}"; }; }; 8BA05A680720730100365D66 /* NotJustAnotherDither.r */ = { @@ -117,10 +97,30 @@ sepNavWindowFrame = "{{15, 39}, {923, 837}}"; }; }; + 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */; + name = "NotJustAnotherDither.cpp: 190"; + rLen = 0; + rLoc = 8123; + rType = 0; + vrLen = 233; + vrLoc = 8086; + }; + 8BBB2F6D21B620F100825986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */; + name = "NotJustAnotherDither.cpp: 190"; + rLen = 0; + rLoc = 8123; + rType = 0; + vrLen = 253; + vrLoc = 8066; + }; 8BC6025B073B072D006C4272 /* NotJustAnotherDither.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1716}}"; - sepNavSelRange = "{5108, 28}"; + sepNavSelRange = "{4975, 0}"; sepNavVisRange = "{3502, 1743}"; sepNavWindowFrame = "{{517, 39}, {923, 837}}"; }; diff --git a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3 index 7bc8b6d..faa330c 100755 --- a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 572 175 841 654 0 0 1440 878 + 780 134 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +353,11 @@ _historyCapacity 0 bookmark - 8B39A173213B703300112CCA + 8BAF09C221E6BA5C00C38394 history 8B8D6A12207ABF2E0029B7B0 - 8B39A172213B703300112CCA + 8BBB2F6D21B620F100825986 SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 158}} + {{0, 0}, {531, 109}} RubberWindowFrame - 572 175 841 654 0 0 1440 878 + 780 134 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 158pt + 109pt Proportion - 450pt + 499pt Tabs @@ -396,9 +396,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 423}} + {{10, 27}, {531, 472}} RubberWindowFrame - 572 175 841 654 0 0 1440 878 + 780 134 841 654 0 0 1440 878 Module XCDetailModule @@ -480,11 +480,11 @@ TableOfContents - 8B39A174213B703300112CCA + 8BAF09C321E6BA5C00C38394 1CA23ED40692098700951B8B - 8B39A175213B703300112CCA + 8BAF09C421E6BA5C00C38394 8BD7274A1D46E5A5000176F0 - 8B39A176213B703300112CCA + 8BAF09C521E6BA5C00C38394 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 557543475.44966102 + 568769116.18578196 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +674,11 @@ 5 WindowOrderList - 8B39A177213B703300112CCA + 8BAF09C621E6BA5C00C38394 /Users/christopherjohnson/Desktop/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj WindowString - 572 175 841 654 0 0 1440 878 + 780 134 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.cpp b/plugins/MacAU/OneCornerClip/OneCornerClip.cpp index db4dcd0..9ddb8db 100755 --- a/plugins/MacAU/OneCornerClip/OneCornerClip.cpp +++ b/plugins/MacAU/OneCornerClip/OneCornerClip.cpp @@ -193,9 +193,7 @@ void OneCornerClip::OneCornerClipKernel::Reset() lastSample = 0.0; limitPos = 0.0; limitNeg = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -213,9 +211,6 @@ void OneCornerClip::OneCornerClipKernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; Float64 inputGain = pow(10.0,(GetParameter( kParam_One ))/20.0); Float64 posThreshold = pow(10.0,(GetParameter( kParam_Two ))/20.0); @@ -309,21 +304,11 @@ void OneCornerClip::OneCornerClipKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output - //we are making an 80 bit arbitrary curve, woot - //at least we can say it's either 80 bit or pure bypass + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither if (clipEngage == false) { diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.h b/plugins/MacAU/OneCornerClip/OneCornerClip.h index 0931824..013fc94 100755 --- a/plugins/MacAU/OneCornerClip/OneCornerClip.h +++ b/plugins/MacAU/OneCornerClip/OneCornerClip.h @@ -140,9 +140,7 @@ public: Float64 lastSample; Float64 limitPos; Float64 limitNeg; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser index 13fb85a..872b672 100755 --- a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser @@ -49,59 +49,59 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541882937; - PBXWorkspaceStateSaveDate = 541882937; + PBXPerProjectTemplateStateSaveDate = 569651957; + PBXWorkspaceStateSaveDate = 569651957; }; perUserProjectItems = { - 8B181972204B914C00516BEE /* PBXTextBookmark */ = 8B181972204B914C00516BEE /* PBXTextBookmark */; - 8B181A47204C83CC00516BEE /* PBXTextBookmark */ = 8B181A47204C83CC00516BEE /* PBXTextBookmark */; + 8B792E6F21F43380006E9731 /* PBXTextBookmark */ = 8B792E6F21F43380006E9731 /* PBXTextBookmark */; + 8B792E7421F43391006E9731 /* PBXTextBookmark */ = 8B792E7421F43391006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B181972204B914C00516BEE /* PBXTextBookmark */ = { + 8B792E6F21F43380006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* OneCornerClipVersion.h */; name = "OneCornerClipVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 240; + vrLen = 187; vrLoc = 2736; }; - 8B181A47204C83CC00516BEE /* PBXTextBookmark */ = { + 8B792E7421F43391006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* OneCornerClipVersion.h */; name = "OneCornerClipVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 239; + vrLen = 187; vrLoc = 2736; }; 8BA05A660720730100365D66 /* OneCornerClip.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {885, 4251}}"; - sepNavSelRange = "{13850, 0}"; - sepNavVisRange = "{9777, 2480}"; - sepNavWindowFrame = "{{488, 63}, {932, 815}}"; + sepNavIntBoundsRect = "{{0, 0}, {885, 4667}}"; + sepNavSelRange = "{13380, 0}"; + sepNavVisRange = "{12469, 1116}"; + sepNavWindowFrame = "{{356, 63}, {932, 815}}"; }; }; 8BA05A690720730100365D66 /* OneCornerClipVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 949}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 936}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{2736, 239}"; + sepNavVisRange = "{2736, 187}"; sepNavWindowFrame = "{{15, 58}, {932, 815}}"; }; }; 8BC6025B073B072D006C4272 /* OneCornerClip.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}"; - sepNavSelRange = "{5638, 62}"; - sepNavVisRange = "{0, 2780}"; - sepNavWindowFrame = "{{837, 56}, {932, 815}}"; + sepNavSelRange = "{5723, 0}"; + sepNavVisRange = "{4252, 1581}"; + sepNavWindowFrame = "{{508, 56}, {932, 815}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3 index 84e772a..73a7a50 100755 --- a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 630 365 810 487 0 0 1440 878 + 428 370 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,10 +350,10 @@ _historyCapacity 0 bookmark - 8B181A47204C83CC00516BEE + 8B792E7421F43391006E9731 history - 8B181972204B914C00516BEE + 8B792E6F21F43380006E9731 SplitCount @@ -369,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 102}} RubberWindowFrame - 630 365 810 487 0 0 1440 878 + 428 370 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 102pt Proportion - 324pt + 339pt Tabs @@ -394,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 630 365 810 487 0 0 1440 878 + {{10, 27}, {603, 312}} Module XCDetailModule @@ -450,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {603, 312}} + RubberWindowFrame + 428 370 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -478,11 +476,11 @@ TableOfContents - 8B181A48204C83CC00516BEE + 8B792E7521F43391006E9731 1CA23ED40692098700951B8B - 8B181A49204C83CC00516BEE + 8B792E7621F43391006E9731 8BCA0F591D871CB100A4EFAF - 8B181A4A204C83CC00516BEE + 8B792E7721F43391006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +633,7 @@ StatusbarIsVisible TimeStamp - 541885388.89707994 + 569652113.25814903 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +650,10 @@ 5 WindowOrderList - 8B181A4B204C83CC00516BEE /Users/christopherjohnson/Desktop/MacAU/OneCornerClip/OneCornerClip.xcodeproj WindowString - 630 365 810 487 0 0 1440 878 + 428 370 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PDBuss/PDBuss.cpp b/plugins/MacAU/PDBuss/PDBuss.cpp index 5e27a7c..6f450c6 100755 --- a/plugins/MacAU/PDBuss/PDBuss.cpp +++ b/plugins/MacAU/PDBuss/PDBuss.cpp @@ -170,9 +170,7 @@ void PDBuss::PDBussKernel::Reset() settingchase = -90.0; chasespeed = 350.0; previousSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -187,10 +185,6 @@ void PDBuss::PDBussKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - Float64 inputgain = GetParameter( kParam_One ); Float64 intensity = GetParameter( kParam_Two ); Float64 apply; @@ -265,19 +259,11 @@ void PDBuss::PDBussKernel::Process( const Float32 *inSourceP, previousSample = sin(drySample); //apply the sine while storing previous sample - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PDBuss/PDBuss.h b/plugins/MacAU/PDBuss/PDBuss.h index 906cb85..476b436 100755 --- a/plugins/MacAU/PDBuss/PDBuss.h +++ b/plugins/MacAU/PDBuss/PDBuss.h @@ -132,9 +132,7 @@ public: Float64 settingchase; Float64 chasespeed; Float64 previousSample; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser index f1228a5..40d8bcc 100755 --- a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538696879; - PBXWorkspaceStateSaveDate = 538696879; + PBXPerProjectTemplateStateSaveDate = 569652165; + PBXWorkspaceStateSaveDate = 569652165; }; perUserProjectItems = { 8B4E5518201BB8EE00B5DC2A /* PlistBookmark */ = 8B4E5518201BB8EE00B5DC2A /* PlistBookmark */; - 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */ = 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */; - 8B4E5740201BE1D700B5DC2A /* PBXBookmark */ = 8B4E5740201BE1D700B5DC2A /* PBXBookmark */; - 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */ = 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */; + 8B792E8621F43436006E9731 /* PBXTextBookmark */ = 8B792E8621F43436006E9731 /* PBXTextBookmark */; + 8B792E8721F43436006E9731 /* PBXTextBookmark */ = 8B792E8721F43436006E9731 /* PBXTextBookmark */; + 8B792E8C21F43451006E9731 /* PBXTextBookmark */ = 8B792E8C21F43451006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -74,36 +74,42 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */ = { + 8B792E8621F43436006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */; + name = "PDBuss.cpp: 165"; + rLen = 0; + rLoc = 7437; + rType = 0; + vrLen = 1; + vrLoc = 7311; + }; + 8B792E8721F43436006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* PDBuss.h */; name = "PDBuss.h: 68"; rLen = 0; rLoc = 3175; rType = 0; - vrLen = 29; - vrLoc = 2587; + vrLen = 26; + vrLoc = 2590; }; - 8B4E5740201BE1D700B5DC2A /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */; - }; - 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */ = { + 8B792E8C21F43451006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */; - name = "PDBuss.cpp: 165"; + fRef = 8BC6025B073B072D006C4272 /* PDBuss.h */; + name = "PDBuss.h: 68"; rLen = 0; - rLoc = 7437; + rLoc = 3175; rType = 0; - vrLen = 95; - vrLoc = 7310; + vrLen = 26; + vrLoc = 2590; }; 8BA05A660720730100365D66 /* PDBuss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3887}}"; - sepNavSelRange = "{7437, 0}"; - sepNavVisRange = "{7310, 95}"; - sepNavWindowFrame = "{{489, 50}, {923, 828}}"; + sepNavIntBoundsRect = "{{0, 0}, {876, 3822}}"; + sepNavSelRange = "{11537, 0}"; + sepNavVisRange = "{9680, 1945}"; + sepNavWindowFrame = "{{352, 50}, {923, 828}}"; }; }; 8BA05A690720730100365D66 /* PDBussVersion.h */ = { @@ -116,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* PDBuss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}"; + sepNavIntBoundsRect = "{{0, 0}, {761, 1885}}"; sepNavSelRange = "{3175, 0}"; - sepNavVisRange = "{2035, 1751}"; + sepNavVisRange = "{2590, 26}"; sepNavWindowFrame = "{{506, 50}, {923, 828}}"; }; }; diff --git a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3 index c01d4ac..ba04652 100755 --- a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 775 + 775 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 656 383 775 495 0 0 1440 878 + 528 353 775 495 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - PDBuss.cpp + PDBuss.h PBXSplitModuleInNavigatorKey Split0 @@ -350,16 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - PDBuss.cpp + PDBuss.h _historyCapacity 0 bookmark - 8B4E5741201BE1D700B5DC2A + 8B792E8C21F43451006E9731 history 8B4E5518201BB8EE00B5DC2A - 8B4E573F201BE1D700B5DC2A - 8B4E5740201BE1D700B5DC2A + 8B792E8621F43436006E9731 + 8B792E8721F43436006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {465, 52}} + {{0, 0}, {465, 33}} RubberWindowFrame - 656 383 775 495 0 0 1440 878 + 528 353 775 495 0 0 1440 878 Module PBXNavigatorGroup Proportion - 52pt + 33pt Proportion - 397pt + 416pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {465, 370}} - RubberWindowFrame - 656 383 775 495 0 0 1440 878 + {{10, 27}, {465, 389}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {465, 389}} + RubberWindowFrame + 528 353 775 495 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8B4E5742201BE1D700B5DC2A + 8B792E8D21F43451006E9731 1CA23ED40692098700951B8B - 8B4E5743201BE1D700B5DC2A + 8B792E8E21F43451006E9731 8BD7274A1D46E5A5000176F0 - 8B4E5744201BE1D700B5DC2A + 8B792E8F21F43451006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 538698199.879107 + 569652305.95869505 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/PDBuss/PDBuss.xcodeproj WindowString - 656 383 775 495 0 0 1440 878 + 528 353 775 495 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PDChannel/PDChannel.cpp b/plugins/MacAU/PDChannel/PDChannel.cpp index d0e684f..1571b15 100755 --- a/plugins/MacAU/PDChannel/PDChannel.cpp +++ b/plugins/MacAU/PDChannel/PDChannel.cpp @@ -170,9 +170,7 @@ void PDChannel::PDChannelKernel::Reset() settingchase = -90.0; chasespeed = 350.0; previousSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -189,11 +187,7 @@ void PDChannel::PDChannelKernel::Process( const Float32 *inSourceP, Float32 *destP = inDestP; long double overallscale = 1.0; overallscale /= 44100.0; - overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + overallscale *= GetSampleRate(); Float64 inputgain = GetParameter( kParam_One ); Float64 intensity = GetParameter( kParam_Two ); Float64 apply; @@ -271,19 +265,11 @@ void PDChannel::PDChannelKernel::Process( const Float32 *inSourceP, previousSample = sin(drySample); //apply the sine while storing previous sample - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PDChannel/PDChannel.h b/plugins/MacAU/PDChannel/PDChannel.h index 4a793af..523f789 100755 --- a/plugins/MacAU/PDChannel/PDChannel.h +++ b/plugins/MacAU/PDChannel/PDChannel.h @@ -132,9 +132,7 @@ public: Float64 settingchase; Float64 chasespeed; Float64 previousSample; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser index 6a15292..f328d19 100755 --- a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538696889; - PBXWorkspaceStateSaveDate = 538696889; + PBXPerProjectTemplateStateSaveDate = 569652339; + PBXWorkspaceStateSaveDate = 569652339; }; perUserProjectItems = { 8B4E5745201BE1DA00B5DC2A /* PlistBookmark */ = 8B4E5745201BE1DA00B5DC2A /* PlistBookmark */; - 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */ = 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */; - 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */ = 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */; + 8B792E9E21F434CF006E9731 /* PBXTextBookmark */ = 8B792E9E21F434CF006E9731 /* PBXTextBookmark */; + 8B792EA321F434E3006E9731 /* PBXTextBookmark */ = 8B792EA321F434E3006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,28 +71,34 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/PDChannel/Info.plist; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9223372036854775808; }; - 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */ = { - isa = PBXBookmark; + 8B792E9E21F434CF006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PDChannel.cpp */; + name = "PDChannel.cpp: 241"; + rLen = 0; + rLoc = 10674; + rType = 0; + vrLen = 0; + vrLoc = 0; }; - 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */ = { + 8B792EA321F434E3006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PDChannel.cpp */; - name = "PDChannel.cpp: 247"; + name = "PDChannel.cpp: 241"; rLen = 0; - rLoc = 10826; + rLoc = 10674; rType = 0; vrLen = 0; vrLoc = 0; }; 8BA05A660720730100365D66 /* PDChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {670, 3952}}"; - sepNavSelRange = "{10826, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {328, 3796}}"; + sepNavSelRange = "{10674, 0}"; sepNavVisRange = "{0, 0}"; - sepNavWindowFrame = "{{782, 50}, {923, 828}}"; + sepNavWindowFrame = "{{342, 50}, {923, 828}}"; }; }; 8BA05A690720730100365D66 /* PDChannelVersion.h */ = { @@ -105,10 +111,10 @@ }; 8BC6025B073B072D006C4272 /* PDChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; - sepNavSelRange = "{5191, 95}"; - sepNavVisRange = "{3760, 1692}"; - sepNavWindowFrame = "{{15, 45}, {923, 828}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}"; + sepNavSelRange = "{5309, 0}"; + sepNavVisRange = "{3711, 1702}"; + sepNavWindowFrame = "{{24, 47}, {923, 828}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3 index fd2188d..9a9368c 100755 --- a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 687 + 687 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -302,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 748 122 687 476 0 0 1440 878 + 528 250 687 476 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,11 +352,11 @@ _historyCapacity 0 bookmark - 8B4E5747201BE1DA00B5DC2A + 8B792EA321F434E3006E9731 history 8B4E5745201BE1DA00B5DC2A - 8B4E5746201BE1DA00B5DC2A + 8B792E9E21F434CF006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {377, 32}} + {{0, 0}, {377, 13}} RubberWindowFrame - 748 122 687 476 0 0 1440 878 + 528 250 687 476 0 0 1440 878 Module PBXNavigatorGroup Proportion - 32pt + 13pt Proportion - 398pt + 417pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {377, 371}} - RubberWindowFrame - 748 122 687 476 0 0 1440 878 + {{10, 27}, {377, 390}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {377, 390}} + RubberWindowFrame + 528 250 687 476 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +479,11 @@ TableOfContents - 8B4E5748201BE1DA00B5DC2A + 8B792EA421F434E3006E9731 1CA23ED40692098700951B8B - 8B4E5749201BE1DA00B5DC2A + 8B792EA521F434E3006E9731 8BD7274A1D46E5A5000176F0 - 8B4E574A201BE1DA00B5DC2A + 8B792EA621F434E3006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 538698202.06812799 + 569652451.32998204 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -678,7 +676,7 @@ /Users/christopherjohnson/Desktop/MacAU/PDChannel/PDChannel.xcodeproj WindowString - 748 122 687 476 0 0 1440 878 + 528 250 687 476 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser index c6caac2..89f6a9a 100755 --- a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457375; - PBXWorkspaceStateSaveDate = 528457375; + PBXPerProjectTemplateStateSaveDate = 569456916; + PBXWorkspaceStateSaveDate = 569456916; }; perUserProjectItems = { 8B4FD0361DF97CA300999740 /* PBXTextBookmark */ = 8B4FD0361DF97CA300999740 /* PBXTextBookmark */; - 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */ = 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */; - 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */ = 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */; + 8B79248021F14291006E9731 /* PBXTextBookmark */ = 8B79248021F14291006E9731 /* PBXTextBookmark */; + 8B79248121F14291006E9731 /* PBXTextBookmark */ = 8B79248121F14291006E9731 /* PBXTextBookmark */; 8BD8CADF1DF8EA3400CC3427 /* PlistBookmark */ = 8BD8CADF1DF8EA3400CC3427 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; @@ -72,32 +72,32 @@ vrLen = 418; vrLoc = 4668; }; - 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */ = { + 8B79248021F14291006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PaulDither.cpp */; - name = "PaulDither.cpp: 165"; - rLen = 2403; - rLoc = 7419; + name = "PaulDither.cpp: 199"; + rLen = 0; + rLoc = 8989; rType = 0; - vrLen = 364; - vrLoc = 7419; + vrLen = 310; + vrLoc = 7499; }; - 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */ = { + 8B79248121F14291006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PaulDither.cpp */; name = "PaulDither.cpp: 199"; rLen = 0; rLoc = 8989; rType = 0; - vrLen = 390; - vrLoc = 7419; + vrLen = 310; + vrLoc = 7499; }; 8BA05A660720730100365D66 /* PaulDither.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 2990}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 2938}}"; sepNavSelRange = "{8989, 0}"; - sepNavVisRange = "{7419, 390}"; - sepNavWindowFrame = "{{741, 43}, {679, 835}}"; + sepNavVisRange = "{7499, 310}"; + sepNavWindowFrame = "{{694, 43}, {679, 835}}"; }; }; 8BA05A690720730100365D66 /* PaulDitherVersion.h */ = { @@ -110,10 +110,10 @@ }; 8BC6025B073B072D006C4272 /* PaulDither.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}"; sepNavSelRange = "{4959, 26}"; - sepNavVisRange = "{4668, 418}"; - sepNavWindowFrame = "{{677, 43}, {679, 835}}"; + sepNavVisRange = "{3360, 1734}"; + sepNavWindowFrame = "{{26, 43}, {679, 835}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3 index cabf404..fb63b78 100755 --- a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 599 185 841 654 0 0 1440 878 + 584 182 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,12 +353,12 @@ _historyCapacity 0 bookmark - 8B9D75481F7F9EDB007AB60F + 8B79248121F14291006E9731 history 8BD8CADF1DF8EA3400CC3427 8B4FD0361DF97CA300999740 - 8B9D66051F7C8B97007AB60F + 8B79248021F14291006E9731 SplitCount @@ -372,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 188}} + {{0, 0}, {531, 158}} RubberWindowFrame - 599 185 841 654 0 0 1440 878 + 584 182 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 188pt + 158pt Proportion - 420pt + 450pt Tabs @@ -397,9 +397,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 393}} + {{10, 27}, {531, 423}} RubberWindowFrame - 599 185 841 654 0 0 1440 878 + 584 182 841 654 0 0 1440 878 Module XCDetailModule @@ -481,11 +481,11 @@ TableOfContents - 8B9D75491F7F9EDB007AB60F + 8B79248221F14291006E9731 1CA23ED40692098700951B8B - 8B9D754A1F7F9EDB007AB60F + 8B79248321F14291006E9731 8BD7274A1D46E5A5000176F0 - 8B9D754B1F7F9EDB007AB60F + 8B79248421F14291006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +658,7 @@ StatusbarIsVisible TimeStamp - 528457435.53434801 + 569459345.52308798 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +675,10 @@ 5 WindowOrderList - 8B9D754C1F7F9EDB007AB60F /Users/christopherjohnson/Desktop/MacAU/PaulDither/PaulDither.xcodeproj WindowString - 599 185 841 654 0 0 1440 878 + 584 182 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.cpp b/plugins/MacAU/PhaseNudge/PhaseNudge.cpp index a60dc04..abb05e1 100755 --- a/plugins/MacAU/PhaseNudge/PhaseNudge.cpp +++ b/plugins/MacAU/PhaseNudge/PhaseNudge.cpp @@ -168,9 +168,7 @@ void PhaseNudge::PhaseNudgeKernel::Reset() { for(int count = 0; count < 1502; count++) {d[count] = 0.0;} one = 1; maxdelay = 9001; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; //coded to snap directly to the value on instantiation if the disparity is great enough } @@ -186,9 +184,6 @@ void PhaseNudge::PhaseNudgeKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; int allpasstemp; Float64 outallpass = 0.618033988749894848204586; //golden ratio! @@ -256,24 +251,13 @@ void PhaseNudge::PhaseNudgeKernel::Process( const Float32 *inSourceP, if (inputSample > 0) inputSample -= bridgerectifier; else inputSample += bridgerectifier; inputSample *= 4.0; - - if (wet < 1.0) inputSample = (drySample * dry)+(inputSample * wet); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output - + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.exp b/plugins/MacAU/PhaseNudge/PhaseNudge.exp index 6c86d46..a53e4f6 100755 --- a/plugins/MacAU/PhaseNudge/PhaseNudge.exp +++ b/plugins/MacAU/PhaseNudge/PhaseNudge.exp @@ -1 +1 @@ -_PhaseNudgeEntry \ No newline at end of file +_PhaseNudgeEntry diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.h b/plugins/MacAU/PhaseNudge/PhaseNudge.h index a82a450..fa655e8 100755 --- a/plugins/MacAU/PhaseNudge/PhaseNudge.h +++ b/plugins/MacAU/PhaseNudge/PhaseNudge.h @@ -130,9 +130,7 @@ public: private: Float64 d[1503]; int one, maxdelay; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser index 31eaa35..90714a5 100755 --- a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser @@ -49,8 +49,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457445; - PBXWorkspaceStateSaveDate = 528457445; + PBXPerProjectTemplateStateSaveDate = 569674908; + PBXWorkspaceStateSaveDate = 569674908; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -58,10 +58,18 @@ }; 8BA05A660720730100365D66 /* PhaseNudge.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {787, 3731}}"; - sepNavSelRange = "{9350, 0}"; - sepNavVisRange = "{9041, 2185}"; - sepNavWindowFrame = "{{594, 72}, {834, 801}}"; + sepNavIntBoundsRect = "{{0, 0}, {787, 3562}}"; + sepNavSelRange = "{8646, 0}"; + sepNavVisRange = "{7424, 2420}"; + sepNavWindowFrame = "{{467, 77}, {834, 801}}"; + }; + }; + 8BA05A670720730100365D66 /* PhaseNudge.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{17, 0}"; + sepNavVisRange = "{0, 17}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; }; }; 8BA05A690720730100365D66 /* PhaseNudgeVersion.h */ = { @@ -74,10 +82,10 @@ }; 8BC6025B073B072D006C4272 /* PhaseNudge.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 1794}}"; - sepNavSelRange = "{5126, 97}"; - sepNavVisRange = "{2715, 1561}"; - sepNavWindowFrame = "{{653, 65}, {787, 813}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 1768}}"; + sepNavSelRange = "{5179, 0}"; + sepNavVisRange = "{3774, 1525}"; + sepNavWindowFrame = "{{436, 61}, {787, 813}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3 index 72f64ac..14864b4 100755 --- a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -300,7 +300,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 @@ -324,7 +324,7 @@ 185 RubberWindowFrame - 614 298 810 487 0 0 1440 878 + 500 313 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -363,7 +363,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 614 298 810 487 0 0 1440 878 + 500 313 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -387,8 +387,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 614 298 810 487 0 0 1440 878 Module XCDetailModule @@ -442,7 +440,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 500 313 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +470,11 @@ TableOfContents - 8B9D75591F7F9F0E007AB60F + 8B792EBE21F48D58006E9731 1CA23ED40692098700951B8B - 8B9D755A1F7F9F0E007AB60F + 8B792EBF21F48D58006E9731 8B45D5A31DB6A0F4001A01DF - 8B9D755B1F7F9F0E007AB60F + 8B792EC021F48D58006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +627,7 @@ StatusbarIsVisible TimeStamp - 528457486.34265399 + 569675096.38173199 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +644,12 @@ 5 WindowOrderList - 8B9D755C1F7F9F0E007AB60F + 8B792EC121F48D58006E9731 + 8B792EC221F48D58006E9731 /Users/christopherjohnson/Desktop/MacAU/PhaseNudge/PhaseNudge.xcodeproj WindowString - 614 298 810 487 0 0 1440 878 + 500 313 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Point/Poynt.cpp b/plugins/MacAU/Point/Poynt.cpp index fb51374..b8b7030 100755 --- a/plugins/MacAU/Point/Poynt.cpp +++ b/plugins/MacAU/Point/Poynt.cpp @@ -178,8 +178,7 @@ void Poynt::PoyntKernel::Reset() nobA = 0.0; nibB = 0.0; nobB = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; fpFlip = true; } @@ -216,11 +215,6 @@ void Poynt::PoyntKernel::Process( const Float32 *inSourceP, Float64 nibnobFactor = 0.0; //start with the fallthrough value, why not long double inputSample; Float64 absolute; - - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -278,20 +272,13 @@ void Poynt::PoyntKernel::Process( const Float32 *inSourceP, } inputSample *= nibnobFactor; - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; destP += inNumChannels; diff --git a/plugins/MacAU/Point/Poynt.h b/plugins/MacAU/Point/Poynt.h index 90960cc..7d084e6 100755 --- a/plugins/MacAU/Point/Poynt.h +++ b/plugins/MacAU/Point/Poynt.h @@ -135,8 +135,7 @@ public: Float64 nobA; Float64 nibB; Float64 nobB; - Float64 fpNShapeA; - Float64 fpNShapeB; + Float64 fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser index 97764af..641426b 100755 --- a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser @@ -49,8 +49,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457500; - PBXWorkspaceStateSaveDate = 528457500; + PBXPerProjectTemplateStateSaveDate = 569675140; + PBXWorkspaceStateSaveDate = 569675140; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -58,10 +58,10 @@ }; 8BA05A660720730100365D66 /* Poynt.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {964, 4030}}"; - sepNavSelRange = "{9867, 0}"; - sepNavVisRange = "{9697, 1988}"; - sepNavWindowFrame = "{{690, 43}, {731, 835}}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 3835}}"; + sepNavSelRange = "{11923, 0}"; + sepNavVisRange = "{6811, 2218}"; + sepNavWindowFrame = "{{510, 43}, {731, 835}}"; }; }; 8BA05A670720730100365D66 /* Poynt.exp */ = { @@ -82,10 +82,10 @@ }; 8BC6025B073B072D006C4272 /* Poynt.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {901, 1911}}"; - sepNavSelRange = "{5143, 64}"; - sepNavVisRange = "{2585, 1500}"; - sepNavWindowFrame = "{{804, -16}, {948, 825}}"; + sepNavIntBoundsRect = "{{0, 0}, {901, 1885}}"; + sepNavSelRange = "{5225, 0}"; + sepNavVisRange = "{3973, 1378}"; + sepNavWindowFrame = "{{492, 39}, {948, 825}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3 index 35ec906..354b0d9 100755 --- a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 630 350 810 487 0 0 1440 878 + 475 347 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -363,7 +361,7 @@ Frame {{0, 0}, {603, 0}} RubberWindowFrame - 630 350 810 487 0 0 1440 878 + 475 347 810 487 0 0 1440 878 Module PBXNavigatorGroup @@ -387,8 +385,6 @@ Frame {{10, 27}, {603, 414}} - RubberWindowFrame - 630 350 810 487 0 0 1440 878 Module XCDetailModule @@ -443,6 +439,8 @@ Frame {{10, 27}, {603, 414}} + RubberWindowFrame + 475 347 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +468,11 @@ TableOfContents - 8B9D75671F7F9F29007AB60F + 8B792ED421F48E58006E9731 1CA23ED40692098700951B8B - 8B9D75681F7F9F29007AB60F + 8B792ED521F48E58006E9731 8BC521841DB3E58C00E72CD6 - 8B9D75691F7F9F29007AB60F + 8B792ED621F48E58006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +625,7 @@ StatusbarIsVisible TimeStamp - 528457513.38457698 + 569675352.26750898 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +642,10 @@ 5 WindowOrderList - 8B9D756A1F7F9F29007AB60F /Users/christopherjohnson/Desktop/MacAU/Point/Poynt.xcodeproj WindowString - 630 350 810 487 0 0 1440 878 + 475 347 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Pop/Pop.cpp b/plugins/MacAU/Pop/Pop.cpp index 62acd34..d1e96e1 100755 --- a/plugins/MacAU/Pop/Pop.cpp +++ b/plugins/MacAU/Pop/Pop.cpp @@ -341,23 +341,16 @@ void Pop::PopKernel::Process( const Float32 *inSourceP, flip = !flip; if (output < 1.0) inputSample *= output; - if (wet<1.0) inputSample = (drySample*(1.0-wet))+(inputSample*wet); + if (wet < 1.0) inputSample = (drySample*(1.0-wet))+(inputSample*wet); - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser index b860d50..482d742 100755 --- a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557537811; - PBXWorkspaceStateSaveDate = 557537811; + PBXPerProjectTemplateStateSaveDate = 569675407; + PBXWorkspaceStateSaveDate = 569675407; }; perUserProjectItems = { 8B6DBAB1213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB1213B5E6A00E44739 /* PBXTextBookmark */; 8B6DBAB2213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB2213B5E6A00E44739 /* PBXTextBookmark */; - 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */; - 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */; + 8B792EE421F48F26006E9731 /* PBXTextBookmark */ = 8B792EE421F48F26006E9731 /* PBXTextBookmark */; + 8B792EE921F48F73006E9731 /* PBXTextBookmark */ = 8B792EE921F48F73006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -82,34 +82,39 @@ vrLen = 133; vrLoc = 5301; }; - 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8B6DBAB4213B5E6A00E44739 /* VariMuProc.cpp */; - name = "VariMuProc.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 188; - vrLoc = 0; - }; - 8B6DBAB4213B5E6A00E44739 /* VariMuProc.cpp */ = { + 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */ = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = VariMuProc.cpp; path = /Users/christopherjohnson/Desktop/MacVST/VariMu/source/VariMuProc.cpp; sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 6708}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 169}"; + }; }; - 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */ = { + 8B792EE421F48F26006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */; name = "VariMuProc.cpp: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 188; + vrLen = 169; vrLoc = 0; }; - 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */ = { + 8B792EE921F48F73006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8B792EEA21F48F73006E9731 /* VariMuProc.cpp */; + name = "VariMuProc.cpp: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 169; + vrLoc = 0; + }; + 8B792EEA21F48F73006E9731 /* VariMuProc.cpp */ = { isa = PBXFileReference; name = VariMuProc.cpp; path = /Users/christopherjohnson/Desktop/MacVST/VariMu/source/VariMuProc.cpp; @@ -117,15 +122,15 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {554, 6708}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 188}"; + sepNavVisRange = "{0, 169}"; }; }; 8BA05A660720730100365D66 /* Pop.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 4953}}"; - sepNavSelRange = "{10564, 3718}"; - sepNavVisRange = "{12637, 2394}"; - sepNavWindowFrame = "{{570, 66}, {1145, 812}}"; + sepNavIntBoundsRect = "{{0, 0}, {1098, 4758}}"; + sepNavSelRange = "{14221, 0}"; + sepNavVisRange = "{12566, 2051}"; + sepNavWindowFrame = "{{205, 66}, {1145, 812}}"; }; }; 8BA05A670720730100365D66 /* Pop.exp */ = { @@ -146,10 +151,10 @@ }; 8BC6025B073B072D006C4272 /* Pop.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {810, 2288}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 2028}}"; sepNavSelRange = "{5470, 0}"; - sepNavVisRange = "{5301, 133}"; - sepNavWindowFrame = "{{691, 65}, {787, 813}}"; + sepNavVisRange = "{4265, 1315}"; + sepNavWindowFrame = "{{444, 65}, {787, 813}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3 index 117e75b..3f71234 100755 --- a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3 @@ -298,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -322,7 +322,7 @@ 185 RubberWindowFrame - 584 391 810 487 0 0 1440 878 + 490 387 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -333,8 +333,6 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -352,12 +350,12 @@ _historyCapacity 0 bookmark - 8B6DBAB5213B5E6A00E44739 + 8B792EE921F48F73006E9731 history 8B6DBAB1213B5E6A00E44739 8B6DBAB2213B5E6A00E44739 - 8B6DBAB3213B5E6A00E44739 + 8B792EE421F48F26006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 102}} + {{0, 0}, {603, 86}} RubberWindowFrame - 584 391 810 487 0 0 1440 878 + 490 387 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 86pt Proportion - 339pt + 355pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 312}} - RubberWindowFrame - 584 391 810 487 0 0 1440 878 + {{10, 27}, {603, 328}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} + {{10, 27}, {603, 328}} + RubberWindowFrame + 490 387 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B6DBAB7213B5E6A00E44739 + 8B792EEB21F48F73006E9731 1CA23ED40692098700951B8B - 8B6DBAB8213B5E6A00E44739 + 8B792EEC21F48F73006E9731 8BFDB0BC213A19540079F90D - 8B6DBAB9213B5E6A00E44739 + 8B792EED21F48F73006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +635,7 @@ StatusbarIsVisible TimeStamp - 557538922.04973304 + 569675635.69867206 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -657,7 +655,7 @@ /Users/christopherjohnson/Desktop/MacAU/Pop/Pop.xcodeproj WindowString - 584 391 810 487 0 0 1440 878 + 490 387 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PowerSag/PowerSag.cpp b/plugins/MacAU/PowerSag/PowerSag.cpp index 8bd8b1e..95f70d2 100755 --- a/plugins/MacAU/PowerSag/PowerSag.cpp +++ b/plugins/MacAU/PowerSag/PowerSag.cpp @@ -169,9 +169,7 @@ void PowerSag::PowerSagKernel::Reset() for(int count = 0; count < 8999; count++) {d[count] = 0;} control = 0; gcount = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -193,11 +191,6 @@ void PowerSag::PowerSagKernel::Process( const Float32 *inSourceP, Float64 thickness; Float64 out; Float64 bridgerectifier; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - long double inputSample; while (nSampleFrames-- > 0) { @@ -256,20 +249,11 @@ void PowerSag::PowerSagKernel::Process( const Float32 *inSourceP, inputSample *= clamp; - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PowerSag/PowerSag.h b/plugins/MacAU/PowerSag/PowerSag.h index c55bc36..ef594dc 100755 --- a/plugins/MacAU/PowerSag/PowerSag.h +++ b/plugins/MacAU/PowerSag/PowerSag.h @@ -131,10 +131,7 @@ public: Float64 d[9000]; Float64 control; int gcount; - - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser index 604cc41..e6e7e63 100755 --- a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser @@ -49,44 +49,44 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457549; - PBXWorkspaceStateSaveDate = 528457549; + PBXPerProjectTemplateStateSaveDate = 569675661; + PBXWorkspaceStateSaveDate = 569675661; }; perUserProjectItems = { - 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */ = 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */; - 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */ = 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */; + 8B792EFB21F4905E006E9731 /* PBXTextBookmark */ = 8B792EFB21F4905E006E9731 /* PBXTextBookmark */; + 8B792F0021F49091006E9731 /* PBXTextBookmark */ = 8B792F0021F49091006E9731 /* PBXTextBookmark */; 8BB300131EE206710016C2D8 /* PlistBookmark */ = 8BB300131EE206710016C2D8 /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */ = { + 8B792EFB21F4905E006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PowerSag.cpp */; - name = "PowerSag.cpp: 188"; + name = "PowerSag.cpp: 186"; rLen = 0; - rLoc = 8459; + rLoc = 8424; rType = 0; - vrLen = 573; - vrLoc = 8121; + vrLen = 439; + vrLoc = 8244; }; - 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */ = { + 8B792F0021F49091006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PowerSag.cpp */; - name = "PowerSag.cpp: 188"; + name = "PowerSag.cpp: 186"; rLen = 0; - rLoc = 8459; + rLoc = 8424; rType = 0; - vrLen = 571; - vrLoc = 8121; + vrLen = 439; + vrLoc = 8244; }; 8BA05A660720730100365D66 /* PowerSag.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3744}}"; - sepNavSelRange = "{8459, 0}"; - sepNavVisRange = "{8121, 571}"; - sepNavWindowFrame = "{{746, 43}, {679, 835}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3562}}"; + sepNavSelRange = "{8424, 0}"; + sepNavVisRange = "{8244, 439}"; + sepNavWindowFrame = "{{625, 43}, {679, 835}}"; }; }; 8BA05A690720730100365D66 /* PowerSagVersion.h */ = { @@ -111,10 +111,10 @@ }; 8BC6025B073B072D006C4272 /* PowerSag.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; - sepNavSelRange = "{5175, 52}"; - sepNavVisRange = "{3808, 1596}"; - sepNavWindowFrame = "{{761, 43}, {679, 835}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; + sepNavSelRange = "{5226, 0}"; + sepNavVisRange = "{3698, 1662}"; + sepNavWindowFrame = "{{126, 32}, {679, 835}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3 index b64b182..c90dcdd 100755 --- a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 599 187 841 654 0 0 1440 878 + 422 210 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B9D75751F7F9F5D007AB60F + 8B792F0021F49091006E9731 history 8BB300131EE206710016C2D8 - 8B9D66491F7C8C32007AB60F + 8B792EFB21F4905E006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {531, 188}} RubberWindowFrame - 599 187 841 654 0 0 1440 878 + 422 210 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 188pt Proportion - 406pt + 420pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 599 187 841 654 0 0 1440 878 + {{10, 27}, {531, 393}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 393}} + RubberWindowFrame + 422 210 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D75761F7F9F5D007AB60F + 8B792F0121F49091006E9731 1CA23ED40692098700951B8B - 8B9D75771F7F9F5D007AB60F + 8B792F0221F49091006E9731 8BD7274A1D46E5A5000176F0 - 8B9D75781F7F9F5D007AB60F + 8B792F0321F49091006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 528457565.97925901 + 569675921.48933697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +672,10 @@ 5 WindowOrderList - 8B9D75791F7F9F5D007AB60F /Users/christopherjohnson/Desktop/MacAU/PowerSag/PowerSag.xcodeproj WindowString - 599 187 841 654 0 0 1440 878 + 422 210 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Pressure4/Pressure4.cpp b/plugins/MacAU/Pressure4/Pressure4.cpp index 4780f45..9fbbe85 100755 --- a/plugins/MacAU/Pressure4/Pressure4.cpp +++ b/plugins/MacAU/Pressure4/Pressure4.cpp @@ -198,10 +198,8 @@ ComponentResult Pressure4::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ComponentResult Pressure4::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; muSpeedA = 10000; muSpeedB = 10000; muCoefficientA = 1; @@ -257,9 +255,6 @@ OSStatus Pressure4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla unmewiness = 1.0-mewiness; } // µ µ µ µ µ µ µ µ µ µ µ µ is the kitten song o/~ - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; @@ -407,27 +402,16 @@ OSStatus Pressure4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla else {inputSampleR = -bridgerectifier;} //second stage of overdrive to prevent overs and allow bloody loud extremeness - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } flip = !flip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Pressure4/Pressure4.h b/plugins/MacAU/Pressure4/Pressure4.h index a6926ee..6534c46 100755 --- a/plugins/MacAU/Pressure4/Pressure4.h +++ b/plugins/MacAU/Pressure4/Pressure4.h @@ -125,10 +125,8 @@ public: Float64 muSpeedB; Float64 muCoefficientA; Float64 muCoefficientB; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; + long double fpNShapeL; + long double fpNShapeR; bool flip; }; diff --git a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser index 99a6c24..3758f60 100755 --- a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553809064; - PBXWorkspaceStateSaveDate = 553809064; + PBXPerProjectTemplateStateSaveDate = 569677045; + PBXWorkspaceStateSaveDate = 569677045; }; perUserProjectItems = { - 8B050BBA2064897B00700365 /* PBXTextBookmark */ = 8B050BBA2064897B00700365 /* PBXTextBookmark */; - 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */ = 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */; - 8BB8B6702102844E00751000 /* PBXTextBookmark */ = 8BB8B6702102844E00751000 /* PBXTextBookmark */; + 8B792F5421F495A9006E9731 /* PBXTextBookmark */ = 8B792F5421F495A9006E9731 /* PBXTextBookmark */; + 8B792F5521F495A9006E9731 /* PBXTextBookmark */ = 8B792F5521F495A9006E9731 /* PBXTextBookmark */; + 8B792F5621F495A9006E9731 /* PBXTextBookmark */ = 8B792F5621F495A9006E9731 /* PBXTextBookmark */; 8BEF33C81D81F6D7008B0B7F /* PlistBookmark */ = 8BEF33C81D81F6D7008B0B7F /* PlistBookmark */; 8BEF33C91D81F6D7008B0B7F /* PBXTextBookmark */ = 8BEF33C91D81F6D7008B0B7F /* PBXTextBookmark */; }; @@ -63,31 +63,41 @@ userBuildSettings = { }; }; - 8B050BBA2064897B00700365 /* PBXTextBookmark */ = { + 8B792F5421F495A9006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Pressure4.h */; - name = "Pressure4.h: 128"; - rLen = 117; - rLoc = 5265; + name = "Pressure4.h: 129"; + rLen = 0; + rLoc = 5292; + rType = 0; + vrLen = 1148; + vrLoc = 4280; + }; + 8B792F5521F495A9006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */; + name = "Pressure4.cpp: 201"; + rLen = 0; + rLoc = 8945; rType = 0; - vrLen = 1019; - vrLoc = 4469; + vrLen = 1378; + vrLoc = 15227; }; - 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */ = { + 8B792F5621F495A9006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */; - name = "Pressure4.cpp: 210"; + name = "Pressure4.cpp: 202"; rLen = 0; - rLoc = 9108; + rLoc = 8956; rType = 0; - vrLen = 1508; - vrLoc = 8385; + vrLen = 1347; + vrLoc = 15277; }; 8BA05A660720730100365D66 /* Pressure4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {693, 6006}}"; - sepNavSelRange = "{9108, 0}"; - sepNavVisRange = "{12471, 1500}"; + sepNavIntBoundsRect = "{{0, 0}, {754, 5876}}"; + sepNavSelRange = "{8956, 0}"; + sepNavVisRange = "{15277, 1347}"; sepNavWindowFrame = "{{479, 48}, {895, 819}}"; }; }; @@ -99,21 +109,11 @@ sepNavWindowFrame = "{{15, 54}, {895, 819}}"; }; }; - 8BB8B6702102844E00751000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */; - name = "Pressure4.cpp: 210"; - rLen = 0; - rLoc = 9108; - rType = 0; - vrLen = 1500; - vrLoc = 12471; - }; 8BC6025B073B072D006C4272 /* Pressure4.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}"; - sepNavSelRange = "{5265, 117}"; - sepNavVisRange = "{3662, 1826}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}"; + sepNavSelRange = "{5292, 0}"; + sepNavVisRange = "{4280, 1148}"; sepNavWindowFrame = "{{28, 51}, {895, 819}}"; }; }; diff --git a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3 index 6e47c82..e9da12e 100755 --- a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 1052 + 1052 Perspectives @@ -299,7 +299,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 + 4 2 1 0 @@ -323,7 +323,7 @@ 288 RubberWindowFrame - 526 89 1052 789 0 0 1440 878 + 259 89 1052 789 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,13 +353,13 @@ _historyCapacity 0 bookmark - 8BB8B6702102844E00751000 + 8B792F5621F495A9006E9731 history 8BEF33C81D81F6D7008B0B7F 8BEF33C91D81F6D7008B0B7F - 8B050BBA2064897B00700365 - 8B8D6983207ABA4C0029B7B0 + 8B792F5421F495A9006E9731 + 8B792F5521F495A9006E9731 SplitCount @@ -373,18 +373,18 @@ GeometryConfiguration Frame - {{0, 0}, {742, 617}} + {{0, 0}, {742, 515}} RubberWindowFrame - 526 89 1052 789 0 0 1440 878 + 259 89 1052 789 0 0 1440 878 Module PBXNavigatorGroup Proportion - 617pt + 515pt Proportion - 126pt + 228pt Tabs @@ -398,9 +398,7 @@ GeometryConfiguration Frame - {{10, 27}, {742, 99}} - RubberWindowFrame - 526 89 1052 789 0 0 1440 878 + {{10, 27}, {742, 201}} Module XCDetailModule @@ -454,7 +452,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 327}} + {{10, 27}, {742, 201}} + RubberWindowFrame + 259 89 1052 789 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +482,11 @@ TableOfContents - 8BB8B6712102844E00751000 + 8B792F5721F495A9006E9731 1CA23ED40692098700951B8B - 8BB8B6722102844E00751000 + 8B792F5821F495A9006E9731 8BD7274A1D46E5A5000176F0 - 8BB8B6732102844E00751000 + 8B792F5921F495A9006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +659,7 @@ StatusbarIsVisible TimeStamp - 553813070.00637698 + 569677225.40901196 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +679,7 @@ /Users/christopherjohnson/Desktop/MacAU/Pressure4/Pressure4.xcodeproj WindowString - 526 89 1052 789 0 0 1440 878 + 259 89 1052 789 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp b/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp index c46cdcb..90991bc 100755 --- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp +++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp @@ -182,8 +182,7 @@ ComponentResult Pressure4Mono::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void Pressure4Mono::Pressure4MonoKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; + fpNShape = 0.0; muSpeedA = 10000; muSpeedB = 10000; muCoefficientA = 1; @@ -232,9 +231,6 @@ void Pressure4Mono::Pressure4MonoKernel::Process( const Float32 *inSourceP, unmewiness = 1.0-mewiness; } // µ µ µ µ µ µ µ µ µ µ µ µ is the kitten song o/~ - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSample; while (nSampleFrames-- > 0) { @@ -351,20 +347,14 @@ void Pressure4Mono::Pressure4MonoKernel::Process( const Float32 *inSourceP, if (inputSample > 0){inputSample = bridgerectifier;} else {inputSample = -bridgerectifier;} //second stage of overdrive to prevent overs and allow bloody loud extremeness - - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } flip = !flip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; destP += inNumChannels; } diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.h b/plugins/MacAU/Pressure4Mono/Pressure4Mono.h index e88dbac..6c4b3df 100755 --- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.h +++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.h @@ -141,8 +141,7 @@ public: Float64 muSpeedB; Float64 muCoefficientA; Float64 muCoefficientB; - Float64 fpNShapeA; - Float64 fpNShapeB; + long double fpNShape; bool flip; }; diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser index db6a4e5..28eee56 100755 --- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 389, 20, 48, 43, @@ -49,44 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553813081; - PBXWorkspaceStateSaveDate = 553813081; + PBXPerProjectTemplateStateSaveDate = 569677251; + PBXWorkspaceStateSaveDate = 569677251; }; perUserProjectItems = { - 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */ = 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */; - 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */ = 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */; - 8BB8B69021028B4200751000 /* PBXTextBookmark */ = 8BB8B69021028B4200751000 /* PBXTextBookmark */; + 8B792F6521F495EA006E9731 /* PBXTextBookmark */ = 8B792F6521F495EA006E9731 /* PBXTextBookmark */; + 8B792F6621F495EA006E9731 /* PBXTextBookmark */ = 8B792F6621F495EA006E9731 /* PBXTextBookmark */; + 8B792F6721F495EA006E9731 /* PBXTextBookmark */ = 8B792F6721F495EA006E9731 /* PBXTextBookmark */; 8BEF332D1D81E168008B0B7F /* PlistBookmark */ = 8BEF332D1D81E168008B0B7F /* PlistBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */ = { + 8B792F6521F495EA006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Pressure4Mono.h */; - name = "Pressure4Mono.h: 67"; + name = "Pressure4Mono.h: 144"; rLen = 0; - rLoc = 3269; + rLoc = 5594; rType = 0; - vrLen = 563; - vrLoc = 2781; + vrLen = 452; + vrLoc = 5278; }; - 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */ = { + 8B792F6621F495EA006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */; - name = "Pressure4Mono.cpp: 201"; + name = "Pressure4Mono.cpp: 358"; rLen = 0; - rLoc = 9254; + rLoc = 14617; rType = 0; - vrLen = 662; - vrLoc = 8746; + vrLen = 887; + vrLoc = 13781; + }; + 8B792F6721F495EA006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */; + name = "Pressure4Mono.cpp: 358"; + rLen = 0; + rLoc = 14617; + rType = 0; + vrLen = 814; + vrLoc = 13855; }; 8BA05A660720730100365D66 /* Pressure4Mono.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 4914}}"; - sepNavSelRange = "{9254, 0}"; - sepNavVisRange = "{8748, 660}"; + sepNavIntBoundsRect = "{{0, 0}, {817, 4940}}"; + sepNavSelRange = "{14617, 0}"; + sepNavVisRange = "{13855, 814}"; sepNavWindowFrame = "{{687, 59}, {895, 819}}"; }; }; @@ -98,21 +108,11 @@ sepNavWindowFrame = "{{528, 59}, {895, 819}}"; }; }; - 8BB8B69021028B4200751000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */; - name = "Pressure4Mono.cpp: 201"; - rLen = 0; - rLoc = 9254; - rType = 0; - vrLen = 660; - vrLoc = 8748; - }; 8BC6025B073B072D006C4272 /* Pressure4Mono.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2002}}"; - sepNavSelRange = "{2979, 0}"; - sepNavVisRange = "{4196, 1545}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}"; + sepNavSelRange = "{5594, 0}"; + sepNavVisRange = "{5278, 452}"; sepNavWindowFrame = "{{545, 52}, {895, 819}}"; }; }; diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3 index 8a308b1..72322fc 100755 --- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 191 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {191, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {208, 613}} GroupTreeTableConfiguration MainColumn - 288 + 191 RubberWindowFrame - 651 172 841 654 0 0 1440 878 + 471 181 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 208pt Dock @@ -353,12 +351,12 @@ _historyCapacity 0 bookmark - 8BB8B69021028B4200751000 + 8B792F6721F495EA006E9731 history 8BEF332D1D81E168008B0B7F - 8B2E03F31D837F81001B9E01 - 8B9D75931F7F9FAE007AB60F + 8B792F6521F495EA006E9731 + 8B792F6621F495EA006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {628, 336}} RubberWindowFrame - 651 172 841 654 0 0 1440 878 + 471 181 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 336pt Proportion - 435pt + 272pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} - RubberWindowFrame - 651 172 841 654 0 0 1440 878 + {{10, 27}, {628, 245}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {628, 245}} + RubberWindowFrame + 471 181 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +460,7 @@ Proportion - 531pt + 628pt Name @@ -481,11 +479,11 @@ TableOfContents - 8BB8B69121028B4200751000 + 8B792F6821F495EA006E9731 1CA23ED40692098700951B8B - 8BB8B69221028B4200751000 + 8B792F6921F495EA006E9731 8BD7274A1D46E5A5000176F0 - 8BB8B69321028B4200751000 + 8B792F6A21F495EA006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 553814850.34887004 + 569677290.01837504 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +673,10 @@ 5 WindowOrderList - 8BB8B69421028B4200751000 /Users/christopherjohnson/Desktop/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj WindowString - 651 172 841 654 0 0 1440 878 + 471 181 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp old mode 100644 new mode 100755 index 48f223b..d0b8cf9 --- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp +++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp @@ -150,9 +150,7 @@ ComponentResult PurestConsoleBuss::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void PurestConsoleBuss::PurestConsoleBussKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,10 +166,6 @@ void PurestConsoleBuss::PurestConsoleBussKernel::Process( const Float32 *inSou const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - long double inputSample; while (nSampleFrames-- > 0) { @@ -208,20 +202,12 @@ void PurestConsoleBuss::PurestConsoleBussKernel::Process( const Float32 *inSou inputSample = asin(inputSample); //amplitude aspect - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output - + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h old mode 100644 new mode 100755 index a3df04f..590e797 --- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h +++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h @@ -118,9 +118,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index 3851c37..5e3513c --- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,21 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538687633; - PBXWorkspaceStateSaveDate = 538687633; + PBXPerProjectTemplateStateSaveDate = 569585234; + PBXWorkspaceStateSaveDate = 569585234; }; perUserProjectItems = { - 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */ = 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */; - 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */ = 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */; + 8B34923F2054559600C0EF7D /* PlistBookmark */ = 8B34923F2054559600C0EF7D /* PlistBookmark */; + 8B79265921F32EAB006E9731 /* PBXBookmark */ = 8B79265921F32EAB006E9731 /* PBXBookmark */; + 8B79265F21F32F13006E9731 /* PBXTextBookmark */ = 8B79265F21F32F13006E9731 /* PBXTextBookmark */; + 8B79266421F32F25006E9731 /* PBXTextBookmark */ = 8B79266421F32F25006E9731 /* PBXTextBookmark */; + 8B79266721F32F25006E9731 /* PBXTextBookmark */ = 8B79266721F32F25006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */ = { + 8B34923F2054559600C0EF7D /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -68,16 +71,50 @@ kPath = ( CFBundleName, ); - name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleBuss/Info.plist; + name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/Info.plist; + rLen = 0; + rLoc = 9223372036854775808; + }; + 8B79265921F32EAB006E9731 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */; + }; + 8B79265F21F32F13006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */; + name = "PurestConsoleBuss.cpp: 210"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9637; + rType = 0; + vrLen = 493; + vrLoc = 9142; + }; + 8B79266421F32F25006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */; + name = "PurestConsoleBuss.cpp: 210"; + rLen = 0; + rLoc = 9637; + rType = 0; + vrLen = 493; + vrLoc = 9142; + }; + 8B79266721F32F25006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */; + name = "PurestConsoleBuss.cpp: 168"; + rLen = 0; + rLoc = 7709; + rType = 0; + vrLen = 2197; + vrLoc = 7528; }; 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 3198}}"; - sepNavSelRange = "{9296, 242}"; - sepNavVisRange = "{7889, 2106}"; - sepNavWindowFrame = "{{545, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 2990}}"; + sepNavSelRange = "{9637, 0}"; + sepNavVisRange = "{9142, 493}"; + sepNavWindowFrame = "{{301, 26}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* PurestConsoleBussVersion.h */ = { @@ -88,23 +125,11 @@ sepNavWindowFrame = "{{461, 39}, {895, 839}}"; }; }; - 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/Info.plist; - rLen = 0; - rLoc = 9223372036854775808; - }; 8BC6025B073B072D006C4272 /* PurestConsoleBuss.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1690}}"; - sepNavSelRange = "{2904, 0}"; - sepNavVisRange = "{2002, 1900}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1664}}"; + sepNavSelRange = "{4995, 0}"; + sepNavVisRange = "{3220, 1877}"; sepNavWindowFrame = "{{539, 39}, {895, 839}}"; }; }; diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index f555b58..699b00b --- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 @@ -222,11 +222,52 @@ OpenEditors - + + + Content + + PBXProjectModuleGUID + 8B79266521F32F25006E9731 + PBXProjectModuleLabel + PurestConsoleBuss.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B79266621F32F25006E9731 + PBXProjectModuleLabel + PurestConsoleBuss.cpp + _historyCapacity + 0 + bookmark + 8B79266721F32F25006E9731 + history + + 8B79265921F32EAB006E9731 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {895, 742}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 301 82 895 783 0 0 1440 878 + + + PerspectiveWidths - 810 - 810 + 841 + 841 Perspectives @@ -256,8 +297,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -301,7 +340,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -325,7 +364,7 @@ 288 RubberWindowFrame - 599 222 841 654 0 0 1440 878 + 492 170 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,7 +380,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + PurestConsoleBuss.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,14 +388,15 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + PurestConsoleBuss.cpp _historyCapacity 0 bookmark - 8B4E550F201BB8BF00B5DC2A + 8B79266421F32F25006E9731 history - 8BBE45541FE5F3CA0022E6F7 + 8B34923F2054559600C0EF7D + 8B79265F21F32F13006E9731 SplitCount @@ -370,18 +410,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 188}} RubberWindowFrame - 599 222 841 654 0 0 1440 878 + 492 170 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 188pt Proportion - 379pt + 420pt Tabs @@ -395,9 +435,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 599 222 841 654 0 0 1440 878 + {{10, 27}, {531, 393}} Module XCDetailModule @@ -451,7 +489,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {531, 393}} + RubberWindowFrame + 492 170 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +519,11 @@ TableOfContents - 8B4E5510201BB8BF00B5DC2A + 8B79265421F32E69006E9731 1CA23ED40692098700951B8B - 8B4E5511201BB8BF00B5DC2A + 8B79265521F32E69006E9731 8BD7274A1D46E5A5000176F0 - 8B4E5512201BB8BF00B5DC2A + 8B79265621F32E69006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +696,7 @@ StatusbarIsVisible TimeStamp - 538687679.06755602 + 569585445.78409505 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +713,11 @@ 5 WindowOrderList - 8B4E5513201BB8BF00B5DC2A - /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj + 8B79266521F32F25006E9731 + /Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj WindowString - 599 222 841 654 0 0 1440 878 + 492 170 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp old mode 100644 new mode 100755 index 7f47b65..b418640 --- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp +++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp @@ -150,9 +150,7 @@ ComponentResult PurestConsoleChannel::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void PurestConsoleChannel::PurestConsoleChannelKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,10 +166,6 @@ void PurestConsoleChannel::PurestConsoleChannelKernel::Process( const Float32 const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - long double inputSample; while (nSampleFrames-- > 0) { @@ -203,20 +197,12 @@ void PurestConsoleChannel::PurestConsoleChannelKernel::Process( const Float32 inputSample = sin(inputSample); //amplitude aspect - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h old mode 100644 new mode 100755 index 5cf13da..0beecd1 --- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h +++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h @@ -119,9 +119,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index dcf6a55..44838c0 --- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,19 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538686827; - PBXWorkspaceStateSaveDate = 538686827; + PBXPerProjectTemplateStateSaveDate = 569585667; + PBXWorkspaceStateSaveDate = 569585667; }; perUserProjectItems = { - 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */ = 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */; - 8B4E54C3201BB57400B5DC2A /* PlistBookmark */ = 8B4E54C3201BB57400B5DC2A /* PlistBookmark */; + 8B34922E2054553C00C0EF7D /* PlistBookmark */ = 8B34922E2054553C00C0EF7D /* PlistBookmark */; + 8B79267521F33079006E9731 /* PBXTextBookmark */ = 8B79267521F33079006E9731 /* PBXTextBookmark */; + 8B79267A21F3308F006E9731 /* PBXTextBookmark */ = 8B79267A21F3308F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */ = { + 8B34922E2054553C00C0EF7D /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -68,28 +69,36 @@ kPath = ( CFBundleName, ); - name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/Info.plist; + name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleChannel/Info.plist; rLen = 0; rLoc = 9223372036854775808; }; - 8B4E54C3201BB57400B5DC2A /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/Info.plist; + 8B79267521F33079006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */; + name = "PurestConsoleChannel.cpp: 206"; + rLen = 0; + rLoc = 9532; + rType = 0; + vrLen = 213; + vrLoc = 9160; + }; + 8B79267A21F3308F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */; + name = "PurestConsoleChannel.cpp: 206"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9532; + rType = 0; + vrLen = 213; + vrLoc = 9160; }; 8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 3094}}"; - sepNavSelRange = "{9377, 56}"; - sepNavVisRange = "{7017, 2416}"; - sepNavWindowFrame = "{{545, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 2873}}"; + sepNavSelRange = "{9532, 0}"; + sepNavVisRange = "{9160, 213}"; + sepNavWindowFrame = "{{352, 39}, {895, 839}}"; }; }; 8BA05A690720730100365D66 /* PurestConsoleChannelVersion.h */ = { @@ -102,10 +111,10 @@ }; 8BC6025B073B072D006C4272 /* PurestConsoleChannel.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}"; - sepNavSelRange = "{2920, 0}"; - sepNavVisRange = "{1797, 2033}"; - sepNavWindowFrame = "{{705, 39}, {895, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1677}}"; + sepNavSelRange = "{5033, 0}"; + sepNavVisRange = "{3380, 1763}"; + sepNavWindowFrame = "{{307, 39}, {895, 839}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index f3c675f..18c4f2b --- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 584 203 841 654 0 0 1440 878 + 388 183 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + PurestConsoleChannel.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,14 +347,15 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + PurestConsoleChannel.cpp _historyCapacity 0 bookmark - 8B4E54C3201BB57400B5DC2A + 8B79267A21F3308F006E9731 history - 8B4E54B5201BB4AE00B5DC2A + 8B34922E2054553C00C0EF7D + 8B79267521F33079006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 126}} RubberWindowFrame - 584 203 841 654 0 0 1440 878 + 388 183 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 126pt Proportion - 379pt + 482pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 584 203 841 654 0 0 1440 878 + {{10, 27}, {531, 455}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 455}} + RubberWindowFrame + 388 183 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +478,11 @@ TableOfContents - 8B4E54C4201BB57400B5DC2A + 8B79267B21F3308F006E9731 1CA23ED40692098700951B8B - 8B4E54C5201BB57400B5DC2A + 8B79267C21F3308F006E9731 8BD7274A1D46E5A5000176F0 - 8B4E54C6201BB57400B5DC2A + 8B79267D21F3308F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +655,7 @@ StatusbarIsVisible TimeStamp - 538686836.144647 + 569585807.50112402 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +672,10 @@ 5 WindowOrderList - 8B4E54C7201BB57400B5DC2A - /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj + /Users/christopherjohnson/Desktop/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj WindowString - 584 203 841 654 0 0 1440 878 + 388 183 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestDrive/PurestDrive.cpp b/plugins/MacAU/PurestDrive/PurestDrive.cpp old mode 100644 new mode 100755 index fe73631..7f6d0a0 --- a/plugins/MacAU/PurestDrive/PurestDrive.cpp +++ b/plugins/MacAU/PurestDrive/PurestDrive.cpp @@ -159,9 +159,7 @@ ComponentResult PurestDrive::Initialize() void PurestDrive::PurestDriveKernel::Reset() { previousSample = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } @@ -182,9 +180,6 @@ void PurestDrive::PurestDriveKernel::Process( const Float32 *inSourceP, long double inputSample; long double drySample; Float64 apply; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -227,19 +222,11 @@ void PurestDrive::PurestDriveKernel::Process( const Float32 *inSourceP, previousSample = sin(drySample); //apply the sine while storing previous sample - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PurestDrive/PurestDrive.h b/plugins/MacAU/PurestDrive/PurestDrive.h index 5f5aaa0..54809d8 100755 --- a/plugins/MacAU/PurestDrive/PurestDrive.h +++ b/plugins/MacAU/PurestDrive/PurestDrive.h @@ -126,9 +126,7 @@ public: private: double previousSample; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3 b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser index 197baf6..f2badd1 100755 --- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 538686890; - PBXWorkspaceStateSaveDate = 538686890; + PBXPerProjectTemplateStateSaveDate = 569585875; + PBXWorkspaceStateSaveDate = 569585875; }; perUserProjectItems = { 8B4E546B201BAC8800B5DC2A /* PBXTextBookmark */ = 8B4E546B201BAC8800B5DC2A /* PBXTextBookmark */; - 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */ = 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */; 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */; + 8B79268621F330ED006E9731 /* PBXBookmark */ = 8B79268621F330ED006E9731 /* PBXBookmark */; + 8B79268F21F33157006E9731 /* PBXTextBookmark */ = 8B79268F21F33157006E9731 /* PBXTextBookmark */; + 8B79269521F33157006E9731 /* PBXTextBookmark */ = 8B79269521F33157006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -66,12 +68,12 @@ fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */; name = "PurestDrive.cpp: 243"; rLen = 0; - rLoc = 10597; + rLoc = 10326; rType = 0; vrLen = 174; vrLoc = 8595; }; - 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */ = { + 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* PurestDriveVersion.h */; name = "PurestDriveVersion.h: 55"; @@ -81,7 +83,11 @@ vrLen = 0; vrLoc = 0; }; - 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = { + 8B79268621F330ED006E9731 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */; + }; + 8B79268F21F33157006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* PurestDriveVersion.h */; name = "PurestDriveVersion.h: 55"; @@ -91,12 +97,22 @@ vrLen = 0; vrLoc = 0; }; + 8B79269521F33157006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */; + name = "PurestDrive.cpp: 230"; + rLen = 0; + rLoc = 10324; + rType = 0; + vrLen = 2327; + vrLoc = 8156; + }; 8BA05A660720730100365D66 /* PurestDrive.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {934, 3419}}"; - sepNavSelRange = "{9713, 510}"; - sepNavVisRange = "{7324, 2454}"; - sepNavWindowFrame = "{{459, 58}, {981, 816}}"; + sepNavIntBoundsRect = "{{0, 0}, {934, 3263}}"; + sepNavSelRange = "{10324, 0}"; + sepNavVisRange = "{8156, 2327}"; + sepNavWindowFrame = "{{255, 47}, {981, 816}}"; }; }; 8BA05A670720730100365D66 /* PurestDrive.exp */ = { @@ -124,9 +140,9 @@ }; 8BC6025B073B072D006C4272 /* PurestDrive.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {934, 1794}}"; - sepNavSelRange = "{5101, 0}"; - sepNavVisRange = "{438, 2642}"; + sepNavIntBoundsRect = "{{0, 0}, {934, 1768}}"; + sepNavSelRange = "{5140, 0}"; + sepNavVisRange = "{3607, 1646}"; sepNavWindowFrame = "{{459, 62}, {981, 816}}"; }; }; diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index dea99d5..c9284f3 --- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 @@ -222,7 +222,48 @@ OpenEditors - + + + Content + + PBXProjectModuleGUID + 8B79269321F33157006E9731 + PBXProjectModuleLabel + PurestDrive.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B79269421F33157006E9731 + PBXProjectModuleLabel + PurestDrive.cpp + _historyCapacity + 0 + bookmark + 8B79269521F33157006E9731 + history + + 8B79268621F330ED006E9731 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {981, 719}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 255 103 981 760 0 0 1440 878 + + + PerspectiveWidths 810 @@ -323,7 +364,7 @@ 185 RubberWindowFrame - 630 344 810 487 0 0 1440 878 + 466 344 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -351,11 +392,11 @@ _historyCapacity 0 bookmark - 8B4E54E4201BB69000B5DC2A + 8B79268F21F33157006E9731 history 8B4E546B201BAC8800B5DC2A - 8B4E54A2201BB36200B5DC2A + 8B4E54E4201BB69000B5DC2A SplitCount @@ -369,23 +410,21 @@ GeometryConfiguration Frame - {{0, 0}, {603, 13}} + {{0, 0}, {603, 0}} RubberWindowFrame - 630 344 810 487 0 0 1440 878 + 466 344 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 0pt Proportion - 428pt + 441pt Tabs - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -396,9 +435,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 401}} - RubberWindowFrame - 630 344 810 487 0 0 1440 878 + {{10, 27}, {603, 414}} Module XCDetailModule @@ -452,7 +489,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} + {{10, 27}, {603, 414}} + RubberWindowFrame + 466 344 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +519,11 @@ TableOfContents - 8B4E54E5201BB69000B5DC2A + 8B79269021F33157006E9731 1CA23ED40692098700951B8B - 8B4E54E6201BB69000B5DC2A + 8B79269121F33157006E9731 8B08D48D1C9DE5FB007CAA65 - 8B4E54E7201BB69000B5DC2A + 8B79269221F33157006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +676,7 @@ StatusbarIsVisible TimeStamp - 538687120.62552202 + 569586007.10360599 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +693,11 @@ 5 WindowOrderList - 8B4E54E8201BB69000B5DC2A + 8B79269321F33157006E9731 /Users/christopherjohnson/Desktop/MacAU/PurestDrive/PurestDrive.xcodeproj WindowString - 630 344 810 487 0 0 1440 878 + 466 344 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestEcho/PurestEcho.cpp b/plugins/MacAU/PurestEcho/PurestEcho.cpp index 86ef0f6..cfbb9fd 100755 --- a/plugins/MacAU/PurestEcho/PurestEcho.cpp +++ b/plugins/MacAU/PurestEcho/PurestEcho.cpp @@ -197,9 +197,7 @@ void PurestEcho::PurestEchoKernel::Reset() for(int count = 0; count < totalsamples-1; count++) {d[count] = 0;} gcount = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -275,11 +273,7 @@ void PurestEcho::PurestEchoKernel::Process( const Float32 *inSourceP, //you zero attenuation at 22 kilohertz: forget this at your peril ;) Float64 delaysBuffer; - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + long double inputSample; while (nSampleFrames-- > 0) { @@ -344,19 +338,11 @@ void PurestEcho::PurestEchoKernel::Process( const Float32 *inSourceP, gcount--; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PurestEcho/PurestEcho.h b/plugins/MacAU/PurestEcho/PurestEcho.h index 7ec5461..7ed818b 100755 --- a/plugins/MacAU/PurestEcho/PurestEcho.h +++ b/plugins/MacAU/PurestEcho/PurestEcho.h @@ -140,9 +140,7 @@ public: const static int totalsamples = 65535; Float32 d[totalsamples]; int gcount; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser index bd4e607..4a50060 100755 --- a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457655; - PBXWorkspaceStateSaveDate = 528457655; + PBXPerProjectTemplateStateSaveDate = 569586044; + PBXWorkspaceStateSaveDate = 569586044; }; perUserProjectItems = { 8B18E4181EE3577D005C6C5A /* PlistBookmark */ = 8B18E4181EE3577D005C6C5A /* PlistBookmark */; - 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */ = 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */; - 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */ = 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */; + 8B7926A321F33202006E9731 /* PBXTextBookmark */ = 8B7926A321F33202006E9731 /* PBXTextBookmark */; + 8B7926A821F3322B006E9731 /* PBXTextBookmark */ = 8B7926A821F3322B006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,32 +73,32 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */ = { + 8B7926A321F33202006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PurestEcho.cpp */; - name = "PurestEcho.cpp: 325"; + name = "PurestEcho.cpp: 323"; rLen = 0; - rLoc = 15603; + rLoc = 15450; rType = 0; - vrLen = 282; - vrLoc = 13171; + vrLen = 271; + vrLoc = 13178; }; - 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */ = { + 8B7926A821F3322B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PurestEcho.cpp */; - name = "PurestEcho.cpp: 325"; + name = "PurestEcho.cpp: 319"; rLen = 0; - rLoc = 15603; + rLoc = 15450; rType = 0; - vrLen = 259; - vrLoc = 13194; + vrLen = 494; + vrLoc = 13188; }; 8BA05A660720730100365D66 /* PurestEcho.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {845, 4758}}"; - sepNavSelRange = "{15603, 0}"; - sepNavVisRange = "{13194, 259}"; - sepNavWindowFrame = "{{488, 39}, {952, 839}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4745}}"; + sepNavSelRange = "{15450, 0}"; + sepNavVisRange = "{13188, 494}"; + sepNavWindowFrame = "{{351, 39}, {952, 839}}"; }; }; 8BA05A690720730100365D66 /* PurestEchoVersion.h */ = { @@ -111,9 +111,9 @@ }; 8BC6025B073B072D006C4272 /* PurestEcho.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {905, 1963}}"; - sepNavSelRange = "{5651, 65}"; - sepNavVisRange = "{4192, 1633}"; + sepNavIntBoundsRect = "{{0, 0}, {905, 1937}}"; + sepNavSelRange = "{5673, 0}"; + sepNavVisRange = "{4087, 1697}"; sepNavWindowFrame = "{{488, 39}, {952, 839}}"; }; }; diff --git a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3 index 07a9d55..7fbebe1 100755 --- a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 841 + 841 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 591 207 841 654 0 0 1440 878 + 484 210 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +351,11 @@ _historyCapacity 0 bookmark - 8B9D75A21F7F9FC4007AB60F + 8B7926A821F3322B006E9731 history 8B18E4181EE3577D005C6C5A - 8B9D66831F7C8CE1007AB60F + 8B7926A321F33202006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 158}} + {{0, 0}, {531, 142}} RubberWindowFrame - 591 207 841 654 0 0 1440 878 + 484 210 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 158pt + 142pt Proportion - 450pt + 466pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 423}} - RubberWindowFrame - 591 207 841 654 0 0 1440 878 + {{10, 27}, {531, 439}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {531, 439}} + RubberWindowFrame + 484 210 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8B9D75A31F7F9FC4007AB60F + 8B7926A921F3322B006E9731 1CA23ED40692098700951B8B - 8B9D75A41F7F9FC4007AB60F + 8B7926AA21F3322B006E9731 8BD7274A1D46E5A5000176F0 - 8B9D75A51F7F9FC4007AB60F + 8B7926AB21F3322B006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +655,7 @@ StatusbarIsVisible TimeStamp - 528457668.15951699 + 569586219.97907698 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +672,11 @@ 5 WindowOrderList - 8B9D75A61F7F9FC4007AB60F + 8B7926AC21F3322B006E9731 /Users/christopherjohnson/Desktop/MacAU/PurestEcho/PurestEcho.xcodeproj WindowString - 591 207 841 654 0 0 1440 878 + 484 210 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestGain/PurestGain.cpp b/plugins/MacAU/PurestGain/PurestGain.cpp old mode 100644 new mode 100755 index fe5477c..6bc46d5 --- a/plugins/MacAU/PurestGain/PurestGain.cpp +++ b/plugins/MacAU/PurestGain/PurestGain.cpp @@ -170,9 +170,7 @@ void PurestGain::PurestGainKernel::Reset() settingchase = -90.0; gainBchase = -90.0; chasespeed = 350.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -187,7 +185,6 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; Float64 inputgain = GetParameter( kParam_One ); if (settingchase != inputgain) { @@ -216,8 +213,6 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP, Float64 outputgain; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSample; while (nSampleFrames-- > 0) { @@ -266,38 +261,17 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP, } - if (1.0 == outputgain) - { - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - } - fpFlip = not fpFlip; - //continue noise shaping when bypassing - *destP = *sourceP; - } + if (1.0 == outputgain) *destP = *sourceP; else { inputSample *= outputgain; - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; - } - + } sourceP += inNumChannels; destP += inNumChannels; } } diff --git a/plugins/MacAU/PurestGain/PurestGain.h b/plugins/MacAU/PurestGain/PurestGain.h index 33521dd..ebdac1a 100755 --- a/plugins/MacAU/PurestGain/PurestGain.h +++ b/plugins/MacAU/PurestGain/PurestGain.h @@ -132,10 +132,7 @@ public: Float64 settingchase; Float64 gainBchase; Float64 chasespeed; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index 2071f3a..3035ecc --- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser @@ -49,19 +49,43 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 532472865; - PBXWorkspaceStateSaveDate = 532472865; + PBXPerProjectTemplateStateSaveDate = 569586279; + PBXWorkspaceStateSaveDate = 569586279; + }; + perUserProjectItems = { + 8B7926BA21F332FC006E9731 /* PBXTextBookmark */ = 8B7926BA21F332FC006E9731 /* PBXTextBookmark */; + 8B7926C421F3331E006E9731 /* PBXTextBookmark */ = 8B7926C421F3331E006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7926BA21F332FC006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestGain.cpp */; + name = "PurestGain.cpp: 239"; + rLen = 1347; + rLoc = 10034; + rType = 0; + vrLen = 189; + vrLoc = 10740; + }; + 8B7926C421F3331E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestGain.cpp */; + name = "PurestGain.cpp: 238"; + rLen = 1347; + rLoc = 10034; + rType = 0; + vrLen = 171; + vrLoc = 10772; + }; 8BA05A660720730100365D66 /* PurestGain.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {862, 3965}}"; - sepNavSelRange = "{10177, 1347}"; - sepNavVisRange = "{10721, 1649}"; - sepNavWindowFrame = "{{556, 40}, {909, 838}}"; + sepNavIntBoundsRect = "{{0, 0}, {684, 3744}}"; + sepNavSelRange = "{10034, 1347}"; + sepNavVisRange = "{10772, 171}"; + sepNavWindowFrame = "{{390, 40}, {909, 838}}"; }; }; 8BA05A690720730100365D66 /* PurestGainVersion.h */ = { @@ -74,9 +98,9 @@ }; 8BC6025B073B072D006C4272 /* PurestGain.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1885}}"; - sepNavSelRange = "{5290, 58}"; - sepNavVisRange = "{3646, 1707}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}"; + sepNavSelRange = "{5310, 0}"; + sepNavVisRange = "{3646, 1766}"; sepNavWindowFrame = "{{531, 39}, {909, 838}}"; }; }; diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index 11f6e1d..7e92ba1 --- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 810 + 810 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 630 375 810 487 0 0 1440 878 + 510 325 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8BC521591DB3E3F700E72CD6 PBXProjectModuleLabel - + PurestGain.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,7 +346,15 @@ PBXProjectModuleGUID 8BC5215A1DB3E3F700E72CD6 PBXProjectModuleLabel - + PurestGain.cpp + _historyCapacity + 0 + bookmark + 8B7926C421F3331E006E9731 + history + + 8B7926BA21F332FC006E9731 + SplitCount 1 @@ -361,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {603, 86}} RubberWindowFrame - 630 375 810 487 0 0 1440 878 + 510 325 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 86pt Proportion - 441pt + 355pt Tabs @@ -386,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} - RubberWindowFrame - 630 375 810 487 0 0 1440 878 + {{10, 27}, {603, 328}} Module XCDetailModule @@ -442,7 +446,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 328}} + RubberWindowFrame + 510 325 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -470,11 +476,11 @@ TableOfContents - 8BB5DD741FBCE50A008B4570 + 8B7926C521F3331E006E9731 1CA23ED40692098700951B8B - 8BB5DD751FBCE50A008B4570 + 8B7926C621F3331E006E9731 8BC521591DB3E3F700E72CD6 - 8BB5DD761FBCE50A008B4570 + 8B7926C721F3331E006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +633,7 @@ StatusbarIsVisible TimeStamp - 532473098.399234 + 569586462.880615 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +650,11 @@ 5 WindowOrderList - 8BB5DD771FBCE50A008B4570 + 8B7926C821F3331E006E9731 /Users/christopherjohnson/Desktop/MacAU/PurestGain/PurestGain.xcodeproj WindowString - 630 375 810 487 0 0 1440 878 + 510 325 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/PurestWarm/PurestWarm.cpp b/plugins/MacAU/PurestWarm/PurestWarm.cpp index f72cf4b..0763f84 100755 --- a/plugins/MacAU/PurestWarm/PurestWarm.cpp +++ b/plugins/MacAU/PurestWarm/PurestWarm.cpp @@ -173,9 +173,7 @@ ComponentResult PurestWarm::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void PurestWarm::PurestWarmKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -190,9 +188,6 @@ void PurestWarm::PurestWarmKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; int polarity = (int) GetParameter( kParam_One ); long double inputSample; @@ -229,55 +224,25 @@ void PurestWarm::PurestWarmKernel::Process( const Float32 *inSourceP, if (inputSample < 0) { inputSample = -(sin(-inputSample*1.57079634)/1.57079634); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - //end noise shaping on 32 bit output - } else { - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - } else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - } + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither } } else { - if (inputSample > 0) { inputSample = sin(inputSample*1.57079634)/1.57079634; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - //end noise shaping on 32 bit output - } else { - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - } else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - } + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither } } //that's it. Only applies on one half of the waveform, other half is passthrough untouched. - //even the floating point noise shaping to the 32 bit buss is only applied as needed. - fpFlip = not fpFlip; + //even the dither to the 32 bit buss is only applied as needed. *destP = inputSample; diff --git a/plugins/MacAU/PurestWarm/PurestWarm.h b/plugins/MacAU/PurestWarm/PurestWarm.h index 200035d..1cf3eef 100755 --- a/plugins/MacAU/PurestWarm/PurestWarm.h +++ b/plugins/MacAU/PurestWarm/PurestWarm.h @@ -129,9 +129,7 @@ public: virtual void Reset(); private: - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser index cc141a4..2b7b35c 100755 --- a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser @@ -3,6 +3,8 @@ 089C1669FE841209C02AAC07 /* Project object */ = { activeBuildConfigurationName = Release; activeTarget = 8D01CCC60486CAD60068D4B7 /* PurestWarm */; + breakpoints = ( + ); codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; perUserDictionary = { PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { @@ -49,25 +51,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 532477098; - PBXWorkspaceStateSaveDate = 532477098; + PBXPerProjectTemplateStateSaveDate = 569586628; + PBXWorkspaceStateSaveDate = 569586628; }; perUserProjectItems = { + 8B7926F621F336C4006E9731 /* PBXTextBookmark */ = 8B7926F621F336C4006E9731 /* PBXTextBookmark */; + 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */ = 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */; + 8B7926F821F336C4006E9731 /* PBXTextBookmark */ = 8B7926F821F336C4006E9731 /* PBXTextBookmark */; 8BB5DDAD1FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDAD1FBCF48A008B4570 /* PBXTextBookmark */; - 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */; - 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */; - 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */ = 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7926F621F336C4006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */; + name = "PurestWarm.h: 132"; + rLen = 0; + rLoc = 5200; + rType = 0; + vrLen = 227; + vrLoc = 2866; + }; + 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Unused variable 'fpTemp'"; + fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 190; + rType = 1; + }; + 8B7926F821F336C4006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */; + name = "PurestWarm.cpp: 191"; + rLen = 0; + rLoc = 8370; + rType = 0; + vrLen = 216; + vrLoc = 8263; + }; 8BA05A660720730100365D66 /* PurestWarm.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {885, 3887}}"; - sepNavSelRange = "{10000, 1649}"; - sepNavVisRange = "{10272, 1465}"; - sepNavWindowFrame = "{{534, 57}, {932, 815}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3263}}"; + sepNavSelRange = "{8370, 0}"; + sepNavVisRange = "{8263, 216}"; + sepNavWindowFrame = "{{316, 63}, {932, 815}}"; }; }; 8BA05A670720730100365D66 /* PurestWarm.exp */ = { @@ -95,41 +126,11 @@ vrLen = 429; vrLoc = 2236; }; - 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */; - name = "PurestWarm.cpp: 226"; - rLen = 0; - rLoc = 9997; - rType = 0; - vrLen = 229; - vrLoc = 10272; - }; - 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */; - name = "PurestWarm.h: 134"; - rLen = 0; - rLoc = 5237; - rType = 0; - vrLen = 286; - vrLoc = 2808; - }; - 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */; - name = "PurestWarm.h: 134"; - rLen = 0; - rLoc = 5237; - rType = 0; - vrLen = 285; - vrLoc = 2808; - }; 8BC6025B073B072D006C4272 /* PurestWarm.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {761, 2119}}"; - sepNavSelRange = "{5237, 0}"; - sepNavVisRange = "{2808, 285}"; + sepNavIntBoundsRect = "{{0, 0}, {628, 2080}}"; + sepNavSelRange = "{5200, 0}"; + sepNavVisRange = "{2866, 227}"; sepNavWindowFrame = "{{15, 58}, {932, 815}}"; }; }; diff --git a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3 index cfd223b..83128df 100755 --- a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,7 +298,7 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 3 2 1 0 @@ -324,7 +322,7 @@ 185 RubberWindowFrame - 616 391 810 487 0 0 1440 878 + 361 361 810 487 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8BB5DD7C1FBCE73D008B4570 PBXProjectModuleLabel - PurestWarm.h + PurestWarm.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,16 +346,16 @@ PBXProjectModuleGUID 8BB5DD7D1FBCE73D008B4570 PBXProjectModuleLabel - PurestWarm.h + PurestWarm.cpp _historyCapacity 0 bookmark - 8BB5DDC21FBCF5C0008B4570 + 8B7926F821F336C4006E9731 history 8BB5DDAD1FBCF48A008B4570 - 8BB5DDAE1FBCF48A008B4570 - 8BB5DDB01FBCF48A008B4570 + 8B7926F621F336C4006E9731 + 8B7926F721F336C4006E9731 SplitCount @@ -371,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 117}} + {{0, 0}, {603, 102}} RubberWindowFrame - 616 391 810 487 0 0 1440 878 + 361 361 810 487 0 0 1440 878 Module PBXNavigatorGroup Proportion - 117pt + 102pt Proportion - 324pt + 339pt Tabs @@ -396,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 297}} - RubberWindowFrame - 616 391 810 487 0 0 1440 878 + {{10, 27}, {603, 312}} Module XCDetailModule @@ -452,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {603, 312}} + RubberWindowFrame + 361 361 810 487 0 0 1440 878 Module PBXBuildResultsModule @@ -480,11 +478,11 @@ TableOfContents - 8BB5DDBD1FBCF4AB008B4570 + 8B7926F921F336C4006E9731 1CA23ED40692098700951B8B - 8BB5DDBE1FBCF4AB008B4570 + 8B7926FA21F336C4006E9731 8BB5DD7C1FBCE73D008B4570 - 8BB5DDBF1FBCF4AB008B4570 + 8B7926FB21F336C4006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -521,7 +519,7 @@ Identifier perspective.debug IsVertical - 1 + Layout @@ -535,12 +533,12 @@ GeometryConfiguration Frame - {{0, 0}, {810, 0}} + {{0, 0}, {424, 270}} Module PBXDebugCLIModule Proportion - 0% + 270pt ContentConfiguration @@ -589,8 +587,6 @@ GeometryConfiguration - DebugConsoleDrawerSize - {100, 120} DebugConsoleVisible None DebugConsoleWindowFrame @@ -599,31 +595,53 @@ {{200, 200}, {500, 300}} Frame {{0, 7}, {810, 438}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 185 + + Frame + {{395, 0}, {415, 213}} + Module PBXDebugSessionModule Proportion - 443pt + 438pt Name Debug ServiceClasses - XCModuleDock XCModuleDock PBXDebugCLIModule PBXDebugSessionModule - XCConsole + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup TableOfContents - 1CC8E6A5069209BD00BB180A - 1CC8E6A6069209BD00BB180A + 8B7926FC21F336C4006E9731 1CCC7628064C1048000F2A68 1CCC7629064C1048000F2A68 - 1CC8E6A7069209BD00BB180A + 8B7926FD21F336C4006E9731 + 8B7926FE21F336C4006E9731 + 8B7926FF21F336C4006E9731 + 8B79270021F336C4006E9731 + 8B79270121F336C4006E9731 + ToolbarConfigUserDefaultsMinorVersion + 2 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -637,7 +655,7 @@ StatusbarIsVisible TimeStamp - 532477376.88819098 + 569587396.45455897 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +672,11 @@ 5 WindowOrderList - 8BB5DDC31FBCF5C0008B4570 + 8B79270221F336C4006E9731 /Users/christopherjohnson/Desktop/MacAU/PurestWarm/PurestWarm.xcodeproj WindowString - 616 391 810 487 0 0 1440 878 + 361 361 810 487 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Pyewacket/Pyewacket.cpp b/plugins/MacAU/Pyewacket/Pyewacket.cpp index f80a48b..bb8583b 100755 --- a/plugins/MacAU/Pyewacket/Pyewacket.cpp +++ b/plugins/MacAU/Pyewacket/Pyewacket.cpp @@ -189,11 +189,8 @@ ComponentResult Pyewacket::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ComponentResult Pyewacket::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; chase = 1.0; lastrectifierL = 0.0; lastrectifierR = 0.0; @@ -218,7 +215,6 @@ OSStatus Pyewacket::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla overallscale *= GetSampleRate(); if (overallscale < 0.1) overallscale = 1.0; //insanity check - Float32 fpTemp; long double fpOld = 0.618033988749894848204586; //golden ratio! long double fpNew = 1.0 - fpOld; long double inputSampleL; @@ -336,27 +332,14 @@ OSStatus Pyewacket::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla inputSampleR *= outputGain; } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Pyewacket/Pyewacket.h b/plugins/MacAU/Pyewacket/Pyewacket.h index af1110c..f456046 100755 --- a/plugins/MacAU/Pyewacket/Pyewacket.h +++ b/plugins/MacAU/Pyewacket/Pyewacket.h @@ -116,11 +116,8 @@ public: private: - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - bool fpFlip; + long double fpNShapeL; + long double fpNShapeR; Float64 chase; Float64 lastrectifierL; Float64 lastrectifierR; diff --git a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser index ee55037..54c2d4e 100755 --- a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser @@ -51,13 +51,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457728; - PBXWorkspaceStateSaveDate = 528457728; + PBXPerProjectTemplateStateSaveDate = 569677333; + PBXWorkspaceStateSaveDate = 569677333; }; perUserProjectItems = { 8B3839B91DB9420B00AB1616 /* PlistBookmark */ = 8B3839B91DB9420B00AB1616 /* PlistBookmark */; - 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */ = 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */; - 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */ = 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */; + 8B792F7621F4989B006E9731 /* PBXTextBookmark */ = 8B792F7621F4989B006E9731 /* PBXTextBookmark */; + 8B792F7821F4989B006E9731 /* PBXTextBookmark */ = 8B792F7821F4989B006E9731 /* PBXTextBookmark */; + 8B792F7D21F498CC006E9731 /* PBXTextBookmark */ = 8B792F7D21F498CC006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -75,31 +76,41 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */ = { + 8B792F7621F4989B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Pyewacket.h */; - name = "Pyewacket.h: 115"; + name = "Pyewacket.h: 121"; rLen = 0; - rLoc = 4914; + rLoc = 5041; rType = 0; - vrLen = 292; - vrLoc = 4980; + vrLen = 760; + vrLoc = 4454; }; - 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */ = { + 8B792F7821F4989B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Pyewacket.h */; - name = "Pyewacket.h: 115"; + fRef = 8BA05A660720730100365D66 /* Pyewacket.cpp */; + name = "Pyewacket.cpp: 344"; + rLen = 0; + rLoc = 14633; + rType = 0; + vrLen = 600; + vrLoc = 13667; + }; + 8B792F7D21F498CC006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Pyewacket.cpp */; + name = "Pyewacket.cpp: 218"; rLen = 0; - rLoc = 4914; + rLoc = 9498; rType = 0; - vrLen = 199; - vrLoc = 4980; + vrLen = 573; + vrLoc = 9179; }; 8BA05A660720730100365D66 /* Pyewacket.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 4966}}"; - sepNavSelRange = "{10242, 0}"; - sepNavVisRange = "{10210, 2358}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 4745}}"; + sepNavSelRange = "{9498, 0}"; + sepNavVisRange = "{9179, 573}"; sepNavWindowFrame = "{{694, 43}, {731, 835}}"; }; }; @@ -113,9 +124,9 @@ }; 8BC6025B073B072D006C4272 /* Pyewacket.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}"; - sepNavSelRange = "{4914, 0}"; - sepNavVisRange = "{4980, 199}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}"; + sepNavSelRange = "{5041, 0}"; + sepNavVisRange = "{4454, 760}"; sepNavWindowFrame = "{{681, 43}, {731, 835}}"; }; }; diff --git a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3 index 65d2b4b..ecead33 100755 --- a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 188 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {188, 595}} PBXTopSmartGroupGIDs @@ -318,30 +316,32 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {205, 613}} GroupTreeTableConfiguration MainColumn - 288 + 188 RubberWindowFrame - 585 189 841 654 0 0 1440 878 + 447 195 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 205pt Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Pyewacket.h + Pyewacket.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,15 +349,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Pyewacket.h + Pyewacket.cpp _historyCapacity 0 bookmark - 8B9D75BE1F7FA023007AB60F + 8B792F7D21F498CC006E9731 history 8B3839B91DB9420B00AB1616 - 8B9D724D1F7EFF2C007AB60F + 8B792F7621F4989B006E9731 + 8B792F7821F4989B006E9731 SplitCount @@ -371,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {631, 226}} RubberWindowFrame - 585 189 841 654 0 0 1440 878 + 447 195 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 226pt Proportion - 406pt + 382pt Tabs @@ -396,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 585 189 841 654 0 0 1440 878 + {{10, 27}, {531, 198}} Module XCDetailModule @@ -452,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {631, 355}} + RubberWindowFrame + 447 195 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -461,7 +462,7 @@ Proportion - 531pt + 631pt Name @@ -480,11 +481,11 @@ TableOfContents - 8B9D75BF1F7FA023007AB60F + 8B792F7E21F498CC006E9731 1CA23ED40692098700951B8B - 8B9D75C01F7FA023007AB60F + 8B792F7F21F498CC006E9731 8BD7274A1D46E5A5000176F0 - 8B9D75C11F7FA023007AB60F + 8B792F8021F498CC006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +658,7 @@ StatusbarIsVisible TimeStamp - 528457763.81351399 + 569678028.908059 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +675,10 @@ 5 WindowOrderList - 8B9D75C21F7FA023007AB60F /Users/christopherjohnson/Desktop/MacAU/Pyewacket/Pyewacket.xcodeproj WindowString - 585 189 841 654 0 0 1440 878 + 447 195 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.cpp b/plugins/MacAU/PyewacketMono/PyewacketMono.cpp index 0bc0096..8ea6ab2 100755 --- a/plugins/MacAU/PyewacketMono/PyewacketMono.cpp +++ b/plugins/MacAU/PyewacketMono/PyewacketMono.cpp @@ -174,9 +174,7 @@ ComponentResult PyewacketMono::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void PyewacketMono::PyewacketMonoKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; chase = 1.0; lastrectifier = 0.0; } @@ -198,7 +196,6 @@ void PyewacketMono::PyewacketMonoKernel::Process( const Float32 *inSourceP, overallscale *= GetSampleRate(); if (overallscale < 0.1) overallscale = 1.0; //insanity check - Float32 fpTemp; long double fpOld = 0.618033988749894848204586; //golden ratio! long double fpNew = 1.0 - fpOld; long double inputSample; @@ -283,19 +280,11 @@ void PyewacketMono::PyewacketMonoKernel::Process( const Float32 *inSourceP, inputSample *= outputGain; } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.h b/plugins/MacAU/PyewacketMono/PyewacketMono.h index f3c89ae..469c9f0 100755 --- a/plugins/MacAU/PyewacketMono/PyewacketMono.h +++ b/plugins/MacAU/PyewacketMono/PyewacketMono.h @@ -130,9 +130,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; Float64 chase; Float64 lastrectifier; }; diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser index 59685c5..dda132c 100755 --- a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 383, 20, 48, 43, @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457773; - PBXWorkspaceStateSaveDate = 528457773; + PBXPerProjectTemplateStateSaveDate = 569678053; + PBXWorkspaceStateSaveDate = 569678053; }; perUserProjectItems = { 8B3839AE1DB941F200AB1616 /* PlistBookmark */ = 8B3839AE1DB941F200AB1616 /* PlistBookmark */; - 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */ = 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */; - 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */ = 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */; - 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */ = 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */; + 8B792F8C21F4992B006E9731 /* PBXTextBookmark */ = 8B792F8C21F4992B006E9731 /* PBXTextBookmark */; + 8B792F8E21F4992B006E9731 /* PBXTextBookmark */ = 8B792F8E21F4992B006E9731 /* PBXTextBookmark */; + 8B792F9321F4993E006E9731 /* PBXTextBookmark */ = 8B792F9321F4993E006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -74,41 +74,41 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */ = { + 8B792F8C21F4992B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* PyewacketMono.h */; - name = "PyewacketMono.h: 159"; + name = "PyewacketMono.h: 133"; rLen = 0; - rLoc = 5419; + rLoc = 5336; rType = 0; - vrLen = 0; - vrLoc = 5529; + vrLen = 254; + vrLoc = 5234; }; - 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */ = { + 8B792F8E21F4992B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PyewacketMono.cpp */; - name = "PyewacketMono.cpp: 210"; + name = "PyewacketMono.cpp: 288"; rLen = 0; - rLoc = 9389; + rLoc = 12575; rType = 0; - vrLen = 572; - vrLoc = 10834; + vrLen = 970; + vrLoc = 11693; }; - 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */ = { + 8B792F9321F4993E006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* PyewacketMono.cpp */; - name = "PyewacketMono.cpp: 210"; + name = "PyewacketMono.cpp: 288"; rLen = 0; - rLoc = 9389; + rLoc = 12575; rType = 0; - vrLen = 530; - vrLoc = 10834; + vrLen = 989; + vrLoc = 11674; }; 8BA05A660720730100365D66 /* PyewacketMono.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 4056}}"; - sepNavSelRange = "{9389, 0}"; - sepNavVisRange = "{10834, 530}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4030}}"; + sepNavSelRange = "{12575, 0}"; + sepNavVisRange = "{11674, 989}"; sepNavWindowFrame = "{{761, 39}, {679, 835}}"; }; }; @@ -122,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* PyewacketMono.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}"; - sepNavSelRange = "{5378, 17}"; - sepNavVisRange = "{3870, 1659}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}"; + sepNavSelRange = "{5336, 0}"; + sepNavVisRange = "{5234, 254}"; sepNavWindowFrame = "{{657, 41}, {731, 835}}"; }; }; diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3 index 60a47c2..3572251 100755 --- a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 197 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {197, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {214, 613}} GroupTreeTableConfiguration MainColumn - 288 + 197 RubberWindowFrame - 579 196 841 654 0 0 1440 878 + 446 198 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 214pt Dock @@ -353,12 +351,12 @@ _historyCapacity 0 bookmark - 8B9D75CD1F7FA05E007AB60F + 8B792F9321F4993E006E9731 history 8B3839AE1DB941F200AB1616 - 8B383A0D1DB9520500AB1616 - 8B9D66C51F7C8D8D007AB60F + 8B792F8C21F4992B006E9731 + 8B792F8E21F4992B006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {622, 417}} RubberWindowFrame - 579 196 841 654 0 0 1440 878 + 446 198 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 417pt Proportion - 379pt + 191pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 579 196 841 654 0 0 1440 878 + {{10, 27}, {622, 164}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {622, 164}} + RubberWindowFrame + 446 198 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +460,7 @@ Proportion - 531pt + 622pt Name @@ -481,11 +479,11 @@ TableOfContents - 8B9D75CE1F7FA05E007AB60F + 8B792F9421F4993E006E9731 1CA23ED40692098700951B8B - 8B9D75CF1F7FA05E007AB60F + 8B792F9521F4993E006E9731 8BD7274A1D46E5A5000176F0 - 8B9D75D01F7FA05E007AB60F + 8B792F9621F4993E006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 528457822.27237201 + 569678142.79066706 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +673,10 @@ 5 WindowOrderList - 8B9D75D11F7FA05E007AB60F /Users/christopherjohnson/Desktop/MacAU/PyewacketMono/PyewacketMono.xcodeproj WindowString - 579 196 841 654 0 0 1440 878 + 446 198 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Righteous4/Righteous4.cpp b/plugins/MacAU/Righteous4/Righteous4.cpp index f20e5ec..be1a1f6 100755 --- a/plugins/MacAU/Righteous4/Righteous4.cpp +++ b/plugins/MacAU/Righteous4/Righteous4.cpp @@ -412,14 +412,11 @@ void Righteous4::Righteous4Kernel::Process( const Float32 *inSourceP, //output dither section if (bitDepth == 3) { - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither } else { //entire Naturalize section used when not on 32 bit out @@ -519,10 +516,5 @@ void Righteous4::Righteous4Kernel::Process( const Float32 *inSourceP, sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser index b81dbe3..9104560 100755 --- a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser @@ -49,19 +49,50 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 548108471; - PBXWorkspaceStateSaveDate = 548108471; + PBXPerProjectTemplateStateSaveDate = 569678261; + PBXWorkspaceStateSaveDate = 569678261; }; perUserProjectItems = { + 8B792FA321F49A2F006E9731 /* PBXTextBookmark */ = 8B792FA321F49A2F006E9731 /* PBXTextBookmark */; + 8B792FA521F49A2F006E9731 /* PBXTextBookmark */ = 8B792FA521F49A2F006E9731 /* PBXTextBookmark */; + 8B792FAA21F49A42006E9731 /* PBXTextBookmark */ = 8B792FAA21F49A42006E9731 /* PBXTextBookmark */; 8B7E3DB220A6725600482CB5 /* PBXTextBookmark */ = 8B7E3DB220A6725600482CB5 /* PBXTextBookmark */; 8B904BD0209D3B52008CBAD8 /* PlistBookmark */ = 8B904BD0209D3B52008CBAD8 /* PlistBookmark */; - 8BBFF82820AD804F005650EF /* PBXTextBookmark */ = 8BBFF82820AD804F005650EF /* PBXTextBookmark */; - 8BBFF86720AD84A3005650EF /* PBXTextBookmark */ = 8BBFF86720AD84A3005650EF /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B792FA321F49A2F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Righteous4.h */; + name = "Righteous4.h: 169"; + rLen = 0; + rLoc = 6101; + rType = 0; + vrLen = 439; + vrLoc = 5895; + }; + 8B792FA521F49A2F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */; + name = "Righteous4.cpp: 355"; + rLen = 0; + rLoc = 16702; + rType = 0; + vrLen = 960; + vrLoc = 18184; + }; + 8B792FAA21F49A42006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */; + name = "Righteous4.cpp: 355"; + rLen = 0; + rLoc = 16702; + rType = 0; + vrLen = 960; + vrLoc = 18184; + }; 8B7E3DB220A6725600482CB5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* Righteous4Version.h */; @@ -86,10 +117,10 @@ }; 8BA05A660720730100365D66 /* Righteous4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {838, 6825}}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 6981}}"; sepNavSelRange = "{16702, 0}"; - sepNavVisRange = "{16728, 303}"; - sepNavWindowFrame = "{{-2, 59}, {1007, 819}}"; + sepNavVisRange = "{18184, 960}"; + sepNavWindowFrame = "{{290, 59}, {1007, 819}}"; }; }; 8BA05A690720730100365D66 /* Righteous4Version.h */ = { @@ -100,31 +131,11 @@ sepNavWindowFrame = "{{15, 41}, {816, 832}}"; }; }; - 8BBFF82820AD804F005650EF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */; - name = "Righteous4.cpp: 355"; - rLen = 0; - rLoc = 16702; - rType = 0; - vrLen = 303; - vrLoc = 16728; - }; - 8BBFF86720AD84A3005650EF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */; - name = "Righteous4.cpp: 355"; - rLen = 0; - rLoc = 16702; - rType = 0; - vrLen = 303; - vrLoc = 16728; - }; 8BC6025B073B072D006C4272 /* Righteous4.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2392}}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 2756}}"; sepNavSelRange = "{6101, 0}"; - sepNavVisRange = "{5232, 1102}"; + sepNavVisRange = "{5895, 439}"; sepNavWindowFrame = "{{687, 14}, {816, 832}}"; }; }; diff --git a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3 index 90a4f18..fae6e0d 100755 --- a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3 @@ -352,12 +352,13 @@ _historyCapacity 0 bookmark - 8BBFF86720AD84A3005650EF + 8B792FAA21F49A42006E9731 history 8B904BD0209D3B52008CBAD8 8B7E3DB220A6725600482CB5 - 8BBFF82820AD804F005650EF + 8B792FA321F49A2F006E9731 + 8B792FA521F49A2F006E9731 SplitCount @@ -371,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 74}} + {{0, 0}, {531, 370}} RubberWindowFrame 599 193 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 74pt + 370pt Proportion - 534pt + 238pt Tabs @@ -396,7 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 507}} + {{10, 27}, {531, 211}} Module XCDetailModule @@ -450,7 +451,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 507}} + {{10, 27}, {531, 211}} RubberWindowFrame 599 193 841 654 0 0 1440 878 @@ -480,11 +481,11 @@ TableOfContents - 8BBFF86820AD84A3005650EF + 8B792FAB21F49A42006E9731 1CA23ED40692098700951B8B - 8BBFF86920AD84A3005650EF + 8B792FAC21F49A42006E9731 8BD7274A1D46E5A5000176F0 - 8BBFF86A20AD84A3005650EF + 8B792FAD21F49A42006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +658,7 @@ StatusbarIsVisible TimeStamp - 548242595.39476001 + 569678402.692945 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,7 +675,6 @@ 5 WindowOrderList - 8BBFF86B20AD84A3005650EF /Users/christopherjohnson/Desktop/MacAU/Righteous4/Righteous4.xcodeproj WindowString diff --git a/plugins/MacAU/SideDull/SideDull.cpp b/plugins/MacAU/SideDull/SideDull.cpp index 72793e5..2b75d72 100755 --- a/plugins/MacAU/SideDull/SideDull.cpp +++ b/plugins/MacAU/SideDull/SideDull.cpp @@ -176,11 +176,8 @@ ComponentResult SideDull::Reset(AudioUnitScope inScope, AudioUnitElement inElem iirSampleA = 0.0; iirSampleB = 0.0; flip = true; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -209,10 +206,6 @@ OSStatus SideDull::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag overallscale *= GetSampleRate(); Float64 iirAmount = pow(GetParameter( kParam_One ),3)/overallscale; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - while (nSampleFrames-- > 0) { inputSampleL = *inputL; inputSampleR = *inputR; @@ -273,28 +266,16 @@ OSStatus SideDull::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag inputSampleL = (mid+side)/2.0; inputSampleR = (mid-side)/2.0; - - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } flip = !flip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/SideDull/SideDull.h b/plugins/MacAU/SideDull/SideDull.h index 450a5f3..85fd8d5 100755 --- a/plugins/MacAU/SideDull/SideDull.h +++ b/plugins/MacAU/SideDull/SideDull.h @@ -112,11 +112,8 @@ private: Float64 iirSampleA; Float64 iirSampleB; bool flip; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - + long double fpNShapeL; + long double fpNShapeR; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser index 6bdc1d7..c5161bd 100755 --- a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser @@ -12,7 +12,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 417, 20, 48, 43, @@ -51,45 +51,55 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457832; - PBXWorkspaceStateSaveDate = 528457832; + PBXPerProjectTemplateStateSaveDate = 569678436; + PBXWorkspaceStateSaveDate = 569678436; }; perUserProjectItems = { - 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */ = 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */; - 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */ = 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */; + 8B792FB921F49AD2006E9731 /* PBXTextBookmark */ = 8B792FB921F49AD2006E9731 /* PBXTextBookmark */; + 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */ = 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */; + 8B792FC021F49AEA006E9731 /* PBXTextBookmark */ = 8B792FC021F49AEA006E9731 /* PBXTextBookmark */; 8BD4F5851E6E0EED00288155 /* PlistBookmark */ = 8BD4F5851E6E0EED00288155 /* PlistBookmark */; 8BD4F5861E6E0EED00288155 /* PBXTextBookmark */ = 8BD4F5861E6E0EED00288155 /* PBXTextBookmark */; - 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */ = 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */ = { + 8B792FB921F49AD2006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* SideDull.h */; - name = "SideDull.h: 112"; - rLen = 156; - rLoc = 4786; + name = "SideDull.h: 117"; + rLen = 0; + rLoc = 4888; rType = 0; - vrLen = 353; - vrLoc = 2712; + vrLen = 1036; + vrLoc = 3957; }; - 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */ = { + 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* SideDull.h */; - name = "SideDull.h: 112"; - rLen = 156; - rLoc = 4786; + fRef = 8BA05A660720730100365D66 /* SideDull.cpp */; + name = "SideDull.cpp: 279"; + rLen = 0; + rLoc = 11462; rType = 0; - vrLen = 330; - vrLoc = 2735; + vrLen = 843; + vrLoc = 10824; + }; + 8B792FC021F49AEA006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SideDull.cpp */; + name = "SideDull.cpp: 279"; + rLen = 0; + rLoc = 11462; + rType = 0; + vrLen = 850; + vrLoc = 10817; }; 8BA05A660720730100365D66 /* SideDull.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {977, 4225}}"; - sepNavSelRange = "{9554, 0}"; - sepNavVisRange = "{8740, 2240}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3965}}"; + sepNavSelRange = "{11462, 0}"; + sepNavVisRange = "{10817, 850}"; sepNavWindowFrame = "{{416, 39}, {1024, 839}}"; }; }; @@ -103,9 +113,9 @@ }; 8BC6025B073B072D006C4272 /* SideDull.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}"; - sepNavSelRange = "{4786, 156}"; - sepNavVisRange = "{2735, 330}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}"; + sepNavSelRange = "{4888, 0}"; + sepNavVisRange = "{3957, 1036}"; sepNavWindowFrame = "{{15, 39}, {1024, 839}}"; }; }; @@ -145,16 +155,6 @@ vrLen = 510; vrLoc = 2430; }; - 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* SideDull.cpp */; - name = "SideDull.cpp: 176"; - rLen = 128; - rLoc = 7544; - rType = 0; - vrLen = 794; - vrLoc = 7693; - }; 8D01CCC60486CAD60068D4B7 /* SideDull */ = { activeExec = 0; }; diff --git a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3 index 5e89369..dc70f61 100755 --- a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 163 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {163, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {180, 613}} GroupTreeTableConfiguration MainColumn - 288 + 163 RubberWindowFrame - 599 124 841 654 0 0 1440 878 + 430 195 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 180pt Dock @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - SideDull.h + SideDull.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,17 +347,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - SideDull.h + SideDull.cpp _historyCapacity 0 bookmark - 8B9D75DC1F7FA07D007AB60F + 8B792FC021F49AEA006E9731 history 8BD4F5851E6E0EED00288155 8BD4F5861E6E0EED00288155 - 8BD4F5871E6E0EED00288155 - 8B9D66D91F7C8E9B007AB60F + 8B792FB921F49AD2006E9731 + 8B792FBB21F49AD2006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {656, 436}} RubberWindowFrame - 599 124 841 654 0 0 1440 878 + 430 195 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 436pt Proportion - 379pt + 172pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 599 124 841 654 0 0 1440 878 + {{10, 27}, {656, 365}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {656, 145}} + RubberWindowFrame + 430 195 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -463,7 +461,7 @@ Proportion - 531pt + 656pt Name @@ -482,11 +480,11 @@ TableOfContents - 8B9D75DD1F7FA07D007AB60F + 8B792FC121F49AEA006E9731 1CA23ED40692098700951B8B - 8B9D75DE1F7FA07D007AB60F + 8B792FC221F49AEA006E9731 8BD7274A1D46E5A5000176F0 - 8B9D75DF1F7FA07D007AB60F + 8B792FC321F49AEA006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528457853.78940398 + 569678570.12103295 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,10 @@ 5 WindowOrderList - 8B9D75E01F7FA07D007AB60F /Users/christopherjohnson/Desktop/MacAU/SideDull/SideDull.xcodeproj WindowString - 599 124 841 654 0 0 1440 878 + 430 195 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Sidepass/Sidepass.cpp b/plugins/MacAU/Sidepass/Sidepass.cpp index e3c62c8..1379137 100755 --- a/plugins/MacAU/Sidepass/Sidepass.cpp +++ b/plugins/MacAU/Sidepass/Sidepass.cpp @@ -176,11 +176,8 @@ ComponentResult Sidepass::Reset(AudioUnitScope inScope, AudioUnitElement inElem iirSampleA = 0.0; iirSampleB = 0.0; flip = true; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -209,11 +206,7 @@ OSStatus Sidepass::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag overallscale /= 44100.0; overallscale *= GetSampleRate(); Float64 iirAmount = pow(GetParameter( kParam_One ),3)/overallscale; - - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - + while (nSampleFrames-- > 0) { inputSampleL = *inputL; inputSampleR = *inputR; @@ -274,28 +267,16 @@ OSStatus Sidepass::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag inputSampleL = (mid+side)/2.0; inputSampleR = (mid-side)/2.0; - - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } flip = !flip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Sidepass/Sidepass.h b/plugins/MacAU/Sidepass/Sidepass.h index f0f6f09..4ac346b 100755 --- a/plugins/MacAU/Sidepass/Sidepass.h +++ b/plugins/MacAU/Sidepass/Sidepass.h @@ -112,11 +112,8 @@ private: Float64 iirSampleA; Float64 iirSampleB; bool flip; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - + long double fpNShapeL; + long double fpNShapeR; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser index 43370db..d1a3108 100755 --- a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser @@ -12,7 +12,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 397, 20, 48, 43, @@ -51,14 +51,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561232442; - PBXWorkspaceStateSaveDate = 561232442; + PBXPerProjectTemplateStateSaveDate = 569678591; + PBXWorkspaceStateSaveDate = 569678591; }; perUserProjectItems = { 8B0FACF11E6A22F300E0AD36 /* PlistBookmark */ = 8B0FACF11E6A22F300E0AD36 /* PlistBookmark */; - 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */ = 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */; - 8B27211E2173C07300396442 /* PBXTextBookmark */ = 8B27211E2173C07300396442 /* PBXTextBookmark */; - 8B27211F2173C07300396442 /* PBXTextBookmark */ = 8B27211F2173C07300396442 /* PBXTextBookmark */; + 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */ = 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */; + 8B792FD121F49B6D006E9731 /* PBXTextBookmark */ = 8B792FD121F49B6D006E9731 /* PBXTextBookmark */; + 8B792FD621F49B7D006E9731 /* PBXTextBookmark */ = 8B792FD621F49B7D006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -76,41 +76,41 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */ = { + 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */; - name = "Sidepass.cpp: 189"; - rLen = 4308; - rLoc = 7695; + fRef = 8BC6025B073B072D006C4272 /* Sidepass.h */; + name = "Sidepass.h: 116"; + rLen = 0; + rLoc = 4885; rType = 0; - vrLen = 550; - vrLoc = 7695; + vrLen = 1030; + vrLoc = 3963; }; - 8B27211E2173C07300396442 /* PBXTextBookmark */ = { + 8B792FD121F49B6D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Sidepass.h */; - name = "Sidepass.h: 77"; - rLen = 1791; - rLoc = 3256; + fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */; + name = "Sidepass.cpp: 280"; + rLen = 0; + rLoc = 11463; rType = 0; - vrLen = 428; - vrLoc = 3256; + vrLen = 844; + vrLoc = 10824; }; - 8B27211F2173C07300396442 /* PBXTextBookmark */ = { + 8B792FD621F49B7D006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */; - name = "Sidepass.cpp: 189"; - rLen = 4308; - rLoc = 7695; + name = "Sidepass.cpp: 280"; + rLen = 0; + rLoc = 11463; rType = 0; - vrLen = 332; - vrLoc = 7913; + vrLen = 851; + vrLoc = 10817; }; 8BA05A660720730100365D66 /* Sidepass.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4173}}"; - sepNavSelRange = "{7695, 4308}"; - sepNavVisRange = "{7913, 332}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 3705}}"; + sepNavSelRange = "{11463, 0}"; + sepNavVisRange = "{10817, 851}"; sepNavWindowFrame = "{{186, -24}, {923, 837}}"; }; }; @@ -132,9 +132,9 @@ }; 8BC6025B073B072D006C4272 /* Sidepass.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1820}}"; - sepNavSelRange = "{3256, 1791}"; - sepNavVisRange = "{3256, 428}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1599}}"; + sepNavSelRange = "{4885, 0}"; + sepNavVisRange = "{3963, 1030}"; sepNavWindowFrame = "{{510, 41}, {923, 837}}"; }; }; diff --git a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3 index cabf543..4b6178e 100755 --- a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 183 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {183, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {200, 613}} GroupTreeTableConfiguration MainColumn - 288 + 183 RubberWindowFrame - 599 189 841 654 0 0 1440 878 + 469 189 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 200pt Dock @@ -353,12 +351,12 @@ _historyCapacity 0 bookmark - 8B27211F2173C07300396442 + 8B792FD621F49B7D006E9731 history 8B0FACF11E6A22F300E0AD36 - 8B27211E2173C07300396442 - 8B0FAD101E6A27BE00E0AD36 + 8B792FCF21F49B6D006E9731 + 8B792FD121F49B6D006E9731 SplitCount @@ -372,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 126}} + {{0, 0}, {636, 430}} RubberWindowFrame - 599 189 841 654 0 0 1440 878 + 469 189 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 126pt + 430pt Proportion - 482pt + 178pt Tabs @@ -397,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 455}} - RubberWindowFrame - 599 189 841 654 0 0 1440 878 + {{10, 27}, {636, 151}} Module XCDetailModule @@ -453,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {636, 151}} + RubberWindowFrame + 469 189 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +460,7 @@ Proportion - 531pt + 636pt Name @@ -481,11 +479,11 @@ TableOfContents - 8B2721202173C07300396442 + 8B792FD721F49B7D006E9731 1CA23ED40692098700951B8B - 8B2721212173C07300396442 + 8B792FD821F49B7D006E9731 8BD7274A1D46E5A5000176F0 - 8B2721222173C07300396442 + 8B792FD921F49B7D006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +656,7 @@ StatusbarIsVisible TimeStamp - 561234035.39839995 + 569678717.46052098 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -678,7 +676,7 @@ /Users/christopherjohnson/Desktop/MacAU/Sidepass/Sidepass.xcodeproj WindowString - 599 189 841 654 0 0 1440 878 + 469 189 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp index cf29888..9c0da62 100755 --- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp +++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp @@ -268,23 +268,15 @@ void SingleEndedTriode::SingleEndedTriodeKernel::Process( const Float32 *inSou inputSample = (drySample * dry)+(inputSample*wet); } - //noise shaping to 32-bit floating point - float fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser index bb8847c..aa2c283 100755 --- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 333, + 414, 20, 48, 43, @@ -49,47 +49,64 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 547786625; - PBXWorkspaceStateSaveDate = 547786625; + PBXPerProjectTemplateStateSaveDate = 569678966; + PBXWorkspaceStateSaveDate = 569678966; }; perUserProjectItems = { - 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */ = 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */; - 8B7E3E8920A6930E00482CB5 /* PBXBookmark */ = 8B7E3E8920A6930E00482CB5 /* PBXBookmark */; - 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */ = 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */; + 8B792FE521F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE521F49D2B006E9731 /* PBXTextBookmark */; + 8B792FE621F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE621F49D2B006E9731 /* PBXTextBookmark */; + 8B792FE821F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE821F49D2B006E9731 /* PBXTextBookmark */; + 8B792FED21F49D42006E9731 /* PBXTextBookmark */ = 8B792FED21F49D42006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */ = { + 8B792FE521F49D2B006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */; + name = "SingleEndedTriodeVersion.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 948; + vrLoc = 2603; + }; + 8B792FE621F49D2B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* SingleEndedTriode.h */; name = "SingleEndedTriode.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 72; - vrLoc = 0; + vrLen = 719; + vrLoc = 4915; }; - 8B7E3E8920A6930E00482CB5 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */; + 8B792FE821F49D2B006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SingleEndedTriode.cpp */; + name = "SingleEndedTriode.cpp: 276"; + rLen = 0; + rLoc = 12119; + rType = 0; + vrLen = 762; + vrLoc = 11445; }; - 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */ = { + 8B792FED21F49D42006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */; - name = "SingleEndedTriodeVersion.h: 1"; + fRef = 8BA05A660720730100365D66 /* SingleEndedTriode.cpp */; + name = "SingleEndedTriode.cpp: 276"; rLen = 0; - rLoc = 0; + rLoc = 12119; rType = 0; - vrLen = 246; - vrLoc = 3244; + vrLen = 820; + vrLoc = 11387; }; 8BA05A660720730100365D66 /* SingleEndedTriode.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 3783}}"; - sepNavSelRange = "{10732, 1057}"; - sepNavVisRange = "{10814, 1886}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 3900}}"; + sepNavSelRange = "{12119, 0}"; + sepNavVisRange = "{11387, 820}"; sepNavWindowFrame = "{{676, 66}, {1145, 812}}"; }; }; @@ -103,16 +120,16 @@ }; 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 871}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 897}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{3244, 246}"; + sepNavVisRange = "{2603, 948}"; }; }; 8BC6025B073B072D006C4272 /* SingleEndedTriode.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {960, 1885}}"; - sepNavSelRange = "{5481, 20}"; - sepNavVisRange = "{4010, 1624}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 1885}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{4915, 719}"; sepNavWindowFrame = "{{676, 59}, {1007, 819}}"; }; }; diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3 index e1ec1b0..a047d72 100755 --- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 867 + 867 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 216 + 192 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {216, 428}} + {{0, 0}, {192, 549}} PBXTopSmartGroupGIDs @@ -317,19 +315,19 @@ GeometryConfiguration Frame - {{0, 0}, {233, 446}} + {{0, 0}, {209, 567}} GroupTreeTableConfiguration MainColumn - 216 + 192 RubberWindowFrame - 588 264 810 487 0 0 1440 878 + 430 203 867 608 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 233pt + 209pt Dock @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8BBDB967208BF902006F0D04 PBXProjectModuleLabel - SingleEndedTriodeVersion.h + SingleEndedTriode.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,15 +346,16 @@ PBXProjectModuleGUID 8BBDB968208BF902006F0D04 PBXProjectModuleLabel - SingleEndedTriodeVersion.h + SingleEndedTriode.cpp _historyCapacity 0 bookmark - 8B7E3E8A20A6930E00482CB5 + 8B792FED21F49D42006E9731 history - 8B7E3E8820A6930E00482CB5 - 8B7E3E8920A6930E00482CB5 + 8B792FE521F49D2B006E9731 + 8B792FE621F49D2B006E9731 + 8B792FE821F49D2B006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {572, 102}} + {{0, 0}, {653, 410}} RubberWindowFrame - 588 264 810 487 0 0 1440 878 + 430 203 867 608 0 0 1440 878 Module PBXNavigatorGroup Proportion - 102pt + 410pt Proportion - 339pt + 152pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {572, 312}} - RubberWindowFrame - 588 264 810 487 0 0 1440 878 + {{10, 27}, {653, 125}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {572, 282}} + {{10, 27}, {653, 125}} + RubberWindowFrame + 430 203 867 608 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +459,7 @@ Proportion - 572pt + 653pt Name @@ -479,11 +478,11 @@ TableOfContents - 8B7E3E8B20A6930E00482CB5 + 8B792FEE21F49D42006E9731 1CA23ED40692098700951B8B - 8B7E3E8C20A6930E00482CB5 + 8B792FEF21F49D42006E9731 8BBDB967208BF902006F0D04 - 8B7E3E8D20A6930E00482CB5 + 8B792FF021F49D42006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 547787534.19024003 + 569679170.50335598 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -656,7 +655,7 @@ /Users/christopherjohnson/Desktop/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj WindowString - 588 264 810 487 0 0 1440 878 + 430 203 867 608 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Slew/Slew.cpp b/plugins/MacAU/Slew/Slew.cpp index 3c1a7bf..5eee0ab 100755 --- a/plugins/MacAU/Slew/Slew.cpp +++ b/plugins/MacAU/Slew/Slew.cpp @@ -159,6 +159,7 @@ ComponentResult Slew::Initialize() void Slew::SlewKernel::Reset() { lastSample = 0.0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -224,6 +225,12 @@ void Slew::SlewKernel::Process( const Float32 *inSourceP, outputSample = lastSample - threshold; lastSample = outputSample; + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)outputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + outputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = outputSample; destP += inNumChannels; } diff --git a/plugins/MacAU/Slew/Slew.exp b/plugins/MacAU/Slew/Slew.exp index 86851aa..bef4ceb 100755 --- a/plugins/MacAU/Slew/Slew.exp +++ b/plugins/MacAU/Slew/Slew.exp @@ -1 +1 @@ -_SlewEntry \ No newline at end of file +_SlewEntry diff --git a/plugins/MacAU/Slew/Slew.h b/plugins/MacAU/Slew/Slew.h index af04876..95bf7c2 100755 --- a/plugins/MacAU/Slew/Slew.h +++ b/plugins/MacAU/Slew/Slew.h @@ -113,19 +113,18 @@ public: : 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: - Float64 lastSample; + // *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: + Float64 lastSample; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser index 39b5e1c..4a1badd 100755 --- a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 482, 20, 48, 43, @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 542412394; - PBXWorkspaceStateSaveDate = 542412394; + PBXPerProjectTemplateStateSaveDate = 569679199; + PBXWorkspaceStateSaveDate = 569679199; }; perUserProjectItems = { 8B38EA761D5BFD02003DFCC5 /* PBXTextBookmark */ = 8B38EA761D5BFD02003DFCC5 /* PBXTextBookmark */; - 8B44C13C20548E7700B1360B /* PBXTextBookmark */ = 8B44C13C20548E7700B1360B /* PBXTextBookmark */; - 8B44C13D20548E7700B1360B /* PBXTextBookmark */ = 8B44C13D20548E7700B1360B /* PBXTextBookmark */; - 8BC032AD1D6667740039F36E /* PBXTextBookmark */ = 8BC032AD1D6667740039F36E /* PBXTextBookmark */; + 8B792FFC21F49E37006E9731 /* PBXTextBookmark */ = 8B792FFC21F49E37006E9731 /* PBXTextBookmark */; + 8B792FFE21F49E37006E9731 /* PBXTextBookmark */ = 8B792FFE21F49E37006E9731 /* PBXTextBookmark */; + 8B79300821F49E6B006E9731 /* PBXTextBookmark */ = 8B79300821F49E6B006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -72,34 +72,52 @@ vrLen = 210; vrLoc = 3192; }; - 8B44C13C20548E7700B1360B /* PBXTextBookmark */ = { + 8B792FFC21F49E37006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Slew.h */; + name = "Slew.h: 125"; + rLen = 0; + rLoc = 4951; + rType = 0; + vrLen = 940; + vrLoc = 4175; + }; + 8B792FFE21F49E37006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Slew.cpp */; - name = "Slew.cpp: 219"; - rLen = 230; - rLoc = 9710; + name = "Slew.cpp: 231"; + rLen = 0; + rLoc = 10148; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 1188; + vrLoc = 9084; }; - 8B44C13D20548E7700B1360B /* PBXTextBookmark */ = { + 8B79300821F49E6B006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Slew.cpp */; - name = "Slew.cpp: 219"; - rLen = 230; - rLoc = 9710; + name = "Slew.cpp: 231"; + rLen = 0; + rLoc = 10148; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 1237; + vrLoc = 9035; }; 8BA05A660720730100365D66 /* Slew.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 3094}}"; - sepNavSelRange = "{9710, 230}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 3263}}"; + sepNavSelRange = "{10148, 0}"; + sepNavVisRange = "{9035, 1237}"; sepNavWindowFrame = "{{545, 47}, {895, 831}}"; }; }; + 8BA05A670720730100365D66 /* Slew.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{11, 0}"; + sepNavVisRange = "{0, 11}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; + }; + }; 8BA05A690720730100365D66 /* SlewVersion.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {824, 897}}"; @@ -107,21 +125,11 @@ sepNavVisRange = "{3192, 210}"; }; }; - 8BC032AD1D6667740039F36E /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Slew.h */; - name = "Slew.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 180; - vrLoc = 3047; - }; 8BC6025B073B072D006C4272 /* Slew.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {862, 1755}}"; - sepNavSelRange = "{4988, 23}"; - sepNavVisRange = "{3399, 1721}"; + sepNavIntBoundsRect = "{{0, 0}, {810, 2015}}"; + sepNavSelRange = "{4951, 0}"; + sepNavVisRange = "{4175, 940}"; sepNavWindowFrame = "{{492, 40}, {909, 838}}"; }; }; diff --git a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3 index 39ac062..59e0c29 100755 --- a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 928 + 928 Perspectives @@ -300,14 +300,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 685}} PBXTopSmartGroupGIDs @@ -317,14 +317,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 703}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 620 384 810 487 0 0 1440 878 + 365 99 928 744 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,12 +352,12 @@ _historyCapacity 0 bookmark - 8B44C13D20548E7700B1360B + 8B79300821F49E6B006E9731 history 8B38EA761D5BFD02003DFCC5 - 8BC032AD1D6667740039F36E - 8B44C13C20548E7700B1360B + 8B792FFC21F49E37006E9731 + 8B792FFE21F49E37006E9731 SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 13}} + {{0, 0}, {721, 468}} RubberWindowFrame - 620 384 810 487 0 0 1440 878 + 365 99 928 744 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 468pt Proportion - 428pt + 230pt Tabs @@ -396,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 401}} - RubberWindowFrame - 620 384 810 487 0 0 1440 878 + {{10, 27}, {721, 203}} Module XCDetailModule @@ -452,7 +450,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {721, 203}} + RubberWindowFrame + 365 99 928 744 0 0 1440 878 Module PBXBuildResultsModule @@ -461,7 +461,7 @@ Proportion - 603pt + 721pt Name @@ -480,11 +480,11 @@ TableOfContents - 8B44C13E20548E7700B1360B + 8B79300921F49E6B006E9731 1CA23ED40692098700951B8B - 8B44C13F20548E7700B1360B + 8B79300A21F49E6B006E9731 8B38EA371D5BF603003DFCC5 - 8B44C14020548E7700B1360B + 8B79300B21F49E6B006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -637,7 +637,7 @@ StatusbarIsVisible TimeStamp - 542412407.33123505 + 569679467.91034496 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -654,11 +654,11 @@ 5 WindowOrderList - 8B44C14120548E7700B1360B + 8B79300C21F49E6B006E9731 /Users/christopherjohnson/Desktop/MacAU/Slew/Slew.xcodeproj WindowString - 620 384 810 487 0 0 1440 878 + 365 99 928 744 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Slew2/Slew2.cpp b/plugins/MacAU/Slew2/Slew2.cpp index 06a128a..d9a5093 100755 --- a/plugins/MacAU/Slew2/Slew2.cpp +++ b/plugins/MacAU/Slew2/Slew2.cpp @@ -164,8 +164,8 @@ void Slew2::Slew2Kernel::Reset() ataUpsampleHighTweak = 0.0414213562373095048801688; //more adds treble to upsampling ataDecay = 0.915965594177219015; //Catalan's constant, more adds focus and clarity ataFlip = false; //end reset of antialias parameters - demotimer = 0; lastSample = 0.0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -255,6 +255,12 @@ void Slew2::Slew2Kernel::Process( const Float32 *inSourceP, ataPrevDiffSample = ataDiffSample / 2.0; //apply processing as difference to non-oversampled raw input + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; //built in output trim and dry/wet by default diff --git a/plugins/MacAU/Slew2/Slew2.h b/plugins/MacAU/Slew2/Slew2.h index 236a415..4e16def 100755 --- a/plugins/MacAU/Slew2/Slew2.h +++ b/plugins/MacAU/Slew2/Slew2.h @@ -140,8 +140,8 @@ public: Float64 ataDiffSample; Float64 ataPrevDiffSample; bool ataFlip; //end defining of antialiasing variables - int demotimer; Float64 lastSample; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser index c33013d..d905aae 100755 --- a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 427, 20, 48, 43, @@ -49,13 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528457914; - PBXWorkspaceStateSaveDate = 528457914; + PBXPerProjectTemplateStateSaveDate = 569679497; + PBXWorkspaceStateSaveDate = 569679497; }; perUserProjectItems = { 8B41AFAA1DA1D3B100555FA2 /* PBXTextBookmark */ = 8B41AFAA1DA1D3B100555FA2 /* PBXTextBookmark */; - 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */ = 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */; - 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */ = 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */; + 8B79301821F49F45006E9731 /* PBXTextBookmark */ = 8B79301821F49F45006E9731 /* PBXTextBookmark */; + 8B79301A21F49F45006E9731 /* PBXTextBookmark */ = 8B79301A21F49F45006E9731 /* PBXTextBookmark */; + 8B79301F21F49F56006E9731 /* PBXTextBookmark */ = 8B79301F21F49F56006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -71,31 +72,41 @@ vrLen = 12; vrLoc = 0; }; - 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */ = { + 8B79301821F49F45006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Slew2.h */; - name = "Slew2.h: 126"; + name = "Slew2.h: 143"; rLen = 0; - rLoc = 4945; + rLoc = 5356; rType = 0; - vrLen = 78; - vrLoc = 2972; + vrLen = 948; + vrLoc = 4563; }; - 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */ = { + 8B79301A21F49F45006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Slew2.h */; - name = "Slew2.h: 126"; + fRef = 8BA05A660720730100365D66 /* Slew2.cpp */; + name = "Slew2.cpp: 263"; + rLen = 0; + rLoc = 12140; + rType = 0; + vrLen = 1567; + vrLoc = 10707; + }; + 8B79301F21F49F56006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Slew2.cpp */; + name = "Slew2.cpp: 263"; rLen = 0; - rLoc = 4945; + rLoc = 12140; rType = 0; - vrLen = 70; - vrLoc = 2980; + vrLen = 1613; + vrLoc = 10661; }; 8BA05A660720730100365D66 /* Slew2.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1027, 3497}}"; - sepNavSelRange = "{8581, 0}"; - sepNavVisRange = "{8239, 2561}"; + sepNavIntBoundsRect = "{{0, 0}, {1027, 3575}}"; + sepNavSelRange = "{12140, 0}"; + sepNavVisRange = "{10661, 1613}"; sepNavWindowFrame = "{{548, 41}, {892, 828}}"; }; }; @@ -116,9 +127,9 @@ }; 8BC6025B073B072D006C4272 /* Slew2.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 2119}}"; - sepNavSelRange = "{4945, 0}"; - sepNavVisRange = "{2980, 70}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 2301}}"; + sepNavSelRange = "{5356, 0}"; + sepNavVisRange = "{4563, 948}"; sepNavWindowFrame = "{{548, 50}, {892, 828}}"; }; }; diff --git a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3 index 4765fda..43df8cf 100755 --- a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 835 + 835 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 185 + 147 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {147, 699}} PBXTopSmartGroupGIDs @@ -317,19 +315,19 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {164, 717}} GroupTreeTableConfiguration MainColumn - 185 + 147 RubberWindowFrame - 630 353 810 487 0 0 1440 878 + 433 98 835 758 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 202pt + 164pt Dock @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8B41AF5A1DA1CCC700555FA2 PBXProjectModuleLabel - Slew2.h + Slew2.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,15 +346,16 @@ PBXProjectModuleGUID 8B41AF5B1DA1CCC700555FA2 PBXProjectModuleLabel - Slew2.h + Slew2.cpp _historyCapacity 0 bookmark - 8B9D760A1F7FA10A007AB60F + 8B79301F21F49F56006E9731 history 8B41AFAA1DA1D3B100555FA2 - 8B9D670A1F7C8F10007AB60F + 8B79301821F49F45006E9731 + 8B79301A21F49F45006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {666, 538}} RubberWindowFrame - 630 353 810 487 0 0 1440 878 + 433 98 835 758 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 538pt Proportion - 372pt + 174pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 630 353 810 487 0 0 1440 878 + {{10, 27}, {666, 147}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {666, 147}} + RubberWindowFrame + 433 98 835 758 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +459,7 @@ Proportion - 603pt + 666pt Name @@ -479,11 +478,11 @@ TableOfContents - 8B9D760B1F7FA10A007AB60F + 8B79302021F49F56006E9731 1CA23ED40692098700951B8B - 8B9D760C1F7FA10A007AB60F + 8B79302121F49F56006E9731 8B41AF5A1DA1CCC700555FA2 - 8B9D760D1F7FA10A007AB60F + 8B79302221F49F56006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528457994.05700201 + 569679702.44383299 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +652,10 @@ 5 WindowOrderList - 8B9D760E1F7FA10A007AB60F /Users/christopherjohnson/Desktop/MacAU/Slew2/Slew2.xcodeproj WindowString - 630 353 810 487 0 0 1440 878 + 433 98 835 758 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SlewOnly/SlewOnly.cpp b/plugins/MacAU/SlewOnly/SlewOnly.cpp index a29bf57..1cd7a74 100755 --- a/plugins/MacAU/SlewOnly/SlewOnly.cpp +++ b/plugins/MacAU/SlewOnly/SlewOnly.cpp @@ -151,6 +151,7 @@ ComponentResult SlewOnly::Initialize() void SlewOnly::SlewOnlyKernel::Reset() { lastSample = 0.0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -201,6 +202,13 @@ void SlewOnly::SlewOnlyKernel::Process( const Float32 *inSourceP, lastSample = inputSample; if (outputSample > 1.0) outputSample = 1.0; if (outputSample < -1.0) outputSample = -1.0; + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)outputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + outputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = outputSample; sourceP += inNumChannels; destP += inNumChannels; } diff --git a/plugins/MacAU/SlewOnly/SlewOnly.exp b/plugins/MacAU/SlewOnly/SlewOnly.exp index b3b34fe..af27a2b 100755 --- a/plugins/MacAU/SlewOnly/SlewOnly.exp +++ b/plugins/MacAU/SlewOnly/SlewOnly.exp @@ -1 +1 @@ -_SlewOnlyEntry \ No newline at end of file +_SlewOnlyEntry diff --git a/plugins/MacAU/SlewOnly/SlewOnly.h b/plugins/MacAU/SlewOnly/SlewOnly.h index 39c3835..8b31092 100755 --- a/plugins/MacAU/SlewOnly/SlewOnly.h +++ b/plugins/MacAU/SlewOnly/SlewOnly.h @@ -122,6 +122,7 @@ public: private: Float64 lastSample; + long double fpNShape; }; }; diff --git a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser index 1d4d6bd..2ef6ab9 100755 --- a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 449, 20, 48, 43, @@ -49,68 +49,87 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458003; - PBXWorkspaceStateSaveDate = 528458003; + PBXPerProjectTemplateStateSaveDate = 569679830; + PBXWorkspaceStateSaveDate = 569679830; }; perUserProjectItems = { - 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */ = 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */; - 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */ = 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */; - 8B9D76191F7FA162007AB60F /* PBXTextBookmark */ = 8B9D76191F7FA162007AB60F /* PBXTextBookmark */; + 8B79302E21F4A032006E9731 /* PBXTextBookmark */ = 8B79302E21F4A032006E9731 /* PBXTextBookmark */; + 8B79302F21F4A032006E9731 /* PBXTextBookmark */ = 8B79302F21F4A032006E9731 /* PBXTextBookmark */; + 8B79303121F4A032006E9731 /* PBXTextBookmark */ = 8B79303121F4A032006E9731 /* PBXTextBookmark */; + 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */ = 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */; - name = "SlewOnly.cpp: 153"; - rLen = 19; - rLoc = 6827; - rType = 0; - vrLen = 380; - vrLoc = 6692; - }; - 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */ = { + 8B79302E21F4A032006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* SlewOnlyVersion.h */; name = "SlewOnlyVersion.h: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 281; + vrLen = 171; vrLoc = 3098; }; - 8B9D76191F7FA162007AB60F /* PBXTextBookmark */ = { + 8B79302F21F4A032006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* SlewOnlyVersion.h */; - name = "SlewOnlyVersion.h: 1"; + fRef = 8BC6025B073B072D006C4272 /* SlewOnly.h */; + name = "SlewOnly.h: 125"; rLen = 0; - rLoc = 0; + rLoc = 4852; rType = 0; - vrLen = 208; - vrLoc = 3098; + vrLen = 1128; + vrLoc = 3828; + }; + 8B79303121F4A032006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */; + name = "SlewOnly.cpp: 209"; + rLen = 0; + rLoc = 9458; + rType = 0; + vrLen = 1694; + vrLoc = 7914; + }; + 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */; + name = "SlewOnly.cpp: 209"; + rLen = 0; + rLoc = 9458; + rType = 0; + vrLen = 1782; + vrLoc = 7826; }; 8BA05A660720730100365D66 /* SlewOnly.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 2821}}"; - sepNavSelRange = "{9074, 0}"; - sepNavVisRange = "{6942, 2391}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 2847}}"; + sepNavSelRange = "{9458, 0}"; + sepNavVisRange = "{7826, 1782}"; sepNavWindowFrame = "{{331, 78}, {1021, 800}}"; }; }; + 8BA05A670720730100365D66 /* SlewOnly.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{15, 0}"; + sepNavVisRange = "{0, 15}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; + }; + }; 8BA05A690720730100365D66 /* SlewOnlyVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {754, 1014}}"; + sepNavIntBoundsRect = "{{0, 0}, {754, 988}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{3098, 208}"; + sepNavVisRange = "{3098, 171}"; }; }; 8BC6025B073B072D006C4272 /* SlewOnly.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 1703}}"; - sepNavSelRange = "{4807, 22}"; - sepNavVisRange = "{3392, 1546}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 1872}}"; + sepNavSelRange = "{4852, 0}"; + sepNavVisRange = "{3828, 1128}"; sepNavWindowFrame = "{{379, 78}, {1021, 800}}"; }; }; diff --git a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3 index b4c32b3..6f61421 100755 --- a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 895 + 895 Perspectives @@ -300,14 +300,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 656}} PBXTopSmartGroupGIDs @@ -317,14 +317,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 674}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 587 314 810 487 0 0 1440 878 + 417 141 895 715 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +340,7 @@ PBXProjectModuleGUID 8B37E0371D70A73000DB4EC7 PBXProjectModuleLabel - SlewOnlyVersion.h + SlewOnly.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,15 +348,16 @@ PBXProjectModuleGUID 8B37E0381D70A73000DB4EC7 PBXProjectModuleLabel - SlewOnlyVersion.h + SlewOnly.cpp _historyCapacity 0 bookmark - 8B9D76191F7FA162007AB60F + 8B79303B21F4A0A3006E9731 history - 8B37E0391D70A73000DB4EC7 - 8B9D671D1F7C8F37007AB60F + 8B79302E21F4A032006E9731 + 8B79302F21F4A032006E9731 + 8B79303121F4A032006E9731 SplitCount @@ -370,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {688, 543}} RubberWindowFrame - 587 314 810 487 0 0 1440 878 + 417 141 895 715 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 543pt Proportion - 355pt + 126pt Tabs @@ -395,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 587 314 810 487 0 0 1440 878 + {{10, 27}, {688, 99}} Module XCDetailModule @@ -451,7 +450,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {688, 99}} + RubberWindowFrame + 417 141 895 715 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +461,7 @@ Proportion - 603pt + 688pt Name @@ -479,11 +480,11 @@ TableOfContents - 8B9D761A1F7FA162007AB60F + 8B79303C21F4A0A3006E9731 1CA23ED40692098700951B8B - 8B9D761B1F7FA162007AB60F + 8B79303D21F4A0A3006E9731 8B37E0371D70A73000DB4EC7 - 8B9D761C1F7FA162007AB60F + 8B79303E21F4A0A3006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +637,7 @@ StatusbarIsVisible TimeStamp - 528458082.578906 + 569680035.79594803 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +654,11 @@ 5 WindowOrderList - 8B9D761D1F7FA162007AB60F + 8B79303F21F4A0A3006E9731 /Users/christopherjohnson/Desktop/MacAU/SlewOnly/SlewOnly.xcodeproj WindowString - 587 314 810 487 0 0 1440 878 + 417 141 895 715 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Spiral/Spiral.cpp b/plugins/MacAU/Spiral/Spiral.cpp index 77ae93f..0dab386 100755 --- a/plugins/MacAU/Spiral/Spiral.cpp +++ b/plugins/MacAU/Spiral/Spiral.cpp @@ -194,23 +194,15 @@ void Spiral::SpiralKernel::Process( const Float32 *inSourceP, inputSample = sin(inputSample * fabs(inputSample)) / ((inputSample == 0.0) ?1:fabs(inputSample)); - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser index 574956e..f03d75b 100755 --- a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 419, 20, 48, 43, @@ -49,31 +49,62 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 548241334; - PBXWorkspaceStateSaveDate = 548241334; + PBXPerProjectTemplateStateSaveDate = 569680086; + PBXWorkspaceStateSaveDate = 569680086; }; perUserProjectItems = { + 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */ = 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */; + 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */ = 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */; + 8B79305221F4A238006E9731 /* PBXTextBookmark */ = 8B79305221F4A238006E9731 /* PBXTextBookmark */; 8BBFF81D20AD8037005650EF /* PlistBookmark */ = 8BBFF81D20AD8037005650EF /* PlistBookmark */; - 8BBFF81E20AD8037005650EF /* PBXBookmark */ = 8BBFF81E20AD8037005650EF /* PBXBookmark */; - 8BBFF81F20AD8037005650EF /* PBXTextBookmark */ = 8BBFF81F20AD8037005650EF /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Spiral.h */; + name = "Spiral.h: 59"; + rLen = 0; + rLoc = 2862; + rType = 0; + vrLen = 684; + vrLoc = 4289; + }; + 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Spiral.cpp */; + name = "Spiral.cpp: 207"; + rLen = 0; + rLoc = 8720; + rType = 0; + vrLen = 980; + vrLoc = 7743; + }; + 8B79305221F4A238006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Spiral.cpp */; + name = "Spiral.cpp: 207"; + rLen = 0; + rLoc = 8720; + rType = 0; + vrLen = 1029; + vrLoc = 7694; + }; 8BA05A660720730100365D66 /* Spiral.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 2821}}"; - sepNavSelRange = "{8229, 152}"; - sepNavVisRange = "{7230, 1988}"; - sepNavWindowFrame = "{{15, 52}, {850, 821}}"; + sepNavIntBoundsRect = "{{0, 0}, {747, 2873}}"; + sepNavSelRange = "{8720, 0}"; + sepNavVisRange = "{7694, 1029}"; + sepNavWindowFrame = "{{590, 57}, {850, 821}}"; }; }; 8BA05A690720730100365D66 /* SpiralVersion.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {824, 767}}"; - sepNavSelRange = "{2869, 0}"; - sepNavVisRange = "{49, 2888}"; + sepNavSelRange = "{2870, 4}"; + sepNavVisRange = "{31, 2906}"; sepNavWindowFrame = "{{15, 52}, {850, 821}}"; }; }; @@ -87,28 +118,14 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/Spiral/Info.plist; rLen = 0; - rLoc = 9223372036854775807; - }; - 8BBFF81E20AD8037005650EF /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BC6025B073B072D006C4272 /* Spiral.h */; - }; - 8BBFF81F20AD8037005650EF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Spiral.h */; - name = "Spiral.h: 59"; - rLen = 0; - rLoc = 2862; - rType = 0; - vrLen = 583; - vrLoc = 3295; + rLoc = 9223372036854775808; }; 8BC6025B073B072D006C4272 /* Spiral.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1677}}"; sepNavSelRange = "{2862, 0}"; - sepNavVisRange = "{3295, 583}"; - sepNavWindowFrame = "{{15, 52}, {850, 821}}"; + sepNavVisRange = "{4289, 684}"; + sepNavWindowFrame = "{{609, 57}, {850, 821}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3 index fdfc41a..61ccad2 100755 --- a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 161 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -309,7 +307,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {161, 595}} PBXTopSmartGroupGIDs @@ -319,19 +317,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {178, 613}} GroupTreeTableConfiguration MainColumn - 288 + 161 RubberWindowFrame - 16 205 841 654 0 0 1440 878 + 472 182 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 178pt Dock @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Spiral.h + Spiral.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,15 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Spiral.h + Spiral.cpp _historyCapacity 0 bookmark - 8BBFF81F20AD8037005650EF + 8B79305221F4A238006E9731 history 8BBFF81D20AD8037005650EF - 8BBFF81E20AD8037005650EF + 8B79304B21F4A1E5006E9731 + 8B79304D21F4A1E5006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {658, 432}} RubberWindowFrame - 16 205 841 654 0 0 1440 878 + 472 182 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 432pt Proportion - 379pt + 176pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 16 205 841 654 0 0 1440 878 + {{10, 27}, {658, 149}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {658, 149}} + RubberWindowFrame + 472 182 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +461,7 @@ Proportion - 531pt + 658pt Name @@ -481,11 +480,11 @@ TableOfContents - 8BBFF82020AD8037005650EF + 8B79305321F4A238006E9731 1CA23ED40692098700951B8B - 8BBFF82120AD8037005650EF + 8B79305421F4A238006E9731 8BD7274A1D46E5A5000176F0 - 8BBFF82220AD8037005650EF + 8B79305521F4A238006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 548241463.28044701 + 569680440.94942403 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8BBFF82320AD8037005650EF /Users/christopherjohnson/Desktop/MacAU/Spiral/Spiral.xcodeproj WindowString - 16 205 841 654 0 0 1440 878 + 472 182 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Spiral2/Spiral2.cpp b/plugins/MacAU/Spiral2/Spiral2.cpp index a4051e6..90e5478 100755 --- a/plugins/MacAU/Spiral2/Spiral2.cpp +++ b/plugins/MacAU/Spiral2/Spiral2.cpp @@ -274,23 +274,15 @@ void Spiral2::Spiral2Kernel::Process( const Float32 *inSourceP, prevSample = drySample; flip = !flip; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser index 0ac0f78..2e39dac 100755 --- a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser @@ -49,14 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553978426; - PBXWorkspaceStateSaveDate = 553978426; + PBXPerProjectTemplateStateSaveDate = 569680528; + PBXWorkspaceStateSaveDate = 569680528; }; perUserProjectItems = { 8B241CC221016728001BBF7E /* PlistBookmark */ = 8B241CC221016728001BBF7E /* PlistBookmark */; - 8BB8B7382103A9CC00751000 /* PBXTextBookmark */ = 8BB8B7382103A9CC00751000 /* PBXTextBookmark */; - 8BBD1839210525AE0015A233 /* PBXTextBookmark */ = 8BBD1839210525AE0015A233 /* PBXTextBookmark */; - 8BBD183A210525AE0015A233 /* PBXTextBookmark */ = 8BBD183A210525AE0015A233 /* PBXTextBookmark */; + 8B79306121F4A306006E9731 /* PBXTextBookmark */ = 8B79306121F4A306006E9731 /* PBXTextBookmark */; + 8B79306321F4A306006E9731 /* PBXTextBookmark */ = 8B79306321F4A306006E9731 /* PBXTextBookmark */; + 8B79306821F4A31F006E9731 /* PBXTextBookmark */ = 8B79306821F4A31F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -74,57 +74,57 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BA05A660720730100365D66 /* Spiral2.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3978}}"; - sepNavSelRange = "{9851, 0}"; - sepNavVisRange = "{9227, 533}"; - sepNavWindowFrame = "{{589, 57}, {850, 821}}"; - }; - }; - 8BA05A690720730100365D66 /* Spiral2Version.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 767}}"; - sepNavSelRange = "{2880, 0}"; - sepNavVisRange = "{50, 2893}"; - sepNavWindowFrame = "{{643, 57}, {850, 821}}"; - }; - }; - 8BB8B7382103A9CC00751000 /* PBXTextBookmark */ = { + 8B79306121F4A306006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Spiral2.h */; name = "Spiral2.h: 68"; rLen = 0; rLoc = 3361; rType = 0; - vrLen = 396; - vrLoc = 3238; + vrLen = 777; + vrLoc = 5062; }; - 8BBD1839210525AE0015A233 /* PBXTextBookmark */ = { + 8B79306321F4A306006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Spiral2.cpp */; - name = "Spiral2.cpp: 216"; + name = "Spiral2.cpp: 287"; rLen = 0; - rLoc = 9851; + rLoc = 12341; rType = 0; - vrLen = 533; - vrLoc = 9227; + vrLen = 1221; + vrLoc = 11123; }; - 8BBD183A210525AE0015A233 /* PBXTextBookmark */ = { + 8B79306821F4A31F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Spiral2.cpp */; - name = "Spiral2.cpp: 216"; + name = "Spiral2.cpp: 287"; rLen = 0; - rLoc = 9851; + rLoc = 12341; rType = 0; - vrLen = 533; - vrLoc = 9227; + vrLen = 1228; + vrLoc = 11116; + }; + 8BA05A660720730100365D66 /* Spiral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {831, 3978}}"; + sepNavSelRange = "{12341, 0}"; + sepNavVisRange = "{11116, 1228}"; + sepNavWindowFrame = "{{589, 57}, {850, 821}}"; + }; + }; + 8BA05A690720730100365D66 /* Spiral2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {824, 767}}"; + sepNavSelRange = "{2880, 0}"; + sepNavVisRange = "{50, 2893}"; + sepNavWindowFrame = "{{643, 57}, {850, 821}}"; + }; }; 8BC6025B073B072D006C4272 /* Spiral2.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}"; - sepNavSelRange = "{5615, 115}"; - sepNavVisRange = "{4246, 1593}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}"; + sepNavSelRange = "{3361, 0}"; + sepNavVisRange = "{5062, 777}"; sepNavWindowFrame = "{{590, 57}, {850, 821}}"; }; }; diff --git a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3 index a91b03c..f083372 100755 --- a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -326,7 +324,7 @@ 288 RubberWindowFrame - 576 199 841 654 0 0 1440 878 + 456 204 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -354,12 +352,12 @@ _historyCapacity 0 bookmark - 8BBD183A210525AE0015A233 + 8B79306821F4A31F006E9731 history 8B241CC221016728001BBF7E - 8BB8B7382103A9CC00751000 - 8BBD1839210525AE0015A233 + 8B79306121F4A306006E9731 + 8B79306321F4A306006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {531, 481}} RubberWindowFrame - 576 199 841 654 0 0 1440 878 + 456 204 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 481pt Proportion - 435pt + 127pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} - RubberWindowFrame - 576 199 841 654 0 0 1440 878 + {{10, 27}, {531, 100}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 100}} + RubberWindowFrame + 456 204 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -482,11 +480,11 @@ TableOfContents - 8BBD183B210525AE0015A233 + 8B79306921F4A31F006E9731 1CA23ED40692098700951B8B - 8BBD183C210525AE0015A233 + 8B79306A21F4A31F006E9731 8BD7274A1D46E5A5000176F0 - 8BBD183D210525AE0015A233 + 8B79306B21F4A31F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 553985454.98206902 + 569680671.35491204 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/Spiral2/Spiral2.xcodeproj WindowString - 576 199 841 654 0 0 1440 878 + 456 204 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/StarChild/StarChild.cpp b/plugins/MacAU/StarChild/StarChild.cpp index 7a434e9..61959c8 100755 --- a/plugins/MacAU/StarChild/StarChild.cpp +++ b/plugins/MacAU/StarChild/StarChild.cpp @@ -237,13 +237,8 @@ ComponentResult StarChild::Reset(AudioUnitScope inScope, AudioUnitElement inEle increment = 1; dutyCycle = 1; - demotimer = 0; - - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -262,9 +257,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; UInt32 nSampleFrames = inFramesToProcess; Float32 drySampleL; @@ -283,8 +275,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla //let's try making it always be the max delay: smaller range forces scale to be longer Float32 outputPad = 4 * rangeDirect * sqrt(rangeDirect); - - Float32 overallscale = ((1.0-GetParameter( kParam_Two ))*9.0)+1.0; //apply the singlestage groove wear strongest when bits are heavily crushed Float32 gain = overallscale; @@ -314,9 +304,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla //and now it's neatly scaled, too Float32 accumulatorSample; Float32 correction; - - - Float32 wetness = GetParameter( kParam_Three ); Float32 dryness = 1.0 - wetness; //reverb setup @@ -644,25 +631,14 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla drySampleR += inputSampleR; //here we combine the tanks with the dry signal - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = drySampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeAL; - fpTemp = drySampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeAR; - } - else { - fpTemp = drySampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew); - drySampleL += fpNShapeBL; - fpTemp = drySampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew); - drySampleR += fpNShapeBR; - } - fpFlip = not fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)drySampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + drySampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)drySampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + drySampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = drySampleL; *outputR = drySampleR; diff --git a/plugins/MacAU/StarChild/StarChild.h b/plugins/MacAU/StarChild/StarChild.h index 75df690..239daef 100755 --- a/plugins/MacAU/StarChild/StarChild.h +++ b/plugins/MacAU/StarChild/StarChild.h @@ -116,9 +116,6 @@ public: virtual ComponentResult Version() { return kStarChildVersion; } private: - - int demotimer; - Float32 d[45102]; UInt32 dCount; @@ -136,14 +133,8 @@ private: Float64 wearLPrev; Float64 wearRPrev; - Float64 fpNShapeAL; - Float64 fpNShapeAR; - Float64 fpNShapeBL; - Float64 fpNShapeBR; - // Float64 fpNShapeA; - // Float64 fpNShapeB; - bool fpFlip; - + long double fpNShapeR; + long double fpNShapeL; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser index 7cefddd..479a352 100755 --- a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 430, 20, 48, 43, @@ -49,42 +49,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458151; - PBXWorkspaceStateSaveDate = 528458151; + PBXPerProjectTemplateStateSaveDate = 569680704; + PBXWorkspaceStateSaveDate = 569680704; }; perUserProjectItems = { - 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */ = 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */; - 8B9D76381F7FA215007AB60F /* PBXTextBookmark */ = 8B9D76381F7FA215007AB60F /* PBXTextBookmark */; + 8B79307721F4A440006E9731 /* PBXTextBookmark */ = 8B79307721F4A440006E9731 /* PBXTextBookmark */; + 8B79307921F4A440006E9731 /* PBXTextBookmark */ = 8B79307921F4A440006E9731 /* PBXTextBookmark */; + 8B79307E21F4A491006E9731 /* PBXTextBookmark */ = 8B79307E21F4A491006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */ = { + 8B79307721F4A440006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* StarChild.h */; - name = "StarChild.h: 122"; - rLen = 35; - rLoc = 5120; + name = "StarChild.h: 119"; + rLen = 0; + rLoc = 5101; rType = 0; - vrLen = 71; - vrLoc = 5102; + vrLen = 1029; + vrLoc = 4501; }; - 8B9D76381F7FA215007AB60F /* PBXTextBookmark */ = { + 8B79307921F4A440006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* StarChild.h */; - name = "StarChild.h: 122"; - rLen = 35; - rLoc = 5120; + fRef = 8BA05A660720730100365D66 /* StarChild.cpp */; + name = "StarChild.cpp: 650"; + rLen = 0; + rLoc = 38428; + rType = 0; + vrLen = 1146; + vrLoc = 37584; + }; + 8B79307E21F4A491006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* StarChild.cpp */; + name = "StarChild.cpp: 260"; + rLen = 0; + rLoc = 12080; rType = 0; - vrLen = 55; - vrLoc = 5118; + vrLen = 1508; + vrLoc = 11340; }; 8BA05A660720730100365D66 /* StarChild.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1156, 9516}}"; - sepNavSelRange = "{14734, 0}"; - sepNavVisRange = "{14520, 2363}"; + sepNavIntBoundsRect = "{{0, 0}, {1013, 8762}}"; + sepNavSelRange = "{12080, 0}"; + sepNavVisRange = "{11340, 1508}"; sepNavWindowFrame = "{{237, 42}, {1203, 836}}"; }; }; @@ -98,9 +109,9 @@ }; 8BC6025B073B072D006C4272 /* StarChild.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {922, 2080}}"; - sepNavSelRange = "{5120, 35}"; - sepNavVisRange = "{5118, 55}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 2106}}"; + sepNavSelRange = "{5101, 0}"; + sepNavVisRange = "{4501, 1029}"; sepNavWindowFrame = "{{652, 63}, {932, 815}}"; }; }; diff --git a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3 index 0d2abd0..3349044 100755 --- a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 876 + 876 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 661}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 679}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 630 293 810 487 0 0 1440 878 + 447 102 876 720 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -335,12 +333,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 8BAC22EC1F1EA26E009C635C PBXProjectModuleLabel - StarChild.h + StarChild.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,14 +348,15 @@ PBXProjectModuleGUID 8BAC22ED1F1EA26E009C635C PBXProjectModuleLabel - StarChild.h + StarChild.cpp _historyCapacity 0 bookmark - 8B9D76381F7FA215007AB60F + 8B79307E21F4A491006E9731 history - 8B9D67441F7C8F7E007AB60F + 8B79307721F4A440006E9731 + 8B79307921F4A440006E9731 SplitCount @@ -369,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {669, 542}} RubberWindowFrame - 630 293 810 487 0 0 1440 878 + 447 102 876 720 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 542pt Proportion - 355pt + 132pt Tabs @@ -394,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 630 293 810 487 0 0 1440 878 + {{10, 27}, {669, 105}} Module XCDetailModule @@ -450,7 +449,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {669, 105}} + RubberWindowFrame + 447 102 876 720 0 0 1440 878 Module PBXBuildResultsModule @@ -459,7 +460,7 @@ Proportion - 603pt + 669pt Name @@ -478,11 +479,11 @@ TableOfContents - 8B9D76391F7FA215007AB60F + 8B79307F21F4A491006E9731 1CA23ED40692098700951B8B - 8B9D763A1F7FA215007AB60F + 8B79308021F4A491006E9731 8BAC22EC1F1EA26E009C635C - 8B9D763B1F7FA215007AB60F + 8B79308121F4A491006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -635,7 +636,7 @@ StatusbarIsVisible TimeStamp - 528458261.212134 + 569681041.62753606 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -652,11 +653,10 @@ 5 WindowOrderList - 8B9D763C1F7FA215007AB60F /Users/christopherjohnson/Desktop/MacAU/StarChild/StarChild.xcodeproj WindowString - 630 293 810 487 0 0 1440 878 + 447 102 876 720 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/StereoFX/StereoFX.cpp b/plugins/MacAU/StereoFX/StereoFX.cpp index 3c28466..0c32089 100755 --- a/plugins/MacAU/StereoFX/StereoFX.cpp +++ b/plugins/MacAU/StereoFX/StereoFX.cpp @@ -190,10 +190,8 @@ ComponentResult StereoFX::Reset(AudioUnitScope inScope, AudioUnitElement inElem iirSampleA = 0.0; iirSampleB = 0.0; flip = false; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -215,9 +213,6 @@ OSStatus StereoFX::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; long double mid; @@ -334,28 +329,16 @@ OSStatus StereoFX::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag inputSampleL = (mid+side)/2.0; inputSampleR = (mid-side)/2.0; - - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } flip = !flip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/StereoFX/StereoFX.h b/plugins/MacAU/StereoFX/StereoFX.h index 11c97f6..a52f713 100755 --- a/plugins/MacAU/StereoFX/StereoFX.h +++ b/plugins/MacAU/StereoFX/StereoFX.h @@ -119,10 +119,8 @@ public: private: Float64 iirSampleA; Float64 iirSampleB; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; + long double fpNShapeL; + long double fpNShapeR; bool flip; }; diff --git a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser index 626bcdf..ad53de0 100755 --- a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 462, 20, 48, 43, @@ -49,18 +49,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546569486; - PBXWorkspaceStateSaveDate = 546569486; + PBXPerProjectTemplateStateSaveDate = 569681258; + PBXWorkspaceStateSaveDate = 569681258; + }; + perUserProjectItems = { + 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */ = 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */; + 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */ = 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */; + 8B79309421F4A60C006E9731 /* PBXTextBookmark */ = 8B79309421F4A60C006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* StereoFX.h */; + name = "StereoFX.h: 123"; + rLen = 0; + rLoc = 5154; + rType = 0; + vrLen = 1108; + vrLoc = 4168; + }; + 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* StereoFX.cpp */; + name = "StereoFX.cpp: 345"; + rLen = 0; + rLoc = 14822; + rType = 0; + vrLen = 1556; + vrLoc = 12814; + }; + 8B79309421F4A60C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* StereoFX.cpp */; + name = "StereoFX.cpp: 216"; + rLen = 0; + rLoc = 9502; + rType = 0; + vrLen = 1621; + vrLoc = 8612; + }; 8BA05A660720730100365D66 /* StereoFX.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1098, 5096}}"; - sepNavSelRange = "{12356, 2168}"; - sepNavVisRange = "{13918, 1439}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 4888}}"; + sepNavSelRange = "{9502, 0}"; + sepNavVisRange = "{8612, 1621}"; sepNavWindowFrame = "{{763, 66}, {1145, 812}}"; }; }; @@ -89,9 +124,9 @@ }; 8BC6025B073B072D006C4272 /* StereoFX.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 1729}}"; - sepNavSelRange = "{4892, 0}"; - sepNavVisRange = "{1992, 1673}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 1911}}"; + sepNavSelRange = "{5154, 0}"; + sepNavVisRange = "{4168, 1108}"; sepNavWindowFrame = "{{726, 78}, {1021, 800}}"; }; }; diff --git a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3 index 600e693..6d5fb55 100755 --- a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 908 + 908 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 649}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 667}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 622 347 810 487 0 0 1440 878 + 377 128 908 708 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -335,12 +333,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 8B050BD820648DF500700365 PBXProjectModuleLabel - + StereoFX.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,7 +348,16 @@ PBXProjectModuleGUID 8B050BD920648DF500700365 PBXProjectModuleLabel - + StereoFX.cpp + _historyCapacity + 0 + bookmark + 8B79309421F4A60C006E9731 + history + + 8B79308D21F4A5EC006E9731 + 8B79308F21F4A5EC006E9731 + SplitCount 1 @@ -361,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {701, 497}} RubberWindowFrame - 622 347 810 487 0 0 1440 878 + 377 128 908 708 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 497pt Proportion - 441pt + 165pt Tabs @@ -386,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} - RubberWindowFrame - 622 347 810 487 0 0 1440 878 + {{10, 27}, {701, 138}} Module XCDetailModule @@ -442,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {701, 138}} + RubberWindowFrame + 377 128 908 708 0 0 1440 878 Module PBXBuildResultsModule @@ -451,7 +460,7 @@ Proportion - 603pt + 701pt Name @@ -470,11 +479,11 @@ TableOfContents - 8BC5CFD0209404910058B257 + 8B79309521F4A60C006E9731 1CA23ED40692098700951B8B - 8BC5CFD1209404910058B257 + 8B79309621F4A60C006E9731 8B050BD820648DF500700365 - 8BC5CFD2209404910058B257 + 8B79309721F4A60C006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +636,7 @@ StatusbarIsVisible TimeStamp - 546571409.14249599 + 569681420.22861803 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +653,10 @@ 5 WindowOrderList - 8BC5CFD3209404910058B257 /Users/christopherjohnson/Desktop/MacAU/StereoFX/StereoFX.xcodeproj WindowString - 622 347 810 487 0 0 1440 878 + 377 128 908 708 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SubsOnly/SubsOnly.cpp b/plugins/MacAU/SubsOnly/SubsOnly.cpp index 4013912..cfa37b0 100755 --- a/plugins/MacAU/SubsOnly/SubsOnly.cpp +++ b/plugins/MacAU/SubsOnly/SubsOnly.cpp @@ -176,6 +176,7 @@ void SubsOnly::SubsOnlyKernel::Reset() iirSampleX = 0.0; iirSampleY = 0.0; iirSampleZ = 0.0; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -332,6 +333,14 @@ void SubsOnly::SubsOnlyKernel::Process( const Float32 *inSourceP, iirSampleZ = (iirSampleZ * altAmount) + (inputSample * iirAmount); inputSample = iirSampleZ; if (inputSample > 1.0) inputSample = 1.0; if (inputSample < -1.0) inputSample = -1.0; + + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } diff --git a/plugins/MacAU/SubsOnly/SubsOnly.exp b/plugins/MacAU/SubsOnly/SubsOnly.exp index 4735777..04208e0 100755 --- a/plugins/MacAU/SubsOnly/SubsOnly.exp +++ b/plugins/MacAU/SubsOnly/SubsOnly.exp @@ -1 +1 @@ -_SubsOnlyEntry \ No newline at end of file +_SubsOnlyEntry diff --git a/plugins/MacAU/SubsOnly/SubsOnly.h b/plugins/MacAU/SubsOnly/SubsOnly.h index ba372cd..a2efe96 100755 --- a/plugins/MacAU/SubsOnly/SubsOnly.h +++ b/plugins/MacAU/SubsOnly/SubsOnly.h @@ -147,6 +147,7 @@ public: Float64 iirSampleX; Float64 iirSampleY; Float64 iirSampleZ; + long double fpNShape; }; }; diff --git a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser index 2f28dde..61b79e7 100755 --- a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 506, 20, 48, 43, @@ -49,21 +49,64 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458272; - PBXWorkspaceStateSaveDate = 528458272; + PBXPerProjectTemplateStateSaveDate = 569681518; + PBXWorkspaceStateSaveDate = 569681518; + }; + perUserProjectItems = { + 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */ = 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */; + 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */ = 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */; + 8B7930AB21F4A702006E9731 /* PBXTextBookmark */ = 8B7930AB21F4A702006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* SubsOnly.h */; + name = "SubsOnly.h: 150"; + rLen = 0; + rLoc = 5401; + rType = 0; + vrLen = 748; + vrLoc = 4757; + }; + 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SubsOnly.cpp */; + name = "SubsOnly.cpp: 337"; + rLen = 0; + rLoc = 15815; + rType = 0; + vrLen = 1698; + vrLoc = 14455; + }; + 8B7930AB21F4A702006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SubsOnly.cpp */; + name = "SubsOnly.cpp: 337"; + rLen = 0; + rLoc = 15815; + rType = 0; + vrLen = 1744; + vrLoc = 14409; + }; 8BA05A660720730100365D66 /* SubsOnly.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 4758}}"; - sepNavSelRange = "{8636, 0}"; - sepNavVisRange = "{7845, 2381}"; + sepNavIntBoundsRect = "{{0, 0}, {712, 4316}}"; + sepNavSelRange = "{15815, 0}"; + sepNavVisRange = "{14409, 1744}"; sepNavWindowFrame = "{{343, 78}, {1021, 800}}"; }; }; + 8BA05A670720730100365D66 /* SubsOnly.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}"; + sepNavSelRange = "{15, 0}"; + sepNavVisRange = "{0, 15}"; + sepNavWindowFrame = "{{15, 51}, {1300, 822}}"; + }; + }; 8BA05A690720730100365D66 /* SubsOnlyVersion.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {848, 897}}"; @@ -74,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* SubsOnly.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 2028}}"; - sepNavSelRange = "{4806, 572}"; - sepNavVisRange = "{4271, 1216}"; + sepNavIntBoundsRect = "{{0, 0}, {803, 2431}}"; + sepNavSelRange = "{5401, 0}"; + sepNavVisRange = "{4757, 748}"; sepNavWindowFrame = "{{15, 73}, {1021, 800}}"; }; }; diff --git a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3 index 03a6556..0059357 100755 --- a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 952 + 952 Perspectives @@ -300,14 +300,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 + 5 2 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 684}} PBXTopSmartGroupGIDs @@ -317,14 +317,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 702}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 494 327 810 487 0 0 1440 878 + 341 97 952 743 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +340,7 @@ PBXProjectModuleGUID 8BBD0B9A1D70A94D003F8957 PBXProjectModuleLabel - + SubsOnly.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,7 +348,16 @@ PBXProjectModuleGUID 8BBD0B9B1D70A94D003F8957 PBXProjectModuleLabel - + SubsOnly.cpp + _historyCapacity + 0 + bookmark + 8B7930AB21F4A702006E9731 + history + + 8B7930A321F4A6E6006E9731 + 8B7930A521F4A6E6006E9731 + SplitCount 1 @@ -361,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {745, 504}} RubberWindowFrame - 494 327 810 487 0 0 1440 878 + 341 97 952 743 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 504pt Proportion - 441pt + 193pt Tabs @@ -386,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} - RubberWindowFrame - 494 327 810 487 0 0 1440 878 + {{10, 27}, {745, 166}} Module XCDetailModule @@ -442,7 +449,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {745, 166}} + RubberWindowFrame + 341 97 952 743 0 0 1440 878 Module PBXBuildResultsModule @@ -451,7 +460,7 @@ Proportion - 603pt + 745pt Name @@ -470,11 +479,11 @@ TableOfContents - 8B9D76471F7FA22D007AB60F + 8B7930AC21F4A702006E9731 1CA23ED40692098700951B8B - 8B9D76481F7FA22D007AB60F + 8B7930AD21F4A702006E9731 8BBD0B9A1D70A94D003F8957 - 8B9D76491F7FA22D007AB60F + 8B7930AE21F4A702006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +636,7 @@ StatusbarIsVisible TimeStamp - 528458285.16747701 + 569681666.59451497 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +653,11 @@ 5 WindowOrderList - 8B9D764A1F7FA22D007AB60F + 8B7930AF21F4A702006E9731 /Users/christopherjohnson/Desktop/MacAU/SubsOnly/SubsOnly.xcodeproj WindowString - 494 327 810 487 0 0 1440 878 + 341 97 952 743 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Surge/Surge.cpp b/plugins/MacAU/Surge/Surge.cpp index 6c59016..af2adf4 100755 --- a/plugins/MacAU/Surge/Surge.cpp +++ b/plugins/MacAU/Surge/Surge.cpp @@ -181,11 +181,8 @@ ComponentResult Surge::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ComponentResult Surge::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - flip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; chaseA = 0.0; chaseB = 0.0; chaseC = 0.0; @@ -210,9 +207,6 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; @@ -227,7 +221,6 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, Float64 dry = 1.0 - wet; Float64 inputSense; - while (nSampleFrames-- > 0) { inputSampleL = *inputL; inputSampleR = *inputR; @@ -312,27 +305,14 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, inputSampleR = drySampleR - (inputSampleR * intensity); inputSampleR = (drySampleR * dry) + (inputSampleR * wet); - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - flip = !flip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Surge/Surge.h b/plugins/MacAU/Surge/Surge.h index 3569845..0d24ad7 100755 --- a/plugins/MacAU/Surge/Surge.h +++ b/plugins/MacAU/Surge/Surge.h @@ -112,11 +112,8 @@ public: virtual ComponentResult Version() { return kSurgeVersion; } private: - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - bool flip; + long double fpNShapeL; + long double fpNShapeR; long double chaseA; long double chaseB; long double chaseC; diff --git a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser index ea48a6f..c2c098b 100755 --- a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser @@ -12,7 +12,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 446, 20, 48, 43, @@ -51,12 +51,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458296; - PBXWorkspaceStateSaveDate = 528458296; + PBXPerProjectTemplateStateSaveDate = 569681702; + PBXWorkspaceStateSaveDate = 569681702; }; perUserProjectItems = { - 8B9D72591F7F002B007AB60F /* PBXTextBookmark */ = 8B9D72591F7F002B007AB60F /* PBXTextBookmark */; - 8B9D76551F7FA262007AB60F /* PBXTextBookmark */ = 8B9D76551F7FA262007AB60F /* PBXTextBookmark */; + 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */ = 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */; + 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */ = 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */; + 8B7930C221F4A996006E9731 /* PBXTextBookmark */ = 8B7930C221F4A996006E9731 /* PBXTextBookmark */; 8BD4F5501E6E0C5600288155 /* PlistBookmark */ = 8BD4F5501E6E0C5600288155 /* PlistBookmark */; 8BD4F5511E6E0C5600288155 /* PBXTextBookmark */ = 8BD4F5511E6E0C5600288155 /* PBXTextBookmark */; }; @@ -64,31 +65,41 @@ userBuildSettings = { }; }; - 8B9D72591F7F002B007AB60F /* PBXTextBookmark */ = { + 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* Surge.h */; - name = "Surge.h: 119"; + name = "Surge.h: 116"; rLen = 0; - rLoc = 4988; + rLoc = 4922; rType = 0; - vrLen = 383; - vrLoc = 2846; + vrLen = 1308; + vrLoc = 3829; }; - 8B9D76551F7FA262007AB60F /* PBXTextBookmark */ = { + 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Surge.h */; - name = "Surge.h: 119"; + fRef = 8BA05A660720730100365D66 /* Surge.cpp */; + name = "Surge.cpp: 316"; + rLen = 0; + rLoc = 12980; + rType = 0; + vrLen = 1238; + vrLoc = 11945; + }; + 8B7930C221F4A996006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Surge.cpp */; + name = "Surge.cpp: 316"; rLen = 0; - rLoc = 4988; + rLoc = 12980; rType = 0; - vrLen = 334; - vrLoc = 2895; + vrLen = 1520; + vrLoc = 10349; }; 8BA05A660720730100365D66 /* Surge.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {977, 4628}}"; - sepNavSelRange = "{10662, 0}"; - sepNavVisRange = "{9183, 2420}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4511}}"; + sepNavSelRange = "{12980, 0}"; + sepNavVisRange = "{10349, 1520}"; sepNavWindowFrame = "{{416, 39}, {1024, 839}}"; }; }; @@ -102,9 +113,9 @@ }; 8BC6025B073B072D006C4272 /* Surge.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1963}}"; - sepNavSelRange = "{4988, 0}"; - sepNavVisRange = "{2895, 334}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1768}}"; + sepNavSelRange = "{4922, 0}"; + sepNavVisRange = "{3829, 1308}"; sepNavWindowFrame = "{{788, 29}, {1024, 839}}"; }; }; diff --git a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3 index 0b410ec..85d373f 100755 --- a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 898 + 898 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 191 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {191, 681}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {208, 699}} GroupTreeTableConfiguration MainColumn - 288 + 191 RubberWindowFrame - 599 205 841 654 0 0 1440 878 + 405 127 898 740 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 208pt Dock @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Surge.h + Surge.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,16 +347,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Surge.h + Surge.cpp _historyCapacity 0 bookmark - 8B9D76551F7FA262007AB60F + 8B7930C221F4A996006E9731 history 8BD4F5501E6E0C5600288155 8BD4F5511E6E0C5600288155 - 8B9D72591F7F002B007AB60F + 8B7930BB21F4A95A006E9731 + 8B7930BD21F4A95A006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {685, 539}} RubberWindowFrame - 599 205 841 654 0 0 1440 878 + 405 127 898 740 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 539pt Proportion - 406pt + 155pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 599 205 841 654 0 0 1440 878 + {{10, 27}, {685, 128}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {685, 128}} + RubberWindowFrame + 405 127 898 740 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +461,7 @@ Proportion - 531pt + 685pt Name @@ -481,11 +480,11 @@ TableOfContents - 8B9D76561F7FA262007AB60F + 8B7930C321F4A996006E9731 1CA23ED40692098700951B8B - 8B9D76571F7FA262007AB60F + 8B7930C421F4A996006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76581F7FA262007AB60F + 8B7930C521F4A996006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528458338.37719601 + 569682326.61837006 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8B9D76591F7FA262007AB60F /Users/christopherjohnson/Desktop/MacAU/Surge/Surge.xcodeproj WindowString - 599 205 841 654 0 0 1440 878 + 405 127 898 740 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SurgeMono/SurgeMono.cpp b/plugins/MacAU/SurgeMono/SurgeMono.cpp index dac3bbd..8909d58 100755 --- a/plugins/MacAU/SurgeMono/SurgeMono.cpp +++ b/plugins/MacAU/SurgeMono/SurgeMono.cpp @@ -166,9 +166,7 @@ ComponentResult SurgeMono::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void SurgeMono::SurgeMonoKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; chaseA = 0.0; chaseB = 0.0; chaseC = 0.0; @@ -190,11 +188,7 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP, Float32 *destP = inDestP; long double overallscale = 1.0; overallscale /= 44100.0; - overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + overallscale *= GetSampleRate(); long double inputSample; long double drySample; Float64 chaseMax = 0.0; @@ -205,7 +199,6 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP, Float64 dry = 1.0 - wet; Float64 inputSense; - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -265,19 +258,11 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP, inputSample = drySample - (inputSample * intensity); inputSample = (drySample * dry) + (inputSample * wet); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/SurgeMono/SurgeMono.h b/plugins/MacAU/SurgeMono/SurgeMono.h index 68d3d7b..692d325 100755 --- a/plugins/MacAU/SurgeMono/SurgeMono.h +++ b/plugins/MacAU/SurgeMono/SurgeMono.h @@ -128,9 +128,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; long double chaseA; long double chaseB; long double chaseC; diff --git a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser index e9de3fd..073386c 100755 --- a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser @@ -49,18 +49,20 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458347; - PBXWorkspaceStateSaveDate = 528458347; + PBXPerProjectTemplateStateSaveDate = 569682465; + PBXWorkspaceStateSaveDate = 569682465; }; perUserProjectItems = { - 8B9D67791F7C8FFF007AB60F /* PlistBookmark */ = 8B9D67791F7C8FFF007AB60F /* PlistBookmark */; - 8B9D76661F7FA27C007AB60F /* PlistBookmark */ = 8B9D76661F7FA27C007AB60F /* PlistBookmark */; + 8B7930D121F4AAA2006E9731 /* PlistBookmark */ = 8B7930D121F4AAA2006E9731 /* PlistBookmark */; + 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */ = 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */; + 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */ = 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */; + 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */ = 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D67791F7C8FFF007AB60F /* PlistBookmark */ = { + 8B7930D121F4AAA2006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,25 +72,43 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/SurgeMono/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8B9D76661F7FA27C007AB60F /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/SurgeMono/Info.plist; + 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* SurgeMono.h */; + name = "SurgeMono.h: 131"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 5211; + rType = 0; + vrLen = 694; + vrLoc = 4739; + }; + 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeMono.cpp */; + name = "SurgeMono.cpp: 266"; + rLen = 0; + rLoc = 11482; + rType = 0; + vrLen = 860; + vrLoc = 10710; + }; + 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeMono.cpp */; + name = "SurgeMono.cpp: 266"; + rLen = 0; + rLoc = 11482; + rType = 0; + vrLen = 863; + vrLoc = 10707; }; 8BA05A660720730100365D66 /* SurgeMono.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {977, 3770}}"; - sepNavSelRange = "{9077, 0}"; - sepNavVisRange = "{8218, 2347}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3796}}"; + sepNavSelRange = "{11482, 0}"; + sepNavVisRange = "{10707, 863}"; sepNavWindowFrame = "{{416, 39}, {1024, 839}}"; }; }; @@ -102,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* SurgeMono.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {977, 1885}}"; - sepNavSelRange = "{5253, 112}"; - sepNavVisRange = "{3887, 1587}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2210}}"; + sepNavSelRange = "{5211, 0}"; + sepNavVisRange = "{4739, 694}"; sepNavWindowFrame = "{{571, 39}, {1024, 839}}"; }; }; diff --git a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3 index e17ff881..3226810 100755 --- a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -325,7 +323,7 @@ 288 RubberWindowFrame - 582 129 841 654 0 0 1440 878 + 444 180 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + SurgeMono.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,14 +347,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + SurgeMono.cpp _historyCapacity 0 bookmark - 8B9D76661F7FA27C007AB60F + 8B7930D921F4AAD9006E9731 history - 8B9D67791F7C8FFF007AB60F + 8B7930D121F4AAA2006E9731 + 8B7930D221F4AAA2006E9731 + 8B7930D421F4AAA2006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {531, 414}} RubberWindowFrame - 582 129 841 654 0 0 1440 878 + 444 180 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 414pt Proportion - 392pt + 194pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} - RubberWindowFrame - 582 129 841 654 0 0 1440 878 + {{10, 27}, {531, 167}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {531, 167}} + RubberWindowFrame + 444 180 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -479,11 +479,11 @@ TableOfContents - 8B9D76671F7FA27C007AB60F + 8B7930DA21F4AAD9006E9731 1CA23ED40692098700951B8B - 8B9D76681F7FA27C007AB60F + 8B7930DB21F4AAD9006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76691F7FA27C007AB60F + 8B7930DC21F4AAD9006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +656,7 @@ StatusbarIsVisible TimeStamp - 528458364.66416103 + 569682649.56976402 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +673,10 @@ 5 WindowOrderList - 8B9D766A1F7FA27C007AB60F /Users/christopherjohnson/Desktop/MacAU/SurgeMono/SurgeMono.xcodeproj WindowString - 582 129 841 654 0 0 1440 878 + 444 180 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SurgeTide/SurgeTide.cpp b/plugins/MacAU/SurgeTide/SurgeTide.cpp index 2a2fe42..3a415f2 100755 --- a/plugins/MacAU/SurgeTide/SurgeTide.cpp +++ b/plugins/MacAU/SurgeTide/SurgeTide.cpp @@ -188,11 +188,8 @@ ComponentResult SurgeTide::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ComponentResult SurgeTide::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - flip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; chaseA = 0.0; chaseB = 0.0; chaseC = 0.0; @@ -215,11 +212,7 @@ OSStatus SurgeTide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + long double inputSampleL; long double inputSampleR; long double drySampleL; @@ -309,27 +302,14 @@ OSStatus SurgeTide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla inputSampleR = drySampleR - (inputSampleR * intensity); inputSampleR = (drySampleR * dry) + (inputSampleR * wet); - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - flip = !flip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/SurgeTide/SurgeTide.h b/plugins/MacAU/SurgeTide/SurgeTide.h index f62817e..a72f6c6 100755 --- a/plugins/MacAU/SurgeTide/SurgeTide.h +++ b/plugins/MacAU/SurgeTide/SurgeTide.h @@ -115,11 +115,8 @@ public: virtual ComponentResult Version() { return kSurgeTideVersion; } private: - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - bool flip; + long double fpNShapeL; + long double fpNShapeR; long double chaseA; long double chaseB; long double chaseC; diff --git a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser index 40a4ff3..72c4866 100755 --- a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 316, 20, 48, 43, @@ -49,40 +49,20 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 543460920; - PBXWorkspaceStateSaveDate = 543460920; + PBXPerProjectTemplateStateSaveDate = 569682693; + PBXWorkspaceStateSaveDate = 569682693; }; perUserProjectItems = { - 8B050BEA20648E5500700365 /* PBXTextBookmark */ = 8B050BEA20648E5500700365 /* PBXTextBookmark */; - 8B050BEB20648E5500700365 /* PBXTextBookmark */ = 8B050BEB20648E5500700365 /* PBXTextBookmark */; 8B3221941DC3CF2D00C1FCDF /* PlistBookmark */ = 8B3221941DC3CF2D00C1FCDF /* PlistBookmark */; 8B3DF6731E6A5BAE00E788B6 /* PBXTextBookmark */ = 8B3DF6731E6A5BAE00E788B6 /* PBXTextBookmark */; - 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */ = 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */; + 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */ = 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */; + 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */ = 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */; + 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */ = 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B050BEA20648E5500700365 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* SurgeTide.h */; - name = "SurgeTide.h: 132"; - rLen = 0; - rLoc = 5345; - rType = 0; - vrLen = 263; - vrLoc = 5082; - }; - 8B050BEB20648E5500700365 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */; - name = "SurgeTide.cpp: 303"; - rLen = 0; - rLoc = 12636; - rType = 0; - vrLen = 1129; - vrLoc = 12486; - }; 8B3221941DC3CF2D00C1FCDF /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -105,11 +85,41 @@ vrLen = 359; vrLoc = 2598; }; + 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* SurgeTide.h */; + name = "SurgeTide.h: 119"; + rLen = 0; + rLoc = 5103; + rType = 0; + vrLen = 1669; + vrLoc = 3609; + }; + 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */; + name = "SurgeTide.cpp: 313"; + rLen = 0; + rLoc = 13187; + rType = 0; + vrLen = 1366; + vrLoc = 12024; + }; + 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */; + name = "SurgeTide.cpp: 313"; + rLen = 0; + rLoc = 13187; + rType = 0; + vrLen = 1259; + vrLoc = 11985; + }; 8BA05A660720730100365D66 /* SurgeTide.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4680}}"; - sepNavSelRange = "{12636, 0}"; - sepNavVisRange = "{12486, 1129}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4498}}"; + sepNavSelRange = "{13187, 0}"; + sepNavVisRange = "{11985, 1259}"; sepNavWindowFrame = "{{758, 43}, {679, 835}}"; }; }; @@ -123,22 +133,12 @@ }; 8BC6025B073B072D006C4272 /* SurgeTide.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}"; - sepNavSelRange = "{5345, 0}"; - sepNavVisRange = "{5082, 263}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}"; + sepNavSelRange = "{5103, 0}"; + sepNavVisRange = "{3609, 1669}"; sepNavWindowFrame = "{{755, 43}, {679, 835}}"; }; }; - 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */; - name = "SurgeTide.cpp: 304"; - rLen = 0; - rLoc = 13729; - rType = 0; - vrLen = 592; - vrLoc = 10562; - }; 8BD3CCB8148830B20062E48C /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; diff --git a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3 index 5941322..f9eb835 100755 --- a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 865 + 865 Perspectives @@ -306,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {288, 707}} PBXTopSmartGroupGIDs @@ -316,14 +316,14 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {305, 725}} GroupTreeTableConfiguration MainColumn 288 RubberWindowFrame - 599 190 841 654 0 0 1440 878 + 436 94 865 766 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -334,8 +334,6 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -353,13 +351,13 @@ _historyCapacity 0 bookmark - 8B050BEB20648E5500700365 + 8B7930EF21F4AB96006E9731 history 8B3221941DC3CF2D00C1FCDF 8B3DF6731E6A5BAE00E788B6 - 8B050BEA20648E5500700365 - 8BC9089C1DC7FFFE008187BE + 8B7930E821F4AB6C006E9731 + 8B7930EA21F4AB6C006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 502}} + {{0, 0}, {555, 495}} RubberWindowFrame - 599 190 841 654 0 0 1440 878 + 436 94 865 766 0 0 1440 878 Module PBXNavigatorGroup Proportion - 502pt + 495pt Proportion - 106pt + 225pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 79}} - RubberWindowFrame - 599 190 841 654 0 0 1440 878 + {{10, 27}, {555, 83}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {555, 198}} + RubberWindowFrame + 436 94 865 766 0 0 1440 878 Module PBXBuildResultsModule @@ -463,7 +461,7 @@ Proportion - 531pt + 555pt Name @@ -482,11 +480,11 @@ TableOfContents - 8B050BEC20648E5500700365 + 8B7930F021F4AB96006E9731 1CA23ED40692098700951B8B - 8B050BED20648E5500700365 + 8B7930F121F4AB96006E9731 8BD7274A1D46E5A5000176F0 - 8B050BEE20648E5500700365 + 8B7930F221F4AB96006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 543460949.69104803 + 569682838.98241794 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/SurgeTide/SurgeTide.xcodeproj WindowString - 599 190 841 654 0 0 1440 878 + 436 94 865 766 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp b/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp index 04f678b..2bbd972 100755 --- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp +++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp @@ -174,9 +174,7 @@ ComponentResult SurgeTideMono::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void SurgeTideMono::SurgeTideMonoKernel::Reset() { - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; chaseA = 0.0; chaseB = 0.0; chaseC = 0.0; @@ -196,11 +194,7 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP, Float32 *destP = inDestP; long double overallscale = 1.0; overallscale /= 44100.0; - overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - + overallscale *= GetSampleRate(); long double inputSample; long double drySample; Float64 intensity = GetParameter( kParam_One ); @@ -210,7 +204,6 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP, Float64 dry = 1.0 - wet; Float64 inputSense; - while (nSampleFrames-- > 0) { inputSample = *sourceP; if (inputSample<1.2e-38 && -inputSample<1.2e-38) { @@ -262,19 +255,11 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP, inputSample = drySample - (inputSample * intensity); inputSample = (drySample * dry) + (inputSample * wet); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.h b/plugins/MacAU/SurgeTideMono/SurgeTideMono.h index 9b5f6c9..067d2e5 100755 --- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.h +++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.h @@ -131,9 +131,7 @@ public: virtual void Reset(); private: - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; long double chaseA; long double chaseB; long double chaseC; diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser index 4cdf650..fce4d19 100755 --- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 405, 20, 48, 43, @@ -49,18 +49,20 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458399; - PBXWorkspaceStateSaveDate = 528458399; + PBXPerProjectTemplateStateSaveDate = 569682860; + PBXWorkspaceStateSaveDate = 569682860; }; perUserProjectItems = { - 8B9D67A21F7C9057007AB60F /* PlistBookmark */ = 8B9D67A21F7C9057007AB60F /* PlistBookmark */; - 8B9D76841F7FA2BF007AB60F /* PlistBookmark */ = 8B9D76841F7FA2BF007AB60F /* PlistBookmark */; + 8B7930FE21F4AC25006E9731 /* PlistBookmark */ = 8B7930FE21F4AC25006E9731 /* PlistBookmark */; + 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */ = 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */; + 8B79310121F4AC25006E9731 /* PBXTextBookmark */ = 8B79310121F4AC25006E9731 /* PBXTextBookmark */; + 8B79310621F4AC4F006E9731 /* PBXTextBookmark */ = 8B79310621F4AC4F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D67A21F7C9057007AB60F /* PlistBookmark */ = { + 8B7930FE21F4AC25006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,25 +72,43 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8B9D76841F7FA2BF007AB60F /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/Info.plist; + 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* SurgeTideMono.h */; + name = "SurgeTideMono.h: 134"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 5400; + rType = 0; + vrLen = 247; + vrLoc = 5329; + }; + 8B79310121F4AC25006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeTideMono.cpp */; + name = "SurgeTideMono.cpp: 263"; + rLen = 0; + rLoc = 11716; + rType = 0; + vrLen = 788; + vrLoc = 11016; + }; + 8B79310621F4AC4F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* SurgeTideMono.cpp */; + name = "SurgeTideMono.cpp: 263"; + rLen = 0; + rLoc = 11716; + rType = 0; + vrLen = 791; + vrLoc = 11013; }; 8BA05A660720730100365D66 /* SurgeTideMono.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 3757}}"; - sepNavSelRange = "{9553, 0}"; - sepNavVisRange = "{8589, 2453}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3770}}"; + sepNavSelRange = "{11716, 0}"; + sepNavVisRange = "{11013, 791}"; sepNavWindowFrame = "{{733, 43}, {679, 835}}"; }; }; @@ -102,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* SurgeTideMono.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}"; - sepNavSelRange = "{5377, 240}"; - sepNavVisRange = "{3991, 1626}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}"; + sepNavSelRange = "{5400, 0}"; + sepNavVisRange = "{5329, 247}"; sepNavWindowFrame = "{{849, 40}, {679, 835}}"; }; }; diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3 index 1739112..606086c 100755 --- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 175 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {175, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {192, 613}} GroupTreeTableConfiguration MainColumn - 288 + 175 RubberWindowFrame - 528 221 841 654 0 0 1440 878 + 454 219 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 192pt Dock @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + SurgeTideMono.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,14 +347,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + SurgeTideMono.cpp _historyCapacity 0 bookmark - 8B9D76841F7FA2BF007AB60F + 8B79310621F4AC4F006E9731 history - 8B9D67A21F7C9057007AB60F + 8B7930FE21F4AC25006E9731 + 8B7930FF21F4AC25006E9731 + 8B79310121F4AC25006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {644, 402}} RubberWindowFrame - 528 221 841 654 0 0 1440 878 + 454 219 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 402pt Proportion - 379pt + 206pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 528 221 841 654 0 0 1440 878 + {{10, 27}, {644, 179}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {644, 179}} + RubberWindowFrame + 454 219 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +460,7 @@ Proportion - 531pt + 644pt Name @@ -479,11 +479,11 @@ TableOfContents - 8B9D76851F7FA2BF007AB60F + 8B79310721F4AC4F006E9731 1CA23ED40692098700951B8B - 8B9D76861F7FA2BF007AB60F + 8B79310821F4AC4F006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76871F7FA2BF007AB60F + 8B79310921F4AC4F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +656,7 @@ StatusbarIsVisible TimeStamp - 528458431.67624801 + 569683023.93876398 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +673,10 @@ 5 WindowOrderList - 8B9D76881F7FA2BF007AB60F /Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj WindowString - 528 221 841 654 0 0 1440 878 + 454 219 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Swell/Swell.cpp b/plugins/MacAU/Swell/Swell.cpp index 821b33d..09dec89 100755 --- a/plugins/MacAU/Swell/Swell.cpp +++ b/plugins/MacAU/Swell/Swell.cpp @@ -176,10 +176,7 @@ void Swell::SwellKernel::Reset() { swell = 0.0; louder = false; - - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -197,10 +194,6 @@ void Swell::SwellKernel::Process( const Float32 *inSourceP, long double overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; - Float64 thresholdOn = pow(GetParameter( kParam_One ),2) * GetParameter( kParam_Two ); Float64 speedOn = (pow(GetParameter( kParam_Two ),2)*0.001)/overallscale; Float64 thresholdOff = thresholdOn * GetParameter( kParam_Two ); @@ -252,20 +245,11 @@ void Swell::SwellKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/Swell/Swell.h b/plugins/MacAU/Swell/Swell.h index 31aa5a8..fa35436 100755 --- a/plugins/MacAU/Swell/Swell.h +++ b/plugins/MacAU/Swell/Swell.h @@ -134,10 +134,7 @@ public: long double swell; bool louder; - - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser index 3af313e..ac01270 100755 --- a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 398, 20, 48, 43, @@ -49,24 +49,55 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 532491016; - PBXWorkspaceStateSaveDate = 532491016; + PBXPerProjectTemplateStateSaveDate = 569683044; + PBXWorkspaceStateSaveDate = 569683044; }; perUserProjectItems = { + 8B79311521F4ACEB006E9731 /* PBXTextBookmark */ = 8B79311521F4ACEB006E9731 /* PBXTextBookmark */; + 8B79311721F4ACEB006E9731 /* PBXTextBookmark */ = 8B79311721F4ACEB006E9731 /* PBXTextBookmark */; + 8B79311C21F4AD21006E9731 /* PBXTextBookmark */ = 8B79311C21F4AD21006E9731 /* PBXTextBookmark */; 8BB5DDF41FBD106E008B4570 /* PlistBookmark */ = 8BB5DDF41FBD106E008B4570 /* PlistBookmark */; 8BCC7CCD1FBD2D3C00982BD6 /* PBXTextBookmark */ = 8BCC7CCD1FBD2D3C00982BD6 /* PBXTextBookmark */; - 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */ = 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */; - 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */ = 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79311521F4ACEB006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Swell.h */; + name = "Swell.h: 137"; + rLen = 0; + rLoc = 5329; + rType = 0; + vrLen = 700; + vrLoc = 4739; + }; + 8B79311721F4ACEB006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Swell.cpp */; + name = "Swell.cpp: 247"; + rLen = 0; + rLoc = 11121; + rType = 0; + vrLen = 871; + vrLoc = 10589; + }; + 8B79311C21F4AD21006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Swell.cpp */; + name = "Swell.cpp: 247"; + rLen = 0; + rLoc = 11121; + rType = 0; + vrLen = 957; + vrLoc = 10503; + }; 8BA05A660720730100365D66 /* Swell.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 3809}}"; - sepNavSelRange = "{11320, 0}"; - sepNavVisRange = "{9895, 1840}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3484}}"; + sepNavSelRange = "{11121, 0}"; + sepNavVisRange = "{10503, 957}"; sepNavWindowFrame = "{{545, 39}, {895, 839}}"; }; }; @@ -92,9 +123,9 @@ }; 8BC6025B073B072D006C4272 /* Swell.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 1755}}"; - sepNavSelRange = "{2846, 0}"; - sepNavVisRange = "{2642, 366}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2275}}"; + sepNavSelRange = "{5329, 0}"; + sepNavVisRange = "{4739, 700}"; sepNavWindowFrame = "{{678, 39}, {895, 839}}"; }; }; @@ -108,20 +139,6 @@ vrLen = 336; vrLoc = 2594; }; - 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 8BC6025B073B072D006C4272 /* Swell.h */; - }; - 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* Swell.h */; - name = "Swell.h: 57"; - rLen = 0; - rLoc = 2846; - rType = 0; - vrLen = 366; - vrLoc = 2642; - }; 8BD3CCB8148830B20062E48C /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; diff --git a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3 index cf784ae..5de7e2f 100755 --- a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 182 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {182, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {199, 613}} GroupTreeTableConfiguration MainColumn - 288 + 182 RubberWindowFrame - 580 200 841 654 0 0 1440 878 + 450 207 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 199pt Dock @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Swell.h + Swell.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,16 +347,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Swell.h + Swell.cpp _historyCapacity 0 bookmark - 8BCC7CD31FBD2E6800982BD6 + 8B79311C21F4AD21006E9731 history 8BB5DDF41FBD106E008B4570 8BCC7CCD1FBD2D3C00982BD6 - 8BCC7CCE1FBD2D3C00982BD6 + 8B79311521F4ACEB006E9731 + 8B79311721F4ACEB006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 254}} + {{0, 0}, {637, 421}} RubberWindowFrame - 580 200 841 654 0 0 1440 878 + 450 207 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 254pt + 421pt Proportion - 354pt + 187pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 327}} - RubberWindowFrame - 580 200 841 654 0 0 1440 878 + {{10, 27}, {637, 160}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {637, 160}} + RubberWindowFrame + 450 207 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +461,7 @@ Proportion - 531pt + 637pt Name @@ -481,11 +480,11 @@ TableOfContents - 8BCC7CA61FBD2B1F00982BD6 + 8B79311D21F4AD21006E9731 1CA23ED40692098700951B8B - 8BCC7CA71FBD2B1F00982BD6 + 8B79311E21F4AD21006E9731 8BD7274A1D46E5A5000176F0 - 8BCC7CA81FBD2B1F00982BD6 + 8B79311F21F4AD21006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 532491880.84511602 + 569683233.59178197 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -678,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/Swell/Swell.xcodeproj WindowString - 580 200 841 654 0 0 1440 878 + 450 207 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/TapeDelay/TapeDelay.cpp b/plugins/MacAU/TapeDelay/TapeDelay.cpp index 2a8219e..8f0ea2b 100755 --- a/plugins/MacAU/TapeDelay/TapeDelay.cpp +++ b/plugins/MacAU/TapeDelay/TapeDelay.cpp @@ -322,23 +322,15 @@ void TapeDelay::TapeDelayKernel::Process( const Float32 *inSourceP, //yes this is a second bounds check. it's cheap, check EVERY time inputSample = (inputSample * dry) + (d[delay] * wet); - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser index 1ad93f8..49f55d6 100755 --- a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser @@ -51,23 +51,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 565748345; - PBXWorkspaceStateSaveDate = 565748345; + PBXPerProjectTemplateStateSaveDate = 569683336; + PBXWorkspaceStateSaveDate = 569683336; }; perUserProjectItems = { + 8B79312721F4AD85006E9731 /* PBXTextBookmark */ = 8B79312721F4AD85006E9731 /* PBXTextBookmark */; + 8B79313821F4AD8C006E9731 /* PBXTextBookmark */ = 8B79313821F4AD8C006E9731 /* PBXTextBookmark */; + 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */ = 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */; 8BBB310821B8995100825986 /* PlistBookmark */ = 8BBB310821B8995100825986 /* PlistBookmark */; - 8BBB311D21B89C1700825986 /* PBXTextBookmark */ = 8BBB311D21B89C1700825986 /* PBXTextBookmark */; - 8BBB319821B8A4C800825986 /* PBXTextBookmark */ = 8BBB319821B8A4C800825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79312721F4AD85006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* TapeDelay.h */; + name = "TapeDelay.h: 150"; + rLen = 1; + rLoc = 5889; + rType = 0; + vrLen = 679; + vrLoc = 5344; + }; + 8B79313821F4AD8C006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */; + name = "TapeDelay.cpp: 330"; + rLen = 0; + rLoc = 14179; + rType = 0; + vrLen = 988; + vrLoc = 13279; + }; + 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */; + name = "TapeDelay.cpp: 330"; + rLen = 0; + rLoc = 14179; + rType = 0; + vrLen = 987; + vrLoc = 13279; + }; 8BA05A660720730100365D66 /* TapeDelay.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1055, 4615}}"; - sepNavSelRange = "{13925, 0}"; - sepNavVisRange = "{13802, 523}"; + sepNavIntBoundsRect = "{{0, 0}, {1055, 4641}}"; + sepNavSelRange = "{14179, 0}"; + sepNavVisRange = "{13279, 987}"; sepNavWindowFrame = "{{456, 34}, {1129, 834}}"; }; }; @@ -91,31 +122,11 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BBB311D21B89C1700825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */; - name = "TapeDelay.cpp: 323"; - rLen = 0; - rLoc = 13925; - rType = 0; - vrLen = 526; - vrLoc = 13802; - }; - 8BBB319821B8A4C800825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */; - name = "TapeDelay.cpp: 323"; - rLen = 0; - rLoc = 13925; - rType = 0; - vrLen = 523; - vrLoc = 13802; - }; 8BC6025B073B072D006C4272 /* TapeDelay.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1082, 2054}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}"; sepNavSelRange = "{5889, 1}"; - sepNavVisRange = "{4426, 1597}"; + sepNavVisRange = "{5344, 679}"; sepNavWindowFrame = "{{311, 44}, {1129, 834}}"; }; }; diff --git a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3 index a2673ea..09bd991 100755 --- a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3 @@ -324,7 +324,7 @@ 288 RubberWindowFrame - 546 187 841 654 0 0 1440 878 + 400 207 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +352,12 @@ _historyCapacity 0 bookmark - 8BBB319821B8A4C800825986 + 8B79313D21F4ADA2006E9731 history 8BBB310821B8995100825986 - 8BBB311D21B89C1700825986 + 8B79312721F4AD85006E9731 + 8B79313821F4AD8C006E9731 SplitCount @@ -370,23 +371,21 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {531, 430}} RubberWindowFrame - 546 187 841 654 0 0 1440 878 + 400 207 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 430pt Proportion - 435pt + 178pt Tabs - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} - RubberWindowFrame - 546 187 841 654 0 0 1440 878 + {{10, 27}, {531, 151}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {531, 151}} + RubberWindowFrame + 400 207 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -481,11 +480,11 @@ TableOfContents - 8BBB316E21B8A29600825986 + 8B79313E21F4ADA2006E9731 1CA23ED40692098700951B8B - 8BBB316F21B8A29600825986 + 8B79313F21F4ADA2006E9731 8BD7274A1D46E5A5000176F0 - 8BBB317021B8A29600825986 + 8B79314021F4ADA2006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 565748936.10847795 + 569683362.16233301 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8BBB319921B8A4C800825986 /Users/christopherjohnson/Desktop/MacAU/TapeDelay/TapeDelay.xcodeproj WindowString - 546 187 841 654 0 0 1440 878 + 400 207 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser index cd7f8c0..6e62cb5 100755 --- a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser @@ -49,13 +49,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458444; - PBXWorkspaceStateSaveDate = 528458444; + PBXPerProjectTemplateStateSaveDate = 565558307; + PBXWorkspaceStateSaveDate = 565558307; }; perUserProjectItems = { 8B4FD0461DF97DCE00999740 /* PlistBookmark */ = 8B4FD0461DF97DCE00999740 /* PlistBookmark */; - 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */ = 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */; - 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */ = 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */; + 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */ = 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */; + 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */ = 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,32 +73,22 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */; - name = "TapeDither.cpp: 182"; - rLen = 0; - rLoc = 9240; - rType = 0; - vrLen = 471; - vrLoc = 7491; - }; - 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */ = { + 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */; name = "TapeDither.cpp: 208"; rLen = 0; rLoc = 9240; rType = 0; - vrLen = 719; - vrLoc = 7534; + vrLen = 682; + vrLoc = 7571; }; 8BA05A660720730100365D66 /* TapeDither.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {691, 2964}}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 2938}}"; sepNavSelRange = "{9240, 0}"; - sepNavVisRange = "{7534, 719}"; - sepNavWindowFrame = "{{733, 43}, {679, 835}}"; + sepNavVisRange = "{7598, 655}"; + sepNavWindowFrame = "{{742, 43}, {679, 835}}"; }; }; 8BA05A690720730100365D66 /* TapeDitherVersion.h */ = { @@ -112,7 +102,7 @@ 8BC6025B073B072D006C4272 /* TapeDither.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1742}}"; - sepNavSelRange = "{4852, 0}"; + sepNavSelRange = "{4959, 54}"; sepNavVisRange = "{3476, 1700}"; sepNavWindowFrame = "{{711, 43}, {679, 835}}"; }; @@ -131,6 +121,16 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */; + name = "TapeDither.cpp: 208"; + rLen = 0; + rLoc = 9240; + rType = 0; + vrLen = 655; + vrLoc = 7598; + }; 8D01CCC60486CAD60068D4B7 /* TapeDither */ = { activeExec = 0; }; diff --git a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3 index 8282adf..b98406f 100755 --- a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3 @@ -325,7 +325,7 @@ 288 RubberWindowFrame - 599 182 841 654 0 0 1440 878 + 649 171 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,11 +353,11 @@ _historyCapacity 0 bookmark - 8B9D76931F7FA2E5007AB60F + 8BDA3BE121B5BE7800CC56FA history 8B4FD0461DF97DCE00999740 - 8B9D67AE1F7C9067007AB60F + 8B913F63213DBB0300BA6EEC SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {531, 202}} RubberWindowFrame - 599 182 841 654 0 0 1440 878 + 649 171 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 202pt Proportion - 379pt + 406pt Tabs @@ -396,9 +396,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} + {{10, 27}, {531, 379}} RubberWindowFrame - 599 182 841 654 0 0 1440 878 + 649 171 841 654 0 0 1440 878 Module XCDetailModule @@ -480,11 +480,11 @@ TableOfContents - 8B9D76941F7FA2E5007AB60F + 8BDA3BE221B5BE7800CC56FA 1CA23ED40692098700951B8B - 8B9D76951F7FA2E5007AB60F + 8BDA3BE321B5BE7800CC56FA 8BD7274A1D46E5A5000176F0 - 8B9D76961F7FA2E5007AB60F + 8BDA3BE421B5BE7800CC56FA 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528458469.64023101 + 565558904.14568102 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +674,11 @@ 5 WindowOrderList - 8B9D76971F7FA2E5007AB60F + 8BDA3BE521B5BE7800CC56FA /Users/christopherjohnson/Desktop/MacAU/TapeDither/TapeDither.xcodeproj WindowString - 599 182 841 654 0 0 1440 878 + 649 171 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TapeDust/TapeDust.cpp b/plugins/MacAU/TapeDust/TapeDust.cpp index 1f87d66..c586339 100755 --- a/plugins/MacAU/TapeDust/TapeDust.cpp +++ b/plugins/MacAU/TapeDust/TapeDust.cpp @@ -167,9 +167,8 @@ ComponentResult TapeDust::Initialize() void TapeDust::TapeDustKernel::Reset() { for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;} - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; + fpFlip = false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -184,9 +183,6 @@ void TapeDust::TapeDustKernel::Process( const Float32 *inSourceP, UInt32 nSampleFrames = inFramesToProcess; const Float32 *sourceP = inSourceP; Float32 *destP = inDestP; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; long double inputSample; Float64 drySample; Float64 rRange = pow(GetParameter( kParam_One ),2)*5.0; @@ -250,20 +246,13 @@ void TapeDust::TapeDustKernel::Process( const Float32 *inSourceP, if (wet < 1.0) { inputSample = (inputSample * wet) + (drySample * dry); } - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } fpFlip = !fpFlip; - //end noise shaping on 32 bit output + + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/TapeDust/TapeDust.h b/plugins/MacAU/TapeDust/TapeDust.h index 55255f3..6898d7e 100755 --- a/plugins/MacAU/TapeDust/TapeDust.h +++ b/plugins/MacAU/TapeDust/TapeDust.h @@ -130,8 +130,7 @@ public: private: Float64 b[11]; Float64 f[11]; - long double fpNShapeA; - long double fpNShapeB; + long double fpNShape; bool fpFlip; }; }; diff --git a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser index 910a299..7e3a474 100755 --- a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 499, 20, 48, 43, @@ -49,18 +49,20 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458482; - PBXWorkspaceStateSaveDate = 528458482; + PBXPerProjectTemplateStateSaveDate = 569683382; + PBXWorkspaceStateSaveDate = 569683382; }; perUserProjectItems = { - 8B9D67BE1F7C9098007AB60F /* PlistBookmark */ = 8B9D67BE1F7C9098007AB60F /* PlistBookmark */; - 8B9D76A21F7FA30E007AB60F /* PlistBookmark */ = 8B9D76A21F7FA30E007AB60F /* PlistBookmark */; + 8B79314C21F4AE33006E9731 /* PlistBookmark */ = 8B79314C21F4AE33006E9731 /* PlistBookmark */; + 8B79315421F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315421F4AE7A006E9731 /* PBXTextBookmark */; + 8B79315521F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315521F4AE7A006E9731 /* PBXTextBookmark */; + 8B79315621F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315621F4AE7A006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D67BE1F7C9098007AB60F /* PlistBookmark */ = { + 8B79314C21F4AE33006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -70,25 +72,43 @@ ); name = /Users/christopherjohnson/Desktop/MacAU/TapeDust/Info.plist; rLen = 0; - rLoc = 9223372036854775808; + rLoc = 9223372036854775807; }; - 8B9D76A21F7FA30E007AB60F /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/TapeDust/Info.plist; + 8B79315421F4AE7A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* TapeDust.h */; + name = "TapeDust.h: 134"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 5248; + rType = 0; + vrLen = 1104; + vrLoc = 4248; + }; + 8B79315521F4AE7A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeDust.cpp */; + name = "TapeDust.cpp: 171"; + rLen = 0; + rLoc = 7722; + rType = 0; + vrLen = 1529; + vrLoc = 7003; + }; + 8B79315621F4AE7A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeDust.cpp */; + name = "TapeDust.cpp: 249"; + rLen = 0; + rLoc = 10792; + rType = 0; + vrLen = 959; + vrLoc = 10175; }; 8BA05A660720730100365D66 /* TapeDust.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 3679}}"; - sepNavSelRange = "{9254, 0}"; - sepNavVisRange = "{8609, 2167}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 3666}}"; + sepNavSelRange = "{10792, 0}"; + sepNavVisRange = "{10175, 959}"; sepNavWindowFrame = "{{415, 39}, {1005, 839}}"; }; }; @@ -102,9 +122,9 @@ }; 8BC6025B073B072D006C4272 /* TapeDust.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {958, 1846}}"; - sepNavSelRange = "{5174, 36}"; - sepNavVisRange = "{3746, 1638}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}"; + sepNavSelRange = "{5248, 0}"; + sepNavVisRange = "{4248, 1110}"; sepNavWindowFrame = "{{4, 39}, {1005, 839}}"; }; }; diff --git a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3 index f7b0fff..c956cc8 100755 --- a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 927 + 927 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 167 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {167, 689}} PBXTopSmartGroupGIDs @@ -318,30 +316,32 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {184, 707}} GroupTreeTableConfiguration MainColumn - 288 + 167 RubberWindowFrame - 432 155 841 654 0 0 1440 878 + 372 100 927 748 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 184pt Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + TapeDust.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,14 +349,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + TapeDust.cpp _historyCapacity 0 bookmark - 8B9D76A21F7FA30E007AB60F + 8B79315621F4AE7A006E9731 history - 8B9D67BE1F7C9098007AB60F + 8B79314C21F4AE33006E9731 + 8B79315421F4AE7A006E9731 + 8B79315521F4AE7A006E9731 SplitCount @@ -370,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 229}} + {{0, 0}, {738, 552}} RubberWindowFrame - 432 155 841 654 0 0 1440 878 + 372 100 927 748 0 0 1440 878 Module PBXNavigatorGroup Proportion - 229pt + 552pt Proportion - 379pt + 150pt Tabs @@ -395,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 352}} - RubberWindowFrame - 432 155 841 654 0 0 1440 878 + {{10, 27}, {738, 123}} Module XCDetailModule @@ -451,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {738, 123}} + RubberWindowFrame + 372 100 927 748 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +462,7 @@ Proportion - 531pt + 738pt Name @@ -479,11 +481,11 @@ TableOfContents - 8B9D76A31F7FA30E007AB60F + 8B79315721F4AE7A006E9731 1CA23ED40692098700951B8B - 8B9D76A41F7FA30E007AB60F + 8B79315821F4AE7A006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76A51F7FA30E007AB60F + 8B79315921F4AE7A006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -656,7 +658,7 @@ StatusbarIsVisible TimeStamp - 528458510.42729199 + 569683578.38407302 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -673,11 +675,10 @@ 5 WindowOrderList - 8B9D76A61F7FA30E007AB60F /Users/christopherjohnson/Desktop/MacAU/TapeDust/TapeDust.xcodeproj WindowString - 432 155 841 654 0 0 1440 878 + 372 100 927 748 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TapeFat/TapeFat.cpp b/plugins/MacAU/TapeFat/TapeFat.cpp index d95de3a..42e9d60 100755 --- a/plugins/MacAU/TapeFat/TapeFat.cpp +++ b/plugins/MacAU/TapeFat/TapeFat.cpp @@ -263,23 +263,15 @@ void TapeFat::TapeFatKernel::Process( const Float32 *inSourceP, gcount--; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser index b5c4293..640ec56 100755 --- a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 398, 20, 48, 43, @@ -49,24 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 566516790; - PBXWorkspaceStateSaveDate = 566516790; + PBXPerProjectTemplateStateSaveDate = 569684489; + PBXWorkspaceStateSaveDate = 569684489; }; perUserProjectItems = { + 8B79316521F4B25B006E9731 /* PBXTextBookmark */ = 8B79316521F4B25B006E9731 /* PBXTextBookmark */; + 8B79316721F4B25B006E9731 /* PBXTextBookmark */ = 8B79316721F4B25B006E9731 /* PBXTextBookmark */; + 8B79316C21F4B278006E9731 /* PBXTextBookmark */ = 8B79316C21F4B278006E9731 /* PBXTextBookmark */; 8BBB319521B8A4BD00825986 /* PlistBookmark */ = 8BBB319521B8A4BD00825986 /* PlistBookmark */; - 8BBB336921C45BB400825986 /* PBXTextBookmark */ = 8BBB336921C45BB400825986 /* PBXTextBookmark */; - 8BBB339021C45C6E00825986 /* PBXTextBookmark */ = 8BBB339021C45C6E00825986 /* PBXTextBookmark */; - 8BBB339121C45C6E00825986 /* PBXTextBookmark */ = 8BBB339121C45C6E00825986 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79316521F4B25B006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* TapeFat.h */; + name = "TapeFat.h: 133"; + rLen = 0; + rLoc = 5283; + rType = 0; + vrLen = 301; + vrLoc = 5036; + }; + 8B79316721F4B25B006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */; + name = "TapeFat.cpp: 276"; + rLen = 0; + rLoc = 11440; + rType = 0; + vrLen = 1045; + vrLoc = 10398; + }; + 8B79316C21F4B278006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */; + name = "TapeFat.cpp: 276"; + rLen = 0; + rLoc = 11440; + rType = 0; + vrLen = 1082; + vrLoc = 10361; + }; 8BA05A660720730100365D66 /* TapeFat.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {817, 3900}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{3, 648}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3835}}"; + sepNavSelRange = "{11440, 0}"; + sepNavVisRange = "{10361, 1082}"; sepNavWindowFrame = "{{777, -19}, {1129, 834}}"; }; }; @@ -90,41 +120,11 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BBB336921C45BB400825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */; - name = "TapeFat.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 651; - vrLoc = 0; - }; - 8BBB339021C45C6E00825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* TapeFat.h */; - name = "TapeFat.h: 133"; - rLen = 0; - rLoc = 5283; - rType = 0; - vrLen = 302; - vrLoc = 5036; - }; - 8BBB339121C45C6E00825986 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */; - name = "TapeFat.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 648; - vrLoc = 3; - }; 8BC6025B073B072D006C4272 /* TapeFat.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 2015}}"; sepNavSelRange = "{5283, 0}"; - sepNavVisRange = "{5036, 302}"; + sepNavVisRange = "{5036, 301}"; sepNavWindowFrame = "{{806, -59}, {1129, 834}}"; }; }; diff --git a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3 index dfd80e8..343eaae 100755 --- a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 182 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -309,7 +307,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {182, 595}} PBXTopSmartGroupGIDs @@ -319,19 +317,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {199, 613}} GroupTreeTableConfiguration MainColumn - 288 + 182 RubberWindowFrame - 599 89 841 654 0 0 1440 878 + 440 183 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 199pt Dock @@ -354,12 +352,12 @@ _historyCapacity 0 bookmark - 8BBB339121C45C6E00825986 + 8B79316C21F4B278006E9731 history 8BBB319521B8A4BD00825986 - 8BBB339021C45C6E00825986 - 8BBB336921C45BB400825986 + 8B79316521F4B25B006E9731 + 8B79316721F4B25B006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {637, 512}} RubberWindowFrame - 599 89 841 654 0 0 1440 878 + 440 183 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 512pt Proportion - 392pt + 96pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} - RubberWindowFrame - 599 89 841 654 0 0 1440 878 + {{10, 27}, {637, 69}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {637, 69}} + RubberWindowFrame + 440 183 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -463,7 +461,7 @@ Proportion - 531pt + 637pt Name @@ -482,11 +480,11 @@ TableOfContents - 8BBB339221C45C6E00825986 + 8B79316D21F4B278006E9731 1CA23ED40692098700951B8B - 8BBB339321C45C6E00825986 + 8B79316E21F4B278006E9731 8BD7274A1D46E5A5000176F0 - 8BBB339421C45C6E00825986 + 8B79316F21F4B278006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 566516846.91763997 + 569684600.92815804 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,10 @@ 5 WindowOrderList - 8BBB339521C45C6E00825986 /Users/christopherjohnson/Desktop/MacAU/TapeFat/TapeFat.xcodeproj WindowString - 599 89 841 654 0 0 1440 878 + 440 183 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Thunder/Thunder.cpp b/plugins/MacAU/Thunder/Thunder.cpp index 64bdf0c..f9dc657 100755 --- a/plugins/MacAU/Thunder/Thunder.cpp +++ b/plugins/MacAU/Thunder/Thunder.cpp @@ -179,10 +179,8 @@ ComponentResult Thunder::Initialize() //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ComponentResult Thunder::Reset(AudioUnitScope inScope, AudioUnitElement inElement) { - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; muSpeedA = 10000; muSpeedB = 10000; muCoefficientA = 1; @@ -240,9 +238,6 @@ OSStatus Thunder::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags Float64 resultML; Float64 resultMR; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; @@ -423,28 +418,16 @@ OSStatus Thunder::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags inputSampleL *= outputGain; inputSampleR *= outputGain; } - - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } flip = !flip; - //end noise shaping on 32 bit output + + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Thunder/Thunder.h b/plugins/MacAU/Thunder/Thunder.h index 4c01ac4..233c3db 100755 --- a/plugins/MacAU/Thunder/Thunder.h +++ b/plugins/MacAU/Thunder/Thunder.h @@ -129,10 +129,8 @@ private: Float64 iirSampleAM; Float64 iirSampleBM; Float64 iirSampleCM; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; + long double fpNShapeL; + long double fpNShapeR; bool flip; }; diff --git a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser index 908569c..32120c0 100755 --- a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 383, 20, 48, 43, @@ -49,38 +49,59 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458521; - PBXWorkspaceStateSaveDate = 528458521; + PBXPerProjectTemplateStateSaveDate = 569684635; + PBXWorkspaceStateSaveDate = 569684635; }; perUserProjectItems = { - 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */ = 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */; - 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */ = 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */; + 8B79317B21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317B21F4B33A006E9731 /* PBXTextBookmark */; + 8B79317C21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317C21F4B33A006E9731 /* PBXTextBookmark */; + 8B79317E21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317E21F4B33A006E9731 /* PBXTextBookmark */; + 8B79318321F4B354006E9731 /* PBXTextBookmark */ = 8B79318321F4B354006E9731 /* PBXTextBookmark */; 8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */ = 8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */; - 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */ = 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */ = { + 8B79317B21F4B33A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A690720730100365D66 /* ThunderVersion.h */; name = "ThunderVersion.h: 51"; rLen = 0; rLoc = 2757; rType = 0; - vrLen = 344; - vrLoc = 2598; + vrLen = 286; + vrLoc = 2656; }; - 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */ = { + 8B79317C21F4B33A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8BA05A690720730100365D66 /* ThunderVersion.h */; - name = "ThunderVersion.h: 51"; + fRef = 8BC6025B073B072D006C4272 /* Thunder.h */; + name = "Thunder.h: 134"; rLen = 0; - rLoc = 2757; + rLoc = 5285; + rType = 0; + vrLen = 598; + vrLoc = 4806; + }; + 8B79317E21F4B33A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Thunder.cpp */; + name = "Thunder.cpp: 431"; + rLen = 0; + rLoc = 16556; + rType = 0; + vrLen = 1132; + vrLoc = 15627; + }; + 8B79318321F4B354006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Thunder.cpp */; + name = "Thunder.cpp: 431"; + rLen = 0; + rLoc = 16556; rType = 0; - vrLen = 315; - vrLoc = 2627; + vrLen = 1172; + vrLoc = 15587; }; 8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */ = { isa = PlistBookmark; @@ -96,25 +117,25 @@ }; 8BA05A660720730100365D66 /* Thunder.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {848, 6071}}"; - sepNavSelRange = "{10065, 0}"; - sepNavVisRange = "{9779, 2277}"; + sepNavIntBoundsRect = "{{0, 0}, {754, 6227}}"; + sepNavSelRange = "{16556, 0}"; + sepNavVisRange = "{15587, 1172}"; sepNavWindowFrame = "{{258, 39}, {895, 819}}"; }; }; 8BA05A690720730100365D66 /* ThunderVersion.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 806}}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 832}}"; sepNavSelRange = "{2757, 0}"; - sepNavVisRange = "{2627, 315}"; + sepNavVisRange = "{2656, 286}"; sepNavWindowFrame = "{{15, 54}, {895, 819}}"; }; }; 8BC6025B073B072D006C4272 /* Thunder.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}"; - sepNavSelRange = "{5082, 0}"; - sepNavVisRange = "{3802, 1647}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2197}}"; + sepNavSelRange = "{5285, 0}"; + sepNavVisRange = "{4806, 598}"; sepNavWindowFrame = "{{7, 42}, {895, 819}}"; }; }; @@ -132,16 +153,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Thunder.cpp */; - name = "Thunder.cpp: 227"; - rLen = 0; - rLoc = 9525; - rType = 0; - vrLen = 508; - vrLoc = 12277; - }; 8D01CCC60486CAD60068D4B7 /* Thunder */ = { activeExec = 0; }; diff --git a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3 index 25a2588..5586ae7 100755 --- a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 197 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {197, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {214, 613}} GroupTreeTableConfiguration MainColumn - 288 + 197 RubberWindowFrame - 566 213 841 654 0 0 1440 878 + 473 199 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 214pt Dock @@ -341,7 +339,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - ThunderVersion.h + Thunder.cpp PBXSplitModuleInNavigatorKey Split0 @@ -349,16 +347,17 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - ThunderVersion.h + Thunder.cpp _historyCapacity 0 bookmark - 8B9D76B11F7FA32E007AB60F + 8B79318321F4B354006E9731 history 8B9EC58B1D90BE2400BD1DCA - 8BFE4BDA1D92E59A00BBC6AC - 8B9D67CF1F7C90C4007AB60F + 8B79317B21F4B33A006E9731 + 8B79317C21F4B33A006E9731 + 8B79317E21F4B33A006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 216}} + {{0, 0}, {622, 493}} RubberWindowFrame - 566 213 841 654 0 0 1440 878 + 473 199 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 216pt + 493pt Proportion - 392pt + 115pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 365}} - RubberWindowFrame - 566 213 841 654 0 0 1440 878 + {{10, 27}, {622, 88}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {622, 88}} + RubberWindowFrame + 473 199 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +461,7 @@ Proportion - 531pt + 622pt Name @@ -481,11 +480,11 @@ TableOfContents - 8B9D76B21F7FA32E007AB60F + 8B79318421F4B354006E9731 1CA23ED40692098700951B8B - 8B9D76B31F7FA32E007AB60F + 8B79318521F4B354006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76B41F7FA32E007AB60F + 8B79318621F4B354006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528458542.19629401 + 569684820.36503005 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8B9D76B51F7FA32E007AB60F /Users/christopherjohnson/Desktop/MacAU/Thunder/Thunder.xcodeproj WindowString - 566 213 841 654 0 0 1440 878 + 473 199 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ToTape5/ToTape5.cpp b/plugins/MacAU/ToTape5/ToTape5.cpp index abe8496..2135e1d 100755 --- a/plugins/MacAU/ToTape5/ToTape5.cpp +++ b/plugins/MacAU/ToTape5/ToTape5.cpp @@ -238,9 +238,7 @@ void ToTape5::ToTape5Kernel::Reset() sweep = 0.0; rateof = 0.5; nextmax = 0.5; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -258,7 +256,8 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP, Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - + long double fpOld = 0.618033988749894848204586; //golden ratio! + Float64 inputgain = pow(GetParameter( kParam_One )+1.0,3); Float64 outputgain = GetParameter( kParam_Five ); Float64 wet = GetParameter( kParam_Six ); @@ -295,12 +294,7 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP, SInt32 count; Float64 tempSample; Float64 drySample; - - long double inputSample; - Float32 fpTemp; - long double fpOld = 0.618033988749894848204586; //golden ratio! - long double fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -478,19 +472,11 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP, } - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/ToTape5/ToTape5.h b/plugins/MacAU/ToTape5/ToTape5.h index 8561873..250d9a5 100755 --- a/plugins/MacAU/ToTape5/ToTape5.h +++ b/plugins/MacAU/ToTape5/ToTape5.h @@ -185,10 +185,7 @@ public: Float64 iirSampleY; Float64 iirSampleZ; int flip; - - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser index b447041..6427718 100755 --- a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 419, 20, 48, 43, @@ -49,13 +49,14 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553894227; - PBXWorkspaceStateSaveDate = 553894227; + PBXPerProjectTemplateStateSaveDate = 569685129; + PBXWorkspaceStateSaveDate = 569685129; }; perUserProjectItems = { 8B1A32741F16BBA2004DE6C5 /* PlistBookmark */ = 8B1A32741F16BBA2004DE6C5 /* PlistBookmark */; - 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */ = 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */; - 8BB8B7D82103C66300751000 /* PBXTextBookmark */ = 8BB8B7D82103C66300751000 /* PBXTextBookmark */; + 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */ = 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */; + 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */ = 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */; + 8B7931B321F4B54A006E9731 /* PBXTextBookmark */ = 8B7931B321F4B54A006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,21 +74,41 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */ = { + 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ToTape5.h */; + name = "ToTape5.h: 187"; + rLen = 0; + rLoc = 6560; + rType = 0; + vrLen = 717; + vrLoc = 5977; + }; + 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */; + name = "ToTape5.cpp: 479"; + rLen = 0; + rLoc = 22753; + rType = 0; + vrLen = 3225; + vrLoc = 19204; + }; + 8B7931B321F4B54A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */; - name = "ToTape5.cpp: 470"; + name = "ToTape5.cpp: 260"; rLen = 0; - rLoc = 22425; + rLoc = 11019; rType = 0; - vrLen = 472; - vrLoc = 20068; + vrLen = 1511; + vrLoc = 10684; }; 8BA05A660720730100365D66 /* ToTape5.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {873, 6396}}"; - sepNavSelRange = "{22425, 0}"; - sepNavVisRange = "{20304, 236}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 6929}}"; + sepNavSelRange = "{11019, 0}"; + sepNavVisRange = "{10684, 1511}"; sepNavWindowFrame = "{{488, 39}, {952, 839}}"; }; }; @@ -107,21 +128,11 @@ sepNavWindowFrame = "{{15, 39}, {952, 839}}"; }; }; - 8BB8B7D82103C66300751000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */; - name = "ToTape5.cpp: 470"; - rLen = 0; - rLoc = 22425; - rType = 0; - vrLen = 236; - vrLoc = 20304; - }; 8BC6025B073B072D006C4272 /* ToTape5.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {905, 2964}}"; - sepNavSelRange = "{6561, 0}"; - sepNavVisRange = "{5662, 1074}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2964}}"; + sepNavSelRange = "{6560, 0}"; + sepNavVisRange = "{5977, 717}"; sepNavWindowFrame = "{{470, 39}, {952, 839}}"; }; }; diff --git a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3 index 7293723..7e231dd 100755 --- a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 161 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {161, 595}} PBXTopSmartGroupGIDs @@ -318,24 +316,26 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {178, 613}} GroupTreeTableConfiguration MainColumn - 288 + 161 RubberWindowFrame - 581 201 841 654 0 0 1440 878 + 490 203 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 178pt Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -353,11 +353,12 @@ _historyCapacity 0 bookmark - 8BB8B7D82103C66300751000 + 8B7931B321F4B54A006E9731 history 8B1A32741F16BBA2004DE6C5 - 8B9D76CF1F7FA38F007AB60F + 8B7931A821F4B4FA006E9731 + 8B7931AA21F4B4FA006E9731 SplitCount @@ -371,18 +372,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 56}} + {{0, 0}, {658, 481}} RubberWindowFrame - 581 201 841 654 0 0 1440 878 + 490 203 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 56pt + 481pt Proportion - 552pt + 127pt Tabs @@ -396,9 +397,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 525}} - RubberWindowFrame - 581 201 841 654 0 0 1440 878 + {{10, 27}, {658, 100}} Module XCDetailModule @@ -452,7 +451,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 327}} + {{10, 27}, {658, 100}} + RubberWindowFrame + 490 203 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -461,7 +462,7 @@ Proportion - 531pt + 658pt Name @@ -480,11 +481,11 @@ TableOfContents - 8BB8B7D92103C66300751000 + 8B7931B421F4B54A006E9731 1CA23ED40692098700951B8B - 8BB8B7DA2103C66300751000 + 8B7931B521F4B54A006E9731 8BD7274A1D46E5A5000176F0 - 8BB8B7DB2103C66300751000 + 8B7931B621F4B54A006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +658,7 @@ StatusbarIsVisible TimeStamp - 553895523.636742 + 569685322.27313697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +675,10 @@ 5 WindowOrderList - 8BB8B7DC2103C66300751000 /Users/christopherjohnson/Desktop/MacAU/ToTape5/ToTape5.xcodeproj WindowString - 581 201 841 654 0 0 1440 878 + 490 203 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.cpp b/plugins/MacAU/ToVinyl4/ToVinyl4.cpp index 0f7f248..3f0d6e4 100755 --- a/plugins/MacAU/ToVinyl4/ToVinyl4.cpp +++ b/plugins/MacAU/ToVinyl4/ToVinyl4.cpp @@ -270,11 +270,8 @@ ComponentResult ToVinyl4::Reset(AudioUnitScope inScope, AudioUnitElement inElem s1R = s2R = s3R = 0.0; o1R = o2R = o3R = 0.0; m1R = m2R = desR = 0.0; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; - fpFlip = true; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; @@ -295,11 +292,7 @@ OSStatus ToVinyl4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag UInt32 nSampleFrames = inFramesToProcess; Float64 overallscale = 1.0; overallscale /= 44100.0; - overallscale *= GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; - + overallscale *= GetSampleRate(); Float64 fusswithscale = 50000; //corrected Float64 cutofffreq = GetParameter( kParam_One ); Float64 resonance = 0.992; @@ -741,25 +734,14 @@ OSStatus ToVinyl4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag inputSampleR = accumulatorSample; //we just re-use accumulatorSample to do this little shuffle - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.h b/plugins/MacAU/ToVinyl4/ToVinyl4.h index 31495f3..7e613b7 100755 --- a/plugins/MacAU/ToVinyl4/ToVinyl4.h +++ b/plugins/MacAU/ToVinyl4/ToVinyl4.h @@ -209,13 +209,8 @@ private: Float64 aSidePrev; Float64 bMidPrev; Float64 bSidePrev; - - Float64 fpNShapeAL; - Float64 fpNShapeAR; - Float64 fpNShapeBL; - Float64 fpNShapeBR; - bool fpFlip; - + Float64 fpNShapeR; + Float64 fpNShapeL; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser index a31ab0c..1fee72e 100755 --- a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 410, 20, 48, 43, @@ -49,42 +49,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 541893053; - PBXWorkspaceStateSaveDate = 541893053; + PBXPerProjectTemplateStateSaveDate = 569685344; + PBXWorkspaceStateSaveDate = 569685344; }; perUserProjectItems = { - 8B181B5D204CA28100516BEE /* PBXTextBookmark */ = 8B181B5D204CA28100516BEE /* PBXTextBookmark */; - 8B181B5E204CA28100516BEE /* PBXTextBookmark */ = 8B181B5E204CA28100516BEE /* PBXTextBookmark */; + 8B7931C221F4B60F006E9731 /* PBXTextBookmark */ = 8B7931C221F4B60F006E9731 /* PBXTextBookmark */; + 8B7931C421F4B60F006E9731 /* PBXTextBookmark */ = 8B7931C421F4B60F006E9731 /* PBXTextBookmark */; + 8B7931C921F4B651006E9731 /* PBXTextBookmark */ = 8B7931C921F4B651006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B181B5D204CA28100516BEE /* PBXTextBookmark */ = { + 8B7931C221F4B60F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ToVinyl4.h */; + name = "ToVinyl4.h: 211"; + rLen = 0; + rLoc = 6757; + rType = 0; + vrLen = 390; + vrLoc = 6513; + }; + 8B7931C421F4B60F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ToVinyl4.cpp */; - name = "ToVinyl4.cpp: 428"; + name = "ToVinyl4.cpp: 745"; rLen = 0; - rLoc = 16809; + rLoc = 32669; rType = 0; - vrLen = 91; - vrLoc = 43; + vrLen = 985; + vrLoc = 31849; }; - 8B181B5E204CA28100516BEE /* PBXTextBookmark */ = { + 8B7931C921F4B651006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ToVinyl4.cpp */; - name = "ToVinyl4.cpp: 428"; + name = "ToVinyl4.cpp: 745"; rLen = 0; - rLoc = 16809; + rLoc = 32669; rType = 0; - vrLen = 91; - vrLoc = 43; + vrLen = 1451; + vrLoc = 19373; }; 8BA05A660720730100365D66 /* ToVinyl4.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 10166}}"; - sepNavSelRange = "{16809, 0}"; - sepNavVisRange = "{43, 91}"; + sepNavIntBoundsRect = "{{0, 0}, {782, 9386}}"; + sepNavSelRange = "{32669, 0}"; + sepNavVisRange = "{19373, 1451}"; sepNavWindowFrame = "{{627, 62}, {981, 816}}"; }; }; @@ -106,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* ToVinyl4.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {934, 2899}}"; - sepNavSelRange = "{5133, 22}"; - sepNavVisRange = "{5920, 1044}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 3250}}"; + sepNavSelRange = "{6757, 0}"; + sepNavVisRange = "{6513, 390}"; sepNavWindowFrame = "{{459, 62}, {981, 816}}"; }; }; diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3 index 64c9c61..2bfe30e 100755 --- a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 856 + 856 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 635}} PBXTopSmartGroupGIDs @@ -318,14 +316,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 653}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 608 328 810 487 0 0 1440 878 + 373 142 856 694 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -353,10 +351,11 @@ _historyCapacity 0 bookmark - 8B181B5E204CA28100516BEE + 8B7931C921F4B651006E9731 history - 8B181B5D204CA28100516BEE + 8B7931C221F4B60F006E9731 + 8B7931C421F4B60F006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 86}} + {{0, 0}, {649, 490}} RubberWindowFrame - 608 328 810 487 0 0 1440 878 + 373 142 856 694 0 0 1440 878 Module PBXNavigatorGroup Proportion - 86pt + 490pt Proportion - 355pt + 158pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 328}} - RubberWindowFrame - 608 328 810 487 0 0 1440 878 + {{10, 27}, {649, 131}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} + {{10, 27}, {649, 131}} + RubberWindowFrame + 373 142 856 694 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +459,7 @@ Proportion - 603pt + 649pt Name @@ -479,11 +478,11 @@ TableOfContents - 8B181B5F204CA28100516BEE + 8B7931CA21F4B651006E9731 1CA23ED40692098700951B8B - 8B181B60204CA28100516BEE + 8B7931CB21F4B651006E9731 8B277E7C1FDB48610038EA07 - 8B181B61204CA28100516BEE + 8B7931CC21F4B651006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 541893249.61319196 + 569685585.11167395 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +652,10 @@ 5 WindowOrderList - 8B181B62204CA28100516BEE /Users/christopherjohnson/Desktop/MacAU/ToVinyl4/ToVinyl4.xcodeproj WindowString - 608 328 810 487 0 0 1440 878 + 373 142 856 694 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/ToneSlant/ToneSlant.cpp b/plugins/MacAU/ToneSlant/ToneSlant.cpp index 9b78bea..55f7435 100755 --- a/plugins/MacAU/ToneSlant/ToneSlant.cpp +++ b/plugins/MacAU/ToneSlant/ToneSlant.cpp @@ -168,9 +168,7 @@ ComponentResult ToneSlant::Initialize() void ToneSlant::ToneSlantKernel::Reset() { for(int count = 0; count < 102; count++) {b[count] = 0.0; f[count] = 0.0;} - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -192,9 +190,6 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP, Float64 overallscale = GetParameter( kParam_One ); if (overallscale < 1.0) overallscale = 1.0; Float64 applySlant = GetParameter( kParam_Two ); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; f[0] = 1.0 / overallscale; //count to f(gain) which will be 0. f(0) is x1 @@ -236,7 +231,6 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP, //the silence will return to being digital black again. } - b[0] = accumulatorSample = drySample = inputSample; accumulatorSample *= f[0]; @@ -248,19 +242,11 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP, inputSample += (correctionSample * applySlant); //our one math operation on the input data coming in - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/ToneSlant/ToneSlant.h b/plugins/MacAU/ToneSlant/ToneSlant.h index f07890b..8f94128 100755 --- a/plugins/MacAU/ToneSlant/ToneSlant.h +++ b/plugins/MacAU/ToneSlant/ToneSlant.h @@ -131,9 +131,7 @@ public: private: Float64 b[102]; Float64 f[102]; - long double fpNShapeA; - long double fpNShapeB; - bool fpFlip; + long double fpNShape; }; }; diff --git a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser index bd0d093..e300ab9 100755 --- a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 388, 20, 48, 43, @@ -49,15 +49,15 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458576; - PBXWorkspaceStateSaveDate = 528458576; + PBXPerProjectTemplateStateSaveDate = 569684848; + PBXWorkspaceStateSaveDate = 569684848; }; perUserProjectItems = { 8B22B0A31DB17F9F0075D7AA /* PBXTextBookmark */ = 8B22B0A31DB17F9F0075D7AA /* PBXTextBookmark */; - 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */ = 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */; 8B51D7811DAF1671009F3CF8 /* PlistBookmark */ = 8B51D7811DAF1671009F3CF8 /* PlistBookmark */; - 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */ = 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */; - 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */ = 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */; + 8B79319221F4B409006E9731 /* PBXTextBookmark */ = 8B79319221F4B409006E9731 /* PBXTextBookmark */; + 8B79319421F4B409006E9731 /* PBXTextBookmark */ = 8B79319421F4B409006E9731 /* PBXTextBookmark */; + 8B79319921F4B43F006E9731 /* PBXTextBookmark */ = 8B79319921F4B43F006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { @@ -73,16 +73,6 @@ vrLen = 356; vrLoc = 2601; }; - 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* ToneSlant.h */; - name = "ToneSlant.h: 57"; - rLen = 0; - rLoc = 2865; - rType = 0; - vrLen = 410; - vrLoc = 2675; - }; 8B51D7811DAF1671009F3CF8 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; @@ -95,31 +85,41 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */ = { + 8B79319221F4B409006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ToneSlant.h */; + name = "ToneSlant.h: 134"; + rLen = 0; + rLoc = 5306; + rType = 0; + vrLen = 794; + vrLoc = 4622; + }; + 8B79319421F4B409006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ToneSlant.cpp */; - name = "ToneSlant.cpp: 195"; + name = "ToneSlant.cpp: 250"; rLen = 0; - rLoc = 8729; + rLoc = 11254; rType = 0; - vrLen = 457; - vrLoc = 8458; + vrLen = 1286; + vrLoc = 10056; }; - 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */ = { + 8B79319921F4B43F006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* ToneSlant.cpp */; - name = "ToneSlant.cpp: 195"; + name = "ToneSlant.cpp: 250"; rLen = 0; - rLoc = 8729; + rLoc = 11254; rType = 0; - vrLen = 418; - vrLoc = 8421; + vrLen = 1320; + vrLoc = 10022; }; 8BA05A660720730100365D66 /* ToneSlant.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {656, 3549}}"; - sepNavSelRange = "{8729, 0}"; - sepNavVisRange = "{8421, 418}"; + sepNavIntBoundsRect = "{{0, 0}, {726, 3471}}"; + sepNavSelRange = "{11254, 0}"; + sepNavVisRange = "{10022, 1320}"; sepNavWindowFrame = "{{537, 59}, {895, 819}}"; }; }; @@ -133,9 +133,9 @@ }; 8BC6025B073B072D006C4272 /* ToneSlant.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}"; - sepNavSelRange = "{5283, 65}"; - sepNavVisRange = "{3870, 1587}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2145}}"; + sepNavSelRange = "{5306, 0}"; + sepNavVisRange = "{4622, 794}"; sepNavWindowFrame = "{{15, 54}, {895, 819}}"; }; }; diff --git a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3 index d236663..4b2a46a 100755 --- a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 192 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -308,7 +306,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {192, 595}} PBXTopSmartGroupGIDs @@ -318,19 +316,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {209, 613}} GroupTreeTableConfiguration MainColumn - 288 + 192 RubberWindowFrame - 591 215 841 654 0 0 1440 878 + 448 210 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 209pt Dock @@ -353,13 +351,13 @@ _historyCapacity 0 bookmark - 8B9D76C01F7FA369007AB60F + 8B79319921F4B43F006E9731 history 8B51D7811DAF1671009F3CF8 - 8B42FB2B1DB15DB60057B6AB 8B22B0A31DB17F9F0075D7AA - 8B9D67DF1F7C911F007AB60F + 8B79319221F4B409006E9731 + 8B79319421F4B409006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 188}} + {{0, 0}, {627, 466}} RubberWindowFrame - 591 215 841 654 0 0 1440 878 + 448 210 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 188pt + 466pt Proportion - 420pt + 142pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 393}} - RubberWindowFrame - 591 215 841 654 0 0 1440 878 + {{10, 27}, {627, 115}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 315}} + {{10, 27}, {627, 115}} + RubberWindowFrame + 448 210 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -463,7 +461,7 @@ Proportion - 531pt + 627pt Name @@ -482,11 +480,11 @@ TableOfContents - 8B9D76C11F7FA369007AB60F + 8B79319A21F4B43F006E9731 1CA23ED40692098700951B8B - 8B9D76C21F7FA369007AB60F + 8B79319B21F4B43F006E9731 8BD7274A1D46E5A5000176F0 - 8B9D76C31F7FA369007AB60F + 8B79319C21F4B43F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 528458601.15789098 + 569685055.02673697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -676,11 +674,10 @@ 5 WindowOrderList - 8B9D76C41F7FA369007AB60F /Users/christopherjohnson/Desktop/MacAU/ToneSlant/ToneSlant.xcodeproj WindowString - 591 215 841 654 0 0 1440 878 + 448 210 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TransDesk/TransDesk.cpp b/plugins/MacAU/TransDesk/TransDesk.cpp index 0aa57f4..f508b67 100755 --- a/plugins/MacAU/TransDesk/TransDesk.cpp +++ b/plugins/MacAU/TransDesk/TransDesk.cpp @@ -157,9 +157,7 @@ void TransDesk::TransDeskKernel::Reset() lastSample = 0.0; lastOutSample = 0.0; lastSlew = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -202,9 +200,6 @@ void TransDesk::TransDeskKernel::Process( const Float32 *inSourceP, Float64 combSample; long double inputSample; long double drySample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -297,21 +292,11 @@ void TransDesk::TransDeskKernel::Process( const Float32 *inSourceP, inputSample /= gain; //end of Desk section - - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output - + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/TransDesk/TransDesk.h b/plugins/MacAU/TransDesk/TransDesk.h index f73f550..7479936 100755 --- a/plugins/MacAU/TransDesk/TransDesk.h +++ b/plugins/MacAU/TransDesk/TransDesk.h @@ -123,9 +123,7 @@ public: long double lastSample; long double lastOutSample; Float64 lastSlew; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser index 0688c58..3879aa7 100755 --- a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 455, 20, 48, 43, @@ -49,53 +49,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458726; - PBXWorkspaceStateSaveDate = 528458726; + PBXPerProjectTemplateStateSaveDate = 569685635; + PBXWorkspaceStateSaveDate = 569685635; }; perUserProjectItems = { - 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */ = 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */; - 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */ = 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */; - 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */ = 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */; + 8B7931D821F4B744006E9731 /* PBXTextBookmark */ = 8B7931D821F4B744006E9731 /* PBXTextBookmark */; + 8B7931DA21F4B744006E9731 /* PBXTextBookmark */ = 8B7931DA21F4B744006E9731 /* PBXTextBookmark */; + 8B7931DF21F4B769006E9731 /* PBXTextBookmark */ = 8B7931DF21F4B769006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */ = { + 8B7931D821F4B744006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* TransDesk.h */; name = "TransDesk.h: 126"; - rLen = 57; - rLoc = 4907; + rLen = 0; + rLoc = 4926; rType = 0; - vrLen = 113; - vrLoc = 4858; + vrLen = 406; + vrLoc = 4630; }; - 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */ = { + 8B7931DA21F4B744006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* TransDesk.cpp */; - name = "TransDesk.cpp: 1"; + name = "TransDesk.cpp: 297"; rLen = 0; - rLoc = 0; + rLoc = 11884; rType = 0; - vrLen = 199; - vrLoc = 11010; + vrLen = 1440; + vrLoc = 9447; }; - 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */ = { + 8B7931DF21F4B769006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* TransDesk.cpp */; - name = "TransDesk.cpp: 1"; + name = "TransDesk.cpp: 203"; rLen = 0; - rLoc = 0; + rLoc = 8371; rType = 0; - vrLen = 147; - vrLoc = 11028; + vrLen = 1325; + vrLoc = 7918; }; 8BA05A660720730100365D66 /* TransDesk.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {558, 4264}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{11028, 147}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4134}}"; + sepNavSelRange = "{8371, 0}"; + sepNavVisRange = "{7918, 1325}"; sepNavWindowFrame = "{{506, 58}, {932, 815}}"; }; }; @@ -117,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* TransDesk.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {885, 1755}}"; - sepNavSelRange = "{4906, 0}"; - sepNavVisRange = "{3678, 1395}"; + sepNavIntBoundsRect = "{{0, 0}, {698, 1911}}"; + sepNavSelRange = "{4926, 0}"; + sepNavVisRange = "{4630, 406}"; sepNavWindowFrame = "{{508, 63}, {932, 815}}"; }; }; diff --git a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3 index 31d86a2..db0c5ba 100755 --- a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 901 + 901 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 676}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 694}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 630 249 810 487 0 0 1440 878 + 398 107 901 735 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -335,6 +333,8 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -352,11 +352,11 @@ _historyCapacity 0 bookmark - 8B9D76EC1F7FA409007AB60F + 8B7931DF21F4B769006E9731 history - 8B3ED5DC1DDE6589004F9D64 - 8B9D680F1F7C919B007AB60F + 8B7931D821F4B744006E9731 + 8B7931DA21F4B744006E9731 SplitCount @@ -370,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 69}} + {{0, 0}, {694, 520}} RubberWindowFrame - 630 249 810 487 0 0 1440 878 + 398 107 901 735 0 0 1440 878 Module PBXNavigatorGroup Proportion - 69pt + 520pt Proportion - 372pt + 169pt Tabs @@ -395,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 345}} - RubberWindowFrame - 630 249 810 487 0 0 1440 878 + {{10, 27}, {694, 142}} Module XCDetailModule @@ -451,7 +449,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {694, 142}} + RubberWindowFrame + 398 107 901 735 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +460,7 @@ Proportion - 603pt + 694pt Name @@ -479,11 +479,11 @@ TableOfContents - 8B9D76ED1F7FA409007AB60F + 8B7931E021F4B769006E9731 1CA23ED40692098700951B8B - 8B9D76EE1F7FA409007AB60F + 8B7931E121F4B769006E9731 8B3ED5581DDE63B1004F9D64 - 8B9D76EF1F7FA409007AB60F + 8B7931E221F4B769006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +636,7 @@ StatusbarIsVisible TimeStamp - 528458761.70146298 + 569685865.03802896 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +653,10 @@ 5 WindowOrderList - 8B9D76F01F7FA409007AB60F /Users/christopherjohnson/Desktop/MacAU/TransDesk/TransDesk.xcodeproj WindowString - 630 249 810 487 0 0 1440 878 + 398 107 901 735 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/Tremolo/Tremolo.cpp b/plugins/MacAU/Tremolo/Tremolo.cpp index e70b244..6e1f644 100755 --- a/plugins/MacAU/Tremolo/Tremolo.cpp +++ b/plugins/MacAU/Tremolo/Tremolo.cpp @@ -173,9 +173,7 @@ void Tremolo::TremoloKernel::Reset() depthAmount = 0.0; lastSpeed = 1000.0; lastDepth = 1000.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -216,9 +214,6 @@ void Tremolo::TremoloKernel::Process( const Float32 *inSourceP, Float64 out; Float64 bridgerectifier; Float64 offset; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -289,22 +284,12 @@ void Tremolo::TremoloKernel::Process( const Float32 *inSourceP, //apply tremolo, apply gain boost to compensate for volume loss inputSample = (drySample * (1-depth)) + (inputSample*depth); - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither - - *destP = inputSample; destP += inNumChannels; sourceP += inNumChannels; diff --git a/plugins/MacAU/Tremolo/Tremolo.h b/plugins/MacAU/Tremolo/Tremolo.h index 38910c3..8b4204a 100755 --- a/plugins/MacAU/Tremolo/Tremolo.h +++ b/plugins/MacAU/Tremolo/Tremolo.h @@ -136,10 +136,7 @@ public: Float64 lastSpeed; Float64 lastDepth; Float64 sweep; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; - + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser index 822426d..4a72292 100755 --- a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 528, 20, 48, 43, @@ -49,43 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458789; - PBXWorkspaceStateSaveDate = 528458789; + PBXPerProjectTemplateStateSaveDate = 569685954; + PBXWorkspaceStateSaveDate = 569685954; }; perUserProjectItems = { - 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */ = 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */; - 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */ = 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */; + 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */ = 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */; + 8B7931F021F4B82A006E9731 /* PBXTextBookmark */ = 8B7931F021F4B82A006E9731 /* PBXTextBookmark */; + 8B7931F521F4B845006E9731 /* PBXTextBookmark */ = 8B7931F521F4B845006E9731 /* PBXTextBookmark */; 8BD8CB021DF8ECAA00CC3427 /* PBXTextBookmark */ = 8BD8CB021DF8ECAA00CC3427 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */ = { + 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Tremolo.h */; + name = "Tremolo.h: 139"; + rLen = 0; + rLoc = 5331; + rType = 0; + vrLen = 813; + vrLoc = 4630; + }; + 8B7931F021F4B82A006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Tremolo.cpp */; - name = "Tremolo.cpp: 290"; + name = "Tremolo.cpp: 292"; rLen = 0; - rLoc = 12305; + rLoc = 12430; rType = 0; - vrLen = 145; - vrLoc = 10647; + vrLen = 1235; + vrLoc = 11280; }; - 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */ = { + 8B7931F521F4B845006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* Tremolo.cpp */; - name = "Tremolo.cpp: 290"; + name = "Tremolo.cpp: 292"; rLen = 0; - rLoc = 12305; + rLoc = 12430; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 1268; + vrLoc = 11247; }; 8BA05A660720730100365D66 /* Tremolo.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 4108}}"; - sepNavSelRange = "{12305, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {718, 4043}}"; + sepNavSelRange = "{12430, 0}"; + sepNavVisRange = "{11247, 1268}"; sepNavWindowFrame = "{{386, 39}, {1024, 839}}"; }; }; @@ -107,9 +118,9 @@ }; 8BC6025B073B072D006C4272 /* Tremolo.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {922, 1885}}"; - sepNavSelRange = "{5163, 132}"; - sepNavVisRange = "{4043, 1438}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 2262}}"; + sepNavSelRange = "{5331, 0}"; + sepNavVisRange = "{4630, 813}"; sepNavWindowFrame = "{{469, 34}, {679, 835}}"; }; }; diff --git a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3 index 0be2553..832afcd 100755 --- a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 954 + 954 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 185 + 165 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {165, 635}} PBXTopSmartGroupGIDs @@ -317,19 +315,19 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {182, 653}} GroupTreeTableConfiguration MainColumn - 185 + 165 RubberWindowFrame - 504 296 810 487 0 0 1440 878 + 341 162 954 694 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 202pt + 182pt Dock @@ -352,11 +350,12 @@ _historyCapacity 0 bookmark - 8B9D76FB1F7FA435007AB60F + 8B7931F521F4B845006E9731 history 8BD8CB021DF8ECAA00CC3427 - 8B9D681F1F7C91BB007AB60F + 8B7931EE21F4B82A006E9731 + 8B7931F021F4B82A006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 32}} + {{0, 0}, {767, 469}} RubberWindowFrame - 504 296 810 487 0 0 1440 878 + 341 162 954 694 0 0 1440 878 Module PBXNavigatorGroup Proportion - 32pt + 469pt Proportion - 409pt + 179pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 382}} - RubberWindowFrame - 504 296 810 487 0 0 1440 878 + {{10, 27}, {767, 152}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 282}} + {{10, 27}, {767, 152}} + RubberWindowFrame + 341 162 954 694 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +459,7 @@ Proportion - 603pt + 767pt Name @@ -479,11 +478,11 @@ TableOfContents - 8B9D76FC1F7FA435007AB60F + 8B7931F621F4B845006E9731 1CA23ED40692098700951B8B - 8B9D76FD1F7FA435007AB60F + 8B7931F721F4B845006E9731 8B3ED5B51DDE654F004F9D64 - 8B9D76FE1F7FA435007AB60F + 8B7931F821F4B845006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 528458805.46372598 + 569686085.74729097 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +652,10 @@ 5 WindowOrderList - 8B9D76FF1F7FA435007AB60F /Users/christopherjohnson/Desktop/MacAU/Tremolo/Tremolo.xcodeproj WindowString - 504 296 810 487 0 0 1440 878 + 341 162 954 694 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/TubeDesk/TubeDesk.cpp b/plugins/MacAU/TubeDesk/TubeDesk.cpp index 4b730c4..cf2c042 100755 --- a/plugins/MacAU/TubeDesk/TubeDesk.cpp +++ b/plugins/MacAU/TubeDesk/TubeDesk.cpp @@ -157,9 +157,7 @@ void TubeDesk::TubeDeskKernel::Reset() lastSample = 0.0; lastOutSample = 0.0; lastSlew = 0.0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -200,9 +198,6 @@ void TubeDesk::TubeDeskKernel::Process( const Float32 *inSourceP, Float64 combSample; long double inputSample; long double drySample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -295,20 +290,11 @@ void TubeDesk::TubeDeskKernel::Process( const Float32 *inSourceP, inputSample /= gain; //end of Desk section - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output - + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/TubeDesk/TubeDesk.h b/plugins/MacAU/TubeDesk/TubeDesk.h index 93110b5..393c14b 100755 --- a/plugins/MacAU/TubeDesk/TubeDesk.h +++ b/plugins/MacAU/TubeDesk/TubeDesk.h @@ -124,9 +124,7 @@ public: long double lastSample; long double lastOutSample; Float64 lastSlew; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser index 6c8870e..5884fa0 100755 --- a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 474, 20, 48, 43, @@ -49,43 +49,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 528458816; - PBXWorkspaceStateSaveDate = 528458816; + PBXPerProjectTemplateStateSaveDate = 569686163; + PBXWorkspaceStateSaveDate = 569686163; }; perUserProjectItems = { - 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */ = 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */; - 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */ = 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */; - 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */ = 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */; + 8B79320521F4B8E5006E9731 /* PBXTextBookmark */ = 8B79320521F4B8E5006E9731 /* PBXTextBookmark */; + 8B79320721F4B8E5006E9731 /* PBXTextBookmark */ = 8B79320721F4B8E5006E9731 /* PBXTextBookmark */; + 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */ = 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */ = { + 8B79320521F4B8E5006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* TubeDesk.h */; + name = "TubeDesk.h: 121"; + rLen = 127; + rLoc = 4740; + rType = 0; + vrLen = 159; + vrLoc = 4728; + }; + 8B79320721F4B8E5006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* TubeDesk.cpp */; - name = "TubeDesk.cpp: 1"; + name = "TubeDesk.cpp: 297"; rLen = 0; - rLoc = 0; + rLoc = 12119; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 1239; + vrLoc = 10970; }; - 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */ = { + 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* TubeDesk.cpp */; - name = "TubeDesk.cpp: 1"; + name = "TubeDesk.cpp: 297"; rLen = 0; - rLoc = 0; + rLoc = 12119; rType = 0; - vrLen = 0; - vrLoc = 0; + vrLen = 1298; + vrLoc = 10911; }; 8BA05A660720730100365D66 /* TubeDesk.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 4186}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {691, 4147}}"; + sepNavSelRange = "{12119, 0}"; + sepNavVisRange = "{10911, 1298}"; sepNavWindowFrame = "{{508, 63}, {932, 815}}"; }; }; @@ -107,9 +117,9 @@ }; 8BC6025B073B072D006C4272 /* TubeDesk.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 1859}}"; + sepNavIntBoundsRect = "{{0, 0}, {656, 1924}}"; sepNavSelRange = "{4740, 127}"; - sepNavVisRange = "{4740, 107}"; + sepNavVisRange = "{4728, 159}"; sepNavWindowFrame = "{{508, 63}, {932, 815}}"; }; }; @@ -127,16 +137,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* TubeDesk.h */; - name = "TubeDesk.h: 121"; - rLen = 127; - rLoc = 4740; - rType = 0; - vrLen = 107; - vrLoc = 4740; - }; 8D01CCC60486CAD60068D4B7 /* TubeDesk */ = { activeExec = 0; }; diff --git a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3 index 5a5dc2b..a910f97 100755 --- a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 920 + 920 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 675}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 693}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 630 304 810 487 0 0 1440 878 + 387 106 920 734 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,11 @@ _historyCapacity 0 bookmark - 8B9D770A1F7FA48A007AB60F + 8B79320C21F4B8F7006E9731 history - 8BD8CB131DF8EDB000CC3427 - 8B9D68401F7C91F2007AB60F + 8B79320521F4B8E5006E9731 + 8B79320721F4B8E5006E9731 SplitCount @@ -370,18 +368,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 13}} + {{0, 0}, {713, 543}} RubberWindowFrame - 630 304 810 487 0 0 1440 878 + 387 106 920 734 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 543pt Proportion - 428pt + 145pt Tabs @@ -395,9 +393,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 401}} - RubberWindowFrame - 630 304 810 487 0 0 1440 878 + {{10, 27}, {713, 118}} Module XCDetailModule @@ -451,7 +447,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {713, 118}} + RubberWindowFrame + 387 106 920 734 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +458,7 @@ Proportion - 603pt + 713pt Name @@ -479,11 +477,11 @@ TableOfContents - 8B9D770B1F7FA48A007AB60F + 8B79320D21F4B8F7006E9731 1CA23ED40692098700951B8B - 8B9D770C1F7FA48A007AB60F + 8B79320E21F4B8F7006E9731 8B3ED5701DDE63FA004F9D64 - 8B9D770D1F7FA48A007AB60F + 8B79320F21F4B8F7006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +634,7 @@ StatusbarIsVisible TimeStamp - 528458890.160869 + 569686263.00768697 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +651,10 @@ 5 WindowOrderList - 8B9D770E1F7FA48A007AB60F /Users/christopherjohnson/Desktop/MacAU/TubeDesk/TubeDesk.xcodeproj WindowString - 630 304 810 487 0 0 1440 878 + 387 106 920 734 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/UnBox/UnBox.cpp b/plugins/MacAU/UnBox/UnBox.cpp index b5d9943..4c1685c 100755 --- a/plugins/MacAU/UnBox/UnBox.cpp +++ b/plugins/MacAU/UnBox/UnBox.cpp @@ -179,7 +179,6 @@ void UnBox::UnBoxKernel::Reset() for(int count = 0; count < 11; count++) {c[count] = 0.0; f[count] = 0.0;} iirSampleA = 0.0; iirSampleB = 0.0; - } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -328,21 +327,14 @@ void UnBox::UnBoxKernel::Process( const Float32 *inSourceP, if (output != 1.0) inputSample *= output; - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither + *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser index 57e0f3e..502ab45 100755 --- a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 389, 20, 48, 43, @@ -49,35 +49,55 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 557536465; - PBXWorkspaceStateSaveDate = 557536465; + PBXPerProjectTemplateStateSaveDate = 569686552; + PBXWorkspaceStateSaveDate = 569686552; }; perUserProjectItems = { - 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */ = 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */; + 8B79324821F4BABB006E9731 /* PBXTextBookmark */ = 8B79324821F4BABB006E9731 /* PBXTextBookmark */; + 8B79324A21F4BABB006E9731 /* PBXTextBookmark */ = 8B79324A21F4BABB006E9731 /* PBXTextBookmark */; + 8B79324F21F4BACB006E9731 /* PBXTextBookmark */ = 8B79324F21F4BACB006E9731 /* PBXTextBookmark */; 8BFDB0B1213A19500079F90D /* PlistBookmark */ = 8BFDB0B1213A19500079F90D /* PlistBookmark */; - 8BFDB0B2213A19500079F90D /* PBXTextBookmark */ = 8BFDB0B2213A19500079F90D /* PBXTextBookmark */; - 8BFDB0B4213A19500079F90D /* PBXTextBookmark */ = 8BFDB0B4213A19500079F90D /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */ = { + 8B79324821F4BABB006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BC6025B073B072D006C4272 /* UnBox.h */; name = "UnBox.h: 140"; rLen = 24; rLoc = 5350; rType = 0; - vrLen = 294; - vrLoc = 5181; + vrLen = 259; + vrLoc = 5216; + }; + 8B79324A21F4BABB006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* UnBox.cpp */; + name = "UnBox.cpp: 339"; + rLen = 0; + rLoc = 14386; + rType = 0; + vrLen = 1013; + vrLoc = 13376; + }; + 8B79324F21F4BACB006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* UnBox.cpp */; + name = "UnBox.cpp: 339"; + rLen = 0; + rLoc = 14386; + rType = 0; + vrLen = 1013; + vrLoc = 13376; }; 8BA05A660720730100365D66 /* UnBox.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {747, 4745}}"; - sepNavSelRange = "{11915, 2143}"; - sepNavVisRange = "{12509, 2376}"; - sepNavWindowFrame = "{{683, 44}, {776, 834}}"; + sepNavIntBoundsRect = "{{0, 0}, {747, 4511}}"; + sepNavSelRange = "{14386, 0}"; + sepNavVisRange = "{13376, 1013}"; + sepNavWindowFrame = "{{664, 44}, {776, 834}}"; }; }; 8BA05A690720730100365D66 /* UnBoxVersion.h */ = { @@ -90,9 +110,9 @@ }; 8BC6025B073B072D006C4272 /* UnBox.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {894, 2093}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 2119}}"; sepNavSelRange = "{5350, 24}"; - sepNavVisRange = "{5181, 294}"; + sepNavVisRange = "{5216, 259}"; sepNavWindowFrame = "{{724, 44}, {776, 834}}"; }; }; @@ -122,26 +142,6 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BFDB0B2213A19500079F90D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* UnBox.cpp */; - name = "UnBox.cpp: 297"; - rLen = 238; - rLoc = 12561; - rType = 0; - vrLen = 707; - vrLoc = 12336; - }; - 8BFDB0B4213A19500079F90D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BC6025B073B072D006C4272 /* UnBox.h */; - name = "UnBox.h: 140"; - rLen = 24; - rLoc = 5350; - rType = 0; - vrLen = 295; - vrLoc = 5181; - }; 8D01CCC60486CAD60068D4B7 /* UnBox */ = { activeExec = 0; }; diff --git a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3 index 74c3c5b..5891050 100755 --- a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 191 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -309,7 +307,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {191, 595}} PBXTopSmartGroupGIDs @@ -319,19 +317,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {208, 613}} GroupTreeTableConfiguration MainColumn - 288 + 191 RubberWindowFrame - 654 195 841 654 0 0 1440 878 + 454 199 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 208pt Dock @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - UnBox.h + UnBox.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,16 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - UnBox.h + UnBox.cpp _historyCapacity 0 bookmark - 8B6DBA6A213B59B000E44739 + 8B79324F21F4BACB006E9731 history 8BFDB0B1213A19500079F90D - 8BFDB0B2213A19500079F90D - 8BFDB0B4213A19500079F90D + 8B79324821F4BABB006E9731 + 8B79324A21F4BABB006E9731 SplitCount @@ -373,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {628, 422}} RubberWindowFrame - 654 195 841 654 0 0 1440 878 + 454 199 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 422pt Proportion - 406pt + 186pt Tabs @@ -398,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 654 195 841 654 0 0 1440 878 + {{10, 27}, {628, 159}} Module XCDetailModule @@ -454,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {628, 159}} + RubberWindowFrame + 454 199 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -463,7 +461,7 @@ Proportion - 531pt + 628pt Name @@ -482,11 +480,11 @@ TableOfContents - 8B6DBA6B213B59B000E44739 + 8B79325021F4BACB006E9731 1CA23ED40692098700951B8B - 8B6DBA6C213B59B000E44739 + 8B79325121F4BACB006E9731 8BD7274A1D46E5A5000176F0 - 8B6DBA6D213B59B000E44739 + 8B79325221F4BACB006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -659,7 +657,7 @@ StatusbarIsVisible TimeStamp - 557537712.47539306 + 569686731.11476696 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -679,7 +677,7 @@ /Users/christopherjohnson/Desktop/MacAU/UnBox/UnBox.xcodeproj WindowString - 654 195 841 654 0 0 1440 878 + 454 199 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/VariMu/VariMu.cpp b/plugins/MacAU/VariMu/VariMu.cpp index 50babba..de02670 100755 --- a/plugins/MacAU/VariMu/VariMu.cpp +++ b/plugins/MacAU/VariMu/VariMu.cpp @@ -331,14 +331,11 @@ void VariMu::VariMuKernel::Process( const Float32 *inSourceP, //nice little output stage template: if we have another scale of floating point //number, we really don't want to meaninglessly multiply that by 1.0. - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; diff --git a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser index 3724cac..1a4176c 100755 --- a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 398, 20, 48, 43, @@ -49,18 +49,42 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 553985775; - PBXWorkspaceStateSaveDate = 553985775; + PBXPerProjectTemplateStateSaveDate = 569686793; + PBXWorkspaceStateSaveDate = 569686793; + }; + perUserProjectItems = { + 8B79326021F4BB45006E9731 /* PBXTextBookmark */ = 8B79326021F4BB45006E9731 /* PBXTextBookmark */; + 8B79326521F4BB59006E9731 /* PBXTextBookmark */ = 8B79326521F4BB59006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79326021F4BB45006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* VariMu.cpp */; + name = "VariMu.cpp: 339"; + rLen = 0; + rLoc = 13742; + rType = 0; + vrLen = 1137; + vrLoc = 12693; + }; + 8B79326521F4BB59006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* VariMu.cpp */; + name = "VariMu.cpp: 339"; + rLen = 0; + rLoc = 13742; + rType = 0; + vrLen = 1204; + vrLoc = 12626; + }; 8BA05A660720730100365D66 /* VariMu.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {754, 4823}}"; - sepNavSelRange = "{10960, 2235}"; - sepNavVisRange = "{10339, 1838}"; + sepNavIntBoundsRect = "{{0, 0}, {754, 4875}}"; + sepNavSelRange = "{13742, 0}"; + sepNavVisRange = "{12626, 1204}"; sepNavWindowFrame = "{{643, 44}, {776, 834}}"; }; }; @@ -83,9 +107,9 @@ 8BC6025B073B072D006C4272 /* VariMu.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {824, 1976}}"; - sepNavSelRange = "{5236, 185}"; - sepNavVisRange = "{1248, 2117}"; - sepNavWindowFrame = "{{606, 77}, {834, 801}}"; + sepNavSelRange = "{5122, 0}"; + sepNavVisRange = "{4202, 1352}"; + sepNavWindowFrame = "{{456, 70}, {834, 801}}"; }; }; 8BD3CCB8148830B20062E48C /* Source Control */ = { diff --git a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3 index 442c0b6..b11d3d7 100755 --- a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 844 + 844 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 681}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 699}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 623 325 810 487 0 0 1440 878 + 477 100 844 740 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -340,7 +338,7 @@ PBXProjectModuleGUID 8BB8B6602102749700751000 PBXProjectModuleLabel - + VariMu.cpp PBXSplitModuleInNavigatorKey Split0 @@ -348,7 +346,15 @@ PBXProjectModuleGUID 8BB8B6612102749700751000 PBXProjectModuleLabel - + VariMu.cpp + _historyCapacity + 0 + bookmark + 8B79326521F4BB59006E9731 + history + + 8B79326021F4BB45006E9731 + SplitCount 1 @@ -361,18 +367,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 0}} + {{0, 0}, {637, 544}} RubberWindowFrame - 623 325 810 487 0 0 1440 878 + 477 100 844 740 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 544pt Proportion - 441pt + 150pt Tabs @@ -386,9 +392,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} - RubberWindowFrame - 623 325 810 487 0 0 1440 878 + {{10, 27}, {637, 123}} Module XCDetailModule @@ -442,7 +446,9 @@ GeometryConfiguration Frame - {{10, 27}, {603, 414}} + {{10, 27}, {637, 123}} + RubberWindowFrame + 477 100 844 740 0 0 1440 878 Module PBXBuildResultsModule @@ -451,7 +457,7 @@ Proportion - 603pt + 637pt Name @@ -470,11 +476,11 @@ TableOfContents - 8BBD18752105423A0015A233 + 8B79326621F4BB59006E9731 1CA23ED40692098700951B8B - 8BBD18762105423A0015A233 + 8B79326721F4BB59006E9731 8BB8B6602102749700751000 - 8BBD18772105423A0015A233 + 8B79326821F4BB59006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -627,7 +633,7 @@ StatusbarIsVisible TimeStamp - 553992762.45564604 + 569686873.84603405 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -644,11 +650,10 @@ 5 WindowOrderList - 8BBD18782105423A0015A233 /Users/christopherjohnson/Desktop/MacAU/VariMu/VariMu.xcodeproj WindowString - 623 325 810 487 0 0 1440 878 + 477 100 844 740 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp index e89cc53..cfc6806 100755 --- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp +++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp @@ -175,9 +175,7 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Reset() filterflip = false; for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;} lastAlgorithm = 0; - fpNShapeA = 0.0; - fpNShapeB = 0.0; - fpFlip = true; + fpNShape = 0.0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -259,9 +257,6 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Process( const Float32 *inS Float64 rumbletrim = sqrt(lowcut); //this among other things is just to give volume compensation Float64 inputSample; - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; while (nSampleFrames-- > 0) { inputSample = *sourceP; @@ -323,19 +318,11 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Process( const Float32 *inS flip = !flip; filterflip = !filterflip; - //noise shaping to 32-bit floating point - if (fpFlip) { - fpTemp = inputSample; - fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeA; - } - else { - fpTemp = inputSample; - fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew); - inputSample += fpNShapeB; - } - fpFlip = !fpFlip; - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h index d2731b8..28d236a 100755 --- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h +++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h @@ -138,9 +138,7 @@ public: Float64 b[11]; Float64 f[11]; int lastAlgorithm; - Float64 fpNShapeA; - Float64 fpNShapeB; - bool fpFlip; + Float64 fpNShape; }; }; diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3 old mode 100644 new mode 100755 diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser old mode 100644 new mode 100755 index 31707e8..2622f4a --- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser @@ -12,7 +12,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 181, + 327, 20, 48, 43, @@ -51,22 +51,53 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 539483684; - PBXWorkspaceStateSaveDate = 539483684; + PBXPerProjectTemplateStateSaveDate = 569686894; + PBXWorkspaceStateSaveDate = 569686894; }; perUserProjectItems = { - 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */ = 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */; - 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */ = 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */; + 8B79327421F4BBE8006E9731 /* PBXTextBookmark */ = 8B79327421F4BBE8006E9731 /* PBXTextBookmark */; + 8B79327621F4BBE8006E9731 /* PBXTextBookmark */ = 8B79327621F4BBE8006E9731 /* PBXTextBookmark */; + 8B79327F21F4BC16006E9731 /* PBXTextBookmark */ = 8B79327F21F4BC16006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79327421F4BBE8006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* VoiceOfTheStarship.h */; + name = "VoiceOfTheStarship.h: 141"; + rLen = 0; + rLoc = 5399; + rType = 0; + vrLen = 878; + vrLoc = 4631; + }; + 8B79327621F4BBE8006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */; + name = "VoiceOfTheStarship.cpp: 329"; + rLen = 0; + rLoc = 13814; + rType = 0; + vrLen = 1135; + vrLoc = 12872; + }; + 8B79327F21F4BC16006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */; + name = "VoiceOfTheStarship.cpp: 260"; + rLen = 0; + rLoc = 11704; + rType = 0; + vrLen = 1504; + vrLoc = 10760; + }; 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {803, 4758}}"; - sepNavSelRange = "{13583, 0}"; - sepNavVisRange = "{12506, 267}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 4446}}"; + sepNavSelRange = "{11704, 0}"; + sepNavVisRange = "{10760, 1504}"; sepNavWindowFrame = "{{459, 62}, {981, 816}}"; }; }; @@ -96,32 +127,12 @@ }; 8BC6025B073B072D006C4272 /* VoiceOfTheStarship.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 1937}}"; - sepNavSelRange = "{5380, 57}"; - sepNavVisRange = "{4200, 1340}"; + sepNavIntBoundsRect = "{{0, 0}, {824, 2171}}"; + sepNavSelRange = "{5399, 0}"; + sepNavVisRange = "{4631, 878}"; sepNavWindowFrame = "{{670, 67}, {770, 811}}"; }; }; - 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */; - name = "VoiceOfTheStarship.cpp: 319"; - rLen = 0; - rLoc = 13583; - rType = 0; - vrLen = 267; - vrLoc = 12506; - }; - 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */; - name = "VoiceOfTheStarship.cpp: 319"; - rLen = 0; - rLoc = 13583; - rType = 0; - vrLen = 267; - vrLoc = 12506; - }; 8BD3CCB8148830B20062E48C /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 old mode 100644 new mode 100755 index e5ee563..93dc9d7 --- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 810 - 810 + 850 + 850 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -300,14 +298,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 + 4 2 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {262, 390}} + {{0, 0}, {262, 653}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {279, 408}} + {{0, 0}, {279, 671}} GroupTreeTableConfiguration MainColumn 262 RubberWindowFrame - 727 422 704 449 0 0 1440 878 + 436 140 850 712 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -335,6 +333,8 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -352,10 +352,11 @@ _historyCapacity 0 bookmark - 8BCA6F4C2027DF6C00D92BAD + 8B79327F21F4BC16006E9731 history - 8BCA6F4B2027DF6C00D92BAD + 8B79327421F4BBE8006E9731 + 8B79327621F4BBE8006E9731 SplitCount @@ -369,18 +370,18 @@ GeometryConfiguration Frame - {{0, 0}, {420, 121}} + {{0, 0}, {566, 560}} RubberWindowFrame - 727 422 704 449 0 0 1440 878 + 436 140 850 712 0 0 1440 878 Module PBXNavigatorGroup Proportion - 121pt + 560pt Proportion - 282pt + 106pt Tabs @@ -394,9 +395,7 @@ GeometryConfiguration Frame - {{10, 27}, {420, 255}} - RubberWindowFrame - 727 422 704 449 0 0 1440 878 + {{10, 27}, {566, 79}} Module XCDetailModule @@ -450,7 +449,9 @@ GeometryConfiguration Frame - {{10, 27}, {526, 414}} + {{10, 27}, {566, 79}} + RubberWindowFrame + 436 140 850 712 0 0 1440 878 Module PBXBuildResultsModule @@ -459,7 +460,7 @@ Proportion - 420pt + 566pt Name @@ -478,11 +479,11 @@ TableOfContents - 8BCA6F4D2027DF6C00D92BAD + 8B79328021F4BC16006E9731 1CA23ED40692098700951B8B - 8BCA6F4E2027DF6C00D92BAD + 8B79328121F4BC16006E9731 8BD3753F2011847B00FD04C9 - 8BCA6F4F2027DF6C00D92BAD + 8B79328221F4BC16006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -655,7 +656,7 @@ StatusbarIsVisible TimeStamp - 539484012.35384703 + 569687062.55458999 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,7 +676,7 @@ /Users/christopherjohnson/Desktop/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj WindowString - 727 422 704 449 0 0 1440 878 + 436 140 850 712 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/plugins/MacAU/Wider/Wider.cpp b/plugins/MacAU/Wider/Wider.cpp index 050f43a..3063f97 100755 --- a/plugins/MacAU/Wider/Wider.cpp +++ b/plugins/MacAU/Wider/Wider.cpp @@ -189,11 +189,8 @@ ComponentResult Wider::Reset(AudioUnitScope inScope, AudioUnitElement inElement { for(int fcount = 0; fcount < 4098; fcount++) {p[fcount] = 0.0;} count = 0; - flip = false; - fpNShapeAL = 0.0; - fpNShapeBL = 0.0; - fpNShapeAR = 0.0; - fpNShapeBR = 0.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; return noErr; } @@ -215,9 +212,6 @@ OSStatus Wider::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, Float64 overallscale = 1.0; overallscale /= 44100.0; overallscale *= GetSampleRate(); - Float32 fpTemp; - Float64 fpOld = 0.618033988749894848204586; //golden ratio! - Float64 fpNew = 1.0 - fpOld; long double inputSampleL; long double inputSampleR; Float64 drySampleL; @@ -338,27 +332,14 @@ OSStatus Wider::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, inputSampleL = (drySampleL * dry) + ((mid+side) * wet); inputSampleR = (drySampleR * dry) + ((mid-side) * wet); - //noise shaping to 32-bit floating point - if (flip) { - fpTemp = inputSampleL; - fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeAL; - - fpTemp = inputSampleR; - fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeAR; - } - else { - fpTemp = inputSampleL; - fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew); - inputSampleL += fpNShapeBL; - - fpTemp = inputSampleR; - fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew); - inputSampleR += fpNShapeBR; - } - flip = !flip; - //end noise shaping on 32 bit output + //stereo 32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSampleL, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleL += (dither-fpNShapeL); fpNShapeL = dither; + frexpf((Float32)inputSampleR, &expon); + dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSampleR += (dither-fpNShapeR); fpNShapeR = dither; + //end 32 bit dither *outputL = inputSampleL; *outputR = inputSampleR; diff --git a/plugins/MacAU/Wider/Wider.h b/plugins/MacAU/Wider/Wider.h index 8bad13a..5d5608f 100755 --- a/plugins/MacAU/Wider/Wider.h +++ b/plugins/MacAU/Wider/Wider.h @@ -118,11 +118,8 @@ public: private: Float64 p[4099]; - long double fpNShapeAL; - long double fpNShapeBL; - long double fpNShapeAR; - long double fpNShapeBR; - bool flip; + long double fpNShapeL; + long double fpNShapeR; int count; }; diff --git a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser index 7c2423a..0d5f1a6 100755 --- a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 364, + 450, 20, 48, 43, @@ -49,23 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 546574001; - PBXWorkspaceStateSaveDate = 546574001; + PBXPerProjectTemplateStateSaveDate = 569687155; + PBXWorkspaceStateSaveDate = 569687155; }; perUserProjectItems = { - 8BC5D08220940F340058B257 /* PBXTextBookmark */ = 8BC5D08220940F340058B257 /* PBXTextBookmark */; - 8BC5D08320940F340058B257 /* PBXTextBookmark */ = 8BC5D08320940F340058B257 /* PBXTextBookmark */; + 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */ = 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */; + 8B79329021F4BD0E006E9731 /* PBXTextBookmark */ = 8B79329021F4BD0E006E9731 /* PBXTextBookmark */; + 8B79329521F4BD1F006E9731 /* PBXTextBookmark */ = 8B79329521F4BD1F006E9731 /* PBXTextBookmark */; 8BEF337F1D81EAE5008B0B7F /* PBXTextBookmark */ = 8BEF337F1D81EAE5008B0B7F /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; + 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* Wider.h */; + name = "Wider.h: 123"; + rLen = 0; + rLoc = 5115; + rType = 0; + vrLen = 1305; + vrLoc = 3927; + }; + 8B79329021F4BD0E006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Wider.cpp */; + name = "Wider.cpp: 215"; + rLen = 0; + rLoc = 8890; + rType = 0; + vrLen = 1668; + vrLoc = 8634; + }; + 8B79329521F4BD1F006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* Wider.cpp */; + name = "Wider.cpp: 215"; + rLen = 0; + rLoc = 8890; + rType = 0; + vrLen = 1668; + vrLoc = 8634; + }; 8BA05A660720730100365D66 /* Wider.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {554, 4992}}"; - sepNavSelRange = "{14374, 15}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {852, 4940}}"; + sepNavSelRange = "{8890, 0}"; + sepNavVisRange = "{8634, 1668}"; sepNavWindowFrame = "{{607, 73}, {1021, 800}}"; }; }; @@ -93,31 +124,11 @@ sepNavWindowFrame = "{{424, 78}, {1021, 800}}"; }; }; - 8BC5D08220940F340058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Wider.cpp */; - name = "Wider.cpp: 371"; - rLen = 15; - rLoc = 14374; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 8BC5D08320940F340058B257 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* Wider.cpp */; - name = "Wider.cpp: 371"; - rLen = 15; - rLoc = 14374; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 8BC6025B073B072D006C4272 /* Wider.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {974, 1716}}"; - sepNavSelRange = "{5049, 18}"; - sepNavVisRange = "{1459, 1999}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 1781}}"; + sepNavSelRange = "{5115, 0}"; + sepNavVisRange = "{3927, 1305}"; sepNavWindowFrame = "{{419, 78}, {1021, 800}}"; }; }; diff --git a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3 index c4329ad..11f2693 100755 --- a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - -1 - -1 + 896 + 896 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -307,7 +305,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {185, 428}} + {{0, 0}, {185, 685}} PBXTopSmartGroupGIDs @@ -317,14 +315,14 @@ GeometryConfiguration Frame - {{0, 0}, {202, 446}} + {{0, 0}, {202, 703}} GroupTreeTableConfiguration MainColumn 185 RubberWindowFrame - 622 326 810 487 0 0 1440 878 + 416 108 896 744 0 0 1440 878 Module PBXSmartGroupTreeModule @@ -352,11 +350,12 @@ _historyCapacity 0 bookmark - 8BC5D08320940F340058B257 + 8B79329521F4BD1F006E9731 history 8BEF337F1D81EAE5008B0B7F - 8BC5D08220940F340058B257 + 8B79328E21F4BD0E006E9731 + 8B79329021F4BD0E006E9731 SplitCount @@ -370,18 +369,18 @@ GeometryConfiguration Frame - {{0, 0}, {603, 13}} + {{0, 0}, {689, 547}} RubberWindowFrame - 622 326 810 487 0 0 1440 878 + 416 108 896 744 0 0 1440 878 Module PBXNavigatorGroup Proportion - 13pt + 547pt Proportion - 428pt + 151pt Tabs @@ -395,9 +394,7 @@ GeometryConfiguration Frame - {{10, 27}, {603, 401}} - RubberWindowFrame - 622 326 810 487 0 0 1440 878 + {{10, 27}, {689, 124}} Module XCDetailModule @@ -451,7 +448,9 @@ GeometryConfiguration Frame - {{10, 31}, {603, 297}} + {{10, 27}, {689, 124}} + RubberWindowFrame + 416 108 896 744 0 0 1440 878 Module PBXBuildResultsModule @@ -460,7 +459,7 @@ Proportion - 603pt + 689pt Name @@ -479,11 +478,11 @@ TableOfContents - 8BC5D08420940F340058B257 + 8B79329621F4BD1F006E9731 1CA23ED40692098700951B8B - 8BC5D08520940F340058B257 + 8B79329721F4BD1F006E9731 8BEF335B1D81E786008B0B7F - 8BC5D08620940F340058B257 + 8B79329821F4BD1F006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -636,7 +635,7 @@ StatusbarIsVisible TimeStamp - 546574132.41940296 + 569687327.62574196 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -653,11 +652,10 @@ 5 WindowOrderList - 8BC5D08720940F340058B257 /Users/christopherjohnson/Desktop/MacAU/Wider/Wider.xcodeproj WindowString - 622 326 810 487 0 0 1440 878 + 416 108 896 744 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/uLawDecode/uLawDecode.cpp b/plugins/MacAU/uLawDecode/uLawDecode.cpp index 8bf3e5a..3f4581c 100755 --- a/plugins/MacAU/uLawDecode/uLawDecode.cpp +++ b/plugins/MacAU/uLawDecode/uLawDecode.cpp @@ -231,23 +231,15 @@ void uLawDecode::uLawDecodeKernel::Process( const Float32 *inSourceP, } //Dry/Wet control, defaults to the last slider - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser index 7c52743..fa546fe 100755 --- a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 382, 20, 48, 43, @@ -49,33 +49,54 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561231051; - PBXWorkspaceStateSaveDate = 561231051; + PBXPerProjectTemplateStateSaveDate = 569686304; + PBXWorkspaceStateSaveDate = 569686304; }; perUserProjectItems = { - 8B2720A82173B5FC00396442 /* PBXTextBookmark */ = 8B2720A82173B5FC00396442 /* PBXTextBookmark */; + 8B79321B21F4B952006E9731 /* PBXTextBookmark */ = 8B79321B21F4B952006E9731 /* PBXTextBookmark */; + 8B79321D21F4B952006E9731 /* PBXTextBookmark */ = 8B79321D21F4B952006E9731 /* PBXTextBookmark */; + 8B79322221F4B963006E9731 /* PBXTextBookmark */ = 8B79322221F4B963006E9731 /* PBXTextBookmark */; 8BE1D69D2145372700D5F5B6 /* PlistBookmark */ = 8BE1D69D2145372700D5F5B6 /* PlistBookmark */; - 8BE626FE2159745A00E4E476 /* PBXTextBookmark */ = 8BE626FE2159745A00E4E476 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B2720A82173B5FC00396442 /* PBXTextBookmark */ = { + 8B79321B21F4B952006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* uLawDecode.h */; + name = "uLawDecode.h: 67"; + rLen = 0; + rLoc = 3125; + rType = 0; + vrLen = 1015; + vrLoc = 4252; + }; + 8B79321D21F4B952006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */; + name = "uLawDecode.cpp: 244"; + rLen = 0; + rLoc = 10226; + rType = 0; + vrLen = 974; + vrLoc = 9255; + }; + 8B79322221F4B963006E9731 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */; - name = "uLawDecode.cpp: 224"; + name = "uLawDecode.cpp: 244"; rLen = 0; - rLoc = 9598; + rLoc = 10226; rType = 0; - vrLen = 437; - vrLoc = 10287; + vrLen = 1006; + vrLoc = 9223; }; 8BA05A660720730100365D66 /* uLawDecode.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {621, 3471}}"; - sepNavSelRange = "{9598, 0}"; - sepNavVisRange = "{10287, 437}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 3471}}"; + sepNavSelRange = "{10226, 0}"; + sepNavVisRange = "{9223, 1006}"; sepNavWindowFrame = "{{587, 45}, {816, 833}}"; }; }; @@ -89,9 +110,9 @@ }; 8BC6025B073B072D006C4272 /* uLawDecode.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {843, 1664}}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}"; sepNavSelRange = "{3125, 0}"; - sepNavVisRange = "{1679, 1855}"; + sepNavVisRange = "{4252, 1015}"; sepNavWindowFrame = "{{15, 63}, {890, 810}}"; }; }; @@ -121,16 +142,6 @@ rLen = 0; rLoc = 9223372036854775808; }; - 8BE626FE2159745A00E4E476 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */; - name = "uLawDecode.cpp: 224"; - rLen = 0; - rLoc = 9598; - rType = 0; - vrLen = 434; - vrLoc = 10290; - }; 8D01CCC60486CAD60068D4B7 /* uLawDecode */ = { activeExec = 0; }; diff --git a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3 index b412088..a73a00a 100755 --- a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3 @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 198 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -309,7 +307,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {198, 595}} PBXTopSmartGroupGIDs @@ -319,19 +317,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {215, 613}} GroupTreeTableConfiguration MainColumn - 288 + 198 RubberWindowFrame - 585 216 841 654 0 0 1440 878 + 464 204 841 654 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 215pt Dock @@ -354,11 +352,12 @@ _historyCapacity 0 bookmark - 8B2720A82173B5FC00396442 + 8B79322221F4B963006E9731 history 8BE1D69D2145372700D5F5B6 - 8BE626FE2159745A00E4E476 + 8B79321B21F4B952006E9731 + 8B79321D21F4B952006E9731 SplitCount @@ -372,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 173}} + {{0, 0}, {621, 497}} RubberWindowFrame - 585 216 841 654 0 0 1440 878 + 464 204 841 654 0 0 1440 878 Module PBXNavigatorGroup Proportion - 173pt + 497pt Proportion - 435pt + 111pt Tabs @@ -397,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 408}} - RubberWindowFrame - 585 216 841 654 0 0 1440 878 + {{10, 27}, {621, 84}} Module XCDetailModule @@ -453,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {621, 84}} + RubberWindowFrame + 464 204 841 654 0 0 1440 878 Module PBXBuildResultsModule @@ -462,7 +461,7 @@ Proportion - 531pt + 621pt Name @@ -481,11 +480,11 @@ TableOfContents - 8B2720A92173B5FC00396442 + 8B79322321F4B963006E9731 1CA23ED40692098700951B8B - 8B2720AA2173B5FC00396442 + 8B79322421F4B963006E9731 8BD7274A1D46E5A5000176F0 - 8B2720AB2173B5FC00396442 + 8B79322521F4B963006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,7 +657,7 @@ StatusbarIsVisible TimeStamp - 561231356.44708204 + 569686371.96209395 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -675,11 +674,10 @@ 5 WindowOrderList - 8B2720AC2173B5FC00396442 /Users/christopherjohnson/Desktop/MacAU/uLawDecode/uLawDecode.xcodeproj WindowString - 585 216 841 654 0 0 1440 878 + 464 204 841 654 0 0 1440 878 WindowToolsV3 diff --git a/plugins/MacAU/uLawEncode/uLawEncode.cpp b/plugins/MacAU/uLawEncode/uLawEncode.cpp index 60e0bb1..9c663fb 100755 --- a/plugins/MacAU/uLawEncode/uLawEncode.cpp +++ b/plugins/MacAU/uLawEncode/uLawEncode.cpp @@ -229,23 +229,15 @@ void uLawEncode::uLawEncodeKernel::Process( const Float32 *inSourceP, inputSample = (inputSample * wet) + (drySample * dry); } - //noise shaping to 32-bit floating point - Float32 fpTemp = inputSample; - fpNShape += (inputSample-fpTemp); - inputSample += fpNShape; - //for deeper space and warmth, we try a non-oscillating noise shaping - //that is kind of ruthless: it will forever retain the rounding errors - //except we'll dial it back a hair at the end of every buffer processed - //end noise shaping on 32 bit output + //32 bit dither, made small and tidy. + int expon; frexpf((Float32)inputSample, &expon); + long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62); + inputSample += (dither-fpNShape); fpNShape = dither; + //end 32 bit dither *destP = inputSample; sourceP += inNumChannels; destP += inNumChannels; } - fpNShape *= 0.999999; - //we will just delicately dial back the FP noise shaping, not even every sample - //this is a good place to put subtle 'no runaway' calculations, though bear in mind - //that it will be called more often when you use shorter sample buffers in the DAW. - //So, very low latency operation will call these calculations more often. } diff --git a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser index 79aef9a..3d079b0 100755 --- a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser +++ b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser @@ -10,7 +10,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 292, + 444, 20, 48, 43, @@ -49,18 +49,20 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 561229885; - PBXWorkspaceStateSaveDate = 561229885; + PBXPerProjectTemplateStateSaveDate = 569686467; + PBXWorkspaceStateSaveDate = 569686467; }; perUserProjectItems = { - 8B27203D2173B23100396442 /* PlistBookmark */ = 8B27203D2173B23100396442 /* PlistBookmark */; - 8BE627102159750A00E4E476 /* PlistBookmark */ = 8BE627102159750A00E4E476 /* PlistBookmark */; + 8B79323121F4B9E7006E9731 /* PlistBookmark */ = 8B79323121F4B9E7006E9731 /* PlistBookmark */; + 8B79323221F4B9E7006E9731 /* PBXTextBookmark */ = 8B79323221F4B9E7006E9731 /* PBXTextBookmark */; + 8B79323421F4B9E7006E9731 /* PBXTextBookmark */ = 8B79323421F4B9E7006E9731 /* PBXTextBookmark */; + 8B79323921F4BA03006E9731 /* PBXTextBookmark */ = 8B79323921F4BA03006E9731 /* PBXTextBookmark */; }; sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; userBuildSettings = { }; }; - 8B27203D2173B23100396442 /* PlistBookmark */ = { + 8B79323121F4B9E7006E9731 /* PlistBookmark */ = { isa = PlistBookmark; fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; fallbackIsa = PBXBookmark; @@ -72,11 +74,41 @@ rLen = 0; rLoc = 9223372036854775807; }; + 8B79323221F4B9E7006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* uLawEncode.h */; + name = "uLawEncode.h: 50"; + rLen = 1; + rLoc = 2740; + rType = 0; + vrLen = 1139; + vrLoc = 4128; + }; + 8B79323421F4B9E7006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* uLawEncode.cpp */; + name = "uLawEncode.cpp: 242"; + rLen = 0; + rLoc = 10181; + rType = 0; + vrLen = 1133; + vrLoc = 9051; + }; + 8B79323921F4BA03006E9731 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* uLawEncode.cpp */; + name = "uLawEncode.cpp: 242"; + rLen = 0; + rLoc = 10181; + rType = 0; + vrLen = 1159; + vrLoc = 9025; + }; 8BA05A660720730100365D66 /* uLawEncode.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {824, 3276}}"; - sepNavSelRange = "{9497, 258}"; - sepNavVisRange = "{8738, 1941}"; + sepNavIntBoundsRect = "{{0, 0}, {670, 3406}}"; + sepNavSelRange = "{10181, 0}"; + sepNavVisRange = "{9025, 1159}"; sepNavWindowFrame = "{{684, 45}, {816, 833}}"; }; }; @@ -92,7 +124,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}"; sepNavSelRange = "{2740, 1}"; - sepNavVisRange = "{1993, 1589}"; + sepNavVisRange = "{4128, 1139}"; sepNavWindowFrame = "{{732, 67}, {890, 810}}"; }; }; @@ -110,18 +142,6 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 8BE627102159750A00E4E476 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleName, - ); - name = /Users/christopherjohnson/Desktop/MacAU/uLawEncode/Info.plist; - rLen = 0; - rLoc = 9223372036854775808; - }; 8D01CCC60486CAD60068D4B7 /* uLawEncode */ = { activeExec = 0; }; diff --git a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3 index 75813d1..663d11c 100755 --- a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3 +++ b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3 @@ -225,8 +225,8 @@ PerspectiveWidths - 841 - 841 + 899 + 899 Perspectives @@ -256,8 +256,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -282,7 +280,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 288 + 194 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -309,7 +307,7 @@ PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {288, 595}} + {{0, 0}, {194, 656}} PBXTopSmartGroupGIDs @@ -319,19 +317,19 @@ GeometryConfiguration Frame - {{0, 0}, {305, 613}} + {{0, 0}, {211, 674}} GroupTreeTableConfiguration MainColumn - 288 + 194 RubberWindowFrame - 637 204 841 654 0 0 1440 878 + 406 163 899 715 0 0 1440 878 Module PBXSmartGroupTreeModule Proportion - 305pt + 211pt Dock @@ -342,7 +340,7 @@ PBXProjectModuleGUID 8BD7274A1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + uLawEncode.cpp PBXSplitModuleInNavigatorKey Split0 @@ -350,14 +348,16 @@ PBXProjectModuleGUID 8BD7274B1D46E5A5000176F0 PBXProjectModuleLabel - Info.plist + uLawEncode.cpp _historyCapacity 0 bookmark - 8B27203D2173B23100396442 + 8B79323921F4BA03006E9731 history - 8BE627102159750A00E4E476 + 8B79323121F4B9E7006E9731 + 8B79323221F4B9E7006E9731 + 8B79323421F4B9E7006E9731 SplitCount @@ -371,18 +371,18 @@ GeometryConfiguration Frame - {{0, 0}, {531, 202}} + {{0, 0}, {683, 549}} RubberWindowFrame - 637 204 841 654 0 0 1440 878 + 406 163 899 715 0 0 1440 878 Module PBXNavigatorGroup Proportion - 202pt + 549pt Proportion - 406pt + 120pt Tabs @@ -396,9 +396,7 @@ GeometryConfiguration Frame - {{10, 27}, {531, 379}} - RubberWindowFrame - 637 204 841 654 0 0 1440 878 + {{10, 27}, {683, 93}} Module XCDetailModule @@ -452,7 +450,9 @@ GeometryConfiguration Frame - {{10, 27}, {531, 339}} + {{10, 27}, {683, 93}} + RubberWindowFrame + 406 163 899 715 0 0 1440 878 Module PBXBuildResultsModule @@ -461,7 +461,7 @@ Proportion - 531pt + 683pt Name @@ -480,11 +480,11 @@ TableOfContents - 8B27203E2173B23100396442 + 8B79323A21F4BA03006E9731 1CA23ED40692098700951B8B - 8B27203F2173B23100396442 + 8B79323B21F4BA03006E9731 8BD7274A1D46E5A5000176F0 - 8B2720402173B23100396442 + 8B79323C21F4BA03006E9731 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -657,7 +657,7 @@ StatusbarIsVisible TimeStamp - 561230385.17758596 + 569686531.54984498 ToolbarConfigUserDefaultsMinorVersion 2 ToolbarDisplayMode @@ -674,11 +674,10 @@ 5 WindowOrderList - 8B2720412173B23100396442 /Users/christopherjohnson/Desktop/MacAU/uLawEncode/uLawEncode.xcodeproj WindowString - 637 204 841 654 0 0 1440 878 + 406 163 899 715 0 0 1440 878 WindowToolsV3 -- cgit v1.2.3