X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpreter/preprocessor/faust-0.9.47mr3/architecture/iPhone/iPhoneAppDelegate.mm diff --git a/interpreter/preprocessor/faust-0.9.47mr3/architecture/iPhone/iPhoneAppDelegate.mm b/interpreter/preprocessor/faust-0.9.47mr3/architecture/iPhone/iPhoneAppDelegate.mm new file mode 100644 index 0000000..9f6e466 --- /dev/null +++ b/interpreter/preprocessor/faust-0.9.47mr3/architecture/iPhone/iPhoneAppDelegate.mm @@ -0,0 +1,85 @@ +/************************************************************************ + ************************************************************************ + FAUST Architecture File + Copyright (C) 2003-2011 GRAME, Centre National de Creation Musicale + --------------------------------------------------------------------- + + This is sample code. This file is provided as an example of minimal + FAUST architecture file. Redistribution and use in source and binary + forms, with or without modification, in part or in full are permitted. + In particular you can create a derived work of this FAUST architecture + and distribute that work under terms of your choice. + + This sample code is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + ************************************************************************ + ************************************************************************/ + +#import "iPhoneAppDelegate.h" +#import "iPhoneViewController.h" +#include "iphone-faust.h" + + +@implementation iPhoneAppDelegate + +@synthesize window; +@synthesize viewController; + +TiPhoneCoreAudioRenderer* audio_device = NULL; +UI* interface = NULL; +MY_Meta metadata; +char rcfilename[256]; + +- (void)applicationDidFinishLaunching:(UIApplication *)application +{ + DSP.metadata(&metadata); + + interface = new CocoaUI(window, viewController, &metadata); + audio_device = new TiPhoneCoreAudioRenderer(DSP.getNumInputs(), DSP.getNumOutputs()); + + long srate = 44100; + int fpb = 256; + + DSP.init(long(srate)); + DSP.buildUserInterface(interface); + + const char* home = getenv ("HOME"); + const char* name = (*metadata.find("name")).second; + if (home == 0) + home = "."; + snprintf(rcfilename, 256, "%s/Library/Caches/%s", home, name); + interface->recallState(rcfilename); + + if (audio_device->Open(fpb, srate) < 0) { + printf("Cannot open CoreAudio device\n"); + goto error; + } + + if (audio_device->Start() < 0) { + printf("Cannot start CoreAudio device\n"); + goto error; + } + + return; + +error: + delete interface; + delete audio_device; +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + interface->saveState(rcfilename); +} + +- (void)dealloc +{ + audio_device->Stop(); + audio_device->Close(); + delete audio_device; + delete interface; + [super dealloc]; +} + +@end