Browse Source

Delete macos static binaries and iphone stuff

tags/v1.9.15
falkTX 5 years ago
parent
commit
1024af1c8d
17 changed files with 0 additions and 6014 deletions
  1. +0
    -30
      macosx/iphone/Info.plist
  2. +0
    -440
      macosx/iphone/MainWindow.xib
  3. +0
    -35
      macosx/iphone/audio_thru.mm
  4. +0
    -750
      macosx/iphone/freeverb.mm
  5. +0
    -1298
      macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj
  6. +0
    -23
      macosx/iphone/iPhoneNetAppDelegate.h
  7. +0
    -32
      macosx/iphone/iPhoneNetAppDelegate.m
  8. +0
    -10
      macosx/iphone/iPhoneNet_Prefix.pch
  9. BIN
      macosx/iphone/icon.png
  10. +0
    -3127
      macosx/iphone/iphone-faust.mm
  11. +0
    -155
      macosx/iphone/main_master.mm
  12. +0
    -114
      macosx/iphone/main_slave.mm
  13. BIN
      macosx/libaften_pcm.a
  14. BIN
      macosx/libaften_static.a
  15. BIN
      macosx/libcelt.a
  16. BIN
      macosx/libopus.a
  17. BIN
      macosx/libportaudio.a

+ 0
- 30
macosx/iphone/Info.plist View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>fr.grame.iGrame.iPhoneFaustNet</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>MainWindow</string>
</dict>
</plist>

+ 0
- 440
macosx/iphone/MainWindow.xib View File

@@ -1,440 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">528</int>
<string key="IBDocument.SystemVersion">10C540</string>
<string key="IBDocument.InterfaceBuilderVersion">740</string>
<string key="IBDocument.AppKitVersion">1038.25</string>
<string key="IBDocument.HIToolboxVersion">458.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">62</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="427554174">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUICustomObject" id="664661524"/>
<object class="IBUIWindow" id="380026005">
<reference key="NSNextResponder"/>
<int key="NSvFlags">1316</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUILabel" id="622412730">
<reference key="NSNextResponder" ref="380026005"/>
<int key="NSvFlags">1316</int>
<string key="NSFrame">{{25, 40}, {267, 21}}</string>
<reference key="NSSuperview" ref="380026005"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="IBUIText">NetJack : client on JACK server </string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
</object>
</object>
<object class="NSPSMatrix" key="NSFrameMatrix"/>
<string key="NSFrameSize">{320, 480}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="664661524"/>
</object>
<int key="connectionID">4</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="664661524"/>
<reference key="destination" ref="380026005"/>
</object>
<int key="connectionID">5</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="380026005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="622412730"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="664661524"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="427554174"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="622412730"/>
<reference key="parent" ref="380026005"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>10.IBPluginDependency</string>
<string>2.IBAttributePlaceholdersKey</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
<string>2.IBUserGuides</string>
<string>3.CustomClassName</string>
<string>3.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSMutableDictionary">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string>{{366, 320}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUserGuide">
<reference key="view" ref="380026005"/>
<double key="location">153.5</double>
<int key="affinity">0</int>
</object>
</object>
<string>iPhoneNetAppDelegate</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">11</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">iPhoneNetAppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>navigationController</string>
<string>window</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UINavigationController</string>
<string>UIWindow</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">iPhoneNetAppDelegate.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">iPhoneNetAppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIApplication</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UINavigationController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="325457853">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<reference key="sourceIdentifier" ref="325457853"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIWindow</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="528" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="544" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">iPhoneNet.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3.1</string>
</data>
</archive>

+ 0
- 35
macosx/iphone/audio_thru.mm View File

@@ -1,35 +0,0 @@

#include "JackAudioQueueAdapter.h"

#define CHANNELS 2

static void DSPcompute(int count, float** input, float** output)
{
for (int i = 0; i < CHANNELS; i++) {
memcpy(output[i], input[i], count * sizeof(float));
}
}

int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
Jack::JackAudioQueueAdapter audio(2, 2, 512, 44100, DSPcompute);
if (audio.Open() < 0) {
fprintf(stderr, "Cannot open audio\n");
return 1;
}
// Hang around forever...
while(1) CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.25, false);
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
if (audio.Close() < 0) {
fprintf(stderr, "Cannot close audio\n");
}
return retVal;
}

+ 0
- 750
macosx/iphone/freeverb.mm View File

@@ -1,750 +0,0 @@
//-----------------------------------------------------
// name: "freeverb"
// version: "1.0"
// author: "Grame"
// license: "BSD"
// copyright: "(c)GRAME 2006"
//
// Code generated with Faust 0.9.9.5b2 (http://faust.grame.fr)
//-----------------------------------------------------
/* link with */

