Post

Replies

Boosts

Views

Activity

Reply to Wrong platform and OS detection from D3DMetal beta3
I finally installed Sonoma b6 on my external ssd (nvme4, TB4 connection), and it works (tested through Whisky only, and I didn't have to apply the fix/arguments at steam launch). Myst (DX12, Unreal engine 4) plays fine at full screen (1680x1050 resolution and 3D resolution scale to 100%, High quality settings), Metal Hud shows 60 fps, with some areas between 50 and 60, and some drops to 45. Used memory was 3GB (game process) and 5GB (GPU)- I've 32GB unified memory, and frame processing time (for the last second and a half) was 20ms.
Aug ’23
Reply to Wrong platform and OS detection from D3DMetal beta3
Apple Gaming porting toolkit 1.0.4 : Steam using Whisky Despite following carefully the instructions (you have to ensure x86 homebrew is installed/used instead native arm, not the same paths) I have hard time making it work : since Steam is installed, next time it is launched (or a game is downloaded and launched) there is a message stating D3DMetal required MacOS Sonoma and an Apple Silicon Mac (which both I have !). I followed many tutorials, that are in fact based on Apple GPTK image readme, plus some tricks and game compatibility list. I also tried using Wineskin server/Winery with latest D3DMetal engine, or even Whisky latest build (1.1.1, August 24. It allows to enable/disable quickly D3DMetal - works only with DX11 and DX12 games - or DXVK - for older/DX9 games or those incompatible/GPTK) I used the free UTM virtualization solution (that is based on Apple's hypervisor framework), it installed Sonoma b6 really fast on the container (on internal ssd) and I allocated 8 (powerful) cores and 20480 MB memory. All is very responsive (despite mouse scrolling sometimes lagging and reverse scroll option in UTM not working). Also you shouldn't move the container (in user/Library/Containers/UTM) to an external disk, as the virtualized Sonoma is since very slow (despite using an external Samsung 980 Pro nvme4 ssd in a Thunderbolt 4 enclosure). In fact there isn't a Sonoma beta installer available, only the ipsw restore file (which we used/dragged to UTM to install). So if you prefer installing Sonoma beta on an external drive (instead VM), you have to donwload Ventura 13.5.1 installer first, then install Ventura on the external drive, then boot into it, and finally update to Sonoma using settings panel. It was said however recent MacOS aren't made to be run on external drive. To note, compiling GPTK (using brew) took close to one hour on MacOS Ventura (my first try without VM), and twice the time on the VM (the Mac mini enclosure was severe hot during the process - the 8 cores were used at 100 percent). Then installing Whisky is fast, in fact you just have to drag the GPTK image on it and create a Win10 bottle (located in user/Library/Containers/Whisky/someId/name), and I found a solution to steam problem here : https://mybyways.com/blog/running-steam-in-game-porting-toolkit You just have to add these config arguments (step2) : -allosarches -cef-force-32bit I didn't encounter/had to fix Blank login dialog (step1) nor Steam blank page (step3). However, still not working, launching Myst (DX12) states application requires Sonoma and Apple Silicon !
Aug ’23
Reply to 'algorithm' file not found
There is a bug in Xcode 12.3.4 (MacOS 12.3.3) when importing < algorithm > C library from Xcode generated boilerplate code for a mac audio unit extension target. The class where compiler says it can't find the library is the generated/example classs BufferedAudioBus.hpp. That shouldn't happen (it isn't my own code, it is example/support code generated by Xcode itself). Also I do not see the compiler custom user options where I could set the libc++ (there was a key for that before, however it is now unsupported since Xcode 12.3.3). Jerome
Oct ’22
Reply to AUv3 extension based on AVAudioUnitSampler not registered
(AUInternalRenderBlock)internalRenderBlock {   return ^AUAudioUnitStatus(AudioUnitRenderActionFlags    *actionFlags,                               const AudioTimeStamp     *timestamp,                               AVAudioFrameCount     frameCount,                               NSInteger     outputBusNumber,                               AudioBufferList     *outputBufferListPtr,                               const AURenderEvent     *realtimeEventListHead,                               AURenderPullInputBlock     pullInputBlock ) {                  int outputNumBuffers = outputBufferListPtr->mNumberBuffers; float *ptrLeft  = (float*)outputBufferListPtr->mBuffers[0].mData;         float *ptrRight = NULL;         if (outputNumBuffers == 2) {             ptrRight = (float*)outputBufferListPtr->mBuffers[1].mData;         } AVAudioPCMBuffer *mixerNodeBuffer = [self.timeToBuffer objectForKey:timestamp]; mixerNodeBuffer.audioBufferList.pointee.mBuffers int n = frameCount; if(mixerNodeBuffer.frameLength == frameCount) for (int i=0;i<n;i++) {     ptrLeft[i] = mixerNodeBuffer.floatChannelData[0].pointee[n];     ptrRight[i] = mixerNodeBuffer.floatChannelData[1].pointee[n]; }   } }
Nov ’21
Reply to AUv3 extension based on AVAudioUnitSampler not registered
AVSampler : AUAudioUnit -(void) createAudioEngine   ...   [mixerNode installTapOnBus:0           bufferSize:4096             format:[[AVAudioFormat alloc]initWithStreamDescription:&audioFormat]              block:^(AVAudioPCMBuffer * _Nonnull buffer, AVAudioTime * _Nonnull when) {                 [self.timeToBuffer addObject:buffer forKey:when]; }]; ...
Nov ’21
Reply to Send MIDI to iOS Simulator
By creating the network connection manually (without discovering), passing the Bonjour name and IP Adresss displayed in Audio&Midi utility MIDINetworkHost *host = [MIDINetworkHost hostWithName:@"Mac mini ***" address:@"***.***.0.10" port:5004]; MIDINetworkConnection *connection = [MIDINetworkConnection connectionWithHost:host]; [networkSession addConnection:connection]; The MyMIDIReadProc handler was called once in debug mode, the first note started playing, however it was cut shortly thereafter, and subsequent MIDI messages were ignored. Also there was a low buzz sound.
Jan ’21
Reply to Send MIDI to iOS Simulator
I also added MIDI services discovery : browser = [[NSNetServiceBrowser alloc] init]; browser.delegate = self; browser searchForServicesOfType:MIDINetworkBonjourServiceType /* i.e. @"_apple-midi._udp"*/ &#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;inDomain:@""]; I then implemented some NSNetServiceDelegate and NSNetServiceBrowserDelegate methods (void)netServiceDidResolveAddress:(NSNetService *)service { &#9;&#9; &#9;&#9;if (![[service name] isEqualToString:[[UIDevice currentDevice] name]]) { &#9;&#9;&#9;&#9; &#9;&#9;&#9;&#9;[service setDelegate:nil]; &#9;&#9;&#9;&#9;NSLog(@"Resolved service name: %@ host name: %@", [service name], [service hostName]); &#9;&#9;&#9;&#9;MIDINetworkHost* host = [MIDINetworkHost hostWithName:[service name] netService:service]; &#9;&#9;&#9;&#9;MIDINetworkConnection* newConnection = [MIDINetworkConnection connectionWithHost:host]; &#9;&#9;&#9;&#9;[session addConnection:newConnection]; &#9;&#9;&#9;&#9;NSLog(@"Connected to %@", [service name]); &#9;&#9;} } (void)netServiceBrowser:(NSNetServiceBrowser *)aBrowser didFindService:(NSNetService *)aService { &#9;&#9;&#9;&#9;NSLog(@"Found service %@ on %@", [aService name], [aService hostName]); if (![[service name] isEqualToString:[[UIDevice currentDevice] name]]) { &#9;&#9;&#9;&#9; &#9;&#9;&#9;&#9;[service setDelegate:nil]; &#9;&#9;&#9;&#9;NSLog(@"Resolved service name: %@ host name: %@", [service name], [service hostName]); &#9;&#9;&#9;&#9;MIDINetworkHost* host = [MIDINetworkHost hostWithName:[service name] netService:service]; &#9;&#9;&#9;&#9;MIDINetworkConnection* newConnection = [MIDINetworkConnection connectionWithHost:host]; &#9;&#9;&#9;&#9;[networkSession addConnection:newConnection]; &#9;&#9;&#9;&#9;NSLog(@"Connected to %@", [service name]); &#9;&#9;} The two delegate methods didn't get called. Also when I send midi messages (fom Logic using Network session 1 as Port) the ios app midi handler is not called.
Jan ’21
Reply to UIActivityViewController cannot save plist to local application's Documents
I created a new project (with the two required options in Info.plist - UIFileSharingEnabled and LSSupportsOpeningDocumentsInPlace to YES), and using a single view controller. The second popover also goes down, as if it could't handle the item (plist file url), with error : Failed to determine whether URL /Users/.../Library/Developer/CoreSimulator/Devices/.../data/Containers/Data/Application/.../Documents/perf.plist (n) is managed by a file provider On iOS12.4 iPad target (simulator), and XCode 10.3. UPDATE : it works on a real device (iPad mini 2) (the second popover stays, I can select On my iPad, and the application directory as target. However can't rename the file). #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIButton *saveBtn; @property (strong, nonatomic) NSDictionary *partsConfigs; @end @implementation ViewController (void)viewDidLoad {     [super viewDidLoad];     // Do any additional setup after loading the view. } (IBAction)saveFile:(id)sender {     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     NSString *documentsDirectory = [paths objectAtIndex:0];     NSString *path = [documentsDirectory stringByAppendingPathComponent:@"perf.plist"];     NSDictionary *firstPartConfig = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Analog 4", @"PADS", nil] forKeys:[NSArray arrayWithObjects:@"name", @"category", nil]];     self.partsConfigs = [NSDictionary dictionaryWithObject:firstPartConfig forKey:@"1"];     [self.partsConfigs writeToFile:path atomically:YES];     NSURL *url = [NSURL fileURLWithPath:path];     UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:url, nil] applicationActivities:nil];  activityViewController.popoverPresentationController.sourceView = self.view;     [self presentViewController:activityViewController animated:YES completion:nil]; } @end
Jan ’21
Reply to UIActivityViewController cannot save plist to local application's Documents
In fact the first popover displays fine, however when I choose Save to file, a new popover comes from bottom and immediately closes down (I havent't time to see its content). I've not implemented any of the UIDocumentInteractionControllerDelegate methods, is there one required ? Its from iOS 12.4 simulator. I added activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {                 NSLog(@"act type %@",activityType);  }; It was called after the second view disappeared. activityType was : com.apple.CloudDocsUI.AddToiCloudDrive completed : NO returnedItems : nil activityError : Error Domain=NSPOSIXErrorDomain Code=22 "Invalid argument"
Jan ’21