Post

Replies

Boosts

Views

Activity

How do I turn an array of Float into an AVAudioPCMBuffer?
I have an array of Float (representing audio samples) and I want to turn it into an AVAudioPCMBuffer so I can pass it to AVAudioFile's write(from:). There's an obvious way (actually not obvious at all, I cribbed it from this gist): var floats: [Float] = ... // this comes from somewhere else let audioBuffer = AudioBuffer(mNumberChannels: 1, mDataByteSize: UInt32(floats.count * MemoryLayout<Float>.size), mData: &floats) var bufferList = AudioBufferList(mNumberBuffers: 1, mBuffers: audioBuffer) let outputAudioBuffer = AVAudioPCMBuffer(pcmFormat: buffer.format, bufferListNoCopy: &bufferList)! try self.renderedAudioFile?.write(from: outputAudioBuffer) This works (I get the audio output I expect) but in Xcode 13.4.1 this gives me a warning on the &floats: Cannot use inout expression here; argument 'mData' must be a pointer that outlives the call to 'init(mNumberChannels:mDataByteSize:mData:)' Ok, scope the pointer then: var floats: [Float] = ... // this comes from somewhere else try withUnsafeMutablePointer(to: &floats) { bytes in let audioBuffer = AudioBuffer(mNumberChannels: 1, mDataByteSize: UInt32(bytes.pointee.count * MemoryLayout<Float>.size), mData: bytes) var bufferList = AudioBufferList(mNumberBuffers: 1, mBuffers: audioBuffer) let outputAudioBuffer = AVAudioPCMBuffer(pcmFormat: buffer.format, bufferListNoCopy: &bufferList)! try self.renderedAudioFile?.write(from: outputAudioBuffer) } The warning goes away, but now the output is garbage. I really don't understand this as floats.count and bytes.pointee.count are the same number. What am I doing wrong?
3
0
2.7k
Jun ’22
Visibility.h has been modified since the module file ... was built?
SwiftUI Previews in Xcode 13.2.1 (13C100) are failing for me with: file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/usr/lib/swift/shims/Visibility.h' has been modified since the module file '/var/folders/s_/v2rt7nls5794blqbt6c_gl9c0000gn/C/clang/ModuleCache/2LAIGLYLJJQNA/SwiftShims-2TTN5UXQBRCCQ.pcm' was built: mtime changed This is after quitting Xcode, deleting derived data, starting Xcode again and building from scratch. Anyone else seeing this problem? Any idea how to fix it?
3
0
1.6k
Dec ’21
Australian GST with revenue < AUD$75k
According to the ATO site, if I am a sole trader with revenue of &lt; $75k per annum, I am not requried to register for GST.However, Apple insists I register for GST in order to sell apps on the store in Australia.What do I put on my BAS statement? If I have &lt; $75k revenue, do I say "I had $x revenue and I owe GST of $0"? Or do I say, "I had $x revenue and I owe GST of $x/11" and then just don't pay it?(I know You Are Not A Tax Lawyer, but Australians registered for GST but with revenue below the $75k threshold, what do you do?)
5
0
4.1k
Aug ’17