/* link with */
#include <math.h>
/* link with */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <errno.h>
#include <time.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <pwd.h>
#include <sys/types.h>
#include <assert.h>
#include <pthread.h>
#include <sys/wait.h>
#include <libgen.h>
#include <jack/net.h>

#include <list>
#include <vector>
#include <iostream>
#include <fstream>
#include <stack>
#include <list>
#include <map>

#include "JackAudioQueueAdapter.h"

using namespace std;

// On Intel set FZ (Flush to Zero) and DAZ (Denormals Are Zero)
// flags to avoid costly denormals
#ifdef __SSE__
#include <xmmintrin.h>
#ifdef __SSE2__
#define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8040)
#else
#define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8000)
#endif
#else
#define AVOIDDENORMALS
#endif

//#define BENCHMARKMODE

struct Meta : map<const char*, const char*>
{
void declare (const char* key, const char* value) { (*this)[key]=value; }
};


#define max(x,y) (((x)>(y)) ? (x) : (y))
#define min(x,y) (((x)<(y)) ? (x) : (y))

inline int lsr (int x, int n) { return int(((unsigned int)x) >> n); }
inline int int2pow2 (int x) { int r = 0; while ((1<<r)<x) r++; return r; }


/******************************************************************************
*******************************************************************************

VECTOR INTRINSICS

*******************************************************************************
*******************************************************************************/


/******************************************************************************
*******************************************************************************

USER INTERFACE

*******************************************************************************
*******************************************************************************/

class UI
{
bool fStopped;
public:

UI() : fStopped(false) {}
virtual ~UI() {}

// -- active widgets

virtual void addButton(const char* label, float* zone) = 0;
virtual void addToggleButton(const char* label, float* zone) = 0;
virtual void addCheckButton(const char* label, float* zone) = 0;
virtual void addVerticalSlider(const char* label, float* zone, float init, float min, float max, float step) = 0;
virtual void addHorizontalSlider(const char* label, float* zone, float init, float min, float max, float step) = 0;
virtual void addNumEntry(const char* label, float* zone, float init, float min, float max, float step) = 0;

// -- passive widgets

virtual void addNumDisplay(const char* label, float* zone, int precision) = 0;
virtual void addTextDisplay(const char* label, float* zone, char* names[], float min, float max) = 0;
virtual void addHorizontalBargraph(const char* label, float* zone, float min, float max) = 0;
virtual void addVerticalBargraph(const char* label, float* zone, float min, float max) = 0;

// -- frames and labels

virtual void openFrameBox(const char* label) = 0;
virtual void openTabBox(const char* label) = 0;
virtual void openHorizontalBox(const char* label) = 0;
virtual void openVerticalBox(const char* label) = 0;
virtual void closeBox() = 0;

virtual void show() = 0;
virtual void run() = 0;

void stop() { fStopped = true; }
bool stopped() { return fStopped; }

virtual void declare(float* zone, const char* key, const char* value) {}
};

struct param {
float* fZone; float fMin; float fMax;
param(float* z, float a, float b) : fZone(z), fMin(a), fMax(b) {}
};

class CMDUI : public UI
{
int fArgc;
char** fArgv;
stack<string> fPrefix;
map<string, param> fKeyParam;

void addOption(const char* label, float* zone, float min, float max)
{
string fullname = fPrefix.top() + label;
fKeyParam.insert(make_pair(fullname, param(zone, min, max)));
}

void openAnyBox(const char* label)
{
string prefix;

if (label && label[0]) {
prefix = fPrefix.top() + "-" + label;
} else {
prefix = fPrefix.top();
}
fPrefix.push(prefix);
}

public:

CMDUI(int argc, char *argv[]) : UI(), fArgc(argc), fArgv(argv) { fPrefix.push("--"); }
virtual ~CMDUI() {}

virtual void addButton(const char* label, float* zone) {};
virtual void addToggleButton(const char* label, float* zone) {};
virtual void addCheckButton(const char* label, float* zone) {};

virtual void addVerticalSlider(const char* label, float* zone, float init, float min, float max, float step)
{
addOption(label,zone,min,max);
}

virtual void addHorizontalSlider(const char* label, float* zone, float init, float min, float max, float step)
{
addOption(label,zone,min,max);
}

virtual void addNumEntry(const char* label, float* zone, float init, float min, float max, float step)
{
addOption(label,zone,min,max);
}

// -- passive widgets

virtual void addNumDisplay(const char* label, float* zone, int precision) {}
virtual void addTextDisplay(const char* label, float* zone, char* names[], float min, float max) {}
virtual void addHorizontalBargraph(const char* label, float* zone, float min, float max) {}
virtual void addVerticalBargraph(const char* label, float* zone, float min, float max) {}

virtual void openFrameBox(const char* label) { openAnyBox(label); }
virtual void openTabBox(const char* label) { openAnyBox(label); }
virtual void openHorizontalBox(const char* label) { openAnyBox(label); }
virtual void openVerticalBox(const char* label) { openAnyBox(label); }

virtual void closeBox() { fPrefix.pop(); }

virtual void show() {}
virtual void run()
{
char c;
printf("Type 'q' to quit\n");
while ((c = getchar()) != 'q') {
sleep(1);
}
}

void print()
{
map<string, param>::iterator i;
cout << fArgc << "\n";
cout << fArgv[0] << " option list : ";
for (i = fKeyParam.begin(); i != fKeyParam.end(); i++) {
cout << "[ " << i->first << " " << i->second.fMin << ".." << i->second.fMax <<" ] ";
}
}

void process_command()
{
map<string, param>::iterator p;
for (int i = 1; i < fArgc; i++) {
if (fArgv[i][0] == '-') {
p = fKeyParam.find(fArgv[i]);
if (p == fKeyParam.end()) {
cout << fArgv[0] << " : unrecognized option " << fArgv[i] << "\n";
print();
exit(1);
}
char* end;
*(p->second.fZone) = float(strtod(fArgv[i+1], &end));
i++;
}
}
}

void process_init()
{
map<string, param>::iterator p;
for (int i = 1; i < fArgc; i++) {
if (fArgv[i][0] == '-') {
p = fKeyParam.find(fArgv[i]);
if (p == fKeyParam.end()) {
cout << fArgv[0] << " : unrecognized option " << fArgv[i] << "\n";
exit(1);
}
char* end;
*(p->second.fZone) = float(strtod(fArgv[i+1], &end));
i++;
}
}
}
};


