From 040e8fb599cb0c145200ce4d6781e1fd6704d694 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 10 Dec 2018 07:59:24 -0500 Subject: [PATCH 01/88] Change the base class and remove some unused property code and see it try to grab the carbon UI in a printf! --- src/au/aulayer.cpp | 65 +++++++++++++--------------------------------- src/au/aulayer.h | 4 +-- 2 files changed, 20 insertions(+), 49 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 7f24b666e80..aa94abb648a 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -8,7 +8,7 @@ typedef SurgeSynthesizer sub3_synth; //---------------------------------------------------------------------------------------------------- -aulayer::aulayer (AudioUnit au) : MusicDeviceBase (au,1,1) +aulayer::aulayer (AudioUnit au) : AUInstrumentBase (au,1,1) { plugin_instance = 0; } @@ -147,7 +147,7 @@ ComponentResult aulayer::Initialize() parameterIDlist_CFString[i] = 0; } - MusicDeviceBase::Initialize(); + AUInstrumentBase::Initialize(); return noErr; } @@ -155,7 +155,7 @@ ComponentResult aulayer::Initialize() void aulayer::Cleanup() { - MusicDeviceBase::Cleanup(); + AUInstrumentBase::Cleanup(); } //---------------------------------------------------------------------------------------------------- @@ -434,53 +434,23 @@ const char* getclamptxt(int id) ComponentResult aulayer::GetProperty(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, void* pData) { - if(iID == kAudioUnitProperty_ParameterValueName) - { - if(!IsInitialized()) return kAudioUnitErr_Uninitialized; - AudioUnitParameterValueName *aup = (AudioUnitParameterValueName*)pData; - char tmptxt[64]; - float f; - if(aup->inValue) f = *(aup->inValue); - else f = plugin_instance->getParameter01(plugin_instance->remapExternalApiToInternalId(aup->inParamID)); - plugin_instance->getParameterDisplay(plugin_instance->remapExternalApiToInternalId(aup->inParamID),tmptxt,f); - aup->outName = CFStringCreateWithCString(NULL,tmptxt,kCFStringEncodingUTF8); - return noErr; - } - else if(iID == kAudioUnitProperty_ParameterClumpName) - { - AudioUnitParameterNameInfo *aup = (AudioUnitParameterNameInfo*)pData; - aup->outName = CFStringCreateWithCString(NULL,getclamptxt(aup->inID),kCFStringEncodingUTF8); - return noErr; - } - else if(iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) - { - void** pThis = (void**)(pData); - *pThis = (void*)plugin_instance; - return noErr; - } - return MusicDeviceBase::GetProperty(iID, iScope, iElem, pData); + return AUInstrumentBase::GetProperty(iID, iScope, iElem, pData); } //---------------------------------------------------------------------------------------------------- ComponentResult aulayer::GetPropertyInfo(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, UInt32& iSize, Boolean& fWritable) -{ - if(iID == kAudioUnitProperty_ParameterValueName) - { - iSize=sizeof(AudioUnitParameterValueName); - return noErr; - } - else if(iID == kAudioUnitProperty_ParameterClumpName) - { - iSize=sizeof(AudioUnitParameterNameInfo); - return noErr; - } - else if (iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) - { - iSize=sizeof(void*); - return noErr; - } - return MusicDeviceBase::GetPropertyInfo(iID, iScope, iElem, iSize,fWritable); +{ + // OK so big todo here and in GetProperty + // 1: Switch these all to have an inScope--kAudioUnitScope_Global guard + // 2: Switch these to be a switch + // 3: Make Cocoa UI make the datasize the size of the view info. Take a look in juce_audio_plugin_client/AU/juce_AU_Wrapper.mm + // 4: That will probably core out since the calss isn't defined. That's OK! MOve on from there. + if( iID == kAudioUnitProperty_CocoaUI ) + { + fprintf( stderr, "ASKING FOR THE COCOA UI! Wahey\n" ); + } + return AUInstrumentBase::GetPropertyInfo(iID, iScope, iElem, iSize,fWritable); } //---------------------------------------------------------------------------------------------------- @@ -591,7 +561,7 @@ ComponentResult aulayer::GetParameterList(AudioUnitScope inScope, AudioUnitParam outNumParameters = 0; return noErr; } - + outNumParameters = n_total_params; if(outParameterList) memcpy(outParameterList,parameterIDlist,sizeof(AudioUnitParameterID)*n_total_params); return noErr; @@ -602,8 +572,9 @@ ComponentResult aulayer::GetParameterList(AudioUnitScope inScope, AudioUnitParam ComponentResult aulayer::GetParameterInfo( AudioUnitScope inScope, AudioUnitParameterID inParameterID, - AudioUnitParameterInfo &outParameterInfo) + AudioUnitParameterInfo &outParameterInfo) { + //FIXME: I think this code can be a bit tighter and cleaner, but it works OK for now outParameterInfo.unit = kAudioUnitParameterUnit_Generic; outParameterInfo.minValue = 0.f; outParameterInfo.maxValue = 1.f; diff --git a/src/au/aulayer.h b/src/au/aulayer.h index 381ef1827f4..d5961971b2e 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -3,7 +3,7 @@ //------------------------------------------------------------------------------------------------------- #pragma once -#include "MusicDeviceBase.h" +#include "AUInstrumentBase.h" #include "surge_auversion.h" #include "SurgeStorage.h" @@ -27,7 +27,7 @@ struct AuMIDIEvent long inStartFrame; }; -class aulayer : public MusicDeviceBase +class aulayer : public AUInstrumentBase { public: aulayer (AudioUnit au); From 814c6d171044ca2addee02108edeee853e07b810 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 10 Dec 2018 17:14:27 -0500 Subject: [PATCH 02/88] Have the AU call the cocoa runtime succesfully and enter objective C to start making the bits we need I hope... --- premake5.lua | 1 + src/au/aulayer.cpp | 69 +++++++++++++++++++++++++++++++++++++-- src/au/aulayer_cocoaui.h | 18 ++++++++++ src/au/aulayer_cocoaui.mm | 19 +++++++++++ 4 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 src/au/aulayer_cocoaui.h create mode 100644 src/au/aulayer_cocoaui.mm diff --git a/premake5.lua b/premake5.lua index 2a824f5da4a..9a79324bd06 100644 --- a/premake5.lua +++ b/premake5.lua @@ -460,6 +460,7 @@ if (os.istarget("macosx")) then files { "src/au/**.cpp", + "src/au/**.mm", "src/au/**.h", "libs/AudioUnits/AUPublic/**.cpp", "libs/AudioUnits/AUPublic/**.h", diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index aa94abb648a..9a3886c31e2 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -3,6 +3,7 @@ #include #include #include +#include "aulayer_cocoaui.h" typedef SurgeSynthesizer sub3_synth; @@ -434,6 +435,44 @@ const char* getclamptxt(int id) ComponentResult aulayer::GetProperty(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, void* pData) { + if( iScope == kAudioUnitScope_Global ) + { + switch( iID ) + { + case kAudioUnitProperty_CocoaUI: + fprintf( stderr, "Trying to construct COCOA UI and bailing sadly\n" ); + SurgeAUGetPropertyCocoaDelegate(iID, iScope, iElem, pData ); + break; + } + } +#if 0 + - if(iID == kAudioUnitProperty_ParameterValueName) + - { + - if(!IsInitialized()) return kAudioUnitErr_Uninitialized; + - AudioUnitParameterValueName *aup = (AudioUnitParameterValueName*)pData; + - char tmptxt[64]; + - float f; + - if(aup->inValue) f = *(aup->inValue); + - else f = plugin_instance->getParameter01(plugin_instance->remapExternalApiToInternalId(aup->inParamID)); + - plugin_instance->getParameterDisplay(plugin_instance->remapExternalApiToInternalId(aup->inParamID),tmptxt,f); + - aup->outName = CFStringCreateWithCString(NULL,tmptxt,kCFStringEncodingUTF8); + - return noErr; + - } + - else if(iID == kAudioUnitProperty_ParameterClumpName) + - { + - AudioUnitParameterNameInfo *aup = (AudioUnitParameterNameInfo*)pData; + - aup->outName = CFStringCreateWithCString(NULL,getclamptxt(aup->inID),kCFStringEncodingUTF8); + - return noErr; + - } + - else if(iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) + - { + - void** pThis = (void**)(pData); + - *pThis = (void*)plugin_instance; + - return noErr; + - } + +#endif + return AUInstrumentBase::GetProperty(iID, iScope, iElem, pData); } @@ -446,10 +485,36 @@ ComponentResult aulayer::GetPropertyInfo(AudioUnitPropertyID iID, AudioUnitScope // 2: Switch these to be a switch // 3: Make Cocoa UI make the datasize the size of the view info. Take a look in juce_audio_plugin_client/AU/juce_AU_Wrapper.mm // 4: That will probably core out since the calss isn't defined. That's OK! MOve on from there. - if( iID == kAudioUnitProperty_CocoaUI ) + if( iScope == kAudioUnitScope_Global ) { - fprintf( stderr, "ASKING FOR THE COCOA UI! Wahey\n" ); + switch( iID ) + { + case kAudioUnitProperty_CocoaUI: + iSize = sizeof (AudioUnitCocoaViewInfo); + fWritable = true; + return noErr; + break; + } } + +#if 0 + - if(iID == kAudioUnitProperty_ParameterValueName) + - { + - iSize=sizeof(AudioUnitParameterValueName); + - return noErr; + - } + - else if(iID == kAudioUnitProperty_ParameterClumpName) + - { + - iSize=sizeof(AudioUnitParameterNameInfo); + - return noErr; + - } + - else if (iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) + - { + - iSize=sizeof(void*); + - return noErr; + - } +#endif + return AUInstrumentBase::GetPropertyInfo(iID, iScope, iElem, iSize,fWritable); } diff --git a/src/au/aulayer_cocoaui.h b/src/au/aulayer_cocoaui.h new file mode 100644 index 00000000000..0981b7a2e7f --- /dev/null +++ b/src/au/aulayer_cocoaui.h @@ -0,0 +1,18 @@ +// +// aulayer_cocoaui.h +// surge-au +// +// Created by Paul Walker on 12/10/18. +// + +#ifndef aulayer_cocoaui_h +#define aulayer_cocoaui_h + +#import + +ComponentResult SurgeAUGetPropertyCocoaDelegate (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void* outData); + +#endif /* aulayer_cocoaui_h */ diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm new file mode 100644 index 00000000000..66f824a5390 --- /dev/null +++ b/src/au/aulayer_cocoaui.mm @@ -0,0 +1,19 @@ +// +// aulayer_cocoaui.mm +// surge-au +// +// Created by Paul Walker on 12/10/18. +// + +#import +#include "aulayer_cocoaui.h" + +ComponentResult SurgeAUGetPropertyCocoaDelegate (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void* outData) +{ + [[NSURL URLWithString: @"yo"] retain]; + fprintf( stderr, "Hey ma, I'm in objective c!\n" ); + return noErr; +} From 141f1707d2d1b67072fe1d57dc94ee52acbde1fe Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 10 Dec 2018 21:53:28 -0500 Subject: [PATCH 03/88] Actually get to a point where we are loading and calling my cocoa object --- src/au/aulayer.cpp | 41 ---------------------- src/au/aulayer_cocoaui.h | 5 --- src/au/aulayer_cocoaui.mm | 71 +++++++++++++++++++++++++++++++++++---- 3 files changed, 64 insertions(+), 53 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 9a3886c31e2..f94ae310582 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -433,48 +433,7 @@ const char* getclamptxt(int id) //---------------------------------------------------------------------------------------------------- -ComponentResult aulayer::GetProperty(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, void* pData) -{ - if( iScope == kAudioUnitScope_Global ) - { - switch( iID ) - { - case kAudioUnitProperty_CocoaUI: - fprintf( stderr, "Trying to construct COCOA UI and bailing sadly\n" ); - SurgeAUGetPropertyCocoaDelegate(iID, iScope, iElem, pData ); - break; - } - } -#if 0 - - if(iID == kAudioUnitProperty_ParameterValueName) - - { - - if(!IsInitialized()) return kAudioUnitErr_Uninitialized; - - AudioUnitParameterValueName *aup = (AudioUnitParameterValueName*)pData; - - char tmptxt[64]; - - float f; - - if(aup->inValue) f = *(aup->inValue); - - else f = plugin_instance->getParameter01(plugin_instance->remapExternalApiToInternalId(aup->inParamID)); - - plugin_instance->getParameterDisplay(plugin_instance->remapExternalApiToInternalId(aup->inParamID),tmptxt,f); - - aup->outName = CFStringCreateWithCString(NULL,tmptxt,kCFStringEncodingUTF8); - - return noErr; - - } - - else if(iID == kAudioUnitProperty_ParameterClumpName) - - { - - AudioUnitParameterNameInfo *aup = (AudioUnitParameterNameInfo*)pData; - - aup->outName = CFStringCreateWithCString(NULL,getclamptxt(aup->inID),kCFStringEncodingUTF8); - - return noErr; - - } - - else if(iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) - - { - - void** pThis = (void**)(pData); - - *pThis = (void*)plugin_instance; - - return noErr; - - } -#endif - - return AUInstrumentBase::GetProperty(iID, iScope, iElem, pData); -} //---------------------------------------------------------------------------------------------------- diff --git a/src/au/aulayer_cocoaui.h b/src/au/aulayer_cocoaui.h index 0981b7a2e7f..e4cf034a831 100644 --- a/src/au/aulayer_cocoaui.h +++ b/src/au/aulayer_cocoaui.h @@ -10,9 +10,4 @@ #import -ComponentResult SurgeAUGetPropertyCocoaDelegate (AudioUnitPropertyID inID, - AudioUnitScope inScope, - AudioUnitElement inElement, - void* outData); - #endif /* aulayer_cocoaui_h */ diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 66f824a5390..4e9bf70df06 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -5,15 +5,72 @@ // Created by Paul Walker on 12/10/18. // +#include #import +#import +#include "aulayer.h" #include "aulayer_cocoaui.h" -ComponentResult SurgeAUGetPropertyCocoaDelegate (AudioUnitPropertyID inID, - AudioUnitScope inScope, - AudioUnitElement inElement, - void* outData) + +@interface SurgeCocoaUI : NSObject { - [[NSURL URLWithString: @"yo"] retain]; - fprintf( stderr, "Hey ma, I'm in objective c!\n" ); - return noErr; } +@end + +@implementation SurgeCocoaUI +- (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit + withSize: (NSSize) inPreferredSize +{ + fprintf( stderr, "uiViewForAudioUnit\n" ); + return nil; +} + +- (unsigned int)interfaceVersion { + fprintf( stderr, "interfaceVersion\n" ); + return 0x00010050; +} + +@end + +static CFBundleRef GetBundleFromExecutable (const char* filepath) +{ + @autoreleasepool { + NSString* execStr = [NSString stringWithCString:filepath encoding:NSUTF8StringEncoding]; + NSString* macOSStr = [execStr stringByDeletingLastPathComponent]; + NSString* contentsStr = [macOSStr stringByDeletingLastPathComponent]; + NSString* bundleStr = [contentsStr stringByDeletingLastPathComponent]; + return CFBundleCreate (0, (CFURLRef)[NSURL fileURLWithPath:bundleStr isDirectory:YES]); + } + +} + +ComponentResult aulayer::GetProperty(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, void* outData) +{ + if( iScope == kAudioUnitScope_Global ) + { + switch( iID ) + { + case kAudioUnitProperty_CocoaUI: + // FIXME - this autorelease over-releases so leak a little (we are infrequently called) + // but definitely come back and fix this! + //@autoreleasepool + { + auto surgeclass = objc_getClass( "SurgeCocoaUI" ); + const char* image = class_getImageName ( surgeclass ); + CFBundleRef bundle = GetBundleFromExecutable (image); + CFURLRef url = CFBundleCopyBundleURL (bundle); + CFRelease (bundle); + + + AudioUnitCocoaViewInfo* info = static_cast (outData); + info->mCocoaAUViewClass[0] = (__bridge CFStringRef)NSStringFromClass( surgeclass ); + info->mCocoaAUViewBundleLocation = url; + + return noErr; + } + } + } + + return AUInstrumentBase::GetProperty(iID, iScope, iElem, outData); +} + From fb2980eb1c60b3372719a083a633b6a84025fa46 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Tue, 11 Dec 2018 08:07:33 -0500 Subject: [PATCH 04/88] Checkpoint so I can re-branch once I pull master into baconpaul --- src/au/aulayer_cocoaui.mm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 4e9bf70df06..e7b1fa6dd1d 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -22,6 +22,14 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit withSize: (NSSize) inPreferredSize { fprintf( stderr, "uiViewForAudioUnit\n" ); +#if 0 + // OK so here's what happens in VST land. Basically we get the controller pointer from the AU class and then wrap it in this thingy. Lots to unpick still. + Vst::IEditController* editController = 0; + UInt32 size = sizeof (Vst::IEditController*); + if (AudioUnitGetProperty (inAU, 64000, kAudioUnitScope_Global, 0, &editController, &size) != noErr) + return nil; + return [[[SMTGCocoa_NSViewWrapperForAU alloc] initWithEditController:editController audioUnit:inAU preferredSize:inPreferredSize] autorelease]; +#endif return nil; } From 5b448b8db568a142785f08f5455f75129be8dd4c Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Tue, 11 Dec 2018 21:43:25 -0500 Subject: [PATCH 05/88] The surge UI is a big red box in Logic which crashes AU Lab and crashes Logic on Exit. So not exactly awesome but at least I have plumbed through to an NSView even if I have my ownership wrong --- src/au/aulayer.cpp | 8 ++++--- src/au/aulayer.h | 27 ++++++++++++++++++++++++ src/au/aulayer_cocoaui.mm | 44 +++++++++++++++++++++++++++++++++++---- 3 files changed, 72 insertions(+), 7 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index f94ae310582..c6604d12bb1 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -7,6 +7,8 @@ typedef SurgeSynthesizer sub3_synth; +FILE* AULOG::lf = NULL; + //---------------------------------------------------------------------------------------------------- aulayer::aulayer (AudioUnit au) : AUInstrumentBase (au,1,1) @@ -106,14 +108,14 @@ void aulayer::InitializePlugin() { if(!plugin_instance) { - fprintf( stderr, "SURGE:>> Constructing new plugin\n" ); - fprintf( stderr, " :>> BUILD %s on %s\n", __TIME__, __DATE__ ); + AULOG::log( "SURGE:>> Constructing new plugin\n" ); + AULOG::log( " :>> BUILD %s on %s\n", __TIME__, __DATE__ ); //sub3_synth* synth = (sub3_synth*)_aligned_malloc(sizeof(sub3_synth),16); //new(synth) sub3_synth(this); // FIXME: The VST uses a std::unique_ptr<> and we probably should here also plugin_instance = new SurgeSynthesizer( this ); - fprintf( stderr, "SURGE:>> Plugin Created\n" ); + AULOG::log( " :>> Plugin Created\n" ); } assert(plugin_instance); } diff --git a/src/au/aulayer.h b/src/au/aulayer.h index d5961971b2e..90a16dc89cb 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -12,6 +12,33 @@ class SurgeGUIEditor; class SurgeSynthesizer; typedef SurgeSynthesizer plugin; +struct AULOG +{ + static FILE* lf; + + static void log( const char* format, ... ) + { + fprintf( stderr, "ENTERING WITH LF=%d\n", lf ); + if( lf == NULL ) + { + lf = fopen( "/Users/paul/Library/Logs/Surge.log", "a" ); + fprintf( stderr, "LOG FILE IS %d\n", lf ); + } + va_list args; + va_start( args, format ); + vfprintf( stderr, format, args ); + va_end( args ); + if( lf != NULL ) + { + va_start( args, format ); + vfprintf( lf, format, args ); + va_end( args ); + fflush( lf ); + } + + } +}; + //------------------------------------------------------------------------------------------------------- const CFStringRef rawchunkname = CFSTR("VmbA_chunk"); diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index e7b1fa6dd1d..78bca3d7c66 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -11,17 +11,27 @@ #include "aulayer.h" #include "aulayer_cocoaui.h" +@interface SurgeNSView : NSView +{ + +} + +- (id) initWithSurge: (id) cont preferredSize: (NSSize) size; +@end @interface SurgeCocoaUI : NSObject { } + +- (NSString *) description; @end @implementation SurgeCocoaUI - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit withSize: (NSSize) inPreferredSize { - fprintf( stderr, "uiViewForAudioUnit\n" ); + // Remember we end up being called here because that's what AUCocoaUIView does in the initiation collaboration with hosts + AULOG::log( "uiViewForAudioUnit %s on %s\n", __TIME__, __DATE__ ); #if 0 // OK so here's what happens in VST land. Basically we get the controller pointer from the AU class and then wrap it in this thingy. Lots to unpick still. Vst::IEditController* editController = 0; @@ -30,16 +40,41 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit return nil; return [[[SMTGCocoa_NSViewWrapperForAU alloc] initWithEditController:editController audioUnit:inAU preferredSize:inPreferredSize] autorelease]; #endif - return nil; + return [[[SurgeNSView alloc] initWithSurge:nil preferredSize:inPreferredSize] autorelease]; + // return nil; } - (unsigned int)interfaceVersion { - fprintf( stderr, "interfaceVersion\n" ); - return 0x00010050; + AULOG::log( "interfaceVersion\n" ); + return 0; +} + +- (NSString *) description { + return [NSString stringWithUTF8String: "Surge View"]; } @end +@implementation SurgeNSView +- (id) initWithSurge: (id) cont preferredSize: (NSSize) size +{ + self = [super initWithFrame: NSMakeRect (0, 0, size.width, size.height)]; + return self; +} + +// Just for now +- (void) drawRect:(NSRect)dirtyRect { + [super drawRect:dirtyRect]; + + // This next line sets the the current fill color parameter of the Graphics Context + [[NSColor redColor] setFill]; + // This next function fills a rect the same as dirtyRect with the current fill color of the Graphics Context. + NSRectFill(dirtyRect); + // You might want to use _bounds or self.bounds if you want to be sure to fill the entire bounds rect of the view. +} +@end + + static CFBundleRef GetBundleFromExecutable (const char* filepath) { @autoreleasepool { @@ -63,6 +98,7 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) // but definitely come back and fix this! //@autoreleasepool { + AULOG::log( "Asking for kAudioUnitProperty_CocoaUI\n" ); auto surgeclass = objc_getClass( "SurgeCocoaUI" ); const char* image = class_getImageName ( surgeclass ); CFBundleRef bundle = GetBundleFromExecutable (image); From 87767bfbd8e1dc2affedc872b9b84b5c9bf53308 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Wed, 12 Dec 2018 08:08:24 -0500 Subject: [PATCH 06/88] Plumb through a reference to a GUIEditor; but that seems one step too low in the classes compared to VST. Checkpoint so I can look at params --- src/au/aulayer.cpp | 18 +++++++---- src/au/aulayer.h | 3 ++ src/au/aulayer_cocoaui.mm | 65 ++++++++++++++++++++++++++++++++++----- 3 files changed, 72 insertions(+), 14 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index c6604d12bb1..6fefd0707b3 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -14,6 +14,7 @@ FILE* AULOG::lf = NULL; aulayer::aulayer (AudioUnit au) : AUInstrumentBase (au,1,1) { plugin_instance = 0; + editor_instance = 0; } //---------------------------------------------------------------------------------------------------- @@ -116,7 +117,7 @@ void aulayer::InitializePlugin() // FIXME: The VST uses a std::unique_ptr<> and we probably should here also plugin_instance = new SurgeSynthesizer( this ); AULOG::log( " :>> Plugin Created\n" ); - } + } assert(plugin_instance); } @@ -450,11 +451,16 @@ ComponentResult aulayer::GetPropertyInfo(AudioUnitPropertyID iID, AudioUnitScope { switch( iID ) { - case kAudioUnitProperty_CocoaUI: - iSize = sizeof (AudioUnitCocoaViewInfo); - fWritable = true; - return noErr; - break; + case kAudioUnitProperty_CocoaUI: + iSize = sizeof (AudioUnitCocoaViewInfo); + fWritable = true; + return noErr; + break; + case kVmbAAudioUnitProperty_GetEditPointer: + iSize = sizeof( SurgeGUIEditor *); + fWritable = true; + return noErr; + break; } } diff --git a/src/au/aulayer.h b/src/au/aulayer.h index 90a16dc89cb..9a8635f9ab6 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -45,6 +45,7 @@ const CFStringRef rawchunkname = CFSTR("VmbA_chunk"); enum { kVmbAAudioUnitProperty_GetPluginCPPInstance = 70000, + kVmbAAudioUnitProperty_GetEditPointer = 70001, }; // event @@ -140,7 +141,9 @@ class aulayer : public AUInstrumentBase void InitializePlugin(); bool IsPluginInitialized(); + // FIXME: Move to std::unique_ptr<> plugin *plugin_instance; + SurgeGUIEditor *editor_instance; protected: //void handleEvent(VstEvent*); AuMIDIEvent eventbuffer[1024]; diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 78bca3d7c66..e2ac889c885 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -10,13 +10,14 @@ #import #include "aulayer.h" #include "aulayer_cocoaui.h" +#include @interface SurgeNSView : NSView { - + SurgeGUIEditor *editController; } -- (id) initWithSurge: (id) cont preferredSize: (NSSize) size; +- (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; @end @interface SurgeCocoaUI : NSObject @@ -34,13 +35,15 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit AULOG::log( "uiViewForAudioUnit %s on %s\n", __TIME__, __DATE__ ); #if 0 // OK so here's what happens in VST land. Basically we get the controller pointer from the AU class and then wrap it in this thingy. Lots to unpick still. - Vst::IEditController* editController = 0; - UInt32 size = sizeof (Vst::IEditController*); - if (AudioUnitGetProperty (inAU, 64000, kAudioUnitScope_Global, 0, &editController, &size) != noErr) - return nil; return [[[SMTGCocoa_NSViewWrapperForAU alloc] initWithEditController:editController audioUnit:inAU preferredSize:inPreferredSize] autorelease]; #endif - return [[[SurgeNSView alloc] initWithSurge:nil preferredSize:inPreferredSize] autorelease]; + + SurgeGUIEditor* editController = 0; + UInt32 size = sizeof (SurgeGUIEditor *); + if (AudioUnitGetProperty (inAudioUnit, kVmbAAudioUnitProperty_GetEditPointer, kAudioUnitScope_Global, 0, &editController, &size) != noErr) + return nil; + + return [[[SurgeNSView alloc] initWithSurge:editController preferredSize:inPreferredSize] autorelease]; // return nil; } @@ -56,9 +59,47 @@ - (NSString *) description { @end @implementation SurgeNSView -- (id) initWithSurge: (id) cont preferredSize: (NSSize) size +- (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { self = [super initWithFrame: NSMakeRect (0, 0, size.width, size.height)]; + + if (self) + { + +#if 0 + editController = cont; + editController->addRef (); + audioUnit = au; + // WHAT WE ARE GETTING is a plugView not an editController + plugView = editController->createView (Vst::ViewType::kEditor); + if (!plugView || plugView->isPlatformTypeSupported (kPlatformTypeNSView) != kResultTrue) + { + [self dealloc]; + return nil; + } + + plugFrame = NEW AUPlugFrame (self); + plugView->setFrame (plugFrame); + + if (plugView->attached (self, kPlatformTypeNSView) != kResultTrue) + { + [self dealloc]; + return nil; + } + ViewRect vr; + if (plugView->getSize (&vr) == kResultTrue) + { + NSRect newSize = NSMakeRect (0, 0, vr.right - vr.left, vr.bottom - vr.top); + [self setFrame:newSize]; + } + + isAttached = YES; + UInt32 size = sizeof (FObject*); + if (AudioUnitGetProperty (audioUnit, 64001, kAudioUnitScope_Global, 0, &dynlib, &size) == noErr) + dynlib->addRef (); +#endif + } + return self; } @@ -112,6 +153,14 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) return noErr; } + case kVmbAAudioUnitProperty_GetEditPointer: + AULOG::log( "Asking for the edit pointer\n" ); + if( editor_instance == NULL ) + { + editor_instance = new SurgeGUIEditor( this, plugin_instance ); + } + outData = (void*)editor_instance; + return noErr; } } From 680c65943d924b4219d47c045d997a4b79540bc4 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Wed, 12 Dec 2018 23:04:35 +0200 Subject: [PATCH 07/88] References (KVR-Forum URLs + IRC) Moved all References to the bottom of the file --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 897d8f89ede..1109bac0547 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,6 @@ It currently only builds on windows, but getting it to build on macOS again & Li [Releases are available here](https://github.com/kurasu/surge/releases) -Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=1&t=511922) -Development Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=33&t=511921) - ## Preparation First you need to grab all git submodules (needed to get the VST3 SDK) @@ -137,3 +134,9 @@ An example of setting the environment variable `VST2SDK_DIR` would be: ```export VST2SDK_DIR=~/programming/VST_SDK_2.4``` ***NOTE***: This environment variable needs to be set _before_ running `premake5 xcode4` - which generates projects / and is part of the `build-osx.sh` script. + +## References + + * Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=1&t=511922) + * Development Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=33&t=511921) + * IRC channel #surgesynth @ irc.freenode.net From 57c3fc02306b6b69627c921da8df51f6b650856e Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Wed, 12 Dec 2018 23:10:32 +0200 Subject: [PATCH 08/88] Align Premake5.lua Beautification of premake5 while adding audiounit.framework --- premake5.lua | 285 +++++++++++++++++++++++++-------------------------- 1 file changed, 142 insertions(+), 143 deletions(-) diff --git a/premake5.lua b/premake5.lua index fbdb8afae72..f30e2b1d3eb 100644 --- a/premake5.lua +++ b/premake5.lua @@ -9,8 +9,8 @@ language "C++" VSTGUI = "vst3sdk/vstgui4/vstgui/"; defines -{ - "VSTGUI_ENABLE_DEPRECATED_METHODS=0" +{ + "VSTGUI_ENABLE_DEPRECATED_METHODS=0" } floatingpoint "Fast" @@ -33,7 +33,7 @@ if (os.istarget("macosx")) then vectorextensions "SSE2" defines - { + { "PPC=0", "_MM_ALIGN16=__attribute__((aligned(16)))", "__forceinline=inline", @@ -43,21 +43,21 @@ if (os.istarget("macosx")) then "SSE_VERSION=3", "MAC_COCOA=1", "COCOA=1", - "OBJC_OLD_DISPATCH_PROTOTYPES=1" - } - - links + "OBJC_OLD_DISPATCH_PROTOTYPES=1" + } + + links { } - defines { "MAC=1", "PPC=0", "WINDOWS=0", } - - buildoptions { "-std=c++17", "-stdlib=libc++", "-DOBJC_OLD_DISPATCH_PROTOTYPES=1" } - links { "c++" } - buildoptions { "-mmacosx-version-min=10.9" } - linkoptions { "-mmacosx-version-min=10.9" } + defines { "MAC=1", "PPC=0", "WINDOWS=0", } + + buildoptions { "-std=c++17", "-stdlib=libc++", "-DOBJC_OLD_DISPATCH_PROTOTYPES=1" } + links { "c++" } + buildoptions { "-mmacosx-version-min=10.9" } + linkoptions { "-mmacosx-version-min=10.9" } - platforms { "x64" } + platforms { "x64" } elseif (os.istarget("linux")) then @@ -68,32 +68,32 @@ elseif (os.istarget("linux")) then { "_MM_ALIGN16=__attribute__((aligned(16)))", "__forceinline=inline", - "forceinline=inline", + "forceinline=inline", "_aligned_malloc(x,a)=malloc(x)", "_aligned_free(x)=free(x)", "stricmp=strcasecmp", "SSE_VERSION=3", - "__cdecl=" - } - - links + "__cdecl=" + } + + links { } - defines { "WINDOWS=0" } - - buildoptions { "-std=c++17" } - links { } - buildoptions { } - linkoptions { } + defines { "WINDOWS=0" } - platforms { "x64" } + buildoptions { "-std=c++17" } + links { } + buildoptions { } + linkoptions { } + + platforms { "x64" } elseif (os.istarget("windows")) then - toolset "v141" - defines - { + toolset "v141" + defines + { "WINDOWS=1", "WIN32", "_WINDOWS", @@ -106,35 +106,35 @@ elseif (os.istarget("windows")) then } nuget { "libpng-msvc-x64:1.6.33.8807" } - - characterset "MBCS" - buildoptions { "/MP" } - - includedirs { - "libs/wtl" - } + + characterset "MBCS" + buildoptions { "/MP" } + + includedirs { + "libs/wtl" + } - flags { "StaticRuntime", "NoMinimalRebuild" } + flags { "StaticRuntime", "NoMinimalRebuild" } - platforms { "x64" } + platforms { "x64" } - configuration {} + configuration {} end includedirs { - "libs/xml", - "src/common/vt_dsp", - "src/common/thread", - "vst3sdk/vstgui4", - "vst3sdk", + "libs/xml", + "src/common/vt_dsp", + "src/common/thread", + "vst3sdk/vstgui4", + "vst3sdk", "libs/" -} + } -- PLUGIN COMMON -- function plugincommon() - targetprefix "" + targetprefix "" targetname "Surge" files { @@ -144,16 +144,16 @@ function plugincommon() "libs/xml/tinyxml.cpp", "libs/xml/tinyxmlerror.cpp", "libs/xml/tinyxmlparser.cpp", - "libs/filesystem/filesystem.cpp", + "libs/filesystem/filesystem.cpp", "src/common/vt_dsp/*.cpp", "src/common/thread/*.cpp", "vst3sdk/pluginterfaces/base/*.cpp", } includedirs { - "src/common", - "src/common/dsp", - "src/common/gui", + "src/common", + "src/common/dsp", + "src/common/gui", } if (os.istarget("macosx")) then @@ -165,11 +165,11 @@ function plugincommon() "-Wno-unused-variable" } - sysincludedirs { - "src/**", - "libs/**", - "vst3sdk/vstgui4", - } + sysincludedirs { + "src/**", + "libs/**", + "vst3sdk/vstgui4", + } files { @@ -194,7 +194,7 @@ function plugincommon() "src/mac" } - links { + links { "Accelerate.framework", "ApplicationServices.framework", "AudioUnit.framework", @@ -215,8 +215,8 @@ function plugincommon() buildoptions { "-Wno-unused-variable", - "`pkg-config gtkmm-3.0 --cflags`", - "-std=c++14" + "`pkg-config gtkmm-3.0 --cflags`", + "-std=c++14" } files @@ -242,13 +242,12 @@ function plugincommon() links { "pthread", - "stdc++fs" - + "stdc++fs" } - linkoptions { - "`pkg-config gtkmm-3.0 --libs`", - } + linkoptions { + "`pkg-config gtkmm-3.0 --libs`", + } elseif (os.istarget("windows")) then pchheader "precompiled.h" @@ -294,61 +293,60 @@ local VST24SDK = os.getenv("VST2SDK_DIR") if VST24SDK then - project "surge-vst2" - kind "SharedLib" - uuid "007990D5-2B46-481D-B38C-D83037CDF54B" - - defines - { - "TARGET_VST2=1", - } + project "surge-vst2" + kind "SharedLib" + uuid "007990D5-2B46-481D-B38C-D83037CDF54B" - plugincommon() + defines + { + "TARGET_VST2=1", + } - files { - "src/vst2/**.cpp", - "src/vst2/**.h", - VST24SDK .. "/public.sdk/source/vst2.x/**.cpp", - "vst3sdk/public.sdk/source/vst2.x/**.cpp", - VSTGUI .. "plugin-bindings/aeffguieditor.cpp", - } + plugincommon() - excludes { - VSTGUI .. "plugguieditor.cpp", - } + files { + "src/vst2/**.cpp", + "src/vst2/**.h", + VST24SDK .. "/public.sdk/source/vst2.x/**.cpp", + "vst3sdk/public.sdk/source/vst2.x/**.cpp", + VSTGUI .. "plugin-bindings/aeffguieditor.cpp", + } - includedirs { - "src/vst2", - VST24SDK, - "vst3sdk" - } + excludes { + VSTGUI .. "plugguieditor.cpp", + } - configuration { "Debug" } - targetdir "target/vst2/Debug" - targetsuffix "-Debug" + includedirs { + "src/vst2", + VST24SDK, + "vst3sdk" + } - configuration { "Release" } - targetdir "target/vst2/Release" + configuration { "Debug" } + targetdir "target/vst2/Debug" + targetsuffix "-Debug" - configuration {} + configuration { "Release" } + targetdir "target/vst2/Release" + configuration {} - if (os.istarget("macosx")) then + if (os.istarget("macosx")) then - targetname "Surge" - targetprefix "" - postbuildcommands { "./package-vst.sh" } + targetname "Surge" + targetprefix "" + postbuildcommands { "./package-vst.sh" } - files - { - "libs/vst/*.mm" - } + files + { + "libs/vst/*.mm" + } - elseif (os.istarget("windows")) then + elseif (os.istarget("windows")) then - linkoptions { "/DEF:resources\\windows-vst2\\surge.def" } + linkoptions { "/DEF:resources\\windows-vst2\\surge.def" } - end + end end -- VST3 PLUGIN -- @@ -366,32 +364,32 @@ defines plugincommon() files { - "src/vst3/**.cpp", - "src/vst3/**.h", - "vst3sdk/*.cpp", - "vst3sdk/base/source/*.cpp", - "vst3sdk/base/thread/source/*.cpp", - "vst3sdk/public.sdk/source/common/*.cpp", - "vst3sdk/public.sdk/source/main/pluginfactoryvst3.cpp", - "vst3sdk/public.sdk/source/vst/vstguieditor.cpp", - "vst3sdk/public.sdk/source/vst/vstinitiids.cpp", - "vst3sdk/public.sdk/source/vst/vstnoteexpressiontypes.cpp", - "vst3sdk/public.sdk/source/vst/vstsinglecomponenteffect.cpp", - "vst3sdk/public.sdk/source/vst/vstaudioeffect.cpp", - "vst3sdk/public.sdk/source/vst/vstcomponent.cpp", - "vst3sdk/public.sdk/source/vst/vstsinglecomponenteffect.cpp", - "vst3sdk/public.sdk/source/vst/vstcomponentbase.cpp", - "vst3sdk/public.sdk/source/vst/vstbus.cpp", - "vst3sdk/public.sdk/source/vst/vstparameters.cpp", - } + "src/vst3/**.cpp", + "src/vst3/**.h", + "vst3sdk/*.cpp", + "vst3sdk/base/source/*.cpp", + "vst3sdk/base/thread/source/*.cpp", + "vst3sdk/public.sdk/source/common/*.cpp", + "vst3sdk/public.sdk/source/main/pluginfactoryvst3.cpp", + "vst3sdk/public.sdk/source/vst/vstguieditor.cpp", + "vst3sdk/public.sdk/source/vst/vstinitiids.cpp", + "vst3sdk/public.sdk/source/vst/vstnoteexpressiontypes.cpp", + "vst3sdk/public.sdk/source/vst/vstsinglecomponenteffect.cpp", + "vst3sdk/public.sdk/source/vst/vstaudioeffect.cpp", + "vst3sdk/public.sdk/source/vst/vstcomponent.cpp", + "vst3sdk/public.sdk/source/vst/vstsinglecomponenteffect.cpp", + "vst3sdk/public.sdk/source/vst/vstcomponentbase.cpp", + "vst3sdk/public.sdk/source/vst/vstbus.cpp", + "vst3sdk/public.sdk/source/vst/vstparameters.cpp", + } excludes { - VSTGUI .. "aeffguieditor.cpp", + VSTGUI .. "aeffguieditor.cpp", } includedirs { - "src/vst3", - "vst3sdk" + "src/vst3", + "vst3sdk" } configuration { "Debug" } @@ -405,25 +403,25 @@ configuration {} if (os.istarget("macosx")) then - postbuildcommands { "./package-vst3.sh" } - - files - { + postbuildcommands { "./package-vst3.sh" } + + files + { "vst3sdk/public.sdk/source/main/macmain.cpp", - "vst3sdk/*.mm" - } + "vst3sdk/*.mm" + } elseif (os.istarget("windows")) then - linkoptions { "/DEF:resources\\windows-vst3\\surge.def" } + linkoptions { "/DEF:resources\\windows-vst3\\surge.def" } files { "vst3sdk/public.sdk/source/main/dllmain.cpp", } - flags { "NoImportLib" } - + flags { "NoImportLib" } + end -- AUDIO UNIT PLUGIN -- @@ -438,26 +436,27 @@ if (os.istarget("macosx")) then configuration { "Debug" } targetdir "target/au/Debug" - targetsuffix "-Debug" + targetsuffix "-Debug" configuration { "Release" } targetdir "target/au/Release" configuration {} - defines - { + defines + { "TARGET_AUDIOUNIT=1", "TARGET_AU=1", "PLUGGUI=1", } - links - { + links + { "AudioToolbox.framework", + "AudioUnit.framework", } - files + files { "src/au/**.cpp", "src/au/**.h", @@ -474,15 +473,15 @@ if (os.istarget("macosx")) then "libs/AudioUnits/PublicUtility/CASpectralProcessor.cpp", } - includedirs + includedirs { - "src/au", + "src/au", "libs/", "libs/AudioUnits/AUPublic", "libs/AudioUnits/PublicUtility", } - excludes + excludes { VSTGUI .. "winfileselector.cpp", } From 8eb2e77c03bfc953ebff5b86db9ed6bd653c0ce3 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Wed, 12 Dec 2018 23:21:21 +0200 Subject: [PATCH 09/88] Swedish to English google+human translation Google Translate + Human translate of Swedish into English. Content accuracy is debatable. --- src/au/aulayer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 7f24b666e80..f5992f2845e 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -518,6 +518,7 @@ ComponentResult aulayer::SaveState(CFPropertyListRef * plist) // append raw chunk data // TODO det är här det finns ze memleaks!!! + // TODO It is here that we can find memory leaks!!! CFMutableDictionaryRef dict = (CFMutableDictionaryRef)*plist; void* data; @@ -538,7 +539,7 @@ ComponentResult aulayer::GetPresets (CFArrayRef *outData) const // Returns an array of AUPreset that contain a number and name for each of the presets. //The number of each preset must be greater (or equal to) zero, and the numbers need not be ordered or contiguous. //The name of each preset can be presented to the user as a means of identifying each preset. - // The CFArrayRef should be released by the caller. + // The CFArrayRef should be released by the caller. if(!IsInitialized()) return kAudioUnitErr_Uninitialized; @@ -660,6 +661,10 @@ ComponentResult aulayer::SetParameter(AudioUnitParameterID inID, AudioUnitScope // TODO lägg till signalering frÃ¥n här -> editor om den är öppen // glöm inte att mappa om parametrarna ifall det är ableton live som är host // EDIT gör det hellre med en threadsafe buffer i sub3_synth + // Translated: + // TODO: Add signaling from here to the editor, if the editor is open + // Do not forget to map the parameters if Ableton Live is the host + // EDIT: Do it rather with a threadsafe buffer within sub3_synth return noErr; } @@ -788,6 +793,7 @@ class VSTGUIAUView : public AUCarbonViewBase CRect fsize = editor->getFrame ()->getViewSize (fsize); SizeControl (mCarbonPane, fsize.width (), fsize.height ()); // CreateEventLoopTimer verkar sno focus och göra sÃ¥ den tappar mouseup-events + // CreateEventLoopTimer Sees no focus OR seems to steal the? focus, and then starts losing mouse-up events CreateEventLoopTimer (kEventDurationSecond, kEventDurationSecond / 30); HIViewSetVisible (platformControl, true); HIViewSetNeedsDisplay (platformControl, true); From 1f941e3447e423115924a567b7c3af0af22e021b Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Wed, 12 Dec 2018 23:36:50 +0200 Subject: [PATCH 10/88] google+human translate swedish-english google+human translate swedish-english --- src/common/dsp/Wavetable.cpp | 37 ++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/src/common/dsp/Wavetable.cpp b/src/common/dsp/Wavetable.cpp index 5e5ce4646a9..61439c4a143 100644 --- a/src/common/dsp/Wavetable.cpp +++ b/src/common/dsp/Wavetable.cpp @@ -160,11 +160,12 @@ bool Wavetable::BuildWT(void* wdata, wt_header& wh, bool AppendSilence) { for (int j = 0; j < max_subtables; j++) { - // TODO ACHTUNG crash här vid patchbyte! - /*free(wt->TableF32WeakPointers[i][j]); - free(wt->TableI16WeakPointers[i][j]); - wt->TableF32WeakPointers[i][j] = 0; - wt->TableI16WeakPointers[i][j] = 0;*/ + // TODO ACHTUNG crash här vid patchbyte! + // TODO ACHTUNG/WARNING: Crashes here with patchbyte! + /*free(wt->TableF32WeakPointers[i][j]); + free(wt->TableI16WeakPointers[i][j]); + wt->TableF32WeakPointers[i][j] = 0; + wt->TableI16WeakPointers[i][j] = 0;*/ } } for (int j = 0; j < this->n_tables; j++) @@ -209,7 +210,7 @@ bool Wavetable::BuildWT(void* wdata, wt_header& wh, bool AppendSilence) } } - // clear any appended tables (not read, but inlcuded in table for post-silence) + // clear any appended tables (not read, but included in table for post-silence) for (int j = wdata_tables; j < this->n_tables; j++) { memset(this->TableF32WeakPointers[0][j], 0, this->size * sizeof(float)); @@ -299,10 +300,22 @@ void Wavetable::MipMapWT() } // fwrite(this->TableI16WeakPointers[l][0],lsize*sizeof(short),1,F); } - // fclose(F); - - // TODO I16 mipmaps hamnar ur fas - // knäppen kommer antagligen från att det inte är någon padding i början så att det blir ur fas - // vid mipmapbyte makes sense eftersom den skilde en hel sample vid bytet, vilket inte kan - // förklaras av halfratefiltret + // fclose(F); + + // TODO I16 mipmaps hamnar ur fas + // knäppen kommer antagligen frÃ¥n att det inte är nÃ¥gon padding i början sÃ¥ att det blir ur fas + // vid mipmapbyte makes sense eftersom den skilde en hel sample vid bytet, vilket inte kan + // förklaras av halfratefiltret + + // TRANSLATE: + // TODO I16 mipmaps end up out of phase + // The click/knot/bug probably results from the fact that there is no padding in the beginning, so it becomes out of phase + // at mipmapbyte - makes sense because it separates a whole sample at the exchange, which can not + // be explained by the semifinal filter + // + + + + + } From 4224a2e1b0fa6b3e1849c9adac8e64df27607585 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Wed, 12 Dec 2018 21:11:33 -0500 Subject: [PATCH 11/88] Put the old properties back in; big red box still crashes on exit --- src/au/aulayer.cpp | 53 ++++++++------------------------ src/au/aulayer_cocoaui.mm | 54 +++++++++++++++++++++++++++++++-- src/common/.SurgePatch.cpp.swp | Bin 0 -> 16384 bytes 3 files changed, 64 insertions(+), 43 deletions(-) create mode 100644 src/common/.SurgePatch.cpp.swp diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 6fefd0707b3..0c0343975fa 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -410,29 +410,6 @@ ComponentResult aulayer::Render( AudioUnitRenderActionFlags & ioActionFlags, con return noErr; } -//---------------------------------------------------------------------------------------------------- - -const char* getclamptxt(int id) -{ - switch(id) - { - case 1: return "Macro Parameters"; - case 2: return "Global / FX"; - case 3: return "Scene A Common"; - case 4: return "Scene A Osc"; - case 5: return "Scene A Osc Mixer"; - case 6: return "Scene A Filters"; - case 7: return "Scene A Envelopes"; - case 8: return "Scene A LFOs"; - case 9: return "Scene B Common"; - case 10: return "Scene B Osc"; - case 11: return "Scene B Osc Mixer"; - case 12: return "Scene B Filters"; - case 13: return "Scene B Envelopes"; - case 14: return "Scene B LFOs"; - } - return ""; -} //---------------------------------------------------------------------------------------------------- @@ -461,27 +438,21 @@ ComponentResult aulayer::GetPropertyInfo(AudioUnitPropertyID iID, AudioUnitScope fWritable = true; return noErr; break; + case kAudioUnitProperty_ParameterValueName: + iSize = sizeof( AudioUnitParameterValueName ); + return noErr; + break; + case kAudioUnitProperty_ParameterClumpName: + iSize = sizeof( AudioUnitParameterNameInfo ); + return noErr; + break; + case kVmbAAudioUnitProperty_GetPluginCPPInstance: + iSize = sizeof( void* ); + return noErr; + break; } } -#if 0 - - if(iID == kAudioUnitProperty_ParameterValueName) - - { - - iSize=sizeof(AudioUnitParameterValueName); - - return noErr; - - } - - else if(iID == kAudioUnitProperty_ParameterClumpName) - - { - - iSize=sizeof(AudioUnitParameterNameInfo); - - return noErr; - - } - - else if (iID==kVmbAAudioUnitProperty_GetPluginCPPInstance) - - { - - iSize=sizeof(void*); - - return noErr; - - } -#endif - return AUInstrumentBase::GetPropertyInfo(iID, iScope, iElem, iSize,fWritable); } diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index e2ac889c885..a5d73bac342 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -66,7 +66,7 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size if (self) { -#if 0 +/* editController = cont; editController->addRef (); audioUnit = au; @@ -97,7 +97,7 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size UInt32 size = sizeof (FObject*); if (AudioUnitGetProperty (audioUnit, 64001, kAudioUnitScope_Global, 0, &dynlib, &size) == noErr) dynlib->addRef (); -#endif +*/ } return self; @@ -128,6 +128,30 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) } +//---------------------------------------------------------------------------------------------------- + +const char* getclamptxt(int id) +{ + switch(id) + { + case 1: return "Macro Parameters"; + case 2: return "Global / FX"; + case 3: return "Scene A Common"; + case 4: return "Scene A Osc"; + case 5: return "Scene A Osc Mixer"; + case 6: return "Scene A Filters"; + case 7: return "Scene A Envelopes"; + case 8: return "Scene A LFOs"; + case 9: return "Scene B Common"; + case 10: return "Scene B Osc"; + case 11: return "Scene B Osc Mixer"; + case 12: return "Scene B Filters"; + case 13: return "Scene B Envelopes"; + case 14: return "Scene B LFOs"; + } + return ""; +} + ComponentResult aulayer::GetProperty(AudioUnitPropertyID iID, AudioUnitScope iScope, AudioUnitElement iElem, void* outData) { if( iScope == kAudioUnitScope_Global ) @@ -154,6 +178,7 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) return noErr; } case kVmbAAudioUnitProperty_GetEditPointer: + { AULOG::log( "Asking for the edit pointer\n" ); if( editor_instance == NULL ) { @@ -161,6 +186,31 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) } outData = (void*)editor_instance; return noErr; + } + case kAudioUnitProperty_ParameterValueName: + { + if(!IsInitialized()) return kAudioUnitErr_Uninitialized; + AudioUnitParameterValueName *aup = (AudioUnitParameterValueName*)outData; + char tmptxt[64]; + float f; + if(aup->inValue) f = *(aup->inValue); + else f = plugin_instance->getParameter01(plugin_instance->remapExternalApiToInternalId(aup->inParamID)); + plugin_instance->getParameterDisplay(plugin_instance->remapExternalApiToInternalId(aup->inParamID),tmptxt,f); + aup->outName = CFStringCreateWithCString(NULL,tmptxt,kCFStringEncodingUTF8); + return noErr; + } + case kAudioUnitProperty_ParameterClumpName: + { + AudioUnitParameterNameInfo *aupn = (AudioUnitParameterNameInfo*)outData; + aupn->outName = CFStringCreateWithCString(NULL,getclamptxt(aupn->inID),kCFStringEncodingUTF8); + return noErr; + } + case kVmbAAudioUnitProperty_GetPluginCPPInstance: + { + void** pThis = (void**)(outData); + *pThis = (void*)plugin_instance; + return noErr; + } } } diff --git a/src/common/.SurgePatch.cpp.swp b/src/common/.SurgePatch.cpp.swp new file mode 100644 index 0000000000000000000000000000000000000000..ec8ba5433211cdbce401bff1cb4b4ad8fd63c7cb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 From 6e5f1f9858fd755e2e931056f26266d2fa632135 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Wed, 12 Dec 2018 21:50:34 -0500 Subject: [PATCH 12/88] What was that file? Anyway delete it --- src/common/.SurgePatch.cpp.swp | Bin 16384 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/common/.SurgePatch.cpp.swp diff --git a/src/common/.SurgePatch.cpp.swp b/src/common/.SurgePatch.cpp.swp deleted file mode 100644 index ec8ba5433211cdbce401bff1cb4b4ad8fd63c7cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 From 7244c8ecd9967263fe61ea5f34c9378123ba95d2 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 12:38:13 +0200 Subject: [PATCH 13/88] typos, swedish translate simultainously -> simultaneously --- src/common/SurgeSynthesizer.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/common/SurgeSynthesizer.cpp b/src/common/SurgeSynthesizer.cpp index 806bed6a9ba..8a6c1f21061 100644 --- a/src/common/SurgeSynthesizer.cpp +++ b/src/common/SurgeSynthesizer.cpp @@ -265,7 +265,7 @@ void SurgeSynthesizer::softkillVoice(int s) (*max_playing)->uber_release(); } -// only allow 'margin' number of voices to be softkilled simultainously +// only allow 'margin' number of voices to be softkilled simultaneously void SurgeSynthesizer::enforcePolyphonyLimit(int s, int margin) { list::iterator iter; @@ -727,8 +727,10 @@ void SurgeSynthesizer::channelController(char channel, int cc, int value) int channelmask = ((channel == 0) ? 3 : 0) | ((channel == 1) ? 1 : 0) | ((channel == 2) ? 2 : 0); float fval = (float)value * (1.f / 127.f); - // spara all m�jliga NRPN & RPN's i ett short-array.. blir endast 128kb eller n�t av av det - // �nd�.. + // spara all möjliga NRPN & RPN's i ett short-array.. blir endast 128kb eller nÃ¥t av av det + // ändÃ¥.. + // TRANSLATE: + // save all possible NRPN & RPNs in a short array .. just gets/only amounts for 128kb or something off of it anyway switch (cc) { case 0: @@ -929,7 +931,9 @@ void SurgeSynthesizer::purgeHoldbuffer(int scene) iter++; } - // note: m�ste remova entries n�r noter d�dar sig sj�lv auch + // note: mÃ¥ste remova entries när noter dödar sig själv auch + // TRANSLATE: + // note: Must remove entries when notes kill themselves (ouch!) } void SurgeSynthesizer::allNotesOff() @@ -1494,7 +1498,7 @@ bool SurgeSynthesizer::isModDestUsed(long ptag) void SurgeSynthesizer::updateUsedState() { - // intended for gui only + // intended for GUI only for (int i = 0; i < n_modsources; i++) modsourceused[i] = false; @@ -1904,7 +1908,9 @@ void SurgeSynthesizer::getParameterMeta(long index, parametermeta& pm) pm.fdefault = 0.5f; pm.hide = false; pm.meta = - false; // ironiskt eftersom det �r metaparameters, men dom p�verkar inga andra sliders + false; // ironiskt eftersom det är metaparameters, men dom pÃ¥verkar inga andra sliders + // TRANSLATE: + // ironic because it is metaparameters, but they don't affect any other sliders pm.expert = false; pm.clump = 1; } @@ -2043,6 +2049,8 @@ void SurgeSynthesizer::processControl() storage.getPatch().copy_globaldata( storage.getPatch().globaldata); // suger ganska mkt cpu i debug mode + // TRANSLATE: + // Drains a great deal of CPU while in Debug mode if (playA) storage.getPatch().copy_scenedata(storage.getPatch().scenedata[0], 0); // -""- if (playB) From dc4f196089ff3e9bd16e361e7f1f7f43f3c51fbc Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 13:11:53 +0200 Subject: [PATCH 14/88] comments from swedish->english --- src/common/dsp/SurgeSuperOscillator.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/common/dsp/SurgeSuperOscillator.cpp b/src/common/dsp/SurgeSuperOscillator.cpp index 462c354f52a..747aed0c77d 100644 --- a/src/common/dsp/SurgeSuperOscillator.cpp +++ b/src/common/dsp/SurgeSuperOscillator.cpp @@ -7,10 +7,10 @@ // const float integrator_hpf = 0.99999999f; // const float integrator_hpf = 0.9992144f; // 44.1 kHz // const float integrator_hpf = 0.9964f; // 44.1 kHz -// const float integrator_hpf = 0.9982f; // 44.1 kHz magisk moog freq +// const float integrator_hpf = 0.9982f; // 44.1 kHz Magical Moog frequency -// 290 samples för att falla 50% (british) (är nog ett 2-pole hpf) -// 202 samples (american) +// 290 samples to fall by 50% (British) (Is probably a 2-pole HPF) +// 202 samples (American) // const float integrator_hpf = 0.999f; // pow(ln(0.5)/(samplerate/50hz) const float hpf_cycle_loss = 0.995f; @@ -114,7 +114,7 @@ void SurgeSuperOscillator::init(float pitch, bool is_display) bufpos = 0; dc = 0; - // init här + // Init here id_shape = oscdata->p[0].param_id_in_scene; id_pw = oscdata->p[1].param_id_in_scene; id_pw2 = oscdata->p[2].param_id_in_scene; @@ -327,7 +327,7 @@ template void SurgeSuperOscillator::convolute(int voice, bool stereo) vFloat g128R = vec_loadAndSplatScalar(&gR); vFloat st[3]; vFloat lipol128 = vec_loadAndSplatScalar(&flipol); - vector unsigned char mask, maskstore; // since both buffers are aligned and read the same + vector unsigned char mask, maskstore; // since both buffers are aligned and read (from) the same // position, the same mask can be used // load & align oscbuffer (left) @@ -503,7 +503,7 @@ template void SurgeSuperOscillator::update_lagvals() float invt = 4.f * min(1.0, (8.175798915 * note_to_pitch(pitch + l_sync.v)) * dsamplerate_os_inv); - float hpf2 = min(integrator_hpf, powf(hpf_cycle_loss, invt)); // TODO ACHTUNG! gör lookup-table + float hpf2 = min(integrator_hpf, powf(hpf_cycle_loss, invt)); // TODO ACHTUNG/WARNING! Make a lookup table li_hpf.set_target(hpf2); // li_integratormult.set_target(invt); @@ -531,7 +531,7 @@ void SurgeSuperOscillator::process_block( pitchmult = 1.f / - pitchmult_inv; // denna måste vara en riktig division, reciprocal-approx är inte precis nog + pitchmult_inv; // This must be a real division, reciprocal-approximation is not precise enough int k, l; @@ -558,9 +558,8 @@ void SurgeSuperOscillator::process_block( while (((l_sync.v > 0) && (syncstate[l] < a)) || (oscstate[l] < a)) { FMmul_inv = rcp(fmmul); - // divisionen racar med ökningen av oscstate så att den aldrig kommer ur loopen - // detta blir unsafe fucka inte med oscstate utan gör divisionen inne i convolute - // istället + // The division races with the growth of the oscstate so that it never comes out of/gets out of the loop + // this becomes unsafe, don't fuck with the oscstate but make a division within the convolute instead. convolute(l, stereo); } @@ -721,4 +720,4 @@ void SurgeSuperOscillator::process_block( #endif } first_run = false; -} \ No newline at end of file +} From 6561d1ba989882f007b46828baf7cc07f606b47f Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 13:27:23 +0200 Subject: [PATCH 15/88] utan resonance = without resonance --- src/common/dsp/FilterCoefficientMaker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/dsp/FilterCoefficientMaker.cpp b/src/common/dsp/FilterCoefficientMaker.cpp index 9f6e6590855..32341efdb97 100644 --- a/src/common/dsp/FilterCoefficientMaker.cpp +++ b/src/common/dsp/FilterCoefficientMaker.cpp @@ -356,7 +356,7 @@ void FilterCoefficientMaker::Coeff_COMB(float freq, float reso, int subtype) { float dtime = (1.f / 440.f) * note_to_pitch(-freq); dtime = dtime * dsamplerate_os - - FIRoffset; // 1 sample f�r feedback, 1 f�r ett IIR-filter utan resonans + FIRoffset; // 1 sample for feedback, 1 sample for the IIR-filter without resonance dtime = limit_range(dtime, (float)FIRipol_N, (float)max_fb_comb - FIRipol_N); reso = ((subtype & 2) ? -1.0f : 1.0f) * limit_range(reso, 0.f, 1.f); @@ -482,4 +482,4 @@ void FilterCoefficientMaker::Reset() memset(C, 0, sizeof(float) * n_cm_coeffs); memset(dC, 0, sizeof(float) * n_cm_coeffs); memset(tC, 0, sizeof(float) * n_cm_coeffs); -} \ No newline at end of file +} From 3ac9ff11a057e64907ffe7e7a696a21aebdb6c0a Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 07:17:34 -0500 Subject: [PATCH 16/88] Stuff shows up; but there's no idle thread and so on yet and it still crashes --- src/au/aulayer_cocoaui.mm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index a5d73bac342..c109829b02a 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -61,11 +61,12 @@ - (NSString *) description { @implementation SurgeNSView - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { - self = [super initWithFrame: NSMakeRect (0, 0, size.width, size.height)]; + self = [super initWithFrame: NSMakeRect (0, 0, size.width / 2, size.height / 2)]; if (self) { - + AULOG::log( "About to poen with %d\n", cont ); + cont->open( self ); /* editController = cont; editController->addRef (); @@ -184,7 +185,9 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) { editor_instance = new SurgeGUIEditor( this, plugin_instance ); } - outData = (void*)editor_instance; + void** pThis = (void**)(outData); + *pThis = (void*)editor_instance; + return noErr; } case kAudioUnitProperty_ParameterValueName: From ddf5f6f6649ac3c4986be7aa4400049cb379cfae Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 07:40:51 -0500 Subject: [PATCH 17/88] Fix sizing! --- src/au/aulayer_cocoaui.mm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index c109829b02a..c5b99729da4 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -67,6 +67,13 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { AULOG::log( "About to poen with %d\n", cont ); cont->open( self ); + + ERect *vr; + if (cont->getRect(&vr)) + { + NSRect newSize = NSMakeRect (0, 0, vr->right - vr->left, vr->bottom - vr->top); + [self setFrame:newSize]; + } /* editController = cont; editController->addRef (); From 2358b008dc2c96d0339ebfd174a9e1877f98c0e3 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 16:14:04 +0200 Subject: [PATCH 18/88] more swedish->finnish --- src/common/dsp/QuadFilterChain.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/common/dsp/QuadFilterChain.cpp b/src/common/dsp/QuadFilterChain.cpp index b7830258320..6384989c66d 100644 --- a/src/common/dsp/QuadFilterChain.cpp +++ b/src/common/dsp/QuadFilterChain.cpp @@ -46,15 +46,21 @@ template void ProcessFBQuad(QuadFilterChainState& d, fbq_global& g, float* OutL, float* OutR) { - const __m128 hb_c = _mm_set1_ps(0.5f); // om denna ‰ndras frÂn 0.5, se till att ‰ndra i koden - // eftersom det antas att den ‰r h‰lften + const __m128 hb_c = _mm_set1_ps(0.5f); // om denna ändras frÃ¥n 0.5, se till att ändra i koden + // eftersom det antas att den är hälften + // TRANSLATE: + // If this is changed from 0.5, make sure to change + // this in the code because it is assumed to be half const __m128 one = _mm_set1_ps(1.0f); switch (config) { case fb_serial: // no feedback at all (saves CPU) - // TODO denna skulle nog kunna bli ‰nnu snabbare om den serialiseras (vilket ‰r l‰ttare nu) - // lite mer L1 v‰nlig, men latency-lalal blir nog detsamma + // TODO denna skulle nog kunna bli ännu snabbare om den serialiseras (vilket är lättare nu) + // lite mer L1 vänlig, men latency-lalal blir nog detsamma + // TRANSLATE: + // TODO this might be even faster if it is serialized (which is now easier) + // a little more L1 friendly, but latency-lalal will probably be the same for (int k = 0; k < block_size_os; k++) { __m128 input = d.DL[k]; From 5bef712dc8a23e2edd029b9dfc321740df191a21 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 16:16:53 +0200 Subject: [PATCH 19/88] minor tweaks --- src/common/dsp/Wavetable.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/common/dsp/Wavetable.cpp b/src/common/dsp/Wavetable.cpp index 61439c4a143..a61bcf9fee7 100644 --- a/src/common/dsp/Wavetable.cpp +++ b/src/common/dsp/Wavetable.cpp @@ -44,7 +44,7 @@ bool _BitScanReverse(unsigned int* result, unsigned int bits) } #endif -//! Calculate he worst-case scenario of the needed samples for a specific wavetable and see if it +//! Calculate the worst-case scenario of the needed samples for a specific wavetable and see if it //! fits bool CheckRequiredWTSize(int TableSize, int TableCount) { @@ -309,13 +309,8 @@ void Wavetable::MipMapWT() // TRANSLATE: // TODO I16 mipmaps end up out of phase - // The click/knot/bug probably results from the fact that there is no padding in the beginning, so it becomes out of phase - // at mipmapbyte - makes sense because it separates a whole sample at the exchange, which can not - // be explained by the semifinal filter - // - - - - + // The click/knot/bug probably results from the fact that there is no padding in the beginning, + // so it becomes out of phase at mipmapbyte - makes sense because it separates a whole sample + // at the exchange, which can not be explained by the semifinal filter } From 69296f20c76a503935457771529d2e4a9e8a256f Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 16:33:12 +0200 Subject: [PATCH 20/88] formatting --- src/common/SurgeSynthesizer.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/common/SurgeSynthesizer.cpp b/src/common/SurgeSynthesizer.cpp index 8a6c1f21061..e60d0896b86 100644 --- a/src/common/SurgeSynthesizer.cpp +++ b/src/common/SurgeSynthesizer.cpp @@ -1299,8 +1299,8 @@ bool SurgeSynthesizer::loadFx(bool initp, bool force_reload_all) fx[s]->init_default_values(); /*for(int j=0; jinit(); @@ -1908,9 +1908,9 @@ void SurgeSynthesizer::getParameterMeta(long index, parametermeta& pm) pm.fdefault = 0.5f; pm.hide = false; pm.meta = - false; // ironiskt eftersom det är metaparameters, men dom pÃ¥verkar inga andra sliders - // TRANSLATE: - // ironic because it is metaparameters, but they don't affect any other sliders + false;// ironiskt eftersom det är metaparameters, men dom pÃ¥verkar inga andra sliders + // TRANSLATE: + // ironic because it is metaparameters, but they don't affect any other sliders pm.expert = false; pm.clump = 1; } @@ -2049,8 +2049,8 @@ void SurgeSynthesizer::processControl() storage.getPatch().copy_globaldata( storage.getPatch().globaldata); // suger ganska mkt cpu i debug mode - // TRANSLATE: - // Drains a great deal of CPU while in Debug mode + // TRANSLATE: + // Drains a great deal of CPU while in Debug mode if (playA) storage.getPatch().copy_scenedata(storage.getPatch().scenedata[0], 0); // -""- if (playB) From 803ff483fb41401e945a6373c01cc11866fbe5c1 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:01:38 +0200 Subject: [PATCH 21/88] Update halfratefilter.cpp --- src/common/vt_dsp/halfratefilter.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/common/vt_dsp/halfratefilter.cpp b/src/common/vt_dsp/halfratefilter.cpp index 5969f1dea2a..d6c84e0c7ed 100644 --- a/src/common/vt_dsp/halfratefilter.cpp +++ b/src/common/vt_dsp/halfratefilter.cpp @@ -117,6 +117,10 @@ void halfrate_stereo::process_block(float* __restrict floatL, float* __restrict #if 0 // software pipelining.. fin id� men kompilatorn gillade det inte alls // den andra �r ganska ok eftersom ty0 inte anv�nds f�rr�n om 2 samples, d�rf�r delas latency-dependencyn med 3 +// TRANSLATE: +// Software pipelining.. Fine idea, but the compiler does not like it one bit +// The other (?) is quite okay, because ty0 is not used (for) fewer than 2 samples, therefore the latency dependency +// is divided by 3 (?) void halfrate_stereo::process_block(float * __restrict floatL, float * __restrict floatR, int N) { int NM1 = N + M - 1; @@ -207,6 +211,7 @@ void halfrate_stereo::process_block_D2( /* // g�r s�h�r om man vill undvika downsampling + // TRANSLATE: If you want to avoid downsampling for(unsigned int k=0; k Date: Thu, 13 Dec 2018 17:12:03 +0200 Subject: [PATCH 22/88] swedish->english translation --- src/common/vt_dsp/vt_dsp_endian.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/vt_dsp/vt_dsp_endian.h b/src/common/vt_dsp/vt_dsp_endian.h index c013c80a28f..4dd912521c5 100644 --- a/src/common/vt_dsp/vt_dsp_endian.h +++ b/src/common/vt_dsp/vt_dsp_endian.h @@ -12,7 +12,8 @@ __forceinline int swap_endian(int t) return ((t << 24) & 0xff000000) | ((t << 8) & 0x00ff0000) | ((t >> 8) & 0x0000ff00) | ((t >> 24) & 0x000000ff); #else - // gcc verkar inte respektera att eax mÃ¥ste stämma när den returneras.. lägg till: ret eax? + // gcc verkar inte respektera att eax mÃ¥ste stämma när den returneras.. lägg till: ret eax? + // GCC does not seem to respect that eax must be correct when it is returned/when it returns: add: the correct eax? __asm { mov eax, t From 02d45ff7bf629d0e29154c93a87e2c3610aaec42 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:20:17 +0200 Subject: [PATCH 23/88] Swedish->English translations --- src/common/dsp/QuadFilterUnit.cpp | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/common/dsp/QuadFilterUnit.cpp b/src/common/dsp/QuadFilterUnit.cpp index 77032351291..74834fbf87f 100644 --- a/src/common/dsp/QuadFilterUnit.cpp +++ b/src/common/dsp/QuadFilterUnit.cpp @@ -518,7 +518,9 @@ __m128 IIR12WDFquad(QuadFilterUnitState* __restrict f, __m128 in) #if PPC __m128 IIR12CFCquad(QuadFilterUnitState* __restrict f, __m128 in) { - // state-space med clipgain (2nd order, direkt registerbegr‰nsning) + // state-space med clipgain (2nd order, direkt registerbegränsning) + // TRANSLATE: + // State-space with clipgain (2nd order, direct registry limitation / registerlimit) f->C[0] = vec_add(f->C[0], f->dC[0]); // ar f->C[1] = vec_add(f->C[1], f->dC[1]); // ai @@ -544,7 +546,9 @@ __m128 IIR12CFCquad(QuadFilterUnitState* __restrict f, __m128 in) #else __m128 IIR12CFCquad(QuadFilterUnitState* __restrict f, __m128 in) { - // state-space med clipgain (2nd order, direkt registerbegr‰nsning) + // state-space med clipgain (2nd order, direkt registerbegränsning) + // TRANSLATE: + // State-space with clipgain (2nd order, direct registry limitation / registerlimit) f->C[0] = _mm_add_ps(f->C[0], f->dC[0]); // ar f->C[1] = _mm_add_ps(f->C[1], f->dC[1]); // ai @@ -579,6 +583,7 @@ __m128 IIR12CFCquad(QuadFilterUnitState* __restrict f, __m128 in) __m128 IIR12CFLquad(QuadFilterUnitState* __restrict f, __m128 in) { // State-space med mjukare limiter + // State-space with softer limiter f->C[0] = _mm_add_ps(f->C[0], f->dC[0]); // (ar) f->C[1] = _mm_add_ps(f->C[1], f->dC[1]); // (ai) @@ -620,8 +625,10 @@ __m128 IIR12CFLquad(QuadFilterUnitState* __restrict f, __m128 in) #if PPC __m128 IIR24CFCquad(QuadFilterUnitState* __restrict f, __m128 in) { - // state-space med clipgain (2nd order, direkt registerbegr‰nsning) - + // state-space med clipgain (2nd order, direkt registerbegränsning) + // TRANSLATE: + // State-space with clipgain (2nd order, direct registry limitation / registerlimit) + f->C[0] = vec_add(f->C[0], f->dC[0]); // ar f->C[1] = vec_add(f->C[1], f->dC[1]); // ai f->C[2] = vec_add(f->C[2], f->dC[2]); // b1 @@ -653,8 +660,10 @@ __m128 IIR24CFCquad(QuadFilterUnitState* __restrict f, __m128 in) #else __m128 IIR24CFCquad(QuadFilterUnitState* __restrict f, __m128 in) { - // state-space med clipgain (2nd order, direkt registerbegr‰nsning) - + // state-space med clipgain (2nd order, direkt registerbegränsning) + // TRANSLATE: + // State-space with clipgain (2nd order, direct registry limitation / registerlimit) + f->C[0] = _mm_add_ps(f->C[0], f->dC[0]); // ar f->C[1] = _mm_add_ps(f->C[1], f->dC[1]); // ai f->C[2] = _mm_add_ps(f->C[2], f->dC[2]); // b1 @@ -693,8 +702,9 @@ __m128 IIR24CFCquad(QuadFilterUnitState* __restrict f, __m128 in) #else __m128 IIR24CFLquad(QuadFilterUnitState* __restrict f, __m128 in) { - // State-space med mjukare limiter - + // State-space med mjukare limiter + // State-space with softer limiter + f->C[0] = _mm_add_ps(f->C[0], f->dC[0]); // (ar) f->C[1] = _mm_add_ps(f->C[1], f->dC[1]); // (ai) f->C[2] = _mm_add_ps(f->C[2], f->dC[2]); // b1 @@ -1313,6 +1323,7 @@ __m128 ASYM_PPC(__m128 in, __m128 drive) e.V = vec_max(vec_min(e.V, UB), LB); // funkar inte med optimization ? + // Does not work with (or without?) optimization? _MM_ALIGN16 float ws4[4], wsn4[4]; ws4[0] = waveshapers[2][e.Int[0] & 0x3ff]; @@ -1537,4 +1548,4 @@ WaveshaperQFPtr GetQFPtrWaveshaper(int type) } #endif return 0; -} \ No newline at end of file +} From 2b4de33ee571b09892da31f1ca64e9af93af4bdb Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:30:01 +0200 Subject: [PATCH 24/88] Swedish->English --- src/common/dsp/BiquadFilter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/dsp/BiquadFilter.cpp b/src/common/dsp/BiquadFilter.cpp index dc687e11221..5a4da56fa45 100644 --- a/src/common/dsp/BiquadFilter.cpp +++ b/src/common/dsp/BiquadFilter.cpp @@ -78,7 +78,7 @@ void BiquadFilter::coeff_LP2B(double omega, double Q) // alpha = sinu*sinh((log(2.0)/2.0) * (BW) * omega / sinu), alpha = sinu / (2 * Q), // G1 = 0.05, //powf(2,-log(M_PI/omega)/log(2.0)), - // sätt aa till 6 db + // sätt aa till 6 db A = 2 * sqrt(G1) * sqrt(2 - G1), b0 = (1 - cosi + G1 * (1 + cosi) + A * sinu) * 0.5, b1 = (1 - cosi - G1 * (1 + cosi)), b2 = (1 - cosi + G1 * (1 + cosi) - A * sinu) * 0.5, @@ -241,7 +241,8 @@ void BiquadFilter::coeff_orfanidisEQ(double omega, double BW, double G, double G void BiquadFilter::coeff_same_as_last_time() { - // ifall man skulle byta ipol så sätt dv = 0 här + // ifall man skulle byta ipol sÃ¥ sätt dv = 0 här + // If you want to change ipol then dv = 0 here } void BiquadFilter::coeff_instantize() From 468887d8338bf6af6259ca1576e8ced14e1c882d Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:35:11 +0200 Subject: [PATCH 25/88] blir wacko -> goes crazy --- src/common/dsp/BiquadFilter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/dsp/BiquadFilter.cpp b/src/common/dsp/BiquadFilter.cpp index 5a4da56fa45..bd12d4603b8 100644 --- a/src/common/dsp/BiquadFilter.cpp +++ b/src/common/dsp/BiquadFilter.cpp @@ -213,7 +213,8 @@ void BiquadFilter::coeff_orfanidisEQ(double omega, double BW, double G, double G double G01 = abs(G * G - G0 * G1); double G11 = abs(G * G - G1 * G1); double F01 = abs(GB * GB - G0 * G1); - double F11 = abs(GB * GB - G1 * G1); // blir wacko ? + double F11 = abs(GB * GB - G1 * G1); // blir wacko ? + // goes crazy (?) double W2 = sqrt(G11 / G00) * square(tan(w0 / 2)); double w_lower = w0 * powf(2, -0.5 * BW); double w_upper = From d8b319478f7a6acd5f1d7e169bc3269709b34ef0 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:43:34 +0200 Subject: [PATCH 26/88] swedish->english --- src/common/dsp/WindowOscillator.cpp | 41 +++++++++++++++++++---------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/src/common/dsp/WindowOscillator.cpp b/src/common/dsp/WindowOscillator.cpp index 95633fd904c..19e4db6a40e 100644 --- a/src/common/dsp/WindowOscillator.cpp +++ b/src/common/dsp/WindowOscillator.cpp @@ -112,7 +112,8 @@ __forceinline unsigned int BigMULr16(unsigned int a, unsigned int b) shl edx, 16 shr eax, 16 or eax,edx - // TODO fixa return för gcc asm + // TODO fixa return för gcc asm + // TODO: Fix return for GCC ASM mov result, eax } return result; @@ -150,8 +151,9 @@ void WindowOscillator::ProcessSubOscs(bool stereo) unsigned int MipMapA = 0; unsigned int MipMapB = 0; if (Sub.Table[so] >= oscdata->wt.n_tables) - Sub.Table[so] = Table; // TableID kanske inte ‰r valid l‰ngre om en ny wavetable laddats - + Sub.Table[so] = Table; + // TableID kanske inte är valid längre om en ny wavetable laddats + // Translate: TableID may not be valid anymore if a new wavetable is loaded unsigned long MSBpos; unsigned int bs = BigMULr16(RatioA, 3 * FormantMul); if (_BitScanReverse(&MSBpos, bs)) @@ -223,7 +225,9 @@ void WindowOscillator::ProcessSubOscs(bool stereo) unsigned int MipMapA = 0; unsigned int MipMapB = 0; if (Sub.Table[so] >= oscdata->wt.n_tables) - Sub.Table[so] = Table; // TableID kanske inte ar valid langre om en ny wavetable laddats + Sub.Table[so] = Table; + // TableID kanske inte är valid längre om en ny wavetable laddats + // Translate: TableID may not be valid anymore if a new wavetable is loaded unsigned long MSBpos; unsigned int bs = BigMULr16(RatioA, 3 * FormantMul); @@ -303,8 +307,10 @@ void WindowOscillator::ProcessSubOscs(bool stereo) unsigned int MipMapA = 0; unsigned int MipMapB = 0; if (Sub.Table[so] >= oscdata->wt.n_tables) - Sub.Table[so] = Table; // TableID kanske inte ‰r valid l‰ngre om en ny wavetable laddats - + Sub.Table[so] = Table; + // TableID kanske inte är valid längre om en ny wavetable laddats + // Translate: TableID may not be valid anymore if a new wavetable is loaded + unsigned long MSBpos; unsigned int bs = BigMULr16(RatioA, 3 * FormantMul); @@ -382,19 +388,26 @@ void WindowOscillator::process_block(float pitch, float drift, bool stereo, bool float f = note_to_pitch((pitch - 57.f) + drift * Sub.DriftLFO[l][0] + Detune * (DetuneOffset + DetuneBias * (float)l)); int Ratio = Float2Int(220.f * 32768.f * f * (float)(storage->WindowWT.size) * - samplerate_inv); // (65536.f*0.5f), 0.5 fˆr oversampling + samplerate_inv); // (65536.f*0.5f), 0.5 for oversampling Sub.Ratio[l] = Ratio; } ProcessSubOscs(stereo); - // TODO idÈ: coupla tv subvoices s dom kan alternera window med varandra - // ( hÂll window i 180-phasediff) - // borde ge bra formant-trixning utan mellanrum - // kan ha en parameter som fadar vikten av den alternerande mellan -1 till +1 - - // TODO idÈ: free-run mode d‰r en omstart av fˆnstret inte Âterstartar oscillatorn? - + // TODO idé: coupla tvÃ¥ subvoices sÃ¥ dom kan alternera window med varandra + // ( hÃ¥ll window i 180-phasediff) + // TRANSLATE: TODO Idea: Couple two subvoices so they can alternate windows with + // eachother ( hold the 180-phase difference? 180-phase window? + + // borde ge bra formant-trixning utan mellanrum + // kan ha en parameter som fadar vikten av den alternerande mellan -1 till +1 + // TRANSLATE: should provide good formant trim without space + // may have a parameter that fades the weight of the alternate between -1 to +1 + + // TODO idé: free-run mode där en omstart av fönstret inte Ã¥terstartar oscillatorn? + // TRANSLATE: TODO Idea: free-run mode where a restart of the window does not restart the oscillator? + + // int32 -> float conversion #if PPC vFloat scale = (vFloat)OutAttenuation; From 63d5253dfdfdbecd9b517214eb4f10bc1702de09 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:49:42 +0200 Subject: [PATCH 27/88] Swedish->English --- src/common/dsp/effect/Reverb1Effect.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/dsp/effect/Reverb1Effect.cpp b/src/common/dsp/effect/Reverb1Effect.cpp index 0aaca899868..b9e5f202117 100644 --- a/src/common/dsp/effect/Reverb1Effect.cpp +++ b/src/common/dsp/effect/Reverb1Effect.cpp @@ -53,10 +53,10 @@ void Reverb1Effect::init() modphase = 0; update_rsize(); // mix.set_target(fxdata->p[rp_mix].val.f); - mix.set_target(1.f); // borde bli mest smooth + mix.set_target(1.f); // borde bli mest smooth -> Should be most smooth mix.instantize(); - width.set_target(1.f); // borde bli mest smooth + width.set_target(1.f); // borde bli mest smooth -> Should be most smooth width.instantize(); for (int t = 0; t < rev_taps; t++) @@ -459,4 +459,4 @@ void Reverb1Effect::init_default_values() // fxdata->p[rp_moddepth].val.f = 0.02f; // fxdata->p[rp_modrate].val.f = -2.5f; // fxdata->p[rp_variation].val.f = 0.5f; -} \ No newline at end of file +} From 738b535d891b29480bdebe33d36dd80d6d7870e1 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 17:58:11 +0200 Subject: [PATCH 28/88] Swedish->English --- src/common/dsp/Oscillator.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/common/dsp/Oscillator.cpp b/src/common/dsp/Oscillator.cpp index 0a2177269b0..36daa1217d1 100644 --- a/src/common/dsp/Oscillator.cpp +++ b/src/common/dsp/Oscillator.cpp @@ -120,7 +120,8 @@ void osc_sine::process_block(float pitch, float drift, bool stereo, bool FM, flo // const __m128 scale = _mm_set1_ps(0.000030517578125); - // HACK för att testa sine(__m64) + // HACK för att testa sine(__m64) + // TRANSLATE: HACK for testing sine(__m64) // const __m64 rate = _mm_set1_pi16(0x0040); /*m64phase = _mm_add_pi16(m64phase,rate); @@ -147,7 +148,8 @@ void osc_sine::process_block(float pitch, float drift, bool stereo, bool FM, flo /* add controls: input L/R gain -limiter?*/ +limiter? +*/ osc_audioinput::osc_audioinput(SurgeStorage* storage, OscillatorStorage* oscdata, pdata* localcopy) : Oscillator(storage, oscdata, localcopy) @@ -201,4 +203,4 @@ void osc_audioinput::process_block(float pitch, float drift, bool stereo, bool F output[k] = a * storage->audio_in[0][k] + b * storage->audio_in[1][k]; } } -} \ No newline at end of file +} From b03477a950479df9f5a63fb2023f5e0aa6fdbe84 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:06:42 +0200 Subject: [PATCH 29/88] Swedish to English --- src/common/dsp/SampleAndHoldOscillator.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/common/dsp/SampleAndHoldOscillator.cpp b/src/common/dsp/SampleAndHoldOscillator.cpp index d31ef38d59b..f11c4c0e62b 100644 --- a/src/common/dsp/SampleAndHoldOscillator.cpp +++ b/src/common/dsp/SampleAndHoldOscillator.cpp @@ -7,10 +7,10 @@ // const float integrator_hpf = 0.99999999f; // const float integrator_hpf = 0.9992144f; // 44.1 kHz // const float integrator_hpf = 0.9964f; // 44.1 kHz -// const float integrator_hpf = 0.9982f; // 44.1 kHz magisk moog freq +// const float integrator_hpf = 0.9982f; // 44.1 kHz Magic Moog freq const float integrator_hpf = 0.999f; -// 290 samples för att falla 50% (british) (är nog ett 2-pole hpf) -// 202 samples (american) +// 290 samples to fall 50% (British) (is probably a 2-pole HPF) +// 202 samples (American) // const float integrator_hpf = 0.999f; // pow(ln(0.5)/(samplerate/50hz) const float hpf_cycle_loss = 0.995f; @@ -38,7 +38,7 @@ void SampleAndHoldOscillator::init(float pitch, bool is_display) bufpos = 0; dc = 0; - // init här + // init här id_shape = oscdata->p[0].param_id_in_scene; id_pw = oscdata->p[1].param_id_in_scene; id_smooth = oscdata->p[2].param_id_in_scene; @@ -373,7 +373,9 @@ template void SampleAndHoldOscillator::update_lagvals() float invt = 4.f * min(1.0, (8.175798915 * note_to_pitch(pitch + l_sync.v)) * dsamplerate_os_inv); - float hpf2 = min(integrator_hpf, powf(hpf_cycle_loss, invt)); // ACHTUNG! gör lookup-table + float hpf2 = min(integrator_hpf, powf(hpf_cycle_loss, invt)); + // ACHTUNG! gör lookup-table + // ACHTUNG/WARNING! Make a lookup-table li_hpf.set_target(hpf2); @@ -397,7 +399,8 @@ void SampleAndHoldOscillator::process_block( pitchmult_inv = max(1.0, dsamplerate_os * (1 / 8.175798915) * note_to_pitch_inv(pitch)); pitchmult = 1.f / - pitchmult_inv; // denna måste vara en riktig division, reciprocal-approx är inte precis nog + pitchmult_inv; + // This must be a real division, reciprocal-approximation is not precise enough int k, l; // if (FM) FMdepth.newValue(depth); @@ -546,4 +549,4 @@ void SampleAndHoldOscillator::process_block( } #endif } -} \ No newline at end of file +} From e87c84d54089012c87bfaa9e81f181dc985e20f7 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:08:18 +0200 Subject: [PATCH 30/88] Swedish -> English --- src/common/gui/COscillatorDisplay.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/gui/COscillatorDisplay.cpp b/src/common/gui/COscillatorDisplay.cpp index 0a4ec22511c..0110d217522 100644 --- a/src/common/gui/COscillatorDisplay.cpp +++ b/src/common/gui/COscillatorDisplay.cpp @@ -283,7 +283,7 @@ CMouseEventResult COscillatorDisplay::onMouseDown(CPoint& where, const CButtonSt strncpy(name, storage->wt_category[c].name.c_str(), namechars); contextMenu->addEntry(subMenu, name); - subMenu->forget(); // viktigt, så att refcounter blir rätt + subMenu->forget(); // Important, so that the refcounter gets right } getFrame()->addView(contextMenu); // add to frame @@ -323,4 +323,4 @@ CMouseEventResult COscillatorDisplay::onMouseMoved(CPoint& where, const CButtonS invalid();*/ } return kMouseEventHandled; -} \ No newline at end of file +} From 73ebfda03a3efe4084d163262bfc86e3e2607388 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:09:47 +0200 Subject: [PATCH 31/88] Swedish to English --- src/common/gui/CPatchBrowser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/gui/CPatchBrowser.cpp b/src/common/gui/CPatchBrowser.cpp index edab1a74c03..d11219c3f2e 100644 --- a/src/common/gui/CPatchBrowser.cpp +++ b/src/common/gui/CPatchBrowser.cpp @@ -78,7 +78,7 @@ CMouseEventResult CPatchBrowser::onMouseDown(CPoint& where, const CButtonState& } } - // dela in kategorier med fler entries än splitcount i subkategorier ex. bass (1,2) etc etc + // Divide categories with more entries than splitcount into subcategories f.ex. bass (1,2) etc etc int n_subc = 1 + (max(2, (int)ctge.size()) - 1) / splitcount; for (int subc = 0; subc < n_subc; subc++) { @@ -116,7 +116,7 @@ CMouseEventResult CPatchBrowser::onMouseDown(CPoint& where, const CButtonState& if (!single_category) { contextMenu->addEntry(subMenu, name); - subMenu->forget(); // viktigt, så att refcounter blir rätt + subMenu->forget(); // Important, so that the refcounter gets it right } main_e++; } From f59cf8a9b972592657ed7e88bed9813d460b8a08 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:13:13 +0200 Subject: [PATCH 32/88] Swedish to English --- src/todo/sub3_osc_dot.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/todo/sub3_osc_dot.cpp b/src/todo/sub3_osc_dot.cpp index 274abf1ea2e..4dc7f112f93 100644 --- a/src/todo/sub3_osc_dot.cpp +++ b/src/todo/sub3_osc_dot.cpp @@ -8,10 +8,10 @@ const __int64 large = 0x10000000000; //const float integrator_hpf = 0.99999999f; //const float integrator_hpf = 0.9992144f; // 44.1 kHz //const float integrator_hpf = 0.9964f; // 44.1 kHz -//const float integrator_hpf = 0.9982f; // 44.1 kHz magisk moog freq +//const float integrator_hpf = 0.9982f; // 44.1 kHz Magic Moog Frequency const float integrator_hpf = 0.999f; -// 290 samples för att falla 50% (british) (är nog ett 2-pole hpf) -// 202 samples (american) +// 290 samples to fall 50% (British) (is probably a 2-pole HPF) +// 202 samples (American) //const float integrator_hpf = 0.999f; //pow(ln(0.5)/(samplerate/50hz) const float hpf_cycle_loss = 0.90f; @@ -36,7 +36,7 @@ void osc_dotwave::init(float pitch, bool is_display) osc_out_2 = 0; bufpos = 0; - // init här + // init här id_shape = oscdata->p[0].param_id_in_scene; id_vskew = oscdata->p[1].param_id_in_scene; id_hskew = oscdata->p[2].param_id_in_scene; @@ -48,7 +48,7 @@ void osc_dotwave::init(float pitch, bool is_display) if(is_display) n_unison = 1; out_attenuation = 1.0f/sqrt((float)n_unison); - if(n_unison == 1) // gör dynamic honk sen.. + if(n_unison == 1) // Make dynamic baskets (?) later.. (gör dynamic honk sen..) { detune_bias = 1; detune_offset = 0; @@ -88,12 +88,12 @@ void osc_dotwave::init(float pitch, bool is_display) void osc_dotwave::init_ctrltypes() { - oscdata->p[0].set_name("shape"); oscdata->p[0].set_type(ct_percent); - oscdata->p[1].set_name("skew v"); oscdata->p[1].set_type(ct_percent_bidirectional); - oscdata->p[2].set_name("skew h"); oscdata->p[2].set_type(ct_percent_bidirectional); - oscdata->p[3].set_name("formant"); oscdata->p[3].set_type(ct_syncpitch); - oscdata->p[4].set_name("sync"); oscdata->p[4].set_type(ct_syncpitch); - oscdata->p[5].set_name("detune"); oscdata->p[5].set_type(ct_percent); + oscdata->p[0].set_name("shape"); oscdata->p[0].set_type(ct_percent); + oscdata->p[1].set_name("skew v"); oscdata->p[1].set_type(ct_percent_bidirectional); + oscdata->p[2].set_name("skew h"); oscdata->p[2].set_type(ct_percent_bidirectional); + oscdata->p[3].set_name("formant"); oscdata->p[3].set_type(ct_syncpitch); + oscdata->p[4].set_name("sync"); oscdata->p[4].set_type(ct_syncpitch); + oscdata->p[5].set_name("detune"); oscdata->p[5].set_type(ct_percent); oscdata->p[6].set_name("osc count"); oscdata->p[6].set_type(ct_osccount); } void osc_dotwave::init_default_values() @@ -173,7 +173,7 @@ void osc_dotwave::convolute(int voice) return; } } - dt = max(0.000001,dt); // temp, så den inte hänger sig + dt = max(0.000001,dt); // Temporary, so it doesn't hang/crash(?) (temp, sÃ¥ den inte hänger sig) float newlevel = distort_level((1-shape)*dotwave[0][(state[voice]+1) % n_steps][1] + (shape)*dotwave[1][(state[voice]+1) % n_steps][1]); //float newlevel = distort_level((1-shape)*dotwave[0][(state[voice]) % n_steps][1] + (shape)*dotwave[1][(state[voice]) % n_steps][1]); @@ -215,8 +215,10 @@ void osc_dotwave::update_lagvals() l_formant.newValue(max(0.f,localcopy[id_formant].f)); float invt = min(1.0,(8.175798915 * storage->note_to_pitch(pitch + l_sync.v)) / storage->dsamplerate_os); - float hpf2 = min(integrator_hpf,powf(hpf_cycle_loss,4*invt)); // ACHTUNG! gör lookup-table - + float hpf2 = min(integrator_hpf,powf(hpf_cycle_loss,4*invt)); + // ACHTUNG! gör lookup-table + // ACHTUNG!/WARNING!: Make a lookup table + hpf_coeff.newValue(hpf2); integrator_mult.newValue(invt); @@ -301,4 +303,4 @@ template void osc_dotwave::process_blockT(float pitch,float depth) bufpos++; bufpos = bufpos&(ob_length-1); } -} \ No newline at end of file +} From 6b92ca629b3addca15248a9327044f6d7960f919 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:17:22 +0200 Subject: [PATCH 33/88] Swedish to English --- src/common/dsp/WavetableOscillator.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/common/dsp/WavetableOscillator.cpp b/src/common/dsp/WavetableOscillator.cpp index c854e82b8b9..c6d1762c2cb 100644 --- a/src/common/dsp/WavetableOscillator.cpp +++ b/src/common/dsp/WavetableOscillator.cpp @@ -454,7 +454,7 @@ template void WavetableOscillator::update_lagvals() float invt = min(1.0, (8.175798915 * note_to_pitch(pitch_t)) * dsamplerate_os_inv); float hpf2 = - min(integrator_hpf, powf(hpf_cycle_loss, 4 * invt)); // TODO !!! ACHTUNG! gör lookup-table + min(integrator_hpf, powf(hpf_cycle_loss, 4 * invt)); // TODO ACHTUNG! WARNING! Make a lookup table (gör=make?) hpf_coeff.newValue(hpf2); integrator_mult.newValue(invt); @@ -482,7 +482,7 @@ void WavetableOscillator::process_block( pitchmult_inv = max(1.0, dsamplerate_os * (1 / 8.175798915) * note_to_pitch_inv(pitch_t)); pitchmult = 1.f / - pitchmult_inv; // denna måste vara en riktig division, reciprocal-approx är inte precis nog + pitchmult_inv; // This must be a real division, reciprocal-approximation is not precise enough this->drift = drift; int k, l; @@ -493,7 +493,7 @@ void WavetableOscillator::process_block( l_clip.process(); if ((oscdata->wt.n_tables == 1) || - (tableid >= oscdata->wt.n_tables)) // tableid-range kan ha ändrats under tiden, gör koll + (tableid >= oscdata->wt.n_tables)) // TableID-range may have changed in the meantime, check it! { tableipol = 0.f; tableid = 0; @@ -663,4 +663,4 @@ void WavetableOscillator::process_block( } #endif } -} \ No newline at end of file +} From 91f4d15ec51858db70d5d4bcff1e467d47d2ece8 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:37:16 +0200 Subject: [PATCH 34/88] swedish to english --- src/todo/sub3_osc_wavetable2.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/todo/sub3_osc_wavetable2.cpp b/src/todo/sub3_osc_wavetable2.cpp index 7fec9a250ce..f0584a6f4a5 100644 --- a/src/todo/sub3_osc_wavetable2.cpp +++ b/src/todo/sub3_osc_wavetable2.cpp @@ -22,7 +22,7 @@ void osc_wavetable2::init(float pitch, bool is_display) osc_out = _mm_set1_ps(0.f); bufpos = 0; - // init här + // init här id_shape = oscdata->p[0].param_id_in_scene; id_vskew = oscdata->p[1].param_id_in_scene; id_clip = oscdata->p[2].param_id_in_scene; @@ -46,7 +46,7 @@ void osc_wavetable2::init(float pitch, bool is_display) if(is_display) n_unison = 1; out_attenuation = 1.0f/sqrt((float)n_unison); - if(n_unison == 1) // gör dynamic honk sen.. + if(n_unison == 1) // Make dynamic baskets (?) later... (gör dynamic honk sen..) { detune_bias = 1; detune_offset = 0; @@ -101,11 +101,11 @@ void osc_wavetable2::init(float pitch, bool is_display) void osc_wavetable2::init_ctrltypes() { - oscdata->p[0].set_name("shape"); oscdata->p[0].set_type(ct_percent); - oscdata->p[1].set_name("skew v"); oscdata->p[1].set_type(ct_percent_bidirectional); - oscdata->p[2].set_name("saturate"); oscdata->p[2].set_type(ct_percent); - oscdata->p[3].set_name("formant"); oscdata->p[3].set_type(ct_syncpitch); - oscdata->p[4].set_name("skew h"); oscdata->p[4].set_type(ct_percent_bidirectional); + oscdata->p[0].set_name("shape"); oscdata->p[0].set_type(ct_percent); + oscdata->p[1].set_name("skew v"); oscdata->p[1].set_type(ct_percent_bidirectional); + oscdata->p[2].set_name("saturate"); oscdata->p[2].set_type(ct_percent); + oscdata->p[3].set_name("formant"); oscdata->p[3].set_type(ct_syncpitch); + oscdata->p[4].set_name("skew h"); oscdata->p[4].set_type(ct_percent_bidirectional); oscdata->p[5].set_name("osc spread"); oscdata->p[5].set_type(ct_percent); oscdata->p[6].set_name("osc count"); oscdata->p[6].set_type(ct_osccount); } @@ -165,7 +165,7 @@ void osc_wavetable2::convolute(int voice, bool FM) else { tableid = oscdata->wt.n_tables-2; - oscstate[voice] = 100000000000.f; // rather large number + oscstate[voice] = 100000000000.f; // rather large number return; } } @@ -276,7 +276,7 @@ void osc_wavetable2::update_lagvals() formant_t = max(0.f,localcopy[id_formant].f); float invt = min(1.0,(8.175798915 * storage->note_to_pitch(pitch_t)) / storage->dsamplerate_os); - float hpf2 = min(integrator_hpf,powf(hpf_cycle_loss,4*invt)); // ACHTUNG! gör lookup-table + float hpf2 = min(integrator_hpf,powf(hpf_cycle_loss,4*invt)); // ACHTUNG!/WARNING! Make a lookup-table hpf_coeff.newValue(hpf2); integrator_mult.newValue(invt); @@ -303,7 +303,7 @@ template void osc_wavetable2::process_blockT(float pitch0,float depth,f pitch_last = pitch_t; pitch_t = min(148.f,pitch0); pitchmult_inv = max(1.0,storage->dsamplerate_os * (1 / 8.175798915) * storage->note_to_pitch_inv(pitch_t)); - pitchmult = 1.f / pitchmult_inv; // try to hide the latency + pitchmult = 1.f / pitchmult_inv; // try to hide the latency this->drift = drift; int k,l; @@ -425,4 +425,4 @@ template void osc_wavetable2::process_blockT(float pitch0,float depth,f _mm_store_ps(&oscbuffer[ob_length+k],zero); } } -} \ No newline at end of file +} From dfc11c507eafe772bf78acc4b25c465dfe559973 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:41:12 +0200 Subject: [PATCH 35/88] Swedish to English --- src/common/SampleLoadRiffWave.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/common/SampleLoadRiffWave.cpp b/src/common/SampleLoadRiffWave.cpp index d7d78c405f0..c42886b8943 100644 --- a/src/common/SampleLoadRiffWave.cpp +++ b/src/common/SampleLoadRiffWave.cpp @@ -31,7 +31,7 @@ bool Sample::load_riff_wave_mk2(const char* fname) HMMIO hmmio; - /* Open the file for reading with buffered I/O. Let windows use its default internal buffer */ + /* Open the file for reading with buffered I/O. Let Windows use its default internal buffer */ hmmio = mmioOpen((LPSTR)filename, NULL, MMIO_READ | MMIO_ALLOCBUF); if (!hmmio) { @@ -132,7 +132,7 @@ bool Sample::load_riff_wave_mk2(const char* fname) } if (mmioRead(hmmio, (HPSTR)loaddata, mmckinfoSubchunk.cksize) != - (LRESULT)mmckinfoSubchunk.cksize) // ACHTUNG!! här händer något bad! + (LRESULT)mmckinfoSubchunk.cksize) // ACHTUNG/WARNING!! Something bad happens here! (här händer nÃ¥got bad!) { /* Oops! */ write_log("file io: error reading the data chunk!"); @@ -143,7 +143,8 @@ bool Sample::load_riff_wave_mk2(const char* fname) this->inst_present = false; /* does not seem to be in general use - + + mmioAscend(hmmio, &mmckinfoSubchunk, 0); mmioSeek(hmmio,startpos,SEEK_SET); // read instrument chunk @@ -154,11 +155,11 @@ bool Sample::load_riff_wave_mk2(const char* fname) this->inst_present = false; } else { this->inst_present = true; - + if (mmioRead(hmmio, (HPSTR)&inst_tag, mmckinfoSubchunk.cksize) != (LRESULT)mmckinfoSubchunk.cksize) { - + write_log("file io: error reading the inst chunk!"); mmioClose(hmmio, 0); return false; @@ -293,4 +294,4 @@ bool Sample::load_riff_wave_mk2(const char* fname) return true; } -#endif \ No newline at end of file +#endif From 8d92cd8a0b70b995606354d132dde30ab9b42965 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:43:28 +0200 Subject: [PATCH 36/88] swedish to english --- src/common/SurgeStorageLoadWavetable.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/common/SurgeStorageLoadWavetable.cpp b/src/common/SurgeStorageLoadWavetable.cpp index 860c11a7d17..e7cce16f409 100644 --- a/src/common/SurgeStorageLoadWavetable.cpp +++ b/src/common/SurgeStorageLoadWavetable.cpp @@ -26,7 +26,7 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) HMMIO hmmio; - /* Open the file for reading with buffered I/O. Let windows use its default internal buffer */ + /* Open the file for reading with buffered I/O. Let Windows use its default internal buffer */ hmmio = mmioOpen((LPSTR)filename.c_str(), NULL, MMIO_READ | MMIO_ALLOCBUF); if (!hmmio) { @@ -130,7 +130,7 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) } if (mmioRead(hmmio, (HPSTR)loaddata, mmckinfoSubchunk.cksize) != - (LRESULT)mmckinfoSubchunk.cksize) // ACHTUNG!! här händer något bad! + (LRESULT)mmckinfoSubchunk.cksize) // ACHTUNG!! Something bad happens here! ("här händer nÃ¥got bad!") { /* Oops! */ error_msg("file io: error reading the data chunk!"); @@ -141,7 +141,7 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) // this->inst_present = false; /* does not seem to be in general use - + mmioAscend(hmmio, &mmckinfoSubchunk, 0); mmioSeek(hmmio,startpos,SEEK_SET); // read instrument chunk @@ -152,11 +152,11 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) this->inst_present = false; } else { this->inst_present = true; - + if (mmioRead(hmmio, (HPSTR)&inst_tag, mmckinfoSubchunk.cksize) != (LRESULT)mmckinfoSubchunk.cksize) { - + error_msg("file io: error reading the inst chunk!"); mmioClose(hmmio, 0); return false; @@ -199,8 +199,10 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) loop_present = true; mmioRead(hmmio, (HPSTR)&smpl_loop, sizeof(smpl_loop)); - // Dandruffs skumme wt-bug verkar vara här? + // Dandruffs skumme wt-bug verkar vara här? + // TRANSLATE: Dandruff's skim wt bug seems to be here? // hoppar in i malloc i callstack? wtf!? + // TRANSLATE: jumping into malloc in call stack? wtf!? smpl_loop.dwEnd++; // SC wants the loop end point to be the first sample AFTER the loop } @@ -294,4 +296,4 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) return; } -#endif \ No newline at end of file +#endif From 9c0af34a59730c9fe4cbdddc10b5b432099ba98e Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:49:22 +0200 Subject: [PATCH 37/88] swedish to english --- src/todo/effect_emphasize.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/todo/effect_emphasize.cpp b/src/todo/effect_emphasize.cpp index cbfda8deacc..af072014698 100644 --- a/src/todo/effect_emphasize.cpp +++ b/src/todo/effect_emphasize.cpp @@ -3,7 +3,7 @@ using namespace vt_dsp; -//görs bättre med fft +//Done better with FFT (Do this better with FFT? Should be done better with FFT?) görs bättre med fft emphasize::emphasize(sub3_storage *storage, sub3_fx *fxdata, pdata* pd) : baseeffect(storage,fxdata,pd), EQ(storage), pre(3,true), post(3,true) @@ -54,7 +54,9 @@ void emphasize::process(float *dataL, float *dataR) for(int k=0; kp[0].set_name("amount"); fxdata->p[0].set_type(ct_decibel); + fxdata->p[0].set_name("amount"); fxdata->p[0].set_type(ct_decibel); fxdata->p[1].set_name("freq"); fxdata->p[1].set_type(ct_freq_audible); - fxdata->p[2].set_name("BW"); fxdata->p[2].set_type(ct_bandwidth); - fxdata->p[3].set_name("type"); fxdata->p[3].set_type(ct_percent); + fxdata->p[2].set_name("BW"); fxdata->p[2].set_type(ct_bandwidth); + fxdata->p[3].set_name("type"); fxdata->p[3].set_type(ct_percent); fxdata->p[0].posy_offset = 1; fxdata->p[1].posy_offset = 1; @@ -113,4 +115,4 @@ void emphasize::init_ctrltypes() void emphasize::init_default_values() { fxdata->p[0].val.f = 0.f; -} \ No newline at end of file +} From 0cf7ae76ad74999ef71c6c42aa897b2f6185aac3 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Thu, 13 Dec 2018 18:49:50 +0200 Subject: [PATCH 38/88] precal->precalc --- src/todo/effect_emphasize.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/todo/effect_emphasize.cpp b/src/todo/effect_emphasize.cpp index af072014698..339162830fd 100644 --- a/src/todo/effect_emphasize.cpp +++ b/src/todo/effect_emphasize.cpp @@ -56,7 +56,7 @@ void emphasize::process(float *dataL, float *dataR) // y = x*x*(t + (1-t)*x) // y = x*x*(t + x - t*x) // midre dependancies (noes, 1-t är precalc sÃ¥ det blir det inte alls - // TRANSLATE: Less dependencies (does, 1-t is precal so it will not be at all + // TRANSLATE: Less dependencies (does, 1-t is precalc so it will not be at all __m128 L = _mm_load_ps(bL + (k<<2)); __m128 LL = _mm_mul_ps(L,L); L = _mm_mul_ps(LL,_mm_sub_ps(_mm_add_ps(type,L), _mm_mul_ps(type,L))); From f7ebee1c102797d928e91e6876901898720c24d2 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 17:47:59 -0500 Subject: [PATCH 39/88] Fix that URL not being retained. Which in retrospect is kinda obvious. Now AULab and Logic don't crash --- src/au/aulayer_cocoaui.mm | 53 ++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index c5b99729da4..e92c2d1c03e 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -18,6 +18,8 @@ @interface SurgeNSView : NSView } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; +- (void) runIdleThread; + @end @interface SurgeCocoaUI : NSObject @@ -62,7 +64,7 @@ @implementation SurgeNSView - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { self = [super initWithFrame: NSMakeRect (0, 0, size.width / 2, size.height / 2)]; - + editController = cont; if (self) { AULOG::log( "About to poen with %d\n", cont ); @@ -74,33 +76,12 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size NSRect newSize = NSMakeRect (0, 0, vr->right - vr->left, vr->bottom - vr->top); [self setFrame:newSize]; } -/* - editController = cont; - editController->addRef (); - audioUnit = au; - // WHAT WE ARE GETTING is a plugView not an editController - plugView = editController->createView (Vst::ViewType::kEditor); - if (!plugView || plugView->isPlatformTypeSupported (kPlatformTypeNSView) != kResultTrue) - { - [self dealloc]; - return nil; - } - - plugFrame = NEW AUPlugFrame (self); - plugView->setFrame (plugFrame); - - if (plugView->attached (self, kPlatformTypeNSView) != kResultTrue) - { - [self dealloc]; - return nil; - } - ViewRect vr; - if (plugView->getSize (&vr) == kResultTrue) - { - NSRect newSize = NSMakeRect (0, 0, vr.right - vr.left, vr.bottom - vr.top); - [self setFrame:newSize]; - } + // Start the idle thread + // [NSThread detachNewThreadSelector:@selector(runIdle) toTarget:self withObject:nil]; + +/* + // What was this? isAttached = YES; UInt32 size = sizeof (FObject*); if (AudioUnitGetProperty (audioUnit, 64001, kAudioUnitScope_Global, 0, &dynlib, &size) == noErr) @@ -111,6 +92,17 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size return self; } +- (void) runIdleThread +{ + // FIXME: Have a stop condition + while( true ) + { + AULOG::log( "runIdleThread %d\n", editController ); + //editController->idle(); + [NSThread sleepForTimeInterval:1]; + } +} + // Just for now - (void) drawRect:(NSRect)dirtyRect { [super drawRect:dirtyRect]; @@ -167,20 +159,17 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) switch( iID ) { case kAudioUnitProperty_CocoaUI: - // FIXME - this autorelease over-releases so leak a little (we are infrequently called) - // but definitely come back and fix this! - //@autoreleasepool { - AULOG::log( "Asking for kAudioUnitProperty_CocoaUI\n" ); auto surgeclass = objc_getClass( "SurgeCocoaUI" ); const char* image = class_getImageName ( surgeclass ); CFBundleRef bundle = GetBundleFromExecutable (image); CFURLRef url = CFBundleCopyBundleURL (bundle); + CFRetain( url ); CFRelease (bundle); AudioUnitCocoaViewInfo* info = static_cast (outData); - info->mCocoaAUViewClass[0] = (__bridge CFStringRef)NSStringFromClass( surgeclass ); + info->mCocoaAUViewClass[0] = CFStringCreateWithCString(kCFAllocatorDefault, class_getName(surgeclass), kCFStringEncodingUTF8); info->mCocoaAUViewBundleLocation = url; return noErr; From 900a60ca2c6c287d55308227212b082d419f6060 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 18:44:15 -0500 Subject: [PATCH 40/88] Idle thread running properly so the UI basically works --- src/au/aulayer.cpp | 2 +- src/au/aulayer_cocoaui.mm | 58 +++++++++++++++++++++++++++------------ 2 files changed, 41 insertions(+), 19 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 0c0343975fa..ce4f6baedd6 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -627,7 +627,7 @@ ComponentResult aulayer::GetParameter(AudioUnitParameterID inID, AudioUnitScope ComponentResult aulayer::SetParameter(AudioUnitParameterID inID, AudioUnitScope inScope, AudioUnitElement inElement, Float32 inValue, UInt32 inBufferOffsetInFrames) { - if (inScope != kAudioUnitScope_Global) return kAudioUnitErr_InvalidParameter; + if (inScope != kAudioUnitScope_Global) return kAudioUnitErr_InvalidParameter; if(inID >= n_total_params) return kAudioUnitErr_InvalidParameter; if(!IsInitialized()) return kAudioUnitErr_Uninitialized; plugin_instance->setParameter01(plugin_instance->remapExternalApiToInternalId(inID),inValue,true); diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index e92c2d1c03e..7a201d7e404 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -15,10 +15,12 @@ @interface SurgeNSView : NSView { SurgeGUIEditor *editController; + NSTimer *idleTimer; } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; -- (void) runIdleThread; +- (void) doIdle; +- (void) drawRect:(NSRect)dirtyRect; @end @@ -35,11 +37,8 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit { // Remember we end up being called here because that's what AUCocoaUIView does in the initiation collaboration with hosts AULOG::log( "uiViewForAudioUnit %s on %s\n", __TIME__, __DATE__ ); -#if 0 - // OK so here's what happens in VST land. Basically we get the controller pointer from the AU class and then wrap it in this thingy. Lots to unpick still. - return [[[SMTGCocoa_NSViewWrapperForAU alloc] initWithEditController:editController audioUnit:inAU preferredSize:inPreferredSize] autorelease]; -#endif - + AULOG::log( "My thread is %d\n", pthread_self( ) ); + SurgeGUIEditor* editController = 0; UInt32 size = sizeof (SurgeGUIEditor *); if (AudioUnitGetProperty (inAudioUnit, kVmbAAudioUnitProperty_GetEditPointer, kAudioUnitScope_Global, 0, &editController, &size) != noErr) @@ -60,6 +59,12 @@ - (NSString *) description { @end +void timerCallback( CFRunLoopTimerRef timer, void *info ) +{ + SurgeNSView *view = (SurgeNSView *)info; + [view doIdle]; +} + @implementation SurgeNSView - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { @@ -77,8 +82,32 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size [self setFrame:newSize]; } + AULOG::log( "Done resizing\n" ); + + CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms + CFRunLoopTimerContext TimerContext = {0, self, NULL, NULL, NULL}; + CFAbsoluteTime FireTime = CFAbsoluteTimeGetCurrent() + TIMER_INTERVAL; + auto mTimer = CFRunLoopTimerCreate(kCFAllocatorDefault, + FireTime, + TIMER_INTERVAL, + 0, 0, + timerCallback, + &TimerContext); + if (mTimer) + CFRunLoopAddTimer (CFRunLoopGetMain (), mTimer, kCFRunLoopCommonModes); + AULOG::log( "Added timer on %d\n", self ); + /*idleTimer = [NSTimer timerWithTimeInterval:1.0 + target:self + selector:@selector(doIdle:) + userInfo:nil + repeats:YES + ];*/ + + //[[NSRunLoop currentRunLoop] addTime:idleTimer forMode:NSDefaultRunLoopMode]; + + AULOG::log( "Timer made %d\n", [NSRunLoop currentRunLoop] ); // Start the idle thread - // [NSThread detachNewThreadSelector:@selector(runIdle) toTarget:self withObject:nil]; + //[NSThread detachNewThreadSelector:@selector(runIdle) toTarget:[self retain] withObject:nil]; /* // What was this? @@ -92,26 +121,19 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size return self; } -- (void) runIdleThread +- (void) doIdle { - // FIXME: Have a stop condition - while( true ) - { - AULOG::log( "runIdleThread %d\n", editController ); - //editController->idle(); - [NSThread sleepForTimeInterval:1]; - } + editController->idle(); } // Just for now - (void) drawRect:(NSRect)dirtyRect { - [super drawRect:dirtyRect]; - // This next line sets the the current fill color parameter of the Graphics Context [[NSColor redColor] setFill]; // This next function fills a rect the same as dirtyRect with the current fill color of the Graphics Context. NSRectFill(dirtyRect); // You might want to use _bounds or self.bounds if you want to be sure to fill the entire bounds rect of the view. + [super drawRect:dirtyRect]; } @end @@ -176,7 +198,7 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) } case kVmbAAudioUnitProperty_GetEditPointer: { - AULOG::log( "Asking for the edit pointer\n" ); + AULOG::log( "Asking for the edit pointer on %d\n", pthread_self() ); if( editor_instance == NULL ) { editor_instance = new SurgeGUIEditor( this, plugin_instance ); From b2be3b822618fb959fe99dfb74811572497bbcad Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 20:51:42 -0500 Subject: [PATCH 41/88] Actually do shutdown and memory management properly too! So you can open and close --- src/au/aulayer.cpp | 5 +++ src/au/aulayer_cocoaui.mm | 65 ++++++++++++------------------- src/common/gui/SurgeGUIEditor.cpp | 4 ++ 3 files changed, 34 insertions(+), 40 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index ce4f6baedd6..4b8fb39b848 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -26,6 +26,11 @@ aulayer::~aulayer() plugin_instance->~plugin(); _aligned_free(plugin_instance); } + + if( editor_instance ) + { + delete editor_instance; + } } //---------------------------------------------------------------------------------------------------- diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 7a201d7e404..04d8674fec3 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -15,12 +15,12 @@ @interface SurgeNSView : NSView { SurgeGUIEditor *editController; - NSTimer *idleTimer; + CFRunLoopTimerRef idleTimer; } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; - (void) doIdle; -- (void) drawRect:(NSRect)dirtyRect; +- (void) dealloc; @end @@ -69,6 +69,7 @@ @implementation SurgeNSView - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { self = [super initWithFrame: NSMakeRect (0, 0, size.width / 2, size.height / 2)]; + idleTimer = nil; editController = cont; if (self) { @@ -84,38 +85,18 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size AULOG::log( "Done resizing\n" ); - CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms + CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms CFRunLoopTimerContext TimerContext = {0, self, NULL, NULL, NULL}; - CFAbsoluteTime FireTime = CFAbsoluteTimeGetCurrent() + TIMER_INTERVAL; - auto mTimer = CFRunLoopTimerCreate(kCFAllocatorDefault, - FireTime, - TIMER_INTERVAL, - 0, 0, - timerCallback, - &TimerContext); - if (mTimer) - CFRunLoopAddTimer (CFRunLoopGetMain (), mTimer, kCFRunLoopCommonModes); + CFAbsoluteTime FireTime = CFAbsoluteTimeGetCurrent() + TIMER_INTERVAL; + idleTimer = CFRunLoopTimerCreate(kCFAllocatorDefault, + FireTime, + TIMER_INTERVAL, + 0, 0, + timerCallback, + &TimerContext); + if (idleTimer) + CFRunLoopAddTimer (CFRunLoopGetMain (), idleTimer, kCFRunLoopCommonModes); AULOG::log( "Added timer on %d\n", self ); - /*idleTimer = [NSTimer timerWithTimeInterval:1.0 - target:self - selector:@selector(doIdle:) - userInfo:nil - repeats:YES - ];*/ - - //[[NSRunLoop currentRunLoop] addTime:idleTimer forMode:NSDefaultRunLoopMode]; - - AULOG::log( "Timer made %d\n", [NSRunLoop currentRunLoop] ); - // Start the idle thread - //[NSThread detachNewThreadSelector:@selector(runIdle) toTarget:[self retain] withObject:nil]; - -/* - // What was this? - isAttached = YES; - UInt32 size = sizeof (FObject*); - if (AudioUnitGetProperty (audioUnit, 64001, kAudioUnitScope_Global, 0, &dynlib, &size) == noErr) - dynlib->addRef (); -*/ } return self; @@ -126,15 +107,19 @@ - (void) doIdle editController->idle(); } -// Just for now -- (void) drawRect:(NSRect)dirtyRect { - // This next line sets the the current fill color parameter of the Graphics Context - [[NSColor redColor] setFill]; - // This next function fills a rect the same as dirtyRect with the current fill color of the Graphics Context. - NSRectFill(dirtyRect); - // You might want to use _bounds or self.bounds if you want to be sure to fill the entire bounds rect of the view. - [super drawRect:dirtyRect]; +- (void) dealloc +{ + AULOG::log( "Shutting down SurgeNSView in dealloc\n" ); + editController->close(); + if( idleTimer ) + { + AULOG::log( "Invadliated Timer\n" ); + CFRunLoopTimerInvalidate( idleTimer ); + } + + [super dealloc]; } + @end diff --git a/src/common/gui/SurgeGUIEditor.cpp b/src/common/gui/SurgeGUIEditor.cpp index 3566bda70ca..f3d2d4d9362 100644 --- a/src/common/gui/SurgeGUIEditor.cpp +++ b/src/common/gui/SurgeGUIEditor.cpp @@ -1160,6 +1160,10 @@ bool PLUGIN_API SurgeGUIEditor::open(void* parent, const PlatformType& platformT void SurgeGUIEditor::close() { +#ifndef TARGET_VST3 + super::close(); +#endif + #ifdef TARGET_VST3 _idleTimer->stop(); #endif From 3aeaee80d493fca214b334e252ea9fef03a4a21f Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Thu, 13 Dec 2018 21:30:45 -0500 Subject: [PATCH 42/88] OK this is in a good enough shape comment and printf wise for a pull request. --- src/au/aulayer.cpp | 77 +-------------------------------------- src/au/aulayer.h | 44 +++++++++++----------- src/au/aulayer_cocoaui.mm | 37 ++++++++++++++----- 3 files changed, 52 insertions(+), 106 deletions(-) diff --git a/src/au/aulayer.cpp b/src/au/aulayer.cpp index 4b8fb39b848..623bc13606b 100644 --- a/src/au/aulayer.cpp +++ b/src/au/aulayer.cpp @@ -7,7 +7,9 @@ typedef SurgeSynthesizer sub3_synth; +#ifdef GENERATE_AU_LOG FILE* AULOG::lf = NULL; +#endif //---------------------------------------------------------------------------------------------------- @@ -716,79 +718,4 @@ OSStatus aulayer::HandleMidiEvent(UInt8 status, UInt8 channel, UInt8 data1, UInt return noErr; } -#if MAC_CARBON - -SHAZBOT - -#include "AUCarbonViewBase.h" -#include "plugguieditor.h" - -class VSTGUIAUView : public AUCarbonViewBase -{ -public: - VSTGUIAUView (AudioUnitCarbonView auv) - : AUCarbonViewBase (auv) - , editor (0) - , xOffset (0) - , yOffset (0) - { - } - - virtual ~VSTGUIAUView () - { - if (editor) - { - editor->close (); - delete editor; - } - } - - void RespondToEventTimer (EventLoopTimerRef inTimer) - { - if (editor) - editor->doIdleStuff (); - } - - virtual OSStatus CreateUI(Float32 xoffset, Float32 yoffset) - { - AudioUnit unit = GetEditAudioUnit (); - if (unit) - { - void* pluginAddr=0; - UInt32 dataSize = sizeof(pluginAddr); - ComponentResult err = AudioUnitGetProperty(mEditAudioUnit,kVmbAAudioUnitProperty_GetPluginCPPInstance, kAudioUnitScope_Global, 0, &pluginAddr, &dataSize); - - editor = new sub3_editor (pluginAddr); - WindowRef window = GetCarbonWindow (); - editor->open (window); - HIViewRef platformControl = (HIViewRef)editor->getFrame()->getPlatformControl(); -// HIViewMoveBy ((HIViewRef)editor->getFrame ()->getPlatformControl (), xoffset, yoffset); - EmbedControl (platformControl); - CRect fsize = editor->getFrame ()->getViewSize (fsize); - SizeControl (mCarbonPane, fsize.width (), fsize.height ()); - // CreateEventLoopTimer verkar sno focus och göra sÃ¥ den tappar mouseup-events - CreateEventLoopTimer (kEventDurationSecond, kEventDurationSecond / 30); - HIViewSetVisible (platformControl, true); - HIViewSetNeedsDisplay (platformControl, true); - //SetMouseCoalescingEnabled(false,NULL); - } - return noErr; - } - - Float32 xOffset, yOffset; -protected: - sub3_editor* editor; -}; - -COMPONENT_ENTRY(VSTGUIAUView); - -#elif MAC_COCOA - -// #error Implement the UI here, probably cribbing off of that AudioKit again -// TODO AU - - - -#endif - AUDIOCOMPONENT_ENTRY(AUMusicDeviceFactory, aulayer); diff --git a/src/au/aulayer.h b/src/au/aulayer.h index 9a8635f9ab6..bd69d68576d 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -14,29 +14,31 @@ typedef SurgeSynthesizer plugin; struct AULOG { - static FILE* lf; - - static void log( const char* format, ... ) - { - fprintf( stderr, "ENTERING WITH LF=%d\n", lf ); - if( lf == NULL ) - { - lf = fopen( "/Users/paul/Library/Logs/Surge.log", "a" ); - fprintf( stderr, "LOG FILE IS %d\n", lf ); - } - va_list args; - va_start( args, format ); - vfprintf( stderr, format, args ); - va_end( args ); - if( lf != NULL ) - { +#ifdef GENERATE_AU_LOG + static FILE* lf; + + static void log( const char* format, ... ) + { + if( lf == NULL ) + { + lf = fopen( "/Users/paul/Library/Logs/Surge.log", "a" ); + } + va_list args; va_start( args, format ); - vfprintf( lf, format, args ); + vfprintf( stderr, format, args ); va_end( args ); - fflush( lf ); - } - - } + if( lf != NULL ) + { + va_start( args, format ); + vfprintf( lf, format, args ); + va_end( args ); + fflush( lf ); + } + + } +#else + static void log( const char* format, ... ) { } +#endif }; //------------------------------------------------------------------------------------------------------- diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 04d8674fec3..2be418d65a9 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -4,6 +4,29 @@ // // Created by Paul Walker on 12/10/18. // +/* + OK so how do cocoa uis work in AU2? There's two things + + 1: You return a valid AudioUnitViewInfo which contains basically a bundle URL and class name. You implement this in GetProperty in + response to kAudioUnitPropert_CocoaUI + + 2: You make that class that you return match the AUCococUIBase protocol which requires it to be able to create a frame + + Now the question is how does that frame get a reference to your audio unit? Well there's trick three, which is the uiForAudioUnit has to + use the property mechanism to get a reference to an editor. In this case I do that by sending the kVmBAudioUnitPropert_GetEditPointer + which I basically just made up. That returns (in this case) a pointer to a SurgeGUIEditor which uses a subset of the VST api + (only the public API) to give you a drawable element. + + The other trick to make this all work is that Surge itself works by having parameter changes which imapct other parameter changes + (like when you change patch number it changes patch name) just update parameters and not redraw. This makes sense for all + the obvious reasons (thread locality; bunched drawing; etc...). You can see the refresh_param_quuee and refresh_control_queue + implementation which just keep getting stacked up. But to unstack them you need to call a redraw, basically, and that's what the + editor ::idle method does. So the final thing to make it all work is to spin up a CFRunLoopTimer (not an NSTImer, note; I tried and + that's not the way to go) to call ::idle every 50ms. + + And that's what this code does. + + */ #include #import @@ -12,6 +35,8 @@ #include "aulayer_cocoaui.h" #include + + @interface SurgeNSView : NSView { SurgeGUIEditor *editController; @@ -37,8 +62,7 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit { // Remember we end up being called here because that's what AUCocoaUIView does in the initiation collaboration with hosts AULOG::log( "uiViewForAudioUnit %s on %s\n", __TIME__, __DATE__ ); - AULOG::log( "My thread is %d\n", pthread_self( ) ); - + SurgeGUIEditor* editController = 0; UInt32 size = sizeof (SurgeGUIEditor *); if (AudioUnitGetProperty (inAudioUnit, kVmbAAudioUnitProperty_GetEditPointer, kAudioUnitScope_Global, 0, &editController, &size) != noErr) @@ -49,7 +73,6 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit } - (unsigned int)interfaceVersion { - AULOG::log( "interfaceVersion\n" ); return 0; } @@ -73,7 +96,7 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size editController = cont; if (self) { - AULOG::log( "About to poen with %d\n", cont ); + AULOG::log( "Opening new editor view\n" ); cont->open( self ); ERect *vr; @@ -83,8 +106,6 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size [self setFrame:newSize]; } - AULOG::log( "Done resizing\n" ); - CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms CFRunLoopTimerContext TimerContext = {0, self, NULL, NULL, NULL}; CFAbsoluteTime FireTime = CFAbsoluteTimeGetCurrent() + TIMER_INTERVAL; @@ -96,7 +117,6 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size &TimerContext); if (idleTimer) CFRunLoopAddTimer (CFRunLoopGetMain (), idleTimer, kCFRunLoopCommonModes); - AULOG::log( "Added timer on %d\n", self ); } return self; @@ -109,11 +129,9 @@ - (void) doIdle - (void) dealloc { - AULOG::log( "Shutting down SurgeNSView in dealloc\n" ); editController->close(); if( idleTimer ) { - AULOG::log( "Invadliated Timer\n" ); CFRunLoopTimerInvalidate( idleTimer ); } @@ -183,7 +201,6 @@ static CFBundleRef GetBundleFromExecutable (const char* filepath) } case kVmbAAudioUnitProperty_GetEditPointer: { - AULOG::log( "Asking for the edit pointer on %d\n", pthread_self() ); if( editor_instance == NULL ) { editor_instance = new SurgeGUIEditor( this, plugin_instance ); From a265b99a0eed0ac7230542199023b623c34609c5 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:05:34 +0200 Subject: [PATCH 43/88] Swedish->English --- src/todo/sub3_osc_sample.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/todo/sub3_osc_sample.cpp b/src/todo/sub3_osc_sample.cpp index 520c1f4f0ad..83b39d13a9b 100644 --- a/src/todo/sub3_osc_sample.cpp +++ b/src/todo/sub3_osc_sample.cpp @@ -15,28 +15,29 @@ osc_sample::~osc_sample() void osc_sample::init(float pitch, bool is_display) { assert(storage); - - // init här + + //Init(ialize) here //id_shape = oscdata->p[0].param_id_in_scene; - + this->pitch = pitch; update_lagvals(); } void osc_sample::init_ctrltypes() { - //oscdata->p[0].set_name("correlation"); oscdata->p[0].set_type(ct_percent_bidirectional); - + //oscdata->p[0].set_name("correlation"); + //oscdata->p[0].set_type(ct_percent_bidirectional); } + void osc_sample::init_default_values() { - //oscdata->p[0].val.f = 0.f; + //oscdata->p[0].val.f = 0.f; } template void osc_sample::update_lagvals() { -// l_sync.newValue(max(0.f,localcopy[id_sync].f)); + // l_sync.newValue(max(0.f,localcopy[id_sync].f)); if(is_init) { } @@ -49,15 +50,15 @@ template void osc_sample::process_blockT(float pitch,float depth) this->pitch = pitch; if (FM) FMdepth.newValue(depth); - float pitchcorrection = 0;//wave->smpl_chunk. + float pitchcorrection = 0;//wave->smpl_chunk. resample_ratio = (unsigned int)((double)((wave->sample_rate * storage->dsamplerate_os_inv)*16777216.0*storage->note_to_pitch(pitch-pitchcorrection))); - + update_lagvals(); for(int k=0; k>16)&0xff)*FIRipol_N; float lipol0 = (float)((uint32)(sample_subpos&0xffff)); - - } -} \ No newline at end of file + + } +} From 639a255251f0570bef971c0f5763bac0ca7a9d7f Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:08:05 +0200 Subject: [PATCH 44/88] iso-8859-1 -> UTF8 --- src/common/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/version.h b/src/common/version.h index f41797707a5..278ae11d028 100644 --- a/src/common/version.h +++ b/src/common/version.h @@ -18,7 +18,7 @@ #define BUILD_NUMBER_INT 100 // Version with build number (example "1.0.3.342") -#define FULL_VERSION_STR \ +#define FULL_VERSION_STR \ MAJOR_VERSION_STR "." SUB_VERSION_STR "." RELEASE_NUMBER_STR "." BUILD_NUMBER_STR // Version without build number (example "1.0.3") @@ -41,7 +41,7 @@ #endif #define stringCompanyName "Vember Audio\0" -#define stringLegalCopyright "© 2017 Vember Audio" +#define stringLegalCopyright "© 2017 Vember Audio" #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" #endif //__version__ From 56fe9fa7b57813e2bd7e450bf8f91609b3da58af Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:11:49 +0200 Subject: [PATCH 45/88] Swedish to English, iso-8859-1 -> utf8 --- src/common/Parameter.cpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/common/Parameter.cpp b/src/common/Parameter.cpp index 296b1007b50..44956891659 100644 --- a/src/common/Parameter.cpp +++ b/src/common/Parameter.cpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------------------------------- -// Copyright 2005 Claes Johanson & Vember Audio +// Copyright 2005 Claes Johanson & Vember Audio //------------------------------------------------------------------------------------------------------- #include "SurgeStorage.h" #include "Parameter.h" @@ -93,18 +93,18 @@ void Parameter::set_name(const char* n) create_fullname(dispname, fullname, ctrlgroup, ctrlgroup_entry); } -Parameter* Parameter::assign(int id, - int pid, - const char* name, - const char* dispname, - int ctrltype, - int posx, - int posy, - int scene, - ControlGroup ctrlgroup, - int ctrlgroup_entry, - bool modulateable, - int ctrlstyle) +Parameter* Parameter::assign( int id, + int pid, + const char* name, + const char* dispname, + int ctrltype, + int posx, + int posy, + int scene, + ControlGroup ctrlgroup, + int ctrlgroup_entry, + bool modulateable, + int ctrlstyle) { this->id = id; this->param_id_in_scene = pid; @@ -369,8 +369,8 @@ void Parameter::set_type(int ctrltype) val_min.i = 0; val_default.i = 0; val_max.i = num_fxtypes - 1; - // affect_other_parameters = true; // kan inte addas förrän den har en custom - // controltype + // affect_other_parameters = true; // kan inte addas förrän den har en custom controltype + // TRANSLATE: Can not be added, before/until it has a custom controltype break; case ct_fxbypass: valtype = vt_int; @@ -763,7 +763,7 @@ void Parameter::get_display(char* txt, bool external, float ef) sprintf(txt, "%.1f cents", f * 100.f); break; case ct_stereowidth: - sprintf(txt, "%.1fº", f); + sprintf(txt, "%.1fº", f); break; case ct_freq_hpf: case ct_freq_audible: @@ -1008,8 +1008,8 @@ pdata Parameter::morph(Parameter* b, float x) } else { - if (x>0.5) - memcpy(this,b,sizeof(parameter)); + if (x>0.5) + memcpy(this,b,sizeof(parameter)); } }*/ From de8a11702841aad9eb39f58b38ddeeafbbb13d82 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:12:45 +0200 Subject: [PATCH 46/88] ->utf8 --- src/common/vt_dsp/basic_dsp.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/common/vt_dsp/basic_dsp.h b/src/common/vt_dsp/basic_dsp.h index 15fbab692ec..0cf02a80953 100644 --- a/src/common/vt_dsp/basic_dsp.h +++ b/src/common/vt_dsp/basic_dsp.h @@ -1,4 +1,3 @@ - #pragma once #include "shared.h" @@ -160,7 +159,7 @@ forceinline float saturate(float f) forceinline __m128 softclip_ss(__m128 in) { - // y = x - (4/27)*x^3, x € [-1.5 .. 1.5] + // y = x - (4/27)*x^3, x € [-1.5 .. 1.5] const __m128 a = _mm_set_ss(-4.f / 27.f); const __m128 x_min = _mm_set_ss(-1.5f); @@ -177,7 +176,7 @@ forceinline __m128 softclip_ss(__m128 in) forceinline __m128 softclip_ps(__m128 in) { - // y = x - (4/27)*x^3, x € [-1.5 .. 1.5] + // y = x - (4/27)*x^3, x € [-1.5 .. 1.5] const __m128 a = _mm_set1_ps(-4.f / 27.f); const __m128 x_min = _mm_set1_ps(-1.5f); From 675af2726b515417c09c67f1deaa8574af3bc285 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:21:47 +0200 Subject: [PATCH 47/88] Swedish to English, ISO-8859-1 -> UTF8 --- src/common/dsp/BiquadFilterSSE2.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/common/dsp/BiquadFilterSSE2.cpp b/src/common/dsp/BiquadFilterSSE2.cpp index 43f5e6b1a64..9e2b517ea6f 100644 --- a/src/common/dsp/BiquadFilterSSE2.cpp +++ b/src/common/dsp/BiquadFilterSSE2.cpp @@ -5,8 +5,15 @@ #include "globals.h" #include -// dessa är långsammare än motsvarande x87-variant -// använd icke förrän codeanal har fått leka lite +// dessa är lĺngsammare än motsvarande x87-variant +// använd icke förrän codeanal har fĺtt leka lite + +// TRANSLATE1: +// these are slower than the corresponding x87 variant +// do not use until codeanal has been playing a little +// TRANSLATE2: +// these are more common than the corresponding x87 variant +// do not use until codeanal has been playing a little void biquadunit::process_block_SSE2(double *data) { @@ -77,7 +84,7 @@ void biquadunit::process_block_SSE2(float *dataL,float *dataR) __m128 vl = _mm_load_ps(dataL + k); __m128 vr = _mm_load_ps(dataR + k); __m128 v0 = _mm_unpacklo_ps(vl,vr); - + // first __m128d input = _mm_cvtps_pd(v0); v0 = _mm_movehl_ps(v0,v0); @@ -87,7 +94,6 @@ void biquadunit::process_block_SSE2(float *dataL,float *dataR) reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op0)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op0)); - // second input = _mm_cvtps_pd(v0); a1.process_SSE2(); a2.process_SSE2(); b0.process_SSE2(); b1.process_SSE2(); b2.process_SSE2(); @@ -95,7 +101,6 @@ void biquadunit::process_block_SSE2(float *dataL,float *dataR) reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op1)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op1)); - // third v0 = _mm_unpackhi_ps(vl,vr); input = _mm_cvtps_pd(v0); @@ -133,7 +138,7 @@ void biquadunit::process_block_slowlag_SSE2(float *dataL,float *dataR) __m128 vl = _mm_load_ps(dataL + k); __m128 vr = _mm_load_ps(dataR + k); __m128 v0 = _mm_unpacklo_ps(vl,vr); - + // first __m128d input = _mm_cvtps_pd(v0); v0 = _mm_movehl_ps(v0,v0); @@ -142,14 +147,12 @@ void biquadunit::process_block_slowlag_SSE2(float *dataL,float *dataR) reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op0)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op0)); - // second input = _mm_cvtps_pd(v0); __m128d op1 = _mm_add_pd(reg0.v,_mm_mul_pd(b0.v.v, input)); reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op1)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op1)); - // third v0 = _mm_unpackhi_ps(vl,vr); input = _mm_cvtps_pd(v0); @@ -183,7 +186,7 @@ void biquadunit::process_block_to_SSE2(float *dataL,float *dataR, float *dstL,fl __m128 vl = _mm_load_ps(dataL + k); __m128 vr = _mm_load_ps(dataR + k); __m128 v0 = _mm_unpacklo_ps(vl,vr); - + // first __m128d input = _mm_cvtps_pd(v0); v0 = _mm_movehl_ps(v0,v0); @@ -193,7 +196,6 @@ void biquadunit::process_block_to_SSE2(float *dataL,float *dataR, float *dstL,fl reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op0)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op0)); - // second input = _mm_cvtps_pd(v0); a1.process_SSE2(); a2.process_SSE2(); b0.process_SSE2(); b1.process_SSE2(); b2.process_SSE2(); @@ -201,7 +203,6 @@ void biquadunit::process_block_to_SSE2(float *dataL,float *dataR, float *dstL,fl reg0.v = _mm_sub_pd(_mm_add_pd(_mm_mul_pd(b1.v.v, input), reg1.v), _mm_mul_pd(a1.v.v, op1)); reg1.v = _mm_sub_pd(_mm_mul_pd(b2.v.v, input), _mm_mul_pd(a2.v.v, op1)); - // third v0 = _mm_unpackhi_ps(vl,vr); input = _mm_cvtps_pd(v0); @@ -228,4 +229,4 @@ void biquadunit::process_block_to_SSE2(float *dataL,float *dataR, float *dstL,fl _mm_store_ps(dstR+k,sr); } } -#endif \ No newline at end of file +#endif From 1a10db87d1239d33bc66da45e5db605cc8517bae Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:24:54 +0200 Subject: [PATCH 48/88] Swedish -> English, ISO-8859-1 -> UTF8 --- src/common/dsp/effect/Effect.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/common/dsp/effect/Effect.cpp b/src/common/dsp/effect/Effect.cpp index 43ce656719e..aed2f18bfa4 100644 --- a/src/common/dsp/effect/Effect.cpp +++ b/src/common/dsp/effect/Effect.cpp @@ -98,14 +98,15 @@ void Effect::init_ctrltypes() } } -/* eq3band */ +/* eq3band */ Eq3BandEffect::Eq3BandEffect(SurgeStorage* storage, FxStorage* fxdata, pdata* pd) : Effect(storage, fxdata, pd), band1(storage), band2(storage), band3(storage) { gain.set_blocksize(block_size); - band1.setBlockSize(block_size * slowrate); // spelar ingen roll eftersom de är lagbaserade + band1.setBlockSize(block_size * slowrate); // spelar ingen roll eftersom de är lagbaserade + // TRANSLATE: does not matter because they are team-based band2.setBlockSize(block_size * slowrate); band3.setBlockSize(block_size * slowrate); } @@ -129,7 +130,9 @@ void Eq3BandEffect::setvars(bool init) gain.set_target(1.f); // db_to_linear(fxdata->p[9].val.f)); gain.instantize(); band1.coeff_peakEQ(band1.calc_omega(fxdata->p[1].val.f * (1.f / 12.f)), fxdata->p[2].val.f, - 1.f); // sätt banden till 0dB så fades eqn in + 1.f); // sätt banden till 0dB sÃ¥ fades eqn in + // TRANSLATE1: put the bands to 0dB - then fade EQ + // TRANSLATE2: Set the bands to 0dB so the EQ fades in band2.coeff_peakEQ(band2.calc_omega(fxdata->p[4].val.f * (1.f / 12.f)), fxdata->p[5].val.f, 1.f); band3.coeff_peakEQ(band3.calc_omega(fxdata->p[7].val.f * (1.f / 12.f)), fxdata->p[8].val.f, @@ -244,7 +247,7 @@ void Eq3BandEffect::init_default_values() fxdata->p[9].val.f = 0.f; } -/* chorus */ +/* chorus */ template ChorusEffect::ChorusEffect(SurgeStorage* storage, FxStorage* fxdata, pdata* pd) From e92517a6b2b876d68c51c83e7fca6311d894a678 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:27:40 +0200 Subject: [PATCH 49/88] Swedish to English, ISO-8859-1 -> UTF8 --- src/common/dsp/effect/VocoderEffect.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/dsp/effect/VocoderEffect.cpp b/src/common/dsp/effect/VocoderEffect.cpp index 6aab1527cb4..e32c431bb0e 100644 --- a/src/common/dsp/effect/VocoderEffect.cpp +++ b/src/common/dsp/effect/VocoderEffect.cpp @@ -1,9 +1,9 @@ #include "effect_defs.h" #include -/* vocoder */ +/* vocoder */ -// hz från http://www.sequencer.de/pix/moog/moog_vocoder_rack.jpg +// HZ from http://www.sequencer.de/pix/moog/moog_vocoder_rack.jpg // const float vocoder_freq_moog[n_vocoder_bands-1] = {50, 158, 200, 252, 317, 400, 504, 635, 800, // 1008, 1270, 1600, 2016, 2504, 3200, 4032, 5080}; const float vocoder_freq[n_vocoder_bands] = // {100, 175, 230, 290, 360, 450, 580, 700, 900, 1100, 1400, 1800, 2300, 2800, 3600, 4700}; const @@ -12,7 +12,7 @@ // 400, 504, 635, 800, 1008, 1270, 1600, 2016, 2504, 3200, 4032, 5080}; // const float vocoder_freq_vsm201[n_vocoder_bands-1] = -// {190, 290, 400, 510, 630, 760, 910, 1080, 1270, 1480, 1700, 2000, 2300, 2700, 3100, 3700, +//{190, 290, 400, 510, 630, 760, 910, 1080, 1270, 1480, 1700, 2000, 2300, 2700, 3100, 3700, // 4400, 5200, 6600, 8000}; const float vocoder_freq_vsm201[n_vocoder_bands] = {170, 240, 340, 440, // 560, 680, 820, 970, 1150, 1370, 1605, 1850, 2150, 2500, 2900, 3400, 4050, 4850, 5850, 7500}; @@ -75,7 +75,7 @@ void VocoderEffect::setvars(bool init) } /* mVoicedDetect.coeff_LP(biquadunit::calc_omega_from_Hz(1000.f), 0.707); - mUnvoicedDetect.coeff_HP(biquadunit::calc_omega_from_Hz(5000.f), 0.707); + mUnvoicedDetect.coeff_HP(biquadunit::calc_omega_from_Hz(5000.f), 0.707); if (init) { @@ -105,7 +105,7 @@ void VocoderEffect::process(float* dataL, float* dataR) // Voiced / Unvoiced detection /*{ - + mVoicedDetect.process_block_to(modulator_in, modulator_tbuf); float a = min(4.f, get_squaremax(modulator_tbuf,block_size_quad)); mVoicedLevel = mVoicedLevel * (1.f - rate) + a*rate; @@ -237,4 +237,4 @@ void VocoderEffect::init_ctrltypes() fxdata->p[KQuality].posy_offset = 3; } -//------------------------------------------------------------------------------------------------ \ No newline at end of file +//------------------------------------------------------------------------------------------------ From 62dc20e2052c046e9683e0adabd411524f6d95f5 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:28:16 +0200 Subject: [PATCH 50/88] one extra space --- src/common/dsp/effect/VocoderEffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/dsp/effect/VocoderEffect.cpp b/src/common/dsp/effect/VocoderEffect.cpp index e32c431bb0e..c7917beee99 100644 --- a/src/common/dsp/effect/VocoderEffect.cpp +++ b/src/common/dsp/effect/VocoderEffect.cpp @@ -12,7 +12,7 @@ // 400, 504, 635, 800, 1008, 1270, 1600, 2016, 2504, 3200, 4032, 5080}; // const float vocoder_freq_vsm201[n_vocoder_bands-1] = -//{190, 290, 400, 510, 630, 760, 910, 1080, 1270, 1480, 1700, 2000, 2300, 2700, 3100, 3700, +// {190, 290, 400, 510, 630, 760, 910, 1080, 1270, 1480, 1700, 2000, 2300, 2700, 3100, 3700, // 4400, 5200, 6600, 8000}; const float vocoder_freq_vsm201[n_vocoder_bands] = {170, 240, 340, 440, // 560, 680, 820, 970, 1150, 1370, 1605, 1850, 2150, 2500, 2900, 3400, 4050, 4850, 5850, 7500}; From aec8ca1d60435053ea58808a313eea427abf8220 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 12:30:03 +0200 Subject: [PATCH 51/88] Swedish->English, ISO-8859-1 -> UTF8 --- src/common/dsp/effect/ConditionerEffect.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/common/dsp/effect/ConditionerEffect.cpp b/src/common/dsp/effect/ConditionerEffect.cpp index d90695e3f01..f6e7d93d4e8 100644 --- a/src/common/dsp/effect/ConditionerEffect.cpp +++ b/src/common/dsp/effect/ConditionerEffect.cpp @@ -4,7 +4,7 @@ #include #endif -/* conditioner */ +/* conditioner */ using namespace vt_dsp; @@ -99,7 +99,8 @@ void ConditionerEffect::process(float* dataL, float* dataR) width.set_target_smoothed(clamp1bp(*f[2])); postamp.set_target_smoothed(db_to_linear(*f[7])); - // gör conditioner SSE-snäll + // gör conditioner SSE-snäll + // TRANSLATE: Make a condition(er?), SSE-kind (SSE-type?) _MM_ALIGN16 float M[block_size], S[block_size]; // wb = write-buffer encodeMS(dataL, dataR, M, S, block_size_quad); @@ -158,7 +159,7 @@ void ConditionerEffect::process(float* dataL, float* dataR) vu[4] = max(vu[4], get_absmax(dataL, block_size_quad)); vu[5] = max(vu[5], get_absmax(dataR, block_size_quad)); - /* for(int i=0; ip[7].posy_offset = 11; } void ConditionerEffect::init_default_values() -{} \ No newline at end of file +{} From be4abe2e8e2fa50abc9d10305a399f3083b642c2 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 14:05:13 +0200 Subject: [PATCH 52/88] Swedish->English, ISO-8859-1 -> UTF8 --- src/common/dsp/SurgeVoice.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/dsp/SurgeVoice.h b/src/common/dsp/SurgeVoice.h index e5aacadde04..1fed0d196e3 100644 --- a/src/common/dsp/SurgeVoice.h +++ b/src/common/dsp/SurgeVoice.h @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------------------------------- -// Copyright 2005 Claes Johanson & Vember Audio +// Copyright 2005 Claes Johanson & Vember Audio //------------------------------------------------------------------------------------------------------- #pragma once #include "SurgeStorage.h" @@ -21,7 +21,7 @@ class SurgeVoice _MM_ALIGN16 lipol_ps osclevels[7]; _MM_ALIGN16 pdata localcopy[n_scene_params]; _MM_ALIGN16 float - fmbuffer[block_size_os]; // used for the 2>1<3 FM-mode (behöver pointern tidigare) + fmbuffer[block_size_os]; // used for the 2>1<3 FM-mode (Needs the pointer earlier <- behöver pointern tidigare) SurgeVoice(SurgeStorage* storage, SurgeSceneStorage* scene, @@ -88,4 +88,4 @@ class SurgeVoice // filterblock stuff int id_cfa, id_cfb, id_kta, id_ktb, id_emoda, id_emodb, id_resoa, id_resob, id_drive, id_vca, id_vcavel, id_fbalance, id_feedback; -}; \ No newline at end of file +}; From 4e7db0541f80f9f6d71b4be32546a2c0602fce63 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 14:08:49 +0200 Subject: [PATCH 53/88] Swedish to English, ISO-8859-1 -> UTF8 --- src/common/dsp/LfoModulationSource.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/common/dsp/LfoModulationSource.cpp b/src/common/dsp/LfoModulationSource.cpp index d8d6832b78f..3ef4b1264ad 100644 --- a/src/common/dsp/LfoModulationSource.cpp +++ b/src/common/dsp/LfoModulationSource.cpp @@ -94,10 +94,13 @@ float CubicInterpolate(float y0, float y1, float y2, float y3, float mu) void LfoModulationSource::attack() { /* - // TODO lägg till scene LFO envelope release->attack blend om det går - // if !state så är det en scenelfo - // var inte så kul i verkligheten - + // TODO lägg till scene LFO envelope release->attack blend om det gÃ¥r + // if !state sÃ¥ är det en scenelfo + // var inte sÃ¥ kul i verkligheten + // TRANSLATE + // TODO Add Scene LFO Envelope Release -> Attack blend, if it is possible + // If !state, then it is a SceneLFO - was not so nice in reality / messy + if(!state && (localcopy[idelay].f == lfo->delay.val_min.f)) { env_state = lenv_attack; @@ -134,7 +137,8 @@ void LfoModulationSource::attack() { float phaseslider; if (lfo->shape.val.i == ls_stepseq) - phaseslider = 0.f; // använd phase som shuffle-param istället + phaseslider = 0.f; // använd phase som shuffle-param istället + // TRANSLATE: Use Phase as shuffle-parameter instead // else if(state) phaseslider = lfo->start_phase.val.f; else phaseslider = localcopy[startphase].f; @@ -450,4 +454,4 @@ void LfoModulationSource::process_block() if (lfo->unipolar.val.b && (s != ls_stepseq)) io2 = 0.5f + 0.5f * io2; output = env_val * localcopy[magn].f * io2; -} \ No newline at end of file +} From 88158bba73faf2101d9875da299714b93e4684c4 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 14:10:57 +0200 Subject: [PATCH 54/88] Swedish to English, ISO-8859-1 -> UTF8 --- src/common/dsp/DspUtilities.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/common/dsp/DspUtilities.h b/src/common/dsp/DspUtilities.h index 5dd1320e3e6..4d1d30299fe 100644 --- a/src/common/dsp/DspUtilities.h +++ b/src/common/dsp/DspUtilities.h @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------------------------------- -// Copyright 2005 Claes Johanson & Vember Audio +// Copyright 2005 Claes Johanson & Vember Audio //------------------------------------------------------------------------------------------------------- #pragma once @@ -238,7 +238,8 @@ inline float tanh_fast(float in) __m128 xx = _mm_mul_ss(x,x); __m128 denom = _mm_add_ss(_mm_add_ss(one,x), _mm_add_ss(xx,_mm_mul_ss(xx,_mm_mul_ss(_mm_load_ss(&a),x))); - + + #endif*/ } @@ -269,8 +270,12 @@ __forceinline float clamp1bp(float in) return in; } -// använd custom format (x^3 ?) internt, men spara som decibel i xml-datan +// använd custom format (x^3 ?) internt, men spara som decibel i xml-datan // bollocks to it +// TRANSLATE +// Use custom format (x^3 ?) internally, but save as decibel in XML-data +// bollocks to it + inline float amp_to_linear(float x) { x = max(0.f, x); From dea6170da98de7c16b369283b70180d9b6254a97 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 14:14:41 +0200 Subject: [PATCH 55/88] Swedish to English, ISO-8859-1 -> UTF8 --- src/common/dsp/SurgeVoice.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/common/dsp/SurgeVoice.cpp b/src/common/dsp/SurgeVoice.cpp index 98cccfa809e..c5a848c8998 100644 --- a/src/common/dsp/SurgeVoice.cpp +++ b/src/common/dsp/SurgeVoice.cpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------------------------------- -// Copyright 2005 Claes Johanson & Vember Audio +// Copyright 2005 Claes Johanson & Vember Audio //------------------------------------------------------------------------------------------------------- #include "SurgeVoice.h" #include "DspUtilities.h" @@ -277,7 +277,7 @@ void SurgeVoice::switch_toggled() set_path(use_osc1, use_osc2, use_osc3, FM, use_ring12, use_ring23, use_noise); } - // kolla filtertype + // Check the filtertype (kolla = check?) for (int u = 0; u < 2; u++) { if ((scene->filterunit[u].type.val.i != FBP.FU[u].type) || @@ -438,9 +438,9 @@ template void SurgeVoice::calc_ctrldata(QuadFilterChainState* Q, in localcopy[pan_id].f + state.voiceChannelState->pan + state.mainChannelState->pan, -1.f, 1.f); float amp = 0.5f * amp_to_linear(localcopy[volume_id].f); // the *0.5 multiplication will be eliminated - // by the 2x gain of the halfband filter + // by the 2x gain of the halfband filter - // volymkorrigering (fb_stereo uppdaterad sedan v1.2.2 + // Volume correcting/correction (fb_stereo updated since v1.2.2) if (scene->filterblock_configuration.val.i == fb_wide) amp *= 0.6666666f; else if (scene->filterblock_configuration.val.i == fb_stereo) @@ -707,7 +707,7 @@ void SurgeVoice::set_path( this->noise = noise; } -void SurgeVoice::SetQFB(QuadFilterChainState* Q, int e) // Q == 0 betyder init +void SurgeVoice::SetQFB(QuadFilterChainState* Q, int e) // Q == 0 means init(ialise) { fbq = Q; fbqi = e; @@ -801,7 +801,8 @@ void SurgeVoice::SetQFB(QuadFilterChainState* Q, int e) // Q == 0 betyder init if (scene->filterunit[u].type.val.i == fut_lpmoog) Q->FU[u].WP[0] = scene->filterunit[u] - .subtype.val.i; // lpmoog's output stage finns i WP[0] för hela quaden + .subtype.val.i; // lpmoog's output stage finns i WP[0] för hela quaden + // LPMoog's output stage is/exists/can be found in WP[0] for the whole/entire quad if (scene->filterblock_configuration.val.i == fb_wide) { From bfe3d1cb1fe010251354aa81c7cd7aad79418d95 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 14:39:21 +0200 Subject: [PATCH 56/88] removed kvr-audio development discussion why? because it requires specific access and is pretty quiet. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1109bac0547..06177ff608e 100644 --- a/README.md +++ b/README.md @@ -138,5 +138,4 @@ An example of setting the environment variable `VST2SDK_DIR` would be: ## References * Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=1&t=511922) - * Development Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=33&t=511921) * IRC channel #surgesynth @ irc.freenode.net From 3a5118c7ef384ada6f17e61b786e67e2a07f77a2 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 16:24:09 +0200 Subject: [PATCH 57/88] VST->AudioUnit (AU) It was confusing that `package-au.sh` says "Creating VST Bundle" when it is an AudioUnit (AU) Bundle. --- package-au.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-au.sh b/package-au.sh index 4d3069c9e2a..4bb1a6bf3ae 100755 --- a/package-au.sh +++ b/package-au.sh @@ -13,7 +13,7 @@ BUNDLE_NAME="Surge.component" BUNDLE_DIR="$OUTPUT_DIR/$BUNDLE_NAME" EXEC_TARGET_NAME="Surge" -echo Creating VST Bundle... +echo Creating AudioUnit (AU) Bundle... # create basic bundle structure From f534f66354df7b0cb22f000e765cd6361c9a020d Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Fri, 14 Dec 2018 17:19:11 +0200 Subject: [PATCH 58/88] Add Surge.PDF for documentation Now that we're in this state where @baconpaul has gotten Surge to actually run with a GUI, I think it's time this repo contained Surge.pdf too?? --- surge.pdf | Bin 0 -> 1118963 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 surge.pdf diff --git a/surge.pdf b/surge.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a1b2ead7eb9aec96d40ee1aad17ea82c4ac8ed40 GIT binary patch literal 1118963 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

