samsung Samsung soundcamp ProgrammingGuide ProfessionalAudio(Soundcamp QuickGuide)

Soundcamp
Quick Guide
Copyright © Samsung Electronics Co., Ltd.All rights reserved.
What is Soundcamp?
Soundcamp is a Music Creation Application for Android OS.
A mobile Digital Audio Workstation (DAW) and Music Instrument Digital Interface (MIDI) sequencer
application based on Samsung Professional Audio SDK
Host applications for Soundcamp are compatible applications which provide
Entry point for Soundcamp compatible apps Easy download of more Soundcamp compatible apps in GALAXY Apps Simultaneous playback and editing of MIDI and audio tracks from various Soundcamp compatible apps
Key Features
Simultaneous playback of 8 MIDI and audio tracks USB MIDI control support Provide Mixing Console Provide Multi Track Recorder with MIDI and audio track editing functionalities Provide Bundle Instrument Applications
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 2
How can 3rd parties implement Soundcamp compatible applications?
In order to be compatible with Soundcamp, an application should be developed in accordance with the following guidance.
1. It should be implemented based on the Professional Audio SDK.
2. It should be implemented by using audio connection service in the Professional Audio SDK.
3. Its application category should be selected only among Audio/MIDI instrument and Audio effector.
4. It should have appropriate type of JACK port according to the application categories.
5. It should provide additional app icon, vendor string, and description for Soundcamp launcher.
6. In order to be added and launched properly from Soundcamp, the line below should be included in
AndroidManifest.xml. <meta-data android:name="com.samsung.android.sdk.professionalaudio.appinfo.multiinstanceenabled" android:value="true" />
7. For security reasons, Professional Audio changed their permission policy from AudioConnectionService.apk
version 16. Please add the permission into AndroidMainfest.xml as below according to the Professional Audio team's guide. <uses-permission android:name="com.samsung.android.sdk.professionalaudio.permission.USE_CONNECTION_SERVICE" />
For more information regarding Professional Audio, please refer to Samsung Mobile SDK page in Samsung Developers site (http://developer.samsung.com/develop#professional-audio). The detailed information regarding 3 and 4 will be described in the next section.
Application categories and JACK port for Soundcamp compatible application?
There are three types of application category for Soundcamp compatible application - Audio instrument, MIDI instrument, and Audio effector. For each category, appropriate category information should be described in AndroidManifest.xml and appropriate JACK port should be used in your applications. Please refer to the detailed information for each category.
1. Audio Instrument
An instrument application with WAV output Category of Professional Audio should be specified as 'instrument'
<meta-data android:name="com.samsung.android.sdk.professionalaudio.appinfo.category"
android:value="instrument"/>
An application should have 2 JACK_DEFAULT_AUDIO_TYPE output ports.
port_type : JACK_DEFAULT_AUDIO_TYPE flags : JackPortIsOutput
2. MIDI Instrument
An instrument application with MIDI output Category of Professional Audio should be specified as 'instrument'
<meta-data android:name="com.samsung.android.sdk.professionalaudio.appinfo.category"
android:value="instrument"/>
An application should have 1 JACK_DEFAULT_MIDI_TYPE output ports, 1 JACK_DEFAULT_MIDI_TYPE input
ports, and 2 JACK_DEFAULT_AUDIO_TYPE output ports.
port_type : JACK_DEFAULT_MIDI_TYPE, JACK_DEFAULT_AUDIO_TYPE flags : JackPortIsOutput(1 port for MIDI TYPE and 2 ports for AUDIO_TYPE), JackPortIsInput(1 port for
MIDI_TYPE)
3. Audio Effector
An effector application with WAV input/output Category of Professional Audio should be specified as 'instrument'
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 3
<meta-data android:name="com.samsung.android.sdk.professionalaudio.appinfo.category"
android:value="effect"/>
An application should have 2 JACK_DEFAULT_AUDIO_TYPE output ports and 2 JACK_DEFAULT_AUDIO_TYPE
input ports.
port_type : JACK_DEFAULT_AUDIO_TYPE flags : JackPortIsOutput, JackPortIsInput (2 ports for each)
You can find how to set the category for Professional Audio and how to specify the jack port from the programming guide of Professional Audio SDK.
The figure below is the wiring diagram of Soundcamp and its compatible apps. As you can see from the diagram, you can add two types of instruments and two effectors in Audio Effector 1 & 2 slot. Please note that internal effector slot is reserved for Soundcamp internal audio effector.
Fig 1. Wiring diagram of Soundcamp
How can Soundcamp compatible applications be exposed in the Samsung GALAXY Apps store?
The dedicated category for Soundcamp compatible applications will be provided in Samsung GALAXY Apps. In order to be exposed in the category, the compatible applications should include the line below in their AndroidManifest.xml.
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 4
<meta-data android:name="ProfessionalAudio" android:value="true”/>
And if you want to expose your application on various scenarios of Soundcamp, please set the category to " Soundcamp" as Main Category and "Sub Category" on Galaxy apps Seller office. But only partners of Soundcamp can set it, so please send the request email to "soundcamp@samsung.com" before setting.
Fig 2. Category of Galaxy apps Seller site
What kinds of audio connection service actions are supported by Soundcamp?
In audio connection service, an application has 'actions' which can be called by other applications to execute its own functionalities. For example, if a recorder application provides 'record' action to expose its recording function to other applications. (For more information regarding 'action', please refer to the programming guide of audio connection service.)
Soundcamp provides three actions to its compatible applications which are as follows:
MultiTrackRec_REC : start recording with the port connected to the sequencer of Soundcamp MultiTrackRec_PLAY : start playing the tracks stored in the sequencer of Soundcamp MultiTrackRec_RETURN: stop recording or play and return to the start position of Soundcamp
How can Soundcamp compatible applications connect to Soundcamp?
Soundcamp and Soundcamp compatible applications are connected by using audio connection service of Professional Audio SDK. Hence, if the applications are developed in accordance with audio connection service guideline of Professional Audio SDK, there is no need for the compatible application developer to consider the direct connection between Soundcamp & compatible applications.
How can users add the compatible apps into Soundcamp?
Users can add their instrument apps into Soundcamp from Multi Track Recorder (MTR).
1. Soundcamp - Keyboard or any other applications - MTR button.
2. In the MTR, press + button.
3. From the chooser, select the instrument app to add to your project
Users can add their effector apps into Soundcamp from Mixer.
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 5
1. Soundcamp - Keyboard or any other applications - Mixer button.
2. In the mixer, tap Mode button to set INS mode.
3. In one track, tap the + button of two effector slots.
4. You can activate effector application by double tapping the effector icon.
How to draw MIDI notes for MIDI instrument into Soundcamp?
Soundcamp draws a MIDI note until it receives a Note Off event after getting a Note On event on the same note value. So you should send the note value in pairs.
Trouble Shooting
1. Your application disappears from Multi Track Recorder or Mixer after launching it and returning to Soundcamp by back key or Go To menu.
In this case, please check that your application deactivates its Jack client when it is paused ('onPause') or destroyed ('onDestroy'). If it is, please remove the Jack client deactivation code because all the Jack clients used applications launched by Soundcamp should be handled by Soundcamp which sends request to deactivate those JackClient when it is ended or those applications are removed from Soundcamp by long pressing the icons. (The deactivation request is
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 6
done by sending the request to AudioAppConnectionBridge of AudioConnectionService of Samsung Professional Audio.) If your application deactivates its JACK client by itself, Soundcamp has no way to reactivate it.
However, in order to support the StandAlone launch from the Android Launcher, you need to add the code for deactivating JACK client in 'onPause' or 'onDestroy'. In this case, you can handle the code with conditions whether your application is launched from Android launcher or Soundcamp. Please use the intent filter to distinguish which one launched your applications.
[Intent Filter: from Soundcamp]
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.INFO" /> </intent-filter> <intent-filter> <action android:name="com.samsung.android.sdk.professionalaudio.action.MAIN" /> <category android:name="com.samsung.android.sdk.professionalaudio.category.LAUNCHER" /> </intent-filter>
[Intent Filter: from Launcher]
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
2. Your application experiences Force Close whenever it is launched from Soundcamp.
Please check your application has proper permission for Connection Service. Your application should have the permission string below in its AndroidManifest.xml.
<uses-permission android:name="com.samsung.android.sdk.professionalaudio.permission.USE_CONNECTION_SERVICE" />
3. Your application can not be launched in the Soundcamp Launcher.
Please check if your application has property 'multi instance enabled'. The tag below should be included in your application's AndroidManifest.xml.
<meta-data android:name="com.samsung.android.sdk.professionalaudio.appinfo.multiinstanceenabled" android:value="true" />
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 7
Appendix : Sequence Diagram - Interaction between Soundcamp and Professional Audio
In this appendix, we attached two sequence diagrams. Both diagrams are about the initial connection between Soundcamp and audio connection server. As you can see from the sequence diagram, there is no direct interaction between Soundcamp and Soundcamp compatible applications. Every interaction between them will be done through audio connection service. If you want to see more about the interaction, please refer to the programming guide for audio connection server.
Fig. 3.Initial connection between Soundcamp and Audio Connection Server for instrument type applications.
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 8
Fig. 4.Initial connection between Soundcamp and Audio Connection Server for effector type applications.
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 9
Copyright
Copyright © 2014 Samsung Electronics Co. Ltd.All Rights Reserved.
Though every care has been taken to ensure the accuracy of this document, Samsung Electronics Co., Ltd. cannot accept responsibility for any errors or omissions or for any loss occurred to any person, whether legal or natural, from acting, or refraining from action, as a result of the information contained herein. Information in this document is subject to change at any time without obligation to notify any person of such changes.
Samsung Electronics Co. Ltd. may have patents or patent pending applications, trademarks copyrights or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give the recipient or reader any license to these patents, trademarks copyrights or other intellectual property rights.
No part of this document may be communicated, distributed, reproduced or transmitted in any form or by any means, electronic or mechanical or otherwise, for any purpose, without the prior written permission of Samsung Electronics Co. Ltd.
The document is subject to revision without further notice.
All brand names and product names mentioned in this document are trademarks or registered trademarks of their respective owners.
For more information, please visit http://developer.samsung.com/
Copyright © Samsung Electronics Co., Ltd.All rights reserved. 10
Loading...