//----------------------------------------------------------------
// Signal processor definition
//----------------------------------------------------------------

class dsp {
protected:
int fSamplingFreq;
public:
dsp() {}
virtual ~dsp() {}

virtual int getNumInputs() = 0;
virtual int getNumOutputs() = 0;
virtual void buildUserInterface(UI* interface) = 0;
virtual void init(int samplingRate) = 0;
virtual void compute(int len, float** inputs, float** outputs) = 0;
virtual void conclude() {}
};


//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------


class mydsp : public dsp {
private:
float fslider0;
float fRec9[2];
float fslider1;
int IOTA;
float fVec0[2048];
float fRec8[2];
float fRec11[2];
float fVec1[2048];
float fRec10[2];
float fRec13[2];
float fVec2[2048];
float fRec12[2];
float fRec15[2];
float fVec3[2048];
float fRec14[2];
float fRec17[2];
float fVec4[2048];
float fRec16[2];
float fRec19[2];
float fVec5[2048];
float fRec18[2];
float fRec21[2];
float fVec6[2048];
float fRec20[2];
float fRec23[2];
float fVec7[2048];
float fRec22[2];
float fVec8[1024];
float fRec6[2];
float fVec9[512];
float fRec4[2];
float fVec10[512];
float fRec2[2];
float fVec11[256];
float fRec0[2];
float fslider2;
float fRec33[2];
float fVec12[2048];
float fRec32[2];
float fRec35[2];
float fVec13[2048];
float fRec34[2];
float fRec37[2];
float fVec14[2048];
float fRec36[2];
float fRec39[2];
float fVec15[2048];
float fRec38[2];
float fRec41[2];
float fVec16[2048];
float fRec40[2];
float fRec43[2];
float fVec17[2048];
float fRec42[2];
float fRec45[2];
float fVec18[2048];
float fRec44[2];
float fRec47[2];
float fVec19[2048];
float fRec46[2];
float fVec20[1024];
float fRec30[2];
float fVec21[512];
float fRec28[2];
float fVec22[512];
float fRec26[2];
float fVec23[256];
float fRec24[2];
public:
static void metadata(Meta* m) {
m->declare("name", "freeverb");
m->declare("version", "1.0");
m->declare("author", "Grame");
m->declare("license", "BSD");
m->declare("copyright", "(c)GRAME 2006");
}

virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
}
virtual void instanceInit(int samplingFreq) {
fSamplingFreq = samplingFreq;
fslider0 = 0.5f;
for (int i=0; i<2; i++) fRec9[i] = 0;
fslider1 = 0.8f;
IOTA = 0;
for (int i=0; i<2048; i++) fVec0[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<2048; i++) fVec1[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2048; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<2048; i++) fVec3[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
for (int i=0; i<2048; i++) fVec4[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<2; i++) fRec19[i] = 0;
for (int i=0; i<2048; i++) fVec5[i] = 0;
for (int i=0; i<2; i++) fRec18[i] = 0;
for (int i=0; i<2; i++) fRec21[i] = 0;
for (int i=0; i<2048; i++) fVec6[i] = 0;
for (int i=0; i<2; i++) fRec20[i] = 0;
for (int i=0; i<2; i++) fRec23[i] = 0;
for (int i=0; i<2048; i++) fVec7[i] = 0;
for (int i=0; i<2; i++) fRec22[i] = 0;
for (int i=0; i<1024; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<512; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<512; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<256; i++) fVec11[i] = 0;
for (int i=0; i<2; i++) fRec0[i] = 0;
fslider2 = 0.8f;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<2048; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<2048; i++) fVec13[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<2048; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<2048; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<2048; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<2048; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2048; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<2048; i++) fVec19[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<1024; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<512; i++) fVec21[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<512; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<256; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec24[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void buildUserInterface(UI* interface) {
interface->openVerticalBox("Freeverb");
interface->addHorizontalSlider("Damp", &fslider0, 0.5f, 0.0f, 1.0f, 2.500000e-02f);
interface->addHorizontalSlider("RoomSize", &fslider1, 0.8f, 0.0f, 1.0f, 2.500000e-02f);
interface->addHorizontalSlider("Wet", &fslider2, 0.8f, 0.0f, 1.0f, 2.500000e-02f);
interface->closeBox();
}
virtual void compute (int count, float** input, float** output) {
float fSlow0 = (0.4f * fslider0);
float fSlow1 = (1 - fSlow0);
float fSlow2 = (0.7f + (0.28f * fslider1));
float fSlow3 = fslider2;
float fSlow4 = (1 - fSlow3);
float* input0 = input[0];
float* input1 = input[1];
float* output0 = output[0];
float* output1 = output[1];
for (int i=0; i<count; i++) {
fRec9[0] = ((fSlow1 * fRec8[1]) + (fSlow0 * fRec9[1]));
float fTemp0 = input1[i];
float fTemp1 = input0[i];
float fTemp2 = (1.500000e-02f * (fTemp1 + fTemp0));
fVec0[IOTA&2047] = (fTemp2 + (fSlow2 * fRec9[0]));
fRec8[0] = fVec0[(IOTA-1617)&2047];
fRec11[0] = ((fSlow1 * fRec10[1]) + (fSlow0 * fRec11[1]));
fVec1[IOTA&2047] = (fTemp2 + (fSlow2 * fRec11[0]));
fRec10[0] = fVec1[(IOTA-1557)&2047];
fRec13[0] = ((fSlow1 * fRec12[1]) + (fSlow0 * fRec13[1]));
fVec2[IOTA&2047] = (fTemp2 + (fSlow2 * fRec13[0]));
fRec12[0] = fVec2[(IOTA-1491)&2047];
fRec15[0] = ((fSlow1 * fRec14[1]) + (fSlow0 * fRec15[1]));
fVec3[IOTA&2047] = (fTemp2 + (fSlow2 * fRec15[0]));
fRec14[0] = fVec3[(IOTA-1422)&2047];
fRec17[0] = ((fSlow1 * fRec16[1]) + (fSlow0 * fRec17[1]));
fVec4[IOTA&2047] = (fTemp2 + (fSlow2 * fRec17[0]));
fRec16[0] = fVec4[(IOTA-1356)&2047];
fRec19[0] = ((fSlow1 * fRec18[1]) + (fSlow0 * fRec19[1]));
fVec5[IOTA&2047] = (fTemp2 + (fSlow2 * fRec19[0]));
fRec18[0] = fVec5[(IOTA-1277)&2047];
fRec21[0] = ((fSlow1 * fRec20[1]) + (fSlow0 * fRec21[1]));
fVec6[IOTA&2047] = (fTemp2 + (fSlow2 * fRec21[0]));
fRec20[0] = fVec6[(IOTA-1188)&2047];
fRec23[0] = ((fSlow1 * fRec22[1]) + (fSlow0 * fRec23[1]));
fVec7[IOTA&2047] = (fTemp2 + (fSlow2 * fRec23[0]));
fRec22[0] = fVec7[(IOTA-1116)&2047];
float fTemp3 = (((((((fRec22[0] + fRec20[0]) + fRec18[0]) + fRec16[0]) + fRec14[0]) + fRec12[0]) + fRec10[0]) + fRec8[0]);
fVec8[IOTA&1023] = (fTemp3 + (0.5f * fRec6[1]));
fRec6[0] = fVec8[(IOTA-556)&1023];
float fRec7 = (0 - (fTemp3 - fRec6[1]));
fVec9[IOTA&511] = (fRec7 + (0.5f * fRec4[1]));
fRec4[0] = fVec9[(IOTA-441)&511];
float fRec5 = (fRec4[1] - fRec7);
fVec10[IOTA&511] = (fRec5 + (0.5f * fRec2[1]));
fRec2[0] = fVec10[(IOTA-341)&511];
float fRec3 = (fRec2[1] - fRec5);
fVec11[IOTA&255] = (fRec3 + (0.5f * fRec0[1]));
fRec0[0] = fVec11[(IOTA-225)&255];
float fRec1 = (fRec0[1] - fRec3);
output0[i] = ((fSlow4 * fTemp1) + (fSlow3 * fRec1));
fRec33[0] = ((fSlow1 * fRec32[1]) + (fSlow0 * fRec33[1]));
fVec12[IOTA&2047] = (fTemp2 + (fSlow2 * fRec33[0]));
fRec32[0] = fVec12[(IOTA-1640)&2047];
fRec35[0] = ((fSlow1 * fRec34[1]) + (fSlow0 * fRec35[1]));
fVec13[IOTA&2047] = (fTemp2 + (fSlow2 * fRec35[0]));
fRec34[0] = fVec13[(IOTA-1580)&2047];
fRec37[0] = ((fSlow1 * fRec36[1]) + (fSlow0 * fRec37[1]));
fVec14[IOTA&2047] = (fTemp2 + (fSlow2 * fRec37[0]));
fRec36[0] = fVec14[(IOTA-1514)&2047];
fRec39[0] = ((fSlow1 * fRec38[1]) + (fSlow0 * fRec39[1]));
fVec15[IOTA&2047] = (fTemp2 + (fSlow2 * fRec39[0]));
fRec38[0] = fVec15[(IOTA-1445)&2047];
fRec41[0] = ((fSlow1 * fRec40[1]) + (fSlow0 * fRec41[1]));
fVec16[IOTA&2047] = (fTemp2 + (fSlow2 * fRec41[0]));
fRec40[0] = fVec16[(IOTA-1379)&2047];
fRec43[0] = ((fSlow1 * fRec42[1]) + (fSlow0 * fRec43[1]));
fVec17[IOTA&2047] = (fTemp2 + (fSlow2 * fRec43[0]));
fRec42[0] = fVec17[(IOTA-1300)&2047];
fRec45[0] = ((fSlow1 * fRec44[1]) + (fSlow0 * fRec45[1]));
fVec18[IOTA&2047] = (fTemp2 + (fSlow2 * fRec45[0]));
fRec44[0] = fVec18[(IOTA-1211)&2047];
fRec47[0] = ((fSlow1 * fRec46[1]) + (fSlow0 * fRec47[1]));
fVec19[IOTA&2047] = (fTemp2 + (fSlow2 * fRec47[0]));
fRec46[0] = fVec19[(IOTA-1139)&2047];
float fTemp4 = (((((((fRec46[0] + fRec44[0]) + fRec42[0]) + fRec40[0]) + fRec38[0]) + fRec36[0]) + fRec34[0]) + fRec32[0]);
fVec20[IOTA&1023] = (fTemp4 + (0.5f * fRec30[1]));
fRec30[0] = fVec20[(IOTA-579)&1023];
float fRec31 = (0 - (fTemp4 - fRec30[1]));
fVec21[IOTA&511] = (fRec31 + (0.5f * fRec28[1]));
fRec28[0] = fVec21[(IOTA-464)&511];
float fRec29 = (fRec28[1] - fRec31);
fVec22[IOTA&511] = (fRec29 + (0.5f * fRec26[1]));
fRec26[0] = fVec22[(IOTA-364)&511];
float fRec27 = (fRec26[1] - fRec29);
fVec23[IOTA&255] = (fRec27 + (0.5f * fRec24[1]));
fRec24[0] = fVec23[(IOTA-248)&255];
float fRec25 = (fRec24[1] - fRec27);
output1[i] = ((fSlow4 * fTemp0) + (fSlow3 * fRec25));
// post processing
fRec24[1] = fRec24[0];
fRec26[1] = fRec26[0];
fRec28[1] = fRec28[0];
fRec30[1] = fRec30[0];
fRec46[1] = fRec46[0];
fRec47[1] = fRec47[0];
fRec44[1] = fRec44[0];
fRec45[1] = fRec45[0];
fRec42[1] = fRec42[0];
fRec43[1] = fRec43[0];
fRec40[1] = fRec40[0];
fRec41[1] = fRec41[0];
fRec38[1] = fRec38[0];
fRec39[1] = fRec39[0];
fRec36[1] = fRec36[0];
fRec37[1] = fRec37[0];
fRec34[1] = fRec34[0];
fRec35[1] = fRec35[0];
fRec32[1] = fRec32[0];
fRec33[1] = fRec33[0];
fRec0[1] = fRec0[0];
fRec2[1] = fRec2[0];
fRec4[1] = fRec4[0];
fRec6[1] = fRec6[0];
fRec22[1] = fRec22[0];
fRec23[1] = fRec23[0];
fRec20[1] = fRec20[0];
fRec21[1] = fRec21[0];
fRec18[1] = fRec18[0];
fRec19[1] = fRec19[0];
fRec16[1] = fRec16[0];
fRec17[1] = fRec17[0];
fRec14[1] = fRec14[0];
fRec15[1] = fRec15[0];
fRec12[1] = fRec12[0];
fRec13[1] = fRec13[0];
fRec10[1] = fRec10[0];
fRec11[1] = fRec11[0];
fRec8[1] = fRec8[0];
IOTA = IOTA+1;
fRec9[1] = fRec9[0];
}
}
};

mydsp DSP;

/******************************************************************************
*******************************************************************************

NETJACK AUDIO INTERFACE

*******************************************************************************
*******************************************************************************/

//----------------------------------------------------------------------------
// number of input and output channels
//----------------------------------------------------------------------------

int gNumInChans;
int gNumOutChans;

//----------------------------------------------------------------------------
// Jack Callbacks
//----------------------------------------------------------------------------

static void net_shutdown(void *)
{
exit(1);
}

#ifdef BENCHMARKMODE
// measuring jack performances
static __inline__ unsigned long long int rdtsc(void)
{
unsigned long long int x;
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
return x;
}

#define KSKIP 10
#define KMESURE 1024
int mesure = 0;
unsigned long long int starts[KMESURE];
unsigned long long int stops [KMESURE];

#define STARTMESURE starts[mesure%KMESURE] = rdtsc();
#define STOPMESURE stops[mesure%KMESURE] = rdtsc(); mesure = mesure+1;

void printstats()
{
unsigned long long int low, hi, tot;
low = hi = tot = (stops[KSKIP] - starts[KSKIP]);

if (mesure < KMESURE) {

for (int i = KSKIP+1; i<mesure; i++) {
unsigned long long int m = stops[i] - starts[i];
if (m<low) low = m;
if (m>hi) hi = m;
tot += m;
}
cout << low << ' ' << tot/(mesure-KSKIP) << ' ' << hi << endl;

} else {

for (int i = KSKIP+1; i<KMESURE; i++) {
unsigned long long int m = stops[i] - starts[i];
if (m<low) low = m;
if (m>hi) hi = m;
tot += m;
}
cout << low << ' ' << tot/(KMESURE-KSKIP) << ' ' << hi << endl;

}
}

#else

#define STARTMESURE
#define STOPMESURE

#endif

static int net_process(jack_nframes_t buffer_size,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer,
void* data)
{
AVOIDDENORMALS;
STARTMESURE
DSP.compute(buffer_size, audio_input_buffer, audio_output_buffer);
STOPMESURE
return 0;
}

/******************************************************************************
*******************************************************************************

MAIN PLAY THREAD

*******************************************************************************
*******************************************************************************/

//-------------------------------------------------------------------------
// MAIN
//-------------------------------------------------------------------------


#define TEST_MASTER "194.5.49.5"

int main(int argc, char *argv[]) {

UI* interface = new CMDUI(argc, argv);
jack_net_slave_t* net;
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

//Jack::JackAudioQueueAdapter audio(2, 2, 1024, 44100, NULL);

gNumInChans = DSP.getNumInputs();
gNumOutChans = DSP.getNumOutputs();

jack_slave_t request = { gNumInChans, gNumOutChans, 0, 0, DEFAULT_MTU, -1, 2 };
jack_master_t result;

printf("Network\n");

//if (audio.Open() < 0) {
// fprintf(stderr, "Cannot open audio\n");
// return 1;
//}

//audio.Start();

// Hang around forever...
//while(1) CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.25, false);

if ((net = jack_net_slave_open(TEST_MASTER, DEFAULT_PORT, "iPhone", &request, &result)) == 0) {
fprintf(stderr, "jack remote server not running ?\n");
return 1;
}

jack_set_net_slave_process_callback(net, net_process, NULL);

// We want to restart (that is "wait for available master" again)
//jack_set_net_shutdown_callback(net, net_shutdown, 0);

DSP.init(result.sample_rate);
DSP.buildUserInterface(interface);

if (jack_net_slave_activate(net) != 0) {
fprintf(stderr, "cannot activate net");
return 1;
}

int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];

// Wait for application end
jack_net_slave_deactivate(net);
jack_net_slave_close(net);

//if (audio.Close() < 0) {
// fprintf(stderr, "Cannot close audio\n");
//}

return retVal;
}

+ 0
- 1298
macosx/iphone/iPhoneNet.xcodeproj/project.pbxproj
File diff suppressed because it is too large
View File


+ 0
- 23
macosx/iphone/iPhoneNetAppDelegate.h View File

@@ -1,23 +0,0 @@
//
// iPhoneNetAppDelegate.h
// iPhoneNet
//
// Created by Stéphane LETZ on 16/02/09.
// Copyright Grame 2009. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface iPhoneNetAppDelegate : NSObject <UIApplicationDelegate> {
// UIWindow *window;
IBOutlet UIWindow *window;
IBOutlet UINavigationController *navigationController;
}

