Audiobus: Use your music apps together.

What is Audiobus?Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.

Download on the App Store

Audiobus is the app that makes the rest of your setup better.

Generic questions: App development for iOS / iPadOS / macOS

The user and all related content has been deleted.

Comments

  • edited July 2021
    The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • edited July 2021
    The user and all related content has been deleted.
  • I recommend starting with Playgrounds on iPad then switching to the forthcoming update which lets you ship apps to the App Store

    I’m a professional Swift dev with apps in the store and I can’t wait to ditch unnecessary complexity of Xcode for most purposes

  • Also highly recommend you check out Realm and their recent talks on YouTube about how they integrate with SwiftUI. It includes a review of architectures

    VIPER is way overkill for SwiftUI which introduces new architectural patterns for iOS

  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • edited July 2021

    This one is a good start (recommend watching sped up though)

    I’ve co-developed an app in the store with VIPER and even with UIKit it forced a huge amount of boilerplate split up across files for any small change. Also worked with a team that recently moved away from it with UIKit. I recommend patterns that make it easier to scale the architectural abstraction up and down appropriate to the complexity at hand in areas of your application. The video covers a simple case but provides some threads for further research.

    Realm is also ahead of Apple in terms of SwiftUI-idiomatic data store. SwiftUI is all about bindings which Realm does well.

    The upcoming Playgrounds is quite serious, I wouldn’t dismiss it so quickly

  • edited July 2021
    The user and all related content has been deleted.
  • edited July 2021

    Playgrounds is for mac

    MongoDB bought Realm a while back

  • edited July 2021
    The user and all related content has been deleted.
  • wimwim
    edited July 2021

    @tja said:
    Why is there no default for all targets of all projects instead, Apple?

    They aren't interested in encouraging people to stick with free accounts. Basic marketing my friend.

    If I worked for Apple at Xcode, this would have been fixed on my first day!

    Unless the marketing VP and/or CFO has more power than the engineering VP. Which is undoubtedly the case.

    QUESTION: Or mabye, I am just as stupid as usual and did not find the default setting for projects?

    But, it is very important to set "None": As @wim explained, you should not sign with your free developer ID, as those are restricted to a certain number of builds (for macOS only?) per week! And you may need to wait a week otherwise.

    It's not the number of builds, but the number of new projects that are signed. You can build each project and deploy it to your devices to your heart's content once you have a signing certificate for it.

    As I would like to test any crappy App of mine on a real iPad, I even think about paying the developer fee to Apple - even years before I may be able to push something to the App Store, just for the convenience.

    You can. You just can't fire up a whole bunch of new projects all at the same time. There is also a workaround by re-using a signing certificate from another app. I forget the details of how to do this, but it has to do with turning off the "Automatically manage signing" setting or something.

  • The user and all related content has been deleted.
  • edited July 2021
    The user and all related content has been deleted.
  • wimwim
    edited July 2021

    Jeeze @tja, I dunno. It was easy and intuitive enough when I did it that I didn't bother documenting or remembering what I did. It took no time at all. I registered my iPad and my iPhone, and even set them up for wireless deployment so I don't have to plug them in. I don't have any more devices to set up so I can't easily retrace my steps.

    There are enough developers here, so hopefully one can walk you through it. If there's something fundamentally different about paid accounts then maybe they won't be able to. If so then let me know and I'll see about de-registering one of my devices so I can refresh my memory of the process.

  • edited July 2021
    The user and all related content has been deleted.
  • edited July 2021
    The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • edited August 2021
    The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • @tja said:
    So far, I really don't like the Optionals, their Forced Unwrapping, Optional Binding and Implicitly Unwrapped Optionals from Swift.

    Seems horrible bloated and complicated, esp. as the test-variables can only be used in their small scope and need to be copied to another variable, if you want to use them outside / later.

    var s:String = "1"
    
    if let n = Int (s) {
            print (n)
    } else {
            print ("n unknown")
    }
    print ("n unknown")
    

    Just some random comment :disappointed:

    The usage pattern you want is with a guard statement. So like this,

    guard let ds = self.data_source else { return }

    You can put whatever you want in the scope where the return statement is, error logging, etc. In this example then, the ds is available in the enclosing scope of the guard statement.

    This also gets combined up with defer statements to handle error situations in a clean way.

    Swift actually has a pretty rich set of conditional compilation statements that can be useful. Guard, defer, and the compilation stuff is all on this page in the Swift language reference;

    https://docs.swift.org/swift-book/ReferenceManual/Statements.html

    I do agree about type inference. There are too many times in Swift where it doesn't work and I think it has an impact on code readability. Type inference can cause problems even in Haskell and Haskell is much better at it than Swift in my experience. But, I think it's there because of wanting to support some functional programming patterns and it does really help in reducing the complexity of reading closures where the types involved are usually clear.

  • The user and all related content has been deleted.
  • edited September 2021

    Forgive the silly question, but can’t find an answer other than Reddit type forums and not 100%

    Are self coded and side loaded iOS apps limited to 1 week or can you make them longer?
    If it is 1 week, can this be circumvented with apple business manager for deployment as “internal apps” for a business through an MDM? (I have both of these)

  • @AlmostAnonymous said:
    Forgive the silly question, but can’t find an answer other than Reddit type forums and not 100%

    Are self coded and side loaded iOS apps limited to 1 week or can you make them longer?
    If it is 1 week, can this be circumvented with apple business manager for deployment as “internal apps” for a business through an MDM? (I have both of these)

    If the app is signed with a valid team certificate that the device is provisioned to work with, then it lasts longer than a week. I think it lasts until the certificate needs to be renewed but I can't remember for sure.

    I use an open source medical application on an iPhone and Watch and it goes for months at least without having to rebuild it. This is a standard testing build for a team. It's not a special business internal build.

  • Is your app sideloaded via Xcode? Or you have it deployed to you via MDM?

  • @AlmostAnonymous said:
    Is your app sideloaded via Xcode? Or you have it deployed to you via MDM?

    I compile it from source with Xcode and deploy it to the device from there.

  • Thank you for you input. Somehow I knew it it would be you replying. ;)

Sign In or Register to comment.