Audio related questions

Hello. First a quick thanks to you at Corona. I have been using it for 4 months now and coming from a non-coder background, I am finding it very inspiring.
I do however have some questions. I am mainly creating audio and sound related apps. I have an inevitable problem coming up and that is to do with MIDI. I believe there is no way to access the MIDI functions with Corona as yet. This is going to be a necessity for me soon and I am wondering whether you have this planned in the short term. I can not find any concrete answers so far about this. More and more customers are expecting MIDI in/out and sync to use audio apps for their studio. More and more apps are coming out with MIDI and basically I am feeling left out. Is there any way around this like some kind of implementation or MIDI plugin for Corona or is my only option to learning Object-C and doing it all from scratch with X-code? I can see me having to go down this route within this year or my apps wont be taken seriously compared to the competition.
Second question: With regard to recording audio, is there a way to record the audio that is created from the app itself and not externally, then save that to somewhere which can be accessible from outside the app.
I have tried looking for answers but I could not find any that had clear answers or were recent enough as Corona is always updating.
PS. I tried the simple tuner app on my iPad but it didn’t seem to work. The meter was going all over the place randomly. My microphone works fine with Facetime so that is not broken. Do I need to purchase an accessory item for a line-in or something?
Thank you. I hope you can clear up my questions and concerns soon.
Rob [import]uid: 124886 topic_id: 30209 reply_id: 330209[/import]

We currently don’t provide access to native MIDI functions. It is not something we have scheduled.

With Enterprise, you could theoretically write your own plugin. Be aware that on iOS, all the MIDI APIs are part of Core Audio which is pure C, not Objective-C. And on Android, I think the only way to get to MIDI is through OpenSL ES which is also a pure C API (not Java) via the NDK. OpenSL ES requires 2.3+ but I’m not sure of how complete their implementation is.

For you second question, the microphone can record audio. The tuner example has known problems. There are some recording examples that simply save your recording to a file and play it back.
[import]uid: 7563 topic_id: 30209 reply_id: 121052[/import]

Thanks. Are you saying that you don’t plan to have midi function at all for now?
Did you mean making plugins using Enterprise to be used with Corona or separate to Corona? -Sorry if i sound dumb but im new to this.

Ill look at the audio examples but just one more question and that was are we able to record to file the audio that is produced FROM the app. IE you make a drum loop and then able to record it to a sample to be available outside the app?

Thanks

Rob [import]uid: 124886 topic_id: 30209 reply_id: 121057[/import]

  1. We currently don’t have plans to add MIDI support. (We haven’t gotten many user requests for it and there is a bunch of other stuff we need to do w.r.t. audio before this anyway.)

  2. Enterprise:
    http://www.coronalabs.com/products/enterprise/

  3. We don’t support recording the app’s output. (I would file a feature request with Apple to support this with OpenAL.)
    [import]uid: 7563 topic_id: 30209 reply_id: 121060[/import]

That Enterprise looks very interesting. So are you saying that with the right code, it should be possible to get midi sync somehow (and anything else i want). I just need to code it in Obj-c or Java and then link it in to Corona. Is that right? If so which would you recommend - Java or Obj C?

Thanks
Rob
[import]uid: 124886 topic_id: 30209 reply_id: 121150[/import]

Yes, Enterprise lets you write native platform code and link to Corona as a library.

The native language in iOS is Obj-C. The native language of Android is Java. If you write native code on their respective platforms, you have to use their languages. But the caveat is that for MIDI, you will need to write in mostly C (with possibly some thin interfaces in Obj-C or Java) because both platforms only provide native MIDI interfaces in C. (Objective-C is a pure superset of C so it is natural for some parts to be written in C for performance. Android is more schizophrenic and has something called the NDK which lets you write code in C or C++ and they provide some libraries only on the NDK side for performance. You use the JNI bridge to cross between Java and C.)

[import]uid: 7563 topic_id: 30209 reply_id: 121194[/import]

Sounds promising. Just need to start learning C :slight_smile: I guess that as its just one thing i am trying to do it shouldn’t take long to do. I have a few coder friends that may be able to help. How do I get hold of Enterprise - I’m assuming there is a cost involved? Is it like what Gideros do (bridging lua with C)?

Thanks
Rob [import]uid: 124886 topic_id: 30209 reply_id: 121230[/import]

Yes, the bridging should be very similar to Gideros since the Lua/C interface is part of the Lua language standard/spec. Ultimately, we’re all deferring to Lua.

For more information on Enterprise, please follow the “Contact Us” link on the bottom of the Enterprise page:
http://www.coronalabs.com/products/enterprise/
[import]uid: 7563 topic_id: 30209 reply_id: 121379[/import]