//@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) UINavigationController *navigationController;

@end


+ 0
- 32
macosx/iphone/iPhoneNetAppDelegate.m View File

@@ -1,32 +0,0 @@
//
// iPhoneNetAppDelegate.m
// iPhoneNet
//
// Created by Stéphane LETZ on 16/02/09.
// Copyright Grame 2009. All rights reserved.
//

#import "iPhoneNetAppDelegate.h"

@implementation iPhoneNetAppDelegate

@synthesize window, navigationController;


- (void)applicationDidFinishLaunching:(UIApplication *)application {

// Override point for customization after application launch
// add the navigation controller's view to the window
[window addSubview: navigationController.view];
[window makeKeyAndVisible];
}


- (void)dealloc {
[navigationController release];
[window release];
[super dealloc];
}


@end

+ 0
- 10
macosx/iphone/iPhoneNet_Prefix.pch View File

@@ -1,10 +0,0 @@
//
// Prefix header for all source files of the 'iPhoneNet' target in the 'iPhoneNet' project
//

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif

#define MY_TARGET_OS_IPHONE 1

BIN
macosx/iphone/icon.png View File

Before After
Width: 48  |  Height: 48  |  Size: 5.2KB

+ 0
- 3127
macosx/iphone/iphone-faust.mm
File diff suppressed because it is too large
View File