fs&VGSM_F~5|0p&@jPPm9qE4A6be+%HH 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Ν4;`+72B`cZjaBNEh@ynEm;ykWwt$o1i?) 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 z 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

lGn1f=XW;vkQ<6Hsos)`mJ$nfUkQ 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

@knh%b97bH@h#@s``(cx^@*@D>)-=kOV(g z*6RLpC_qkO(d&lOZMu-u73kSyZb?r}Tqx7v%&qfH=#&NfD3UWo(*w03{K{`Qld0m+ z1hLY&cSF3g!(zW~siUC+VcA4gS-mWx{%F`u$W_|qZT|U)yJvte$~~MukTZ4n(+Jgk zQ?1zue;E$l-fnAvw%T_+G6a%2$0+UPnkQY^s_0%Owr?lOSD=FT`g@?ua$&m60-#93 z>VuQ>iEMlp*~SzO(93-A0&wsF^eg7E?_{eXyx3c`~rna1C!E@92 zxeX+dzO;Ka%J?&xxH3ID+7|@1%KQ^#ivJv|$W`ai+k8F-Y-UqS2>kxC;Ke4|JWjTu z0?XcDu5CbaC78sV=KEH*M|2Q+oX`imJ#8BKHY0>Xqjg{x7D!IjoE7SNT>0G+8QIW7CFIy{g5@5<0?$+yqHv1+@Y)84G=vYaz82@Z%RVZf%XO1|}Y}w9tHda*(8nvJ>6Q3$2 z9+wJ^yku$ZzkXJK_6=?w$mE_y=)a@*S;P$g$129DIi;0+t6ppwZbX&+ZEvcn6dzv8 zW2}tkd8yxjsXSj}e~MMwoaWbeYF2UGC`i#m*u0y84ERE$JB4Dud*l$B$j~mI6H&rI zj5ZW{JzYp@M!nM(a4?R_wmpo8Q@zgQ`_i~CO=>(Jt)cTfoX;U2B@=+u$s>ZIRL5K} zanrQzw|#TtUTEl~bc@_@VzuvwCzC(iJ{lO)pNmRKtckxWJy^KLiJ?D(U-Gxgq4v+I zwy6}EIbIdD103`joASjZ#Ro08EGGP?>0*C-Uu9k)OL*D(DXhn{1a&kzGERquq3Med zvzF^RSZ@waxl*2uym!@M{2SL01hGE{z{sPcqpXw!V=C2_1kzvi_=LBTG2f2SO4Yzu zxy};Vj3?#TZP9qRSSqA0$⁡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

nnMB|brqtM)Kjo8UJ=7cv& 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 z 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

m$N3|K+Xto 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

V7J@rM169aSDv4O2NMwqLCA?42j$iRmTLd%blU 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ð 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 D6f~Z3 literal 0 HcmV?d00001 From d404bdd04b9660a904e793ba85ecd75c5d5129f6 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Fri, 14 Dec 2018 14:56:23 -0500 Subject: [PATCH 59/88] Fix issue #29 on RMB for wavetable --- src/common/gui/COscillatorDisplay.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/gui/COscillatorDisplay.cpp b/src/common/gui/COscillatorDisplay.cpp index 0a4ec22511c..1ce70ba3f04 100644 --- a/src/common/gui/COscillatorDisplay.cpp +++ b/src/common/gui/COscillatorDisplay.cpp @@ -288,6 +288,7 @@ CMouseEventResult COscillatorDisplay::onMouseDown(CPoint& where, const CButtonSt getFrame()->addView(contextMenu); // add to frame contextMenu->setDirty(); + contextMenu->popup(); contextMenu->onMouseDown(where, kLButton); // <-- modal menu loop is here // getFrame()->looseFocus(pContext); @@ -323,4 +324,4 @@ CMouseEventResult COscillatorDisplay::onMouseMoved(CPoint& where, const CButtonS invalid();*/ } return kMouseEventHandled; -} \ No newline at end of file +} From 4dec747fcf270c7b1f1bd2eeeb9d94b4d58199f9 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Fri, 14 Dec 2018 17:59:56 -0500 Subject: [PATCH 60/88] Working zoom / scale in the AU host --- src/au/aulayer.h | 1 + src/au/aulayer_cocoaui.mm | 25 +- src/common/gui/#COscillatorDisplay.cpp# | 327 ++++++++++++++++++++++++ src/common/gui/.#COscillatorDisplay.cpp | 1 + src/common/gui/SurgeGUIEditor.cpp | 50 +++- src/common/gui/SurgeGUIEditor.h | 9 + 6 files changed, 410 insertions(+), 3 deletions(-) create mode 100644 src/common/gui/#COscillatorDisplay.cpp# create mode 120000 src/common/gui/.#COscillatorDisplay.cpp diff --git a/src/au/aulayer.h b/src/au/aulayer.h index bd69d68576d..c5e0721d632 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -12,6 +12,7 @@ class SurgeGUIEditor; class SurgeSynthesizer; typedef SurgeSynthesizer plugin; +#define GENERATE_AU_LOG struct AULOG { #ifdef GENERATE_AU_LOG diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 2be418d65a9..a2227cc799c 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -41,6 +41,7 @@ @interface SurgeNSView : NSView { SurgeGUIEditor *editController; CFRunLoopTimerRef idleTimer; + float lastScale; } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; @@ -92,8 +93,10 @@ @implementation SurgeNSView - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size { self = [super initWithFrame: NSMakeRect (0, 0, size.width / 2, size.height / 2)]; + idleTimer = nil; editController = cont; + lastScale = cont->getZoomFactor() / 100.0; if (self) { AULOG::log( "Opening new editor view\n" ); @@ -105,7 +108,27 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size NSRect newSize = NSMakeRect (0, 0, vr->right - vr->left, vr->bottom - vr->top); [self setFrame:newSize]; } - + + cont->setZoomCallback( [cont,self]() { + AULOG::log( "In the Zoom Callback back in Cocoa to %d\n", cont->getZoomFactor() ); + ERect *vr; + float zf = cont->getZoomFactor() / 100.0; + if (cont->getRect(&vr)) + { + NSRect newSize = NSMakeRect (0, 0, + (int)( (vr->right - vr->left) * zf ), + (int)( (vr->bottom - vr->top) * zf ) ); + AULOG::log( "Scalining display and unit square by %lf\n", zf ); + [self scaleUnitSquareToSize:NSMakeSize( zf / lastScale, zf / lastScale )]; + lastScale = zf; + + AULOG::log( "Resetting window size\n" ); + [self setFrame:newSize]; + } + + } + ); + CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms CFRunLoopTimerContext TimerContext = {0, self, NULL, NULL, NULL}; CFAbsoluteTime FireTime = CFAbsoluteTimeGetCurrent() + TIMER_INTERVAL; diff --git a/src/common/gui/#COscillatorDisplay.cpp# b/src/common/gui/#COscillatorDisplay.cpp# new file mode 100644 index 00000000000..56b568d80cb --- /dev/null +++ b/src/common/gui/#COscillatorDisplay.cpp# @@ -0,0 +1,327 @@ +//------------------------------------------------------------------------------------------------------- +// Copyright 2005 Claes Johanson & Vember Audio +//------------------------------------------------------------------------------------------------------- +#include "COscillatorDisplay.h" +#include "Oscillator.h" +#include +#include "unitconversion.h" + +const float disp_pitch = 90.15f - 48.f; +const int wtbheight = 12; + +extern CFontRef surge_minifont; + +void COscillatorDisplay::draw(CDrawContext* dc) +{ + pdata tp[n_scene_params]; + tp[oscdata->pitch.param_id_in_scene].f = 0; + for (int i = 0; i < n_osc_params; i++) + tp[oscdata->p[i].param_id_in_scene].i = oscdata->p[i].val.i; + Oscillator* osc = spawn_osc(oscdata->type.val.i, storage, oscdata, tp); + + cdisurf->begin(); + cdisurf->clear(0xffffffff); + + int w = cdisurf->getWidth(); + int h2 = cdisurf->getHeight(); + int h = h2; + assert(h < 512); + if (uses_wavetabledata(oscdata->type.val.i)) + h -= wtbheight; + + unsigned int column[512]; + int column_d[512]; + float lastval = 0; + int midline = h >> 1; + int topline = midline - 0.4f * h; + int bottomline = midline + 0.4f * h; + const int aa_bs = 4; + const int aa_samples = 1 << aa_bs; + int last_imax = -1, last_imin = -1; + if (osc) + { + // srand(2); + float disp_pitch_rs = disp_pitch + 12.0 * log2(dsamplerate / 44100.0); + bool use_display = osc->allow_display(); + if (use_display) + osc->init(disp_pitch_rs, true); + int block_pos = block_size_os; + for (int y = 0; y < h2; y++) + column_d[y] = 0; + + for (int x = 0; x < getWidth(); x++) + { + for (int y = 0; y < h2; y++) + column[y] = 0; + for (int s = 0; s < aa_samples; s++) + { + if (use_display && (block_pos >= block_size_os)) + { + if (uses_wavetabledata(oscdata->type.val.i)) + { + storage->CS_WaveTableData.enter(); + osc->process_block(disp_pitch_rs); + block_pos = 0; + storage->CS_WaveTableData.leave(); + } + else + { + osc->process_block(disp_pitch_rs); + block_pos = 0; + } + } + + float val = 0.f; + if (use_display) + val = -osc->output[block_pos]; + + val = (float)((0.5f + 0.4f * val) * h); + lastval = val; + float v_min = val; + float v_max = val; + + v_min = val - 0.5f; + v_max = val + 0.5f; + int imin = (int)v_min; + int imax = (int)v_max; + float imax_frac = (v_max - imax); + float imin_frac = 1 - (v_min - imin); + + if (imax == imin) + imax++; + + if (imin < 0) + imin = 0; + int dimax = imax, dimin = imin; + + if ((x > 0) || (s > 0)) + { + if (dimin > last_imax) + dimin = last_imax; + else if (dimax < last_imin) + dimax = last_imin; + } + dimin = limit_range(dimin, 0, h); + dimax = limit_range(dimax, 0, h); + + // int yp = (int)((float)(size.height() * (-osc->output[block_pos]*0.5+0.5))); + // yp = limit_range(yp,0,h-1); + + column[dimin] += ((int)((float)imin_frac * 255.f)); + column[dimax + 1] += ((int)((float)imax_frac * 255.f)); + for (int b = (dimin + 1); b < (dimax + 1); b++) + { + column_d[b & 511] = aa_samples; + } + last_imax = imax; + last_imin = imin; + block_pos++; + for (int y = 0; y < h; y++) + { + if (column_d[y] > 0) + column[y] += 256; + column_d[y]--; + } + } + column[midline] = max((unsigned int)64 << aa_bs, column[midline]); + column[topline] = max((unsigned int)32 << aa_bs, column[topline]); + column[bottomline] = max((unsigned int)32 << aa_bs, column[bottomline]); + for (int y = 0; y < h2; y++) + { + cdisurf->setPixel(x, y, coltable[min((unsigned int)255, (column[y] >> aa_bs))]); + } + } + _aligned_free(osc); + // srand( (unsigned)time( NULL ) ); + } + cdisurf->commit(); + auto size = getViewSize(); + cdisurf->draw(dc, size); + + if (uses_wavetabledata(oscdata->type.val.i)) + { + CRect wtlbl(size); + wtlbl.right -= 1; + wtlbl.top = wtlbl.bottom - wtbheight; + rmenu = wtlbl; + rmenu.inset(12, 0); + char wttxt[256]; + + storage->CS_WaveTableData.enter(); + + int wtid = oscdata->wt.current_id; + if ((wtid >= 0) && (wtid < storage->wt_list.size())) + { + strcpy(wttxt, storage->wt_list.at(wtid).name.c_str()); + } + else if (oscdata->wt.flags & wtf_is_sample) + { + strcpy(wttxt, "(Patch Sample)"); + } + else + { + strcpy(wttxt, "(Patch Wavetable)"); + } + + storage->CS_WaveTableData.leave(); + + char* r = strrchr(wttxt, '.'); + if (r) + *r = 0; + // VSTGUI::CColor fgcol = cdisurf->int_to_ccol(coltable[255]); + VSTGUI::CColor fgcol = {0xff, 0xA0, 0x10, 0xff}; + dc->setFillColor(fgcol); + dc->drawRect(rmenu, kDrawFilled); + dc->setFontColor(kBlackCColor); + dc->setFont(surge_minifont); + // strupr(wttxt); + dc->drawString(wttxt, rmenu, kCenterText, false); + + /*CRect wtlbl_status(size); + wtlbl_status.bottom = wtlbl_status.top + wtbheight; + dc->setFontColor(kBlackCColor); + if(oscdata->wt.flags & wtf_is_sample) dc->drawString("IS + SAMPLE",wtlbl_status,false,kRightText);*/ + + rnext = wtlbl; + rnext.left = rmenu.right; //+ 1; + rprev = wtlbl; + rprev.right = rmenu.left; //- 1; + dc->setFillColor(fgcol); + dc->drawRect(rprev, kDrawFilled); + dc->drawRect(rnext, kDrawFilled); + dc->setFrameColor(kBlackCColor); + for (int a = 0; a < 4; a++) + { + CPoint p1(rprev.left + 4 + a, rprev.top + (rprev.getHeight() * 0.5) - a); + CPoint p2 = p1; + p2.y += (a << 1) + 1; + dc->drawLine(p1, p2); + + CPoint p3(rnext.right - 4 - a, rnext.top + (rnext.getHeight() * 0.5) - a); + CPoint p4 = p3; + p4.y += (a << 1) + 1; + dc->drawLine(p3, p4); + } + } + + setDirty(false); +} + +bool COscillatorDisplay::onDrop(IDataPackage* drag, const CPoint& where) +{ + /*long size,type; + char *filename = (char*)drag->first(size,type); + //while(filename) + if(filename) + { + if(type == CDragContainer::kFile) + { + strncpy(oscdata->wt.queue_filename, filename, 255); + } +// filename = (char*)drag->next(size,type); + }*/ + return true; +} + +CMouseEventResult COscillatorDisplay::onMouseDown(CPoint& where, const CButtonState& button) +{ + if (!(button & kLButton)) + return kMouseDownEventHandledButDontNeedMovedOrUpEvents; + + assert(oscdata); + + if (!uses_wavetabledata(oscdata->type.val.i) || (where.y < rmenu.top)) + { + controlstate = 1; + lastpos.x = where.x; + return kMouseEventHandled; + } + else if (uses_wavetabledata(oscdata->type.val.i)) + { + int diff = 0; + if (rprev.pointInside(where)) + { + diff = -1; + } + else if (rnext.pointInside(where)) + { + diff = 1; + } + if (diff) + { + oscdata->wt.queue_id = + (oscdata->wt.current_id + diff + storage->wt_list.size()) % storage->wt_list.size(); + } + else if (rmenu.pointInside(where)) + { + CRect menurect(0, 0, 0, 0); + menurect.offset(where.x, where.y); + COptionMenu* contextMenu = new COptionMenu(menurect, 0, 0, 0, 0, kNoDrawStyle); + + for (int c = 0; c < storage->wt_category.size(); c++) + { + char name[namechars]; + COptionMenu* subMenu = new COptionMenu(getViewSize(), 0, c, 0, 0, kNoDrawStyle); + subMenu->setNbItemsPerColumn(32); + int sub = 0; + int p; + for (p = 0; p < storage->wt_list.size(); p++) + { + if (storage->wt_list[p].category == c) + { + sprintf(name, "%s", storage->wt_list[p].name.c_str()); + auto actionItem = new CCommandMenuItem(name); + auto action = [this, p](CCommandMenuItem* item) { this->loadWavetable(p); }; + + actionItem->setActions(action, nullptr); + subMenu->addEntry(actionItem); + + sub++; + } + } + strncpy(name, storage->wt_category[c].name.c_str(), namechars); + contextMenu->addEntry(subMenu, name); + + subMenu->forget(); // viktigt, sÃ¥ att refcounter blir rätt + } + + getFrame()->addView(contextMenu); // add to frame + contextMenu->setDirty(); + -contextMenu->popup(); + contextMenu->onMouseDown(where, kLButton); // <-- modal menu loop is here + // getFrame()->looseFocus(pContext); + + getFrame()->removeView(contextMenu, true); // remove from frame and forget + } + } + return kMouseDownEventHandledButDontNeedMovedOrUpEvents; +} + +void COscillatorDisplay::loadWavetable(int id) +{ + if (id >= 0 && (id < storage->wt_list.size())) + { + oscdata->wt.queue_id = id; + } +} + +CMouseEventResult COscillatorDisplay::onMouseUp(CPoint& where, const CButtonState& buttons) +{ + if (controlstate) + { + controlstate = 0; + } + return kMouseEventHandled; +} +CMouseEventResult COscillatorDisplay::onMouseMoved(CPoint& where, const CButtonState& buttons) +{ + if (controlstate) + { + /*oscdata->startphase.val.f -= 0.005f * (where.x - lastpos.x); + oscdata->startphase.val.f = limit_range(oscdata->startphase.val.f,0.f,1.f); + lastpos.x = where.x; + invalid();*/ + } + return kMouseEventHandled; +} diff --git a/src/common/gui/.#COscillatorDisplay.cpp b/src/common/gui/.#COscillatorDisplay.cpp new file mode 120000 index 00000000000..bb7253394f3 --- /dev/null +++ b/src/common/gui/.#COscillatorDisplay.cpp @@ -0,0 +1 @@ +paul@PWLaptop.local.53194 \ No newline at end of file diff --git a/src/common/gui/SurgeGUIEditor.cpp b/src/common/gui/SurgeGUIEditor.cpp index f3d2d4d9362..264ae14b263 100644 --- a/src/common/gui/SurgeGUIEditor.cpp +++ b/src/common/gui/SurgeGUIEditor.cpp @@ -20,8 +20,10 @@ #include "SurgeBitmaps.h" #include "CNumberField.h" -/*#if TARGET_AUDIOUNIT +#if TARGET_AUDIOUNIT #include "aulayer.h" +#endif +/* #elif TARGET_VST3 #include "surgeprocessor.h" #elif TARGET_VST2 @@ -63,6 +65,7 @@ enum special_tags tag_about, tag_mod_source0, tag_mod_source_end = tag_mod_source0 + n_modsources, + tag_mp_zoom, // tag_metaparam, // tag_metaparam_end = tag_metaparam+n_customcontrollers, start_paramtags, @@ -126,11 +129,13 @@ SurgeGUIEditor::SurgeGUIEditor(void* effect, SurgeSynthesizer* synth) : super(ef #ifdef TARGET_VST3 _idleTimer = new CVSTGUITimer([this](CVSTGUITimer* timer) { idle(); }, 50, false); #endif + zoom_callback = [](){ }; + zoomFactor = 100; } SurgeGUIEditor::~SurgeGUIEditor() { - if (frame) + if (frame ) { getFrame()->unregisterKeyboardHook(this); frame->removeAll(true); @@ -1062,6 +1067,22 @@ void SurgeGUIEditor::openOrRecreateEditor() getSurgeBitmap(IDB_BUTTON_ABOUT), nopoint, false); frame->addView(b_about); + // ZOOM CONTROL + CHSwitch2* mp_zoom = + new CHSwitch2(CRect( 892-77, 526, 892 - 40, 526 + 12 ), this, tag_mp_zoom, 2, 12, 1, 2, + getSurgeBitmap(IDB_BUTTON_MINUSPLUS), nopoint, false); + frame->addView(mp_zoom); + CTextLabel *Comments = new + CTextLabel(CRect( 892-137, 526, 892 - 77, 526 + 12 ), "Zoom" ); + + Comments->setTransparency(true); + Comments->setFont(minifont); + Comments->setFontColor( kBlackCColor ); + Comments->setHoriAlign(kRightText); + frame->addView(Comments); + + // END ZOOM CONTROL + infowindow = new CParameterTooltip(CRect(0, 0, 0, 0)); frame->addView(infowindow); @@ -1854,6 +1875,16 @@ void SurgeGUIEditor::valueChanged(CControl* control) return; } break; + case tag_mp_zoom: + { + if (control->getValue() > 0.5f) + zoomInDir( 1 ); + else + zoomInDir( -1 ); + return; + + } + break; case tag_osc_select: { current_osc = (int)(control->getValue() * 2.f + 0.5f); @@ -2220,4 +2251,19 @@ bool SurgeGUIEditor::showPatchStoreDialog(patchdata* p, return false; } +void SurgeGUIEditor::zoomInDir( int dir ) +{ + if( dir > 0 ) + { + zoomFactor += 10; + } + else + { + zoomFactor -= 10; + } + if( zoomFactor < 50 ) zoomFactor = 50; + if( zoomFactor > 300 ) zoomFactor = 300; + zoom_callback(); +} + //------------------------------------------------------------------------------------------------ diff --git a/src/common/gui/SurgeGUIEditor.h b/src/common/gui/SurgeGUIEditor.h index 47f8d348117..81e4e381ff2 100644 --- a/src/common/gui/SurgeGUIEditor.h +++ b/src/common/gui/SurgeGUIEditor.h @@ -86,6 +86,15 @@ class SurgeGUIEditor : public EditorType, public IControlListener, public IKeybo vector* patch_category, int startcategory); + + void zoomInDir( int dir ); + int zoomFactor; + public: + void setZoomCallback( std::function< void() > f ) { zoom_callback = f; } + int getZoomFactor() { return zoomFactor; } + private: + std::function< void() > zoom_callback; + SurgeBitmaps bitmap_keeper; CControl* vu[16]; From 7784cf4b89d8a21921a5ae6f4dcacefbbc0b622c Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Fri, 14 Dec 2018 20:57:30 -0500 Subject: [PATCH 61/88] Fix the resize problem for the subset of hosts who remember window size --- src/au/aulayer_cocoaui.mm | 60 ++++++++++++++++++++++----------- src/common/gui/SurgeGUIEditor.h | 1 + 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index a2227cc799c..5f2b6f91e96 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -42,11 +42,13 @@ @interface SurgeNSView : NSView SurgeGUIEditor *editController; CFRunLoopTimerRef idleTimer; float lastScale; + NSSize underlyingUISize; } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; - (void) doIdle; - (void) dealloc; +- (void) setFrame:(NSRect)newSize; @end @@ -63,6 +65,7 @@ - (NSView *) uiViewForAudioUnit: (AudioUnit) inAudioUnit { // Remember we end up being called here because that's what AUCocoaUIView does in the initiation collaboration with hosts AULOG::log( "uiViewForAudioUnit %s on %s\n", __TIME__, __DATE__ ); + AULOG::log( "prefSize is %f %f\n", inPreferredSize.width, inPreferredSize.height ); SurgeGUIEditor* editController = 0; UInt32 size = sizeof (SurgeGUIEditor *); @@ -99,35 +102,33 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size lastScale = cont->getZoomFactor() / 100.0; if (self) { - AULOG::log( "Opening new editor view\n" ); cont->open( self ); ERect *vr; if (cont->getRect(&vr)) { + float zf = cont->getZoomFactor() / 100.0; NSRect newSize = NSMakeRect (0, 0, vr->right - vr->left, vr->bottom - vr->top); + underlyingUISize = newSize.size; [self setFrame:newSize]; } cont->setZoomCallback( [cont,self]() { - AULOG::log( "In the Zoom Callback back in Cocoa to %d\n", cont->getZoomFactor() ); - ERect *vr; - float zf = cont->getZoomFactor() / 100.0; - if (cont->getRect(&vr)) - { - NSRect newSize = NSMakeRect (0, 0, - (int)( (vr->right - vr->left) * zf ), - (int)( (vr->bottom - vr->top) * zf ) ); - AULOG::log( "Scalining display and unit square by %lf\n", zf ); - [self scaleUnitSquareToSize:NSMakeSize( zf / lastScale, zf / lastScale )]; - lastScale = zf; - - AULOG::log( "Resetting window size\n" ); - [self setFrame:newSize]; - } - - } - ); + ERect *vr; + float zf = cont->getZoomFactor() / 100.0; + if (cont->getRect(&vr)) + { + NSRect newSize = NSMakeRect (0, 0, + (int)( (vr->right - vr->left) * zf ), + (int)( (vr->bottom - vr->top) * zf ) ); + [self scaleUnitSquareToSize:NSMakeSize( zf / lastScale, zf / lastScale )]; + lastScale = zf; + + [self setFrame:newSize]; + } + + } + ); CFTimeInterval TIMER_INTERVAL = .05; // In SurgeGUISynthesizer.h it uses 50 ms CFRunLoopTimerContext TimerContext = {0, self, NULL, NULL, NULL}; @@ -161,6 +162,27 @@ - (void) dealloc [super dealloc]; } +- (void) setFrame: (NSRect) newSize +{ + /* + * I override setFrame because hosts have independent views of window sizes which are saved. + * this needs to be found when the host resizes after creation to set the zoomFactor properly. + * Teensy bit gross, but works. Seems AU Lab does this but Logic Pro does not. + * + * the other option is to make zoom a parameter but then its in a patch and that seems wrong. + */ + NSSize targetSize = newSize.size; + + if( fabs( targetSize.width - underlyingUISize.width * lastScale ) > 2 ) + { + // so what's my apparent ratio + float apparentZoom = targetSize.width / ( underlyingUISize.width * lastScale ); + int azi = roundf( apparentZoom * 10 ) * 10; // this is a bit gross. I know the zoom is incremented by 10s + editController->setZoomFactor( azi ); + } + [super setFrame:newSize]; +} + @end diff --git a/src/common/gui/SurgeGUIEditor.h b/src/common/gui/SurgeGUIEditor.h index 81e4e381ff2..54eced6b206 100644 --- a/src/common/gui/SurgeGUIEditor.h +++ b/src/common/gui/SurgeGUIEditor.h @@ -92,6 +92,7 @@ class SurgeGUIEditor : public EditorType, public IControlListener, public IKeybo public: void setZoomCallback( std::function< void() > f ) { zoom_callback = f; } int getZoomFactor() { return zoomFactor; } + void setZoomFactor( int zf ) { zoomFactor = zf; zoom_callback(); } private: std::function< void() > zoom_callback; From b865d8e9ee45323b1858a324af53e01ae3d18b7f Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Sat, 15 Dec 2018 18:53:39 +0200 Subject: [PATCH 62/88] (baconpaul) make RMB click on wavetable work ripped from @baconpaul fix from https://github.com/baconpaul/surge/commit/d404bdd04b9660a904e793ba85ecd75c5d5129f6 (fixes #29) --- src/common/gui/COscillatorDisplay.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/gui/COscillatorDisplay.cpp b/src/common/gui/COscillatorDisplay.cpp index 0110d217522..821a4f0799f 100644 --- a/src/common/gui/COscillatorDisplay.cpp +++ b/src/common/gui/COscillatorDisplay.cpp @@ -287,8 +287,9 @@ CMouseEventResult COscillatorDisplay::onMouseDown(CPoint& where, const CButtonSt } getFrame()->addView(contextMenu); // add to frame - contextMenu->setDirty(); - contextMenu->onMouseDown(where, kLButton); // <-- modal menu loop is here + contextMenu->setDirty(); + contextMenu->popup(); + contextMenu->onMouseDown(where, kLButton); // <-- modal menu loop is here // getFrame()->looseFocus(pContext); getFrame()->removeView(contextMenu, true); // remove from frame and forget From a047cc45adc4611072d4199d9326512d39b6ab5c Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 00:20:29 -0500 Subject: [PATCH 63/88] include configuration.xml in osx bundles and load it --- package-au.sh | 3 +++ package-vst.sh | 2 ++ package-vst3.sh | 2 ++ resources/osx-au/Info.plist | 2 +- resources/osx-vst2/Info.plist | 2 +- src/common/CpuArchitecture.cpp | 4 ++++ src/common/SurgeStorage.cpp | 28 ++++++++++++++++++++++++++- src/common/gui/COscillatorDisplay.cpp | 6 +++--- src/common/vt_dsp/basic_dsp.cpp | 2 +- 9 files changed, 44 insertions(+), 7 deletions(-) diff --git a/package-au.sh b/package-au.sh index 4d3069c9e2a..c1b9cf31289 100755 --- a/package-au.sh +++ b/package-au.sh @@ -6,6 +6,7 @@ PACKAGE_SRC_LOCATION="$RES_SRC_LOCATION/osx-au" BITMAP_SRC_LOCATION="$RES_SRC_LOCATION/bitmaps" BUNDLE_RES_SRC_LOCATION="$RES_SRC_LOCATION/osx-resources" EXEC_LOCATION="target/au/Release/Surge.dylib" +EXEC_LOCATION="target/au/Debug/Surge-Debug.dylib" # output configs OUTPUT_DIR=products @@ -32,3 +33,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" +cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" + diff --git a/package-vst.sh b/package-vst.sh index 6c56bf68c5a..5e46710d047 100755 --- a/package-vst.sh +++ b/package-vst.sh @@ -32,3 +32,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" +cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" + diff --git a/package-vst3.sh b/package-vst3.sh index 6c56bf68c5a..5e46710d047 100755 --- a/package-vst3.sh +++ b/package-vst3.sh @@ -32,3 +32,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" +cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" + diff --git a/resources/osx-au/Info.plist b/resources/osx-au/Info.plist index 4972834dc95..f1e41294f7a 100644 --- a/resources/osx-au/Info.plist +++ b/resources/osx-au/Info.plist @@ -32,7 +32,7 @@ CFBundleIconFile surgeicon CFBundleIdentifier - com.vemberaudio.audiounit.surge + com.vemberaudio.plugins.surge CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/resources/osx-vst2/Info.plist b/resources/osx-vst2/Info.plist index 90bad7f27ea..bdd21cdca9a 100644 --- a/resources/osx-vst2/Info.plist +++ b/resources/osx-vst2/Info.plist @@ -9,7 +9,7 @@ CFBundleIconFile surgeicon.icns CFBundleIdentifier - com.vemberaudio.vst.surge + com.vemberaudio.plugins.surge CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/src/common/CpuArchitecture.cpp b/src/common/CpuArchitecture.cpp index f24a7535ff7..b933e69ee28 100644 --- a/src/common/CpuArchitecture.cpp +++ b/src/common/CpuArchitecture.cpp @@ -23,6 +23,10 @@ void initCpuArchitecture() CpuArchitecture |= CaCMOV; if ((1 << 26) & CPUInfo[3]) CpuArchitecture |= CaSSE2; +#elif MAC + // intel macs always support + CpuArchitecture |= CaCMOV; + CpuArchitecture |= CaSSE2; #else __builtin_cpu_init(); if (__builtin_cpu_supports("sse2")) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index 3b7c4e9dd00..1ea894d490c 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -28,6 +28,29 @@ float samplerate, samplerate_inv; double dsamplerate, dsamplerate_inv; double dsamplerate_os, dsamplerate_os_inv; +#if MAC +#include + +string getSelfLocation() { + char path[PATH_MAX]; + + CFStringRef selfName = CFSTR("com.vemberaudio.plugins.surge"); + CFBundleRef mainBundle = CFBundleGetBundleWithIdentifier(selfName); + CFURLRef resourcesURL = CFBundleCopyBundleURL(mainBundle); + CFStringRef str = CFURLCopyFileSystemPath( resourcesURL, kCFURLPOSIXPathStyle ); + CFRelease(resourcesURL); + + CFStringGetCString( str, path, FILENAME_MAX, kCFStringEncodingASCII ); + CFRelease(str); + + string out(path); + fprintf(stderr, path); + +// fileLocation = CFBundleCopyResourceURL(gameBundle, filename, fileExtension, subdirectory); + return out; +} +#endif + SurgeStorage::SurgeStorage() { _patch.reset(new SurgePatch(this)); @@ -152,8 +175,11 @@ SurgeStorage::SurgeStorage() } #endif +#if MAC + string snapshotmenupath = getSelfLocation() + "/Contents/Resources/configuration.xml"; +#else string snapshotmenupath = datapath + "configuration.xml"; - +#endif if (!snapshotloader.LoadFile(snapshotmenupath.c_str())) // load snapshots (& config-stuff) { #if !MAC && !__linux__ diff --git a/src/common/gui/COscillatorDisplay.cpp b/src/common/gui/COscillatorDisplay.cpp index 0a4ec22511c..7f988cb3207 100644 --- a/src/common/gui/COscillatorDisplay.cpp +++ b/src/common/gui/COscillatorDisplay.cpp @@ -101,8 +101,8 @@ void COscillatorDisplay::draw(CDrawContext* dc) else if (dimax < last_imin) dimax = last_imin; } - dimin = limit_range(dimin, 0, h); - dimax = limit_range(dimax, 0, h); + dimin = limit_range(dimin, 0, h-1); + dimax = limit_range(dimax, 0, h-1); // int yp = (int)((float)(size.height() * (-osc->output[block_pos]*0.5+0.5))); // yp = limit_range(yp,0,h-1); @@ -323,4 +323,4 @@ CMouseEventResult COscillatorDisplay::onMouseMoved(CPoint& where, const CButtonS invalid();*/ } return kMouseEventHandled; -} \ No newline at end of file +} diff --git a/src/common/vt_dsp/basic_dsp.cpp b/src/common/vt_dsp/basic_dsp.cpp index 77e9ce9be8f..76d7cda5c55 100644 --- a/src/common/vt_dsp/basic_dsp.cpp +++ b/src/common/vt_dsp/basic_dsp.cpp @@ -81,7 +81,7 @@ unsigned int Max(unsigned int a, unsigned int b) int limit_range(int x, int l, int h) { -#if _M_X64 || PPC || __linux__ +#if _M_X64 || PPC || __linux__ || MAC return max(min(x, h), l); #else __asm From 071a94c6a2c23314353abd627c89bc9660179c63 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 08:47:42 -0500 Subject: [PATCH 64/88] Since it only works in AU, ifdef image display for now --- src/common/gui/SurgeGUIEditor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/gui/SurgeGUIEditor.cpp b/src/common/gui/SurgeGUIEditor.cpp index 264ae14b263..5b54b4630db 100644 --- a/src/common/gui/SurgeGUIEditor.cpp +++ b/src/common/gui/SurgeGUIEditor.cpp @@ -1067,7 +1067,8 @@ void SurgeGUIEditor::openOrRecreateEditor() getSurgeBitmap(IDB_BUTTON_ABOUT), nopoint, false); frame->addView(b_about); - // ZOOM CONTROL +#if TARGET_AUDIOUNIT + // ZOOM CONTROL for now is only implemented in the Audio Unit host CHSwitch2* mp_zoom = new CHSwitch2(CRect( 892-77, 526, 892 - 40, 526 + 12 ), this, tag_mp_zoom, 2, 12, 1, 2, getSurgeBitmap(IDB_BUTTON_MINUSPLUS), nopoint, false); @@ -1080,8 +1081,8 @@ void SurgeGUIEditor::openOrRecreateEditor() Comments->setFontColor( kBlackCColor ); Comments->setHoriAlign(kRightText); frame->addView(Comments); - // END ZOOM CONTROL +#endif infowindow = new CParameterTooltip(CRect(0, 0, 0, 0)); frame->addView(infowindow); From 6e9e2639d39fb4e5cd2b1f99b4b789506176071f Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 10:05:53 -0500 Subject: [PATCH 65/88] Should have never been added. sorry! --- src/common/gui/.#COscillatorDisplay.cpp | 1 - 1 file changed, 1 deletion(-) delete mode 120000 src/common/gui/.#COscillatorDisplay.cpp diff --git a/src/common/gui/.#COscillatorDisplay.cpp b/src/common/gui/.#COscillatorDisplay.cpp deleted file mode 120000 index bb7253394f3..00000000000 --- a/src/common/gui/.#COscillatorDisplay.cpp +++ /dev/null @@ -1 +0,0 @@ -paul@PWLaptop.local.53194 \ No newline at end of file From e5737f0785141147995d57e1d5637a0001c9f183 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 10:06:35 -0500 Subject: [PATCH 66/88] Show an error message on Mac if not properly configured --- src/common/SurgeStorage.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index c8700f3fa2a..3f4883b2252 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -160,6 +160,28 @@ SurgeStorage::SurgeStorage() MessageBox(::GetActiveWindow(), "Surge is not properly installed. Please reinstall.", "Configuration not found", MB_OK | MB_ICONERROR); #endif +#if MAC + SInt32 nRes = 0; + CFUserNotificationRef pDlg = NULL; + const void* keys[] = { kCFUserNotificationAlertHeaderKey, + kCFUserNotificationAlertMessageKey + }; + const void* vals[] = { + CFSTR("Surge is not properly installed"), + CFSTR("Unable to open configuration.xml from ~/Library/Application Support/Surge") + + }; + + CFDictionaryRef dict = CFDictionaryCreate(0, keys, vals, + sizeof(keys)/sizeof(*keys), + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + + pDlg = CFUserNotificationCreate(kCFAllocatorDefault, 0, + kCFUserNotificationStopAlertLevel, + &nRes, dict); +#endif + } TiXmlElement* e = snapshotloader.FirstChild("autometa")->ToElement(); From 5e87d63008a82eceae8ecb3a83d29d6ba1e16d91 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Sun, 16 Dec 2018 18:01:33 +0200 Subject: [PATCH 67/88] alert on mac if configuration.xml doesn't exist Applying @baconpaul commit from https://github.com/baconpaul/surge/commit/e5737f0785141147995d57e1d5637a0001c9f183 discussion at https://github.com/kurasu/surge/issues/89 --- src/common/SurgeStorage.cpp | 38 ++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index 3b7c4e9dd00..3f4883b2252 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -160,6 +160,28 @@ SurgeStorage::SurgeStorage() MessageBox(::GetActiveWindow(), "Surge is not properly installed. Please reinstall.", "Configuration not found", MB_OK | MB_ICONERROR); #endif +#if MAC + SInt32 nRes = 0; + CFUserNotificationRef pDlg = NULL; + const void* keys[] = { kCFUserNotificationAlertHeaderKey, + kCFUserNotificationAlertMessageKey + }; + const void* vals[] = { + CFSTR("Surge is not properly installed"), + CFSTR("Unable to open configuration.xml from ~/Library/Application Support/Surge") + + }; + + CFDictionaryRef dict = CFDictionaryCreate(0, keys, vals, + sizeof(keys)/sizeof(*keys), + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + + pDlg = CFUserNotificationCreate(kCFAllocatorDefault, 0, + kCFUserNotificationStopAlertLevel, + &nRes, dict); +#endif + } TiXmlElement* e = snapshotloader.FirstChild("autometa")->ToElement(); @@ -342,8 +364,10 @@ void SurgeStorage::load_wt(string filename, Wavetable* wt) extension[i] = tolower(extension[i]); if (extension.compare(".wt") == 0) load_wt_wt(filename, wt); +#if !MAC else if (extension.compare(".wav") == 0) load_wt_wav(filename, wt); +#endif } void SurgeStorage::load_wt_wt(string filename, Wavetable* wt) @@ -354,13 +378,8 @@ void SurgeStorage::load_wt_wt(string filename, Wavetable* wt) wt_header wh; memset(&wh, 0, sizeof(wt_header)); - // FIXME: Implement error handling when there is a convention to implement - // the error handling (e.g. return code or exception). - if (fread(&wh, sizeof(wt_header), 1, f) != 1) - fprintf(stderr, "%s: reading the wavetable header failed.\n", - __func__); - - if (memcmp(wh.tag, "vawt", 4)) + fread(&wh, sizeof(wt_header), 1, f); + if (wh.tag != vt_read_int32BE('vawt')) { fclose(f); return; @@ -374,10 +393,7 @@ void SurgeStorage::load_wt_wt(string filename, Wavetable* wt) ds = sizeof(float) * vt_read_int16LE(wh.n_tables) * vt_read_int32LE(wh.n_samples); data = malloc(ds); - // FIXME: Implement error handling when there is a convention to implement - // the error handling (e.g. return code or exception). - if (fread(data, 1, ds, f) != ds) - fprintf(stderr, "%s: reading the wavetable data failed.\n", __func__); + fread(data, 1, ds, f); CS_WaveTableData.enter(); wt->BuildWT(data, wh, false); CS_WaveTableData.leave(); From 7be524369a4226c54dffad40b85eef63ecb5f8f0 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 11:12:15 -0500 Subject: [PATCH 68/88] #77 enhance osx filesystem: fix `.` and `..` in directory listings & create recursive copying function --- libs/filesystem/filesystem.cpp | 175 ++++++++++++++++++++++++--------- libs/filesystem/filesystem.h | 31 +++++- 2 files changed, 155 insertions(+), 51 deletions(-) diff --git a/libs/filesystem/filesystem.cpp b/libs/filesystem/filesystem.cpp index def47ee0140..e61aa880d00 100644 --- a/libs/filesystem/filesystem.cpp +++ b/libs/filesystem/filesystem.cpp @@ -12,53 +12,67 @@ #include "filesystem.h" namespace std::experimental::filesystem { - path::path(): - path("") - {} - - path::path(std::string filePath): - p(filePath) - {} - - path::operator std::string() { - return p; - } - - void path::append(std::string s) { - p.append("/"); - p.append(s); - } - - const char* path::c_str() { - return p.c_str(); - } - - std::string path::generic_string() { - return p; - } - - path path::filename() { - auto idx = this->p.find_last_of("/"); - path p(this->p.substr(idx+1)); - return p; - } - - std::string path::extension() { - auto idx = this->p.find_last_of("."); - return p.substr(idx); - } + // path class: + path::path(): + path("") + {} - file::file(std::string filePath): - p(filePath) - {} - - file::operator class path() { - return p; - } - - path file::path() { - return p; - } + path::path(std::string filePath): + p(filePath) + {} + + path::operator std::string() { + return p; + } + + void path::append(std::string s) { + p.append("/"); + p.append(s); + } + + const char* path::c_str() { + return p.c_str(); + } + + std::string path::generic_string() const { + return p; + } + + path path::filename() { + auto idx = this->p.find_last_of("/"); + path p(this->p.substr(idx+1)); + return p; + } + + std::string path::extension() { + auto idx = this->p.find_last_of("."); + return p.substr(idx); + } + // emd path class + + // file class: + file::file(std::string filePath): + p(filePath) + {} + + file::operator class path() { + return p; + } + + path file::path() const { + return p; + } + // end file class + + // directory_entry class: + directory_entry::directory_entry(class path p): + p(p) + {} + + path directory_entry::path() const { + return p; + } + // end directory_entry bool exists(path p) { FILE *file; @@ -107,9 +121,13 @@ namespace std::experimental::filesystem { // this needs to return the full path not just the relative path while ((dirp = readdir(dp)) != NULL) { - path newp = p; - newp.append( dirp->d_name ); - file res( newp.c_str() ); + string fname(dirp->d_name); + // Skip . and .. : https://github.com/kurasu/surge/issues/77 + if (fname.compare(".") == 0 || fname.compare("..") == 0) { + continue; + } + + file res(p.generic_string() + '/' + fname); files.push_back(res); } @@ -118,6 +136,65 @@ namespace std::experimental::filesystem { return files; } + + std::vector recursive_directory_iterator(const path& src) { + std::vector entries; + for(const auto& entry : directory_iterator(src)) { + const auto& p = entry.path(); + directory_entry e(p); + entries.emplace_back(e); + if (is_directory(p)) { + std::vector subdir = recursive_directory_iterator(p); + for(const auto& subdirEntry : subdir) { + entries.emplace_back(subdirEntry); + } + } + } + return entries; + } + + path relative(const path& p, const path& root) { + return path(p.generic_string().substr(root.generic_string().length())); + } + + void copy(const path& src, const path& dst, const copy_options options) { + std::ifstream in(src.generic_string()); + std::ofstream out(dst.generic_string()); + out << in.rdbuf(); + } + + void copy_recursive(const path& src, const path& target, const std::function& predicate) noexcept + { + try + { + for (const auto& dirEntry : recursive_directory_iterator(src)) + { + const auto& p = dirEntry.path(); + if (predicate(p)) + { + // Create path in target, if not existing. + const auto relativeSrc = relative(p, src); + auto targetStr = target.generic_string() + '/' + relativeSrc.generic_string(); + path targetPath(targetStr); + if (is_directory(p)) { + create_directories(targetPath); + } else { + // Copy to the targetParentPath which we just created. + copy(p, targetPath, copy_options::overwrite_existing); + } + } + } + } + catch (std::exception& e) + { + // std::cout << e.what(); + } + } + + void copy_recursive(const path& src, const path& target) noexcept + { + copy_recursive(src, target, [](path p) { return true; }); + } } #endif diff --git a/libs/filesystem/filesystem.h b/libs/filesystem/filesystem.h index b31c411de65..41590eff8c7 100644 --- a/libs/filesystem/filesystem.h +++ b/libs/filesystem/filesystem.h @@ -8,6 +8,8 @@ #ifndef Filesystem_h #define Filesystem_h +#include + #ifdef __APPLE__ #include "TargetConditionals.h" #ifdef TARGET_OS_MAC @@ -17,6 +19,7 @@ #include #include #include +#include namespace std::experimental::filesystem { class path { @@ -33,7 +36,7 @@ namespace std::experimental::filesystem { const char* c_str(); - std::string generic_string(); + std::string generic_string() const; path filename(); @@ -48,7 +51,16 @@ namespace std::experimental::filesystem { operator path(); - path path(); + path path() const; + }; + + class directory_entry { + public: + path p; + + directory_entry(path p); + + path path() const; }; bool exists(path p); @@ -58,6 +70,21 @@ namespace std::experimental::filesystem { bool is_directory(path p); std::vector directory_iterator(path p); + + std::vector recursive_directory_iterator(const path& src); + + path relative(const path& p, const path& root); + + enum copy_options { + overwrite_existing = 1 + }; + + void copy(const path& src, const path& dst, const copy_options options); + + // Exras: + void copy_recursive(const path& src, const path& target, const std::function& predicate) noexcept; + + void copy_recursive(const path& src, const path& target) noexcept; } #endif From ec5d48f0f4a37454223b2f311995c47a91686fa6 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 11:14:06 -0500 Subject: [PATCH 69/88] first stab at bundling data and automatically sync to `~/Library/Application Support/Surge` --- package-au.sh | 6 +++--- package-vst.sh | 4 +++- src/common/SurgeStorage.cpp | 24 +++++++++++++----------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/package-au.sh b/package-au.sh index c1b9cf31289..9f6e8d4f697 100755 --- a/package-au.sh +++ b/package-au.sh @@ -6,7 +6,7 @@ PACKAGE_SRC_LOCATION="$RES_SRC_LOCATION/osx-au" BITMAP_SRC_LOCATION="$RES_SRC_LOCATION/bitmaps" BUNDLE_RES_SRC_LOCATION="$RES_SRC_LOCATION/osx-resources" EXEC_LOCATION="target/au/Release/Surge.dylib" -EXEC_LOCATION="target/au/Debug/Surge-Debug.dylib" +#EXEC_LOCATION="target/au/Debug/Surge-Debug.dylib" # output configs OUTPUT_DIR=products @@ -33,5 +33,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" - +mkdir -f +cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/package-vst.sh b/package-vst.sh index 5e46710d047..75c621c9a31 100755 --- a/package-vst.sh +++ b/package-vst.sh @@ -6,6 +6,7 @@ PACKAGE_SRC_LOCATION="$RES_SRC_LOCATION/osx-vst2" BITMAP_SRC_LOCATION="$RES_SRC_LOCATION/bitmaps" BUNDLE_RES_SRC_LOCATION="$RES_SRC_LOCATION/osx-resources" EXEC_LOCATION="target/vst2/Release/Surge.dylib" +#EXEC_LOCATION="target/vst2/Debug/Surge-Debug.dylib" # output configs OUTPUT_DIR=products @@ -32,5 +33,6 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" +mkdir -f +cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index 1ea894d490c..6b4af53dc1e 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -6,6 +6,8 @@ #include #include #if MAC +#include +#include //#include //#include #include @@ -30,23 +32,17 @@ double dsamplerate_os, dsamplerate_os_inv; #if MAC #include - string getSelfLocation() { char path[PATH_MAX]; - + // TODO: use a build-provided symbol CFStringRef selfName = CFSTR("com.vemberaudio.plugins.surge"); CFBundleRef mainBundle = CFBundleGetBundleWithIdentifier(selfName); CFURLRef resourcesURL = CFBundleCopyBundleURL(mainBundle); CFStringRef str = CFURLCopyFileSystemPath( resourcesURL, kCFURLPOSIXPathStyle ); CFRelease(resourcesURL); - CFStringGetCString( str, path, FILENAME_MAX, kCFStringEncodingASCII ); CFRelease(str); - string out(path); - fprintf(stderr, path); - -// fileLocation = CFBundleCopyResourceURL(gameBundle, filename, fileExtension, subdirectory); return out; } #endif @@ -175,13 +171,19 @@ SurgeStorage::SurgeStorage() } #endif -#if MAC - string snapshotmenupath = getSelfLocation() + "/Contents/Resources/configuration.xml"; -#else string snapshotmenupath = datapath + "configuration.xml"; -#endif + if (!snapshotloader.LoadFile(snapshotmenupath.c_str())) // load snapshots (& config-stuff) { +#if MAC + fs::path userSurgeDir(string(getenv("HOME")) + "/Library/Application Support/Surge"); + // Quick hack to install all the bundled surge data to user's local ~/Library/... + fs::create_directories(userSurgeDir); // Okay if this already exists + + fs::copy_recursive(fs::path(getSelfLocation() + "/Contents/Data"), userSurgeDir); + + snapshotloader.LoadFile(snapshotmenupath.c_str()); +#endif #if !MAC && !__linux__ MessageBox(::GetActiveWindow(), "Surge is not properly installed. Please reinstall.", "Configuration not found", MB_OK | MB_ICONERROR); From 3db06b550d49521fb11721e5cbe80ded10e3b773 Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Sun, 16 Dec 2018 18:20:20 +0200 Subject: [PATCH 70/88] fix #77 from https://github.com/kurasu/surge/commit/7be524369a4226c54dffad40b85eef63ecb5f8f0 by @kzantow --- libs/filesystem/filesystem.cpp | 175 ++++++++++++++++++++++++--------- 1 file changed, 126 insertions(+), 49 deletions(-) diff --git a/libs/filesystem/filesystem.cpp b/libs/filesystem/filesystem.cpp index def47ee0140..e61aa880d00 100644 --- a/libs/filesystem/filesystem.cpp +++ b/libs/filesystem/filesystem.cpp @@ -12,53 +12,67 @@ #include "filesystem.h" namespace std::experimental::filesystem { - path::path(): - path("") - {} - - path::path(std::string filePath): - p(filePath) - {} - - path::operator std::string() { - return p; - } - - void path::append(std::string s) { - p.append("/"); - p.append(s); - } - - const char* path::c_str() { - return p.c_str(); - } - - std::string path::generic_string() { - return p; - } - - path path::filename() { - auto idx = this->p.find_last_of("/"); - path p(this->p.substr(idx+1)); - return p; - } - - std::string path::extension() { - auto idx = this->p.find_last_of("."); - return p.substr(idx); - } + // path class: + path::path(): + path("") + {} - file::file(std::string filePath): - p(filePath) - {} - - file::operator class path() { - return p; - } - - path file::path() { - return p; - } + path::path(std::string filePath): + p(filePath) + {} + + path::operator std::string() { + return p; + } + + void path::append(std::string s) { + p.append("/"); + p.append(s); + } + + const char* path::c_str() { + return p.c_str(); + } + + std::string path::generic_string() const { + return p; + } + + path path::filename() { + auto idx = this->p.find_last_of("/"); + path p(this->p.substr(idx+1)); + return p; + } + + std::string path::extension() { + auto idx = this->p.find_last_of("."); + return p.substr(idx); + } + // emd path class + + // file class: + file::file(std::string filePath): + p(filePath) + {} + + file::operator class path() { + return p; + } + + path file::path() const { + return p; + } + // end file class + + // directory_entry class: + directory_entry::directory_entry(class path p): + p(p) + {} + + path directory_entry::path() const { + return p; + } + // end directory_entry bool exists(path p) { FILE *file; @@ -107,9 +121,13 @@ namespace std::experimental::filesystem { // this needs to return the full path not just the relative path while ((dirp = readdir(dp)) != NULL) { - path newp = p; - newp.append( dirp->d_name ); - file res( newp.c_str() ); + string fname(dirp->d_name); + // Skip . and .. : https://github.com/kurasu/surge/issues/77 + if (fname.compare(".") == 0 || fname.compare("..") == 0) { + continue; + } + + file res(p.generic_string() + '/' + fname); files.push_back(res); } @@ -118,6 +136,65 @@ namespace std::experimental::filesystem { return files; } + + std::vector recursive_directory_iterator(const path& src) { + std::vector entries; + for(const auto& entry : directory_iterator(src)) { + const auto& p = entry.path(); + directory_entry e(p); + entries.emplace_back(e); + if (is_directory(p)) { + std::vector subdir = recursive_directory_iterator(p); + for(const auto& subdirEntry : subdir) { + entries.emplace_back(subdirEntry); + } + } + } + return entries; + } + + path relative(const path& p, const path& root) { + return path(p.generic_string().substr(root.generic_string().length())); + } + + void copy(const path& src, const path& dst, const copy_options options) { + std::ifstream in(src.generic_string()); + std::ofstream out(dst.generic_string()); + out << in.rdbuf(); + } + + void copy_recursive(const path& src, const path& target, const std::function& predicate) noexcept + { + try + { + for (const auto& dirEntry : recursive_directory_iterator(src)) + { + const auto& p = dirEntry.path(); + if (predicate(p)) + { + // Create path in target, if not existing. + const auto relativeSrc = relative(p, src); + auto targetStr = target.generic_string() + '/' + relativeSrc.generic_string(); + path targetPath(targetStr); + if (is_directory(p)) { + create_directories(targetPath); + } else { + // Copy to the targetParentPath which we just created. + copy(p, targetPath, copy_options::overwrite_existing); + } + } + } + } + catch (std::exception& e) + { + // std::cout << e.what(); + } + } + + void copy_recursive(const path& src, const path& target) noexcept + { + copy_recursive(src, target, [](path p) { return true; }); + } } #endif From c6509b878269da444799e4fc0a8a19034700d6e2 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 11:22:18 -0500 Subject: [PATCH 71/88] also vst3 --- package-vst3.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package-vst3.sh b/package-vst3.sh index 5e46710d047..bf336d8c9c4 100755 --- a/package-vst3.sh +++ b/package-vst3.sh @@ -32,5 +32,6 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -cp resources/data/configuration.xml "$BUNDLE_DIR/Contents/Resources" +mkdir -f +cp -rf resources/data "$BUNDLE_DIR/Contents/Data" From 611ad22a22e4d07d6039a7d36daaf61ce88bef6a Mon Sep 17 00:00:00 2001 From: Esa Juhani Ruoho Date: Sun, 16 Dec 2018 18:27:37 +0200 Subject: [PATCH 72/88] another file changed in kzantow's commit --- libs/filesystem/filesystem.h | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/libs/filesystem/filesystem.h b/libs/filesystem/filesystem.h index b31c411de65..41590eff8c7 100644 --- a/libs/filesystem/filesystem.h +++ b/libs/filesystem/filesystem.h @@ -8,6 +8,8 @@ #ifndef Filesystem_h #define Filesystem_h +#include + #ifdef __APPLE__ #include "TargetConditionals.h" #ifdef TARGET_OS_MAC @@ -17,6 +19,7 @@ #include #include #include +#include namespace std::experimental::filesystem { class path { @@ -33,7 +36,7 @@ namespace std::experimental::filesystem { const char* c_str(); - std::string generic_string(); + std::string generic_string() const; path filename(); @@ -48,7 +51,16 @@ namespace std::experimental::filesystem { operator path(); - path path(); + path path() const; + }; + + class directory_entry { + public: + path p; + + directory_entry(path p); + + path path() const; }; bool exists(path p); @@ -58,6 +70,21 @@ namespace std::experimental::filesystem { bool is_directory(path p); std::vector directory_iterator(path p); + + std::vector recursive_directory_iterator(const path& src); + + path relative(const path& p, const path& root); + + enum copy_options { + overwrite_existing = 1 + }; + + void copy(const path& src, const path& dst, const copy_options options); + + // Exras: + void copy_recursive(const path& src, const path& target, const std::function& predicate) noexcept; + + void copy_recursive(const path& src, const path& target) noexcept; } #endif From 0c6f38dc9847f4061828a90923d104bf413a3f30 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 11:51:20 -0500 Subject: [PATCH 73/88] Move resource copying earlier in the SurgeStorage initialization --- src/common/SurgeStorage.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index 6b4af53dc1e..4deac2c7df0 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -49,6 +49,15 @@ string getSelfLocation() { SurgeStorage::SurgeStorage() { +#if MAC + // Quick hack to install all the bundled surge data to user's local ~/Library/... + fs::path userSurgeDir(string(getenv("HOME")) + "/Library/Application Support/Surge"); + if (!fs::is_directory(userSurgeDir)) { + fs::create_directories(userSurgeDir); + fs::copy_recursive(fs::path(getSelfLocation() + "/Contents/Data"), userSurgeDir); + } +#endif + _patch.reset(new SurgePatch(this)); float cutoff = 0.455f; @@ -175,15 +184,6 @@ SurgeStorage::SurgeStorage() if (!snapshotloader.LoadFile(snapshotmenupath.c_str())) // load snapshots (& config-stuff) { -#if MAC - fs::path userSurgeDir(string(getenv("HOME")) + "/Library/Application Support/Surge"); - // Quick hack to install all the bundled surge data to user's local ~/Library/... - fs::create_directories(userSurgeDir); // Okay if this already exists - - fs::copy_recursive(fs::path(getSelfLocation() + "/Contents/Data"), userSurgeDir); - - snapshotloader.LoadFile(snapshotmenupath.c_str()); -#endif #if !MAC && !__linux__ MessageBox(::GetActiveWindow(), "Surge is not properly installed. Please reinstall.", "Configuration not found", MB_OK | MB_ICONERROR); From 094fa0bdf59430badf5a50daacbc2a3ee58e77a9 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 14:24:45 -0500 Subject: [PATCH 74/88] On Mac the raw bitmap order is not AGBR but is instead RGBA or what not. Basically backwards from windows. And since the CLFOGui does color manipulation in integer space directly onto a CDIBitmap you need to account for this shift ordering. I did it with two #if MAC directives but if this shows up on other places (which I don't think it does) I guess we could add a function in the right spot, like the unued one in CDIBitmap. --- src/common/gui/CLFOGui.cpp | 6 +++++- src/common/gui/CLFOGui.h | 11 ++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/common/gui/CLFOGui.cpp b/src/common/gui/CLFOGui.cpp index 3b91cdbe9de..f8afa036013 100644 --- a/src/common/gui/CLFOGui.cpp +++ b/src/common/gui/CLFOGui.cpp @@ -45,7 +45,11 @@ void CLFOGui::draw(CDrawContext* dc) maindisp.bottom -= 1; cdisurf->begin(); +#if MAC + cdisurf->clear(0x0090ffff); +#else cdisurf->clear(0xffff9000); +#endif int w = cdisurf->getWidth(); int h = cdisurf->getHeight(); @@ -497,4 +501,4 @@ CMouseEventResult CLFOGui::onMouseMoved(CPoint& where, const CButtonState& butto } } return kMouseEventHandled; -} \ No newline at end of file +} diff --git a/src/common/gui/CLFOGui.h b/src/common/gui/CLFOGui.h index a4be9c69268..82efb3140b5 100644 --- a/src/common/gui/CLFOGui.h +++ b/src/common/gui/CLFOGui.h @@ -67,8 +67,13 @@ class CLFOGui : public CControl 255); unsigned int a = 0xff; - coltable[i] = r | (g << 8) | (b << 16) | (a << 24); - } +#if MAC && !PPC + // MAC uses a different raw pixel byte order than windows + coltable[ i ] = ( b << 8 ) | ( g << 16 ) | ( r << 24 ) | a; +#else + coltable[i] = r | (g << 8) | (b << 16) | (a << 24); +#endif + } } // virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons = -1); virtual CMouseEventResult onMouseDown(CPoint& where, const CButtonState& buttons); @@ -96,4 +101,4 @@ class CLFOGui : public CControl int controlstate; CLASS_METHODS(CLFOGui, CControl) -}; \ No newline at end of file +}; From e4c6ee6917edfef9ca9566f341164a189a2fb9c4 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 14:32:55 -0500 Subject: [PATCH 75/88] Delete that junk file sorry --- src/common/gui/#COscillatorDisplay.cpp# | 327 ------------------------ 1 file changed, 327 deletions(-) delete mode 100644 src/common/gui/#COscillatorDisplay.cpp# diff --git a/src/common/gui/#COscillatorDisplay.cpp# b/src/common/gui/#COscillatorDisplay.cpp# deleted file mode 100644 index 56b568d80cb..00000000000 --- a/src/common/gui/#COscillatorDisplay.cpp# +++ /dev/null @@ -1,327 +0,0 @@ -//------------------------------------------------------------------------------------------------------- -// Copyright 2005 Claes Johanson & Vember Audio -//------------------------------------------------------------------------------------------------------- -#include "COscillatorDisplay.h" -#include "Oscillator.h" -#include -#include "unitconversion.h" - -const float disp_pitch = 90.15f - 48.f; -const int wtbheight = 12; - -extern CFontRef surge_minifont; - -void COscillatorDisplay::draw(CDrawContext* dc) -{ - pdata tp[n_scene_params]; - tp[oscdata->pitch.param_id_in_scene].f = 0; - for (int i = 0; i < n_osc_params; i++) - tp[oscdata->p[i].param_id_in_scene].i = oscdata->p[i].val.i; - Oscillator* osc = spawn_osc(oscdata->type.val.i, storage, oscdata, tp); - - cdisurf->begin(); - cdisurf->clear(0xffffffff); - - int w = cdisurf->getWidth(); - int h2 = cdisurf->getHeight(); - int h = h2; - assert(h < 512); - if (uses_wavetabledata(oscdata->type.val.i)) - h -= wtbheight; - - unsigned int column[512]; - int column_d[512]; - float lastval = 0; - int midline = h >> 1; - int topline = midline - 0.4f * h; - int bottomline = midline + 0.4f * h; - const int aa_bs = 4; - const int aa_samples = 1 << aa_bs; - int last_imax = -1, last_imin = -1; - if (osc) - { - // srand(2); - float disp_pitch_rs = disp_pitch + 12.0 * log2(dsamplerate / 44100.0); - bool use_display = osc->allow_display(); - if (use_display) - osc->init(disp_pitch_rs, true); - int block_pos = block_size_os; - for (int y = 0; y < h2; y++) - column_d[y] = 0; - - for (int x = 0; x < getWidth(); x++) - { - for (int y = 0; y < h2; y++) - column[y] = 0; - for (int s = 0; s < aa_samples; s++) - { - if (use_display && (block_pos >= block_size_os)) - { - if (uses_wavetabledata(oscdata->type.val.i)) - { - storage->CS_WaveTableData.enter(); - osc->process_block(disp_pitch_rs); - block_pos = 0; - storage->CS_WaveTableData.leave(); - } - else - { - osc->process_block(disp_pitch_rs); - block_pos = 0; - } - } - - float val = 0.f; - if (use_display) - val = -osc->output[block_pos]; - - val = (float)((0.5f + 0.4f * val) * h); - lastval = val; - float v_min = val; - float v_max = val; - - v_min = val - 0.5f; - v_max = val + 0.5f; - int imin = (int)v_min; - int imax = (int)v_max; - float imax_frac = (v_max - imax); - float imin_frac = 1 - (v_min - imin); - - if (imax == imin) - imax++; - - if (imin < 0) - imin = 0; - int dimax = imax, dimin = imin; - - if ((x > 0) || (s > 0)) - { - if (dimin > last_imax) - dimin = last_imax; - else if (dimax < last_imin) - dimax = last_imin; - } - dimin = limit_range(dimin, 0, h); - dimax = limit_range(dimax, 0, h); - - // int yp = (int)((float)(size.height() * (-osc->output[block_pos]*0.5+0.5))); - // yp = limit_range(yp,0,h-1); - - column[dimin] += ((int)((float)imin_frac * 255.f)); - column[dimax + 1] += ((int)((float)imax_frac * 255.f)); - for (int b = (dimin + 1); b < (dimax + 1); b++) - { - column_d[b & 511] = aa_samples; - } - last_imax = imax; - last_imin = imin; - block_pos++; - for (int y = 0; y < h; y++) - { - if (column_d[y] > 0) - column[y] += 256; - column_d[y]--; - } - } - column[midline] = max((unsigned int)64 << aa_bs, column[midline]); - column[topline] = max((unsigned int)32 << aa_bs, column[topline]); - column[bottomline] = max((unsigned int)32 << aa_bs, column[bottomline]); - for (int y = 0; y < h2; y++) - { - cdisurf->setPixel(x, y, coltable[min((unsigned int)255, (column[y] >> aa_bs))]); - } - } - _aligned_free(osc); - // srand( (unsigned)time( NULL ) ); - } - cdisurf->commit(); - auto size = getViewSize(); - cdisurf->draw(dc, size); - - if (uses_wavetabledata(oscdata->type.val.i)) - { - CRect wtlbl(size); - wtlbl.right -= 1; - wtlbl.top = wtlbl.bottom - wtbheight; - rmenu = wtlbl; - rmenu.inset(12, 0); - char wttxt[256]; - - storage->CS_WaveTableData.enter(); - - int wtid = oscdata->wt.current_id; - if ((wtid >= 0) && (wtid < storage->wt_list.size())) - { - strcpy(wttxt, storage->wt_list.at(wtid).name.c_str()); - } - else if (oscdata->wt.flags & wtf_is_sample) - { - strcpy(wttxt, "(Patch Sample)"); - } - else - { - strcpy(wttxt, "(Patch Wavetable)"); - } - - storage->CS_WaveTableData.leave(); - - char* r = strrchr(wttxt, '.'); - if (r) - *r = 0; - // VSTGUI::CColor fgcol = cdisurf->int_to_ccol(coltable[255]); - VSTGUI::CColor fgcol = {0xff, 0xA0, 0x10, 0xff}; - dc->setFillColor(fgcol); - dc->drawRect(rmenu, kDrawFilled); - dc->setFontColor(kBlackCColor); - dc->setFont(surge_minifont); - // strupr(wttxt); - dc->drawString(wttxt, rmenu, kCenterText, false); - - /*CRect wtlbl_status(size); - wtlbl_status.bottom = wtlbl_status.top + wtbheight; - dc->setFontColor(kBlackCColor); - if(oscdata->wt.flags & wtf_is_sample) dc->drawString("IS - SAMPLE",wtlbl_status,false,kRightText);*/ - - rnext = wtlbl; - rnext.left = rmenu.right; //+ 1; - rprev = wtlbl; - rprev.right = rmenu.left; //- 1; - dc->setFillColor(fgcol); - dc->drawRect(rprev, kDrawFilled); - dc->drawRect(rnext, kDrawFilled); - dc->setFrameColor(kBlackCColor); - for (int a = 0; a < 4; a++) - { - CPoint p1(rprev.left + 4 + a, rprev.top + (rprev.getHeight() * 0.5) - a); - CPoint p2 = p1; - p2.y += (a << 1) + 1; - dc->drawLine(p1, p2); - - CPoint p3(rnext.right - 4 - a, rnext.top + (rnext.getHeight() * 0.5) - a); - CPoint p4 = p3; - p4.y += (a << 1) + 1; - dc->drawLine(p3, p4); - } - } - - setDirty(false); -} - -bool COscillatorDisplay::onDrop(IDataPackage* drag, const CPoint& where) -{ - /*long size,type; - char *filename = (char*)drag->first(size,type); - //while(filename) - if(filename) - { - if(type == CDragContainer::kFile) - { - strncpy(oscdata->wt.queue_filename, filename, 255); - } -// filename = (char*)drag->next(size,type); - }*/ - return true; -} - -CMouseEventResult COscillatorDisplay::onMouseDown(CPoint& where, const CButtonState& button) -{ - if (!(button & kLButton)) - return kMouseDownEventHandledButDontNeedMovedOrUpEvents; - - assert(oscdata); - - if (!uses_wavetabledata(oscdata->type.val.i) || (where.y < rmenu.top)) - { - controlstate = 1; - lastpos.x = where.x; - return kMouseEventHandled; - } - else if (uses_wavetabledata(oscdata->type.val.i)) - { - int diff = 0; - if (rprev.pointInside(where)) - { - diff = -1; - } - else if (rnext.pointInside(where)) - { - diff = 1; - } - if (diff) - { - oscdata->wt.queue_id = - (oscdata->wt.current_id + diff + storage->wt_list.size()) % storage->wt_list.size(); - } - else if (rmenu.pointInside(where)) - { - CRect menurect(0, 0, 0, 0); - menurect.offset(where.x, where.y); - COptionMenu* contextMenu = new COptionMenu(menurect, 0, 0, 0, 0, kNoDrawStyle); - - for (int c = 0; c < storage->wt_category.size(); c++) - { - char name[namechars]; - COptionMenu* subMenu = new COptionMenu(getViewSize(), 0, c, 0, 0, kNoDrawStyle); - subMenu->setNbItemsPerColumn(32); - int sub = 0; - int p; - for (p = 0; p < storage->wt_list.size(); p++) - { - if (storage->wt_list[p].category == c) - { - sprintf(name, "%s", storage->wt_list[p].name.c_str()); - auto actionItem = new CCommandMenuItem(name); - auto action = [this, p](CCommandMenuItem* item) { this->loadWavetable(p); }; - - actionItem->setActions(action, nullptr); - subMenu->addEntry(actionItem); - - sub++; - } - } - strncpy(name, storage->wt_category[c].name.c_str(), namechars); - contextMenu->addEntry(subMenu, name); - - subMenu->forget(); // viktigt, sÃ¥ att refcounter blir rätt - } - - getFrame()->addView(contextMenu); // add to frame - contextMenu->setDirty(); - -contextMenu->popup(); - contextMenu->onMouseDown(where, kLButton); // <-- modal menu loop is here - // getFrame()->looseFocus(pContext); - - getFrame()->removeView(contextMenu, true); // remove from frame and forget - } - } - return kMouseDownEventHandledButDontNeedMovedOrUpEvents; -} - -void COscillatorDisplay::loadWavetable(int id) -{ - if (id >= 0 && (id < storage->wt_list.size())) - { - oscdata->wt.queue_id = id; - } -} - -CMouseEventResult COscillatorDisplay::onMouseUp(CPoint& where, const CButtonState& buttons) -{ - if (controlstate) - { - controlstate = 0; - } - return kMouseEventHandled; -} -CMouseEventResult COscillatorDisplay::onMouseMoved(CPoint& where, const CButtonState& buttons) -{ - if (controlstate) - { - /*oscdata->startphase.val.f -= 0.005f * (where.x - lastpos.x); - oscdata->startphase.val.f = limit_range(oscdata->startphase.val.f,0.f,1.f); - lastpos.x = where.x; - invalid();*/ - } - return kMouseEventHandled; -} From f7c073f03249bb3abecfd1f3192992653e1fe0e8 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 17:35:45 -0500 Subject: [PATCH 76/88] Tweaks to build this thing --- package-au.sh | 2 +- src/common/SurgeStorage.cpp | 5 +++-- src/common/SurgeStorageLoadWavetable.cpp | 17 +++++++---------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/package-au.sh b/package-au.sh index fb668ffeff6..d6ea266487a 100755 --- a/package-au.sh +++ b/package-au.sh @@ -14,7 +14,7 @@ BUNDLE_NAME="Surge.component" BUNDLE_DIR="$OUTPUT_DIR/$BUNDLE_NAME" EXEC_TARGET_NAME="Surge" -echo Creating AudioUnit (AU) Bundle... +echo "Creating AudioUnit (AU) Bundle..." # create basic bundle structure diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index 18c4591169e..ef8323c55f9 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -406,8 +406,9 @@ void SurgeStorage::load_wt_wt(string filename, Wavetable* wt) wt_header wh; memset(&wh, 0, sizeof(wt_header)); - fread(&wh, sizeof(wt_header), 1, f); - if (wh.tag != vt_read_int32BE('vawt')) + // fread(&wh, sizeof(wt_header), 1, f); + // if (wh.tag != vt_read_int32BE('vawt')) + if (fread(&wh, sizeof(wt_header), 1, f) != 1) { fclose(f); return; diff --git a/src/common/SurgeStorageLoadWavetable.cpp b/src/common/SurgeStorageLoadWavetable.cpp index d85060d4036..990d58d3bef 100644 --- a/src/common/SurgeStorageLoadWavetable.cpp +++ b/src/common/SurgeStorageLoadWavetable.cpp @@ -3,12 +3,11 @@ //------------------------------------------------------------------------------------------------------- #include "SurgeStorage.h" #include "DspUtilities.h" - -#if WINDOWS +#if WINDOWS + #include #include #include -#endif void error_msg(char* c) {} // add messagebox? @@ -18,7 +17,6 @@ void error_msg(char* c) void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) { -#if WINDOWS uint32 wave_channels = 0; uint32 wave_samplerate = 0; uint32 wave_blockalignment = 0; @@ -294,10 +292,9 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) /* Close the file */ mmioClose(hmmio, 0); -#else - // FIXME: Implement WAV file loading for macOS and Linux. - fprintf(stderr, "%s: WAV file loading is not implemented.\n", - __func__); -#endif -} +} +#else +// FIXME: Implement WAV file loading for macOS and Linux. +fprintf(stderr, "%s: WAV file loading is not implemented.\n", + __func__); #endif From 88b175d6d5f7921eea45f38ab886cf07a31258e0 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 17:43:30 -0500 Subject: [PATCH 77/88] oops. was applying some changes due to a bad merge --- src/common/SurgeStorageLoadWavetable.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/common/SurgeStorageLoadWavetable.cpp b/src/common/SurgeStorageLoadWavetable.cpp index 990d58d3bef..5accc0e8288 100644 --- a/src/common/SurgeStorageLoadWavetable.cpp +++ b/src/common/SurgeStorageLoadWavetable.cpp @@ -3,11 +3,12 @@ //------------------------------------------------------------------------------------------------------- #include "SurgeStorage.h" #include "DspUtilities.h" -#if WINDOWS +#if WINDOWS #include #include #include +#endif void error_msg(char* c) {} // add messagebox? @@ -16,7 +17,8 @@ void error_msg(char* c) #define int32 int void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) -{ +{ +#if WINDOWS uint32 wave_channels = 0; uint32 wave_samplerate = 0; uint32 wave_blockalignment = 0; @@ -292,9 +294,9 @@ void SurgeStorage::load_wt_wav(string filename, Wavetable* wt) /* Close the file */ mmioClose(hmmio, 0); -} #else -// FIXME: Implement WAV file loading for macOS and Linux. -fprintf(stderr, "%s: WAV file loading is not implemented.\n", - __func__); -#endif + // FIXME: Implement WAV file loading for macOS and Linux. + fprintf(stderr, "%s: WAV file loading is not implemented.\n", + __func__); +#endif +} From a0045908068bade96ab1ecb3dabd4469d95fd1f9 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 18:25:21 -0500 Subject: [PATCH 78/88] accidental mkdir -f --- package-au.sh | 1 - package-vst.sh | 1 - package-vst3.sh | 1 - 3 files changed, 3 deletions(-) diff --git a/package-au.sh b/package-au.sh index d6ea266487a..5915fcd5c35 100755 --- a/package-au.sh +++ b/package-au.sh @@ -33,5 +33,4 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -mkdir -f cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/package-vst.sh b/package-vst.sh index 75c621c9a31..b02f225a113 100755 --- a/package-vst.sh +++ b/package-vst.sh @@ -33,6 +33,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -mkdir -f cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/package-vst3.sh b/package-vst3.sh index bf336d8c9c4..a6ce4700049 100755 --- a/package-vst3.sh +++ b/package-vst3.sh @@ -32,6 +32,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -mkdir -f cp -rf resources/data "$BUNDLE_DIR/Contents/Data" From b80d3f71b6e79ee99b7a02384aeda904fffa75d0 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 18:49:05 -0500 Subject: [PATCH 79/88] Fixed the bug reported by @kzantow where open, zoom, close, open caused a crash. The problem was that my detection of host-resize was wrong when re-opening an existing editor, so the thing to make saved files in aulabl work broke this. Now I just flag a state to see if I am resizing by zoom or by host and then deal. --- package-au.sh | 2 +- src/au/aulayer_cocoaui.mm | 25 +++++++++++++++++++------ src/common/gui/SurgeGUIEditor.cpp | 4 ++-- src/common/gui/SurgeGUIEditor.h | 6 +++--- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/package-au.sh b/package-au.sh index d6ea266487a..b8c4ff5abb9 100755 --- a/package-au.sh +++ b/package-au.sh @@ -33,5 +33,5 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" -mkdir -f +mkdir -p "$BUNDLE_DIR/Contents/Data" cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/src/au/aulayer_cocoaui.mm b/src/au/aulayer_cocoaui.mm index 5f2b6f91e96..d4689854bfb 100644 --- a/src/au/aulayer_cocoaui.mm +++ b/src/au/aulayer_cocoaui.mm @@ -43,6 +43,8 @@ @interface SurgeNSView : NSView CFRunLoopTimerRef idleTimer; float lastScale; NSSize underlyingUISize; + bool setSizeByZoom; // use this flag to see if resize comes from here or from external + } - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size; @@ -108,15 +110,23 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size if (cont->getRect(&vr)) { float zf = cont->getZoomFactor() / 100.0; - NSRect newSize = NSMakeRect (0, 0, vr->right - vr->left, vr->bottom - vr->top); + NSRect newSize = NSMakeRect (0, 0, + vr->right - vr->left, + vr->bottom - vr->top ) ; underlyingUISize = newSize.size; + newSize = NSMakeRect (0, 0, + lastScale * ( vr->right - vr->left ), + lastScale * ( vr->bottom - vr->top ) ) ; + [self scaleUnitSquareToSize:NSMakeSize( lastScale, lastScale )]; + setSizeByZoom = true; [self setFrame:newSize]; + setSizeByZoom = false; } - cont->setZoomCallback( [cont,self]() { + cont->setZoomCallback( [self]( SurgeGUIEditor *ed ) { ERect *vr; - float zf = cont->getZoomFactor() / 100.0; - if (cont->getRect(&vr)) + float zf = ed->getZoomFactor() / 100.0; + if (ed->getRect(&vr)) { NSRect newSize = NSMakeRect (0, 0, (int)( (vr->right - vr->left) * zf ), @@ -124,7 +134,9 @@ - (id) initWithSurge: (SurgeGUIEditor *) cont preferredSize: (NSSize) size [self scaleUnitSquareToSize:NSMakeSize( zf / lastScale, zf / lastScale )]; lastScale = zf; + setSizeByZoom = true; [self setFrame:newSize]; + setSizeByZoom = false; } } @@ -172,14 +184,15 @@ - (void) setFrame: (NSRect) newSize * the other option is to make zoom a parameter but then its in a patch and that seems wrong. */ NSSize targetSize = newSize.size; - - if( fabs( targetSize.width - underlyingUISize.width * lastScale ) > 2 ) + + if( !setSizeByZoom && fabs( targetSize.width - underlyingUISize.width * lastScale ) > 2 ) { // so what's my apparent ratio float apparentZoom = targetSize.width / ( underlyingUISize.width * lastScale ); int azi = roundf( apparentZoom * 10 ) * 10; // this is a bit gross. I know the zoom is incremented by 10s editController->setZoomFactor( azi ); } + [super setFrame:newSize]; } diff --git a/src/common/gui/SurgeGUIEditor.cpp b/src/common/gui/SurgeGUIEditor.cpp index 0f684ab0857..4d3e4a84827 100644 --- a/src/common/gui/SurgeGUIEditor.cpp +++ b/src/common/gui/SurgeGUIEditor.cpp @@ -129,7 +129,7 @@ SurgeGUIEditor::SurgeGUIEditor(void* effect, SurgeSynthesizer* synth) : super(ef #ifdef TARGET_VST3 _idleTimer = new CVSTGUITimer([this](CVSTGUITimer* timer) { idle(); }, 50, false); #endif - zoom_callback = [](){ }; + zoom_callback = [](SurgeGUIEditor *f){ }; zoomFactor = 100; } @@ -2264,7 +2264,7 @@ void SurgeGUIEditor::zoomInDir( int dir ) } if( zoomFactor < 50 ) zoomFactor = 50; if( zoomFactor > 300 ) zoomFactor = 300; - zoom_callback(); + zoom_callback( this ); } //------------------------------------------------------------------------------------------------ diff --git a/src/common/gui/SurgeGUIEditor.h b/src/common/gui/SurgeGUIEditor.h index 54eced6b206..e4f0c123100 100644 --- a/src/common/gui/SurgeGUIEditor.h +++ b/src/common/gui/SurgeGUIEditor.h @@ -90,11 +90,11 @@ class SurgeGUIEditor : public EditorType, public IControlListener, public IKeybo void zoomInDir( int dir ); int zoomFactor; public: - void setZoomCallback( std::function< void() > f ) { zoom_callback = f; } + void setZoomCallback( std::function< void(SurgeGUIEditor *) > f ) { zoom_callback = f; } int getZoomFactor() { return zoomFactor; } - void setZoomFactor( int zf ) { zoomFactor = zf; zoom_callback(); } + void setZoomFactor( int zf ) { zoomFactor = zf; zoom_callback( this ); } private: - std::function< void() > zoom_callback; + std::function< void(SurgeGUIEditor *) > zoom_callback; SurgeBitmaps bitmap_keeper; From e778bc5dfeaaa145f9ec83e64c3592306b757803 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Sun, 16 Dec 2018 19:22:12 -0500 Subject: [PATCH 80/88] also apply mkdir -p to vst2/3 packaging --- package-vst.sh | 1 + package-vst3.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/package-vst.sh b/package-vst.sh index b02f225a113..80e1dadae0c 100755 --- a/package-vst.sh +++ b/package-vst.sh @@ -33,5 +33,6 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" +mkdir -p "$BUNDLE_DIR/Contents/Data" cp -rf resources/data "$BUNDLE_DIR/Contents/Data" diff --git a/package-vst3.sh b/package-vst3.sh index a6ce4700049..7d934074e90 100755 --- a/package-vst3.sh +++ b/package-vst3.sh @@ -32,5 +32,6 @@ cp $PACKAGE_SRC_LOCATION/* "$BUNDLE_DIR/Contents/" # copy bundle resources cp -R "$BUNDLE_RES_SRC_LOCATION" "$BUNDLE_DIR/Contents/Resources" cp $BITMAP_SRC_LOCATION/* "$BUNDLE_DIR/Contents/Resources/" +mkdir -p "$BUNDLE_DIR/Contents/Data" cp -rf resources/data "$BUNDLE_DIR/Contents/Data" From 5d1ff5c948596802862b45735b826838e00634e7 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Sun, 16 Dec 2018 21:55:49 -0500 Subject: [PATCH 81/88] Don't hardcode /Users/paul when you are getting ready for release, silly --- src/au/aulayer.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/au/aulayer.h b/src/au/aulayer.h index c5e0721d632..5a2d5dcd9a8 100644 --- a/src/au/aulayer.h +++ b/src/au/aulayer.h @@ -22,7 +22,9 @@ struct AULOG { if( lf == NULL ) { - lf = fopen( "/Users/paul/Library/Logs/Surge.log", "a" ); + char fname[ 1024 ]; + sprintf( fname, "%s/Library/Logs/Surge.log", getenv( "HOME" ) ); + lf = fopen( fname, "a" ); } va_list args; va_start( args, format ); From 7a7473327c805a8f68cafb6f4459ab2bd61de7d6 Mon Sep 17 00:00:00 2001 From: Keith Zantow Date: Mon, 17 Dec 2018 08:49:13 -0500 Subject: [PATCH 82/88] add comment about resource sync + potential issue --- src/common/SurgeStorage.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index ef8323c55f9..bdd036f4bd6 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -52,6 +52,14 @@ SurgeStorage::SurgeStorage() #if MAC // Quick hack to install all the bundled surge data to user's local ~/Library/... fs::path userSurgeDir(string(getenv("HOME")) + "/Library/Application Support/Surge"); + + // FIXME: currently, this only runs the first time you run Surge (e.g. when it's + // scanned by the host, so it doesn't run whenever surge instances are loaded but it + // also could fail to synchronize updates if the bundled resources change. It's unclear + // how to handle this in the face of users editing the `configuration.xml`. Perhaps + // a better approach is to leave a basic set of resources in the bundle and merge them + // with any user-provided things like waveforms in ~/Library/Application Support/Surge/... + // at least for now, this gets users up and running with presets, waveforms, effects, etc. if (!fs::is_directory(userSurgeDir)) { fs::create_directories(userSurgeDir); fs::copy_recursive(fs::path(getSelfLocation() + "/Contents/Data"), userSurgeDir); From 1c3f6139467ccf31277596b91a3cf58295da6722 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 17 Dec 2018 08:56:21 -0500 Subject: [PATCH 83/88] REstore the check in a way that compiles --- src/common/SurgeStorage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/SurgeStorage.cpp b/src/common/SurgeStorage.cpp index ef8323c55f9..0c3b826188b 100644 --- a/src/common/SurgeStorage.cpp +++ b/src/common/SurgeStorage.cpp @@ -406,10 +406,12 @@ void SurgeStorage::load_wt_wt(string filename, Wavetable* wt) wt_header wh; memset(&wh, 0, sizeof(wt_header)); - // fread(&wh, sizeof(wt_header), 1, f); + size_t read = fread( &wh, sizeof( wt_header ), 1, f ); + // I'm not sure why this ever worked but it is checking the 4 bytes against vawt so... // if (wh.tag != vt_read_int32BE('vawt')) - if (fread(&wh, sizeof(wt_header), 1, f) != 1) + if ( ! ( wh.tag[ 0 ] == 'v' && wh.tag[ 1 ] == 'a' && wh.tag[ 2 ] == 'w' && wh.tag[ 3 ] == 't' ) ) { + // SOME sort of error reporting is appropriate fclose(f); return; } From 0b3467797036b8a03fd98b32a61320be2a9eb832 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 17 Dec 2018 09:22:12 -0500 Subject: [PATCH 84/88] Add a flag to disable the deprecation and override warnings; make git ignore the xcode assets just like it does the visual studio assets --- .gitignore | 7 ++++++- premake5.lua | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b40d29e5b0a..ea1dc117a3e 100644 --- a/.gitignore +++ b/.gitignore @@ -43,6 +43,11 @@ target/ *.pdb packages.config +# XCode +Surge.xcworkspace/ +surge-au.xcodeproj/ +surge-vst3.xcodeproj/ +products/ # IntelliJ IDEA -.idea \ No newline at end of file +.idea diff --git a/premake5.lua b/premake5.lua index 79b845639f0..f7da68c0a6b 100644 --- a/premake5.lua +++ b/premake5.lua @@ -52,7 +52,13 @@ if (os.istarget("macosx")) then defines { "MAC=1", "PPC=0", "WINDOWS=0", } - buildoptions { "-std=c++17", "-stdlib=libc++", "-DOBJC_OLD_DISPATCH_PROTOTYPES=1" } + buildoptions + { + "-std=c++17", "-stdlib=libc++", + "-DOBJC_OLD_DISPATCH_PROTOTYPES=1", + "-Wno-deprecated-declarations", -- Alas the AU V2 uses a whole bunch of deprecated stuff + "-Wno-inconsistent-missing-override" -- Surge was written before this was even a keyword! We do need to fix this though + } links { "c++" } buildoptions { "-mmacosx-version-min=10.9" } linkoptions { "-mmacosx-version-min=10.9" } From d835e2e8a8503c006b2ba890959c0bc4603533da Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 17 Dec 2018 10:57:13 -0500 Subject: [PATCH 85/88] Add vst2 also --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ea1dc117a3e..fcf4c11cb8c 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,7 @@ packages.config # XCode Surge.xcworkspace/ surge-au.xcodeproj/ +surge-vst2.xcodeproj/ surge-vst3.xcodeproj/ products/ From ce3b57d913845e69d3148a1d66e176d52cbeb8ce Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 17 Dec 2018 16:58:10 -0500 Subject: [PATCH 86/88] Set up premake so that VST3 and AU both link, and AU works. --- premake5.lua | 8 +++----- src/vst3/SurgeVst3EditController.cpp | 2 +- src/vst3/SurgeVst3EditController.h | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/premake5.lua b/premake5.lua index f7da68c0a6b..607452f82be 100644 --- a/premake5.lua +++ b/premake5.lua @@ -183,8 +183,6 @@ function plugincommon() "src/mac/**.cpp", "src/mac/**.h", "libs/vst/*.mm", - "libs/AUPublic/*.cpp", - "libs/PublicUtility/*.cpp", VSTGUI .. "vstgui_mac.mm", VSTGUI .. "vstgui_uidescription_mac.mm", } @@ -467,9 +465,9 @@ if (os.istarget("macosx")) then "src/au/**.cpp", "src/au/**.mm", "src/au/**.h", - "libs/AudioUnits/AUPublic/**.cpp", - "libs/AudioUnits/AUPublic/**.h", - "libs/AudioUnits/PublicUtility/*.cpp", + "libs/AUPublic/**.cpp", + "libs/AUPublic/**.h", + "libs/PublicUtility/*.cpp", VSTGUI .. "plugin-bindings/plugguieditor.cpp", } diff --git a/src/vst3/SurgeVst3EditController.cpp b/src/vst3/SurgeVst3EditController.cpp index a7f419324c2..76551d32258 100644 --- a/src/vst3/SurgeVst3EditController.cpp +++ b/src/vst3/SurgeVst3EditController.cpp @@ -2,7 +2,7 @@ #include "pluginterfaces/base/ustring.h" -#if !TARGET_AUDIOUNIT +#if !TARGET_AUDIOUNIT && !MAC tresult PLUGIN_API SurgeVst3EditController::initialize(FUnknown* context) { tresult result = EditControllerEx1::initialize(context); diff --git a/src/vst3/SurgeVst3EditController.h b/src/vst3/SurgeVst3EditController.h index ce045e0cb95..4b035e6380f 100644 --- a/src/vst3/SurgeVst3EditController.h +++ b/src/vst3/SurgeVst3EditController.h @@ -4,7 +4,7 @@ using namespace Steinberg; using namespace Steinberg::Vst; class SurgeEditorView; -#if !TARGET_AUDIOUNIT +#if !TARGET_AUDIOUNIT && !MAC class SurgeVst3EditController : public EditControllerEx1, public IMidiMapping { From 4f2bffdd24f057a47166e08facab774855bd44ac Mon Sep 17 00:00:00 2001 From: Rich Elmes Date: Mon, 17 Dec 2018 19:52:37 +0100 Subject: [PATCH 87/88] Fix missing space in build-osx.h --- build-osx.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build-osx.sh b/build-osx.sh index 97f072f7cd9..5e9acd5b14e 100755 --- a/build-osx.sh +++ b/build-osx.sh @@ -1,5 +1,11 @@ #!/bin/sh premake5 xcode4 xcodebuild build -configuration Release -project surge-vst2.xcodeproj +if [ -n "$VST2SDK_DIR" ]; then + xcodebuild clean -project surge-vst2.xcodeproj + xcodebuild build -configuration Release -project surge-vst2.xcodeproj +fi +xcodebuild clean -project surge-vst3.xcodeproj xcodebuild build -configuration Release -project surge-vst3.xcodeproj +xcodebuild clean -project surge-au.xcodeproj xcodebuild build -configuration Release -project surge-au.xcodeproj From 4df28c028a37a312601f2ac84ad0c1362a4e79cb Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 17 Dec 2018 19:37:45 -0500 Subject: [PATCH 88/88] Unscrew that merge, which had left one too many attempts at vst2 in --- build-osx.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build-osx.sh b/build-osx.sh index 5e9acd5b14e..a7ede821bce 100755 --- a/build-osx.sh +++ b/build-osx.sh @@ -1,6 +1,5 @@ #!/bin/sh premake5 xcode4 -xcodebuild build -configuration Release -project surge-vst2.xcodeproj if [ -n "$VST2SDK_DIR" ]; then xcodebuild clean -project surge-vst2.xcodeproj xcodebuild build -configuration Release -project surge-vst2.xcodeproj

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