We currently don’t provide access to native MIDI functions. It is not something we have scheduled.

With Enterprise, you could theoretically write your own plugin. Be aware that on iOS, all the MIDI APIs are part of Core Audio which is pure C, not Objective-C. And on Android, I think the only way to get to MIDI is through OpenSL ES which is also a pure C API (not Java) via the NDK. OpenSL ES requires 2.3+ but I’m not sure of how complete their implementation is.

For you second question, the microphone can record audio. The tuner example has known problems. There are some recording examples that simply save your recording to a file and play it back.
[import]uid: 7563 topic_id: 30209 reply_id: 121052[/import]

Thanks. Are you saying that you don’t plan to have midi function at all for now?
Did you mean making plugins using Enterprise to be used with Corona or separate to Corona? -Sorry if i sound dumb but im new to this.

Ill look at the audio examples but just one more question and that was are we able to record to file the audio that is produced FROM the app. IE you make a drum loop and then able to record it to a sample to be available outside the app?

Thanks

Rob [import]uid: 124886 topic_id: 30209 reply_id: 121057[/import]

  1. We currently don’t have plans to add MIDI support. (We haven’t gotten many user requests for it and there is a bunch of other stuff we need to do w.r.t. audio before this anyway.)

  2. Enterprise:
    http://www.coronalabs.com/products/enterprise/

  3. We don’t support recording the app’s output. (I would file a feature request with Apple to support this with OpenAL.)
    [import]uid: 7563 topic_id: 30209 reply_id: 121060[/import]

Okay cool I’m looking it it now. While I’m here can you tell me if you have any plans to support Windows mobile 7-8 ever or any time soon?

Ill check out the Enterprise link now

[import]uid: 124886 topic_id: 30209 reply_id: 121731[/import]

We are constantly monitoring the Windows space, but for the moment we don’t have any immediate plans to support Windows mobile.
[import]uid: 7563 topic_id: 30209 reply_id: 121754[/import]

That Enterprise looks very interesting. So are you saying that with the right code, it should be possible to get midi sync somehow (and anything else i want). I just need to code it in Obj-c or Java and then link it in to Corona. Is that right? If so which would you recommend - Java or Obj C?

Thanks
Rob
[import]uid: 124886 topic_id: 30209 reply_id: 121150[/import]

Yes, Enterprise lets you write native platform code and link to Corona as a library.

The native language in iOS is Obj-C. The native language of Android is Java. If you write native code on their respective platforms, you have to use their languages. But the caveat is that for MIDI, you will need to write in mostly C (with possibly some thin interfaces in Obj-C or Java) because both platforms only provide native MIDI interfaces in C. (Objective-C is a pure superset of C so it is natural for some parts to be written in C for performance. Android is more schizophrenic and has something called the NDK which lets you write code in C or C++ and they provide some libraries only on the NDK side for performance. You use the JNI bridge to cross between Java and C.)

[import]uid: 7563 topic_id: 30209 reply_id: 121194[/import]

Sounds promising. Just need to start learning C :slight_smile: I guess that as its just one thing i am trying to do it shouldn’t take long to do. I have a few coder friends that may be able to help. How do I get hold of Enterprise - I’m assuming there is a cost involved? Is it like what Gideros do (bridging lua with C)?

Thanks
Rob [import]uid: 124886 topic_id: 30209 reply_id: 121230[/import]

Yes, the bridging should be very similar to Gideros since the Lua/C interface is part of the Lua language standard/spec. Ultimately, we’re all deferring to Lua.

For more information on Enterprise, please follow the “Contact Us” link on the bottom of the Enterprise page:
http://www.coronalabs.com/products/enterprise/
[import]uid: 7563 topic_id: 30209 reply_id: 121379[/import]

Okay cool I’m looking it it now. While I’m here can you tell me if you have any plans to support Windows mobile 7-8 ever or any time soon?

Ill check out the Enterprise link now

[import]uid: 124886 topic_id: 30209 reply_id: 121731[/import]

We are constantly monitoring the Windows space, but for the moment we don’t have any immediate plans to support Windows mobile.
[import]uid: 7563 topic_id: 30209 reply_id: 121754[/import]

I did get in touch with that sales about Enterprise and after letting them know that i was a very small company and that i only needed it for this one thing, I have not had a reply and it has been 10 days.
I do need to know what the cost of it will be before I can plan anything. I have absolutely no idea what the cost will be.
(on a side not I really hope you do get some Win 8 thing going as I think its going to get big quickly) [import]uid: 124886 topic_id: 30209 reply_id: 123133[/import]