+ 0
- 155
macosx/iphone/main_master.mm View File

@@ -1,155 +0,0 @@
//
// main.m
// iPhoneNet
//
// Created by Stéphane LETZ on 16/02/09.
// Copyright Grame 2009. All rights reserved.
//

#import <UIKit/UIKit.h>
#include <jack/net.h>

#include "TiPhoneCoreAudioRenderer.h"

#define NUM_INPUT 2
#define NUM_OUTPUT 2

jack_net_master_t* net;
jack_adapter_t* adapter;

float** audio_input_buffer = NULL;
float** audio_output_buffer = NULL;

int buffer_size = 1024;
int sample_rate = 22050;
//int sample_rate = 32000;

jack_master_t request = { -1, -1, -1, -1, buffer_size, sample_rate, "master" };
jack_slave_t result;

static void MixAudio(float** dst, float** src1, float** src2, int channels, int buffer_size)
{
for (int chan = 0; chan < channels; chan++) {
for (int frame = 0; frame < buffer_size; frame++) {
dst[chan][frame] = src1[chan][frame] + src2[chan][frame];
}
}
}

static void MasterAudioCallback(int frames, float** inputs, float** outputs, void* arg)
{
int i;

// Copy from iPod input to network buffers
for (i = 0; i < result.audio_input; i++) {
memcpy(audio_input_buffer[i], inputs[i], buffer_size * sizeof(float));
}

/*
// Copy from network out buffers to network in buffers (audio thru)
for (i = 0; i < result.audio_input; i++) {
memcpy(audio_input_buffer[i], audio_output_buffer[i], buffer_size * sizeof(float));
}
*/

// Mix iPod input and network in buffers to network out buffers
//MixAudio(audio_input_buffer, inputs, audio_output_buffer, result.audio_input, buffer_size);

// Send network buffers
if (jack_net_master_send(net, result.audio_input, audio_input_buffer, 0, NULL) < 0) {
printf("jack_net_master_send error..\n");
}

// Recv network buffers
if (jack_net_master_recv(net, result.audio_output, audio_output_buffer, 0, NULL) < 0) {
printf("jack_net_master_recv error..\n");
}

// Copy from network buffers to iPod output
for (i = 0; i < result.audio_output; i++) {
memcpy(outputs[i], audio_output_buffer[i], buffer_size * sizeof(float));
}
}

int main(int argc, char *argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int i;

if ((net = jack_net_master_open(DEFAULT_MULTICAST_IP, DEFAULT_PORT, "iPhone", &request, &result)) == 0) {
printf("jack_net_master_open error..\n");
return -1;
}

TiPhoneCoreAudioRenderer audio_device(result.audio_input, result.audio_output);

// Allocate buffers
if (result.audio_input > 0) {
audio_input_buffer = (float**)calloc(result.audio_input, sizeof(float*));
for (i = 0; i < result.audio_input; i++) {
audio_input_buffer[i] = (float*)(calloc(buffer_size, sizeof(float)));
}
}

if (result.audio_output > 0) {
audio_output_buffer = (float**)calloc(result.audio_output, sizeof(float*));
for (i = 0; i < result.audio_output; i++) {
audio_output_buffer[i] = (float*)(calloc(buffer_size, sizeof(float)));
}
}

if (audio_device.Open(buffer_size, sample_rate) < 0) {
return -1;
}

audio_device.SetAudioCallback(MasterAudioCallback, NULL);

if (audio_device.Start() < 0) {
return -1;
}

/*
// Quite brutal way, the application actually does not start completely, the netjack audio processing loop is used instead...
// Run until interrupted

int wait_usec = (unsigned long)((((float)buffer_size) / ((float)sample_rate)) * 1000000.0f);

while (1) {

// Copy input to output
for (i = 0; i < result.audio_input; i++) {
memcpy(audio_output_buffer[i], audio_input_buffer[i], buffer_size * sizeof(float));
}

if (jack_net_master_send(net, result.audio_output, audio_output_buffer, 0, NULL) < 0) {
printf("jack_net_master_send error..\n");
}

if (jack_net_master_recv(net, result.audio_input, audio_input_buffer, 0, NULL) < 0) {
printf("jack_net_master_recv error..\n");
}
usleep(wait_usec);
};
*/

int retVal = UIApplicationMain(argc, argv, nil, nil);

audio_device.Stop();
audio_device.Close();

// Wait for application end
jack_net_master_close(net);

for (i = 0; i < result.audio_input; i++) {
free(audio_input_buffer[i]);
}
free(audio_input_buffer);

for (i = 0; i < result.audio_output; i++) {
free(audio_output_buffer[i]);
}
free(audio_output_buffer);

[pool release];
return retVal;
}

+ 0
- 114
macosx/iphone/main_slave.mm View File

@@ -1,114 +0,0 @@
//
// main.m
// iPhoneNet
//
// Created by Stéphane LETZ on 16/02/09.
// Copyright Grame 2009. All rights reserved.
//

#import <UIKit/UIKit.h>
#include <jack/net.h>

#include "TiPhoneCoreAudioRenderer.h"

#define NUM_INPUT 0
#define NUM_OUTPUT 2

jack_net_slave_t* net = NULL;
jack_adapter_t* adapter = NULL;

int buffer_size;
int sample_rate;

static int net_process(jack_nframes_t buffer_size,
int audio_input,
float** audio_input_buffer,
int midi_input,
void** midi_input_buffer,
int audio_output,
float** audio_output_buffer,
int midi_output,
void** midi_output_buffer,
void* data)
{
jack_adapter_pull_and_push(adapter, audio_output_buffer, audio_input_buffer, buffer_size);

// Process input, produce output
if (audio_input == audio_output) {
// Copy net input to net output
for (int i = 0; i < audio_input; i++) {
memcpy(audio_output_buffer[i], audio_input_buffer[i], buffer_size * sizeof(float));
}
}
return 0;
}

static void net_shutdown(void *arg)
{
if (adapter)
jack_flush_adapter(adapter);
}

static void SlaveAudioCallback(int frames, float** inputs, float** outputs, void* arg)
{
jack_adapter_push_and_pull(adapter, inputs, outputs, frames);
}

//http://www.securityfocus.com/infocus/1884

#define WIFI_MTU 1500

int main(int argc, char *argv[]) {

NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

jack_slave_t request = { NUM_OUTPUT, NUM_INPUT, 0, 0, WIFI_MTU, -1, JackCeltEncoder, 128, 2 };
jack_master_t result;

//if ((net = jack_net_slave_open("169.254.112.119", DEFAULT_PORT, "iPhone", &request, &result)) == 0) {
if ((net = jack_net_slave_open(DEFAULT_MULTICAST_IP, DEFAULT_PORT, "iPod", &request, &result)) == 0) {
printf("jack_net_slave_open error...\n");
return -1;
}

if ((adapter = jack_create_adapter(NUM_INPUT,
NUM_OUTPUT,
result.buffer_size,
result.sample_rate,
result.buffer_size,
result.sample_rate)) == 0) {
return -1;
}

TiPhoneCoreAudioRenderer audio_device(NUM_INPUT, NUM_OUTPUT);

jack_set_net_slave_process_callback(net, net_process, NULL);
jack_set_net_slave_shutdown_callback(net, net_shutdown, NULL);

if (jack_net_slave_activate(net) != 0) {
printf("Cannot activate slave client\n");
return -1;
}

if (audio_device.Open(result.buffer_size, result.sample_rate) < 0) {
return -1;
}

audio_device.SetAudioCallback(SlaveAudioCallback, NULL);

if (audio_device.Start() < 0) {
return -1;
}

int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];

audio_device.Stop();
audio_device.Close();

// Wait for application end
jack_net_slave_deactivate(net);
jack_net_slave_close(net);
jack_destroy_adapter(adapter);
return retVal;
}

BIN
macosx/libaften_pcm.a View File


BIN
macosx/libaften_static.a View File


BIN
macosx/libcelt.a View File


BIN
macosx/libopus.a View File


BIN
macosx/libportaudio.a View File


Loading…
Cancel
Save