how to develop idrummer for the 1st time

41
iPhone Apps II EungShik Kim Feb 21, 2009 UANGEL Corporation iDrummer Development ! "##$% "& "#’ ()’

Upload: eungshik-henry-kim

Post on 05-Jul-2015

50 views

Category:

Software


0 download

DESCRIPTION

Describe how to make the iDrummer(uDrummer after all) for the first time with Objective-C and Xcode 3 maybe.

TRANSCRIPT

Page 1: How to Develop iDrummer for the 1st time

iPhone Apps II

EungShik KimFeb 21, 2009

UANGEL Corporation

iDrummer Development

!"##$%!"&!"#'!()'

Page 2: How to Develop iDrummer for the 1st time

iDrummerInstroduction

""##$%!"&!"#'!()'

Page 3: How to Develop iDrummer for the 1st time

iDrummerFeatures

• Fast startup with ‘Default.png’ image file

• Scaled transform while loading first view

• Changing view with UIPageControl

• Flipping view by preference setting

• Effect images and sound by UITouch

• Playing sound effect automatically

• Remember user default settings

*"##$%!"&!"#'!()'

Page 4: How to Develop iDrummer for the 1st time

iDrummerUsing Components

• UIViewController, UIView, UIImageView, ...

• UITableView, UITableViewCell, ...

• UIAccelerometer (not included in v1.0)

• Control OpenAL Audio (OpenAL/al.h)

• UISlider(Overrided), UISwitch, UILabel, ...

• NSThread, NSUserDefaults

+"##$%!"&!"#'!()'

Page 5: How to Develop iDrummer for the 1st time

iDrummerDevelopment Log

• Making first draft (Without design)

• Making second draft (With design)

• Add ‘page slide’ with accelerometer

• Add ‘Timer Thread’ and ‘8, 16, 32 beat’

• iDrummer alpha open

• Changing sound to ambient audio session

• Distribute on iTunes AppStore

2/21/51/2 2/4 2/82/5 2/6 2/16

,"##$%!"&!"#'!()'

Page 6: How to Develop iDrummer for the 1st time

iDrummerDevelopment

-"##$%!"&!"#'!()'

Page 7: How to Develop iDrummer for the 1st time

iDrummerApplication Launching

."##$%!"&!"#'!()'

Page 8: How to Develop iDrummer for the 1st time

iDrummerApplication Launching Mechanism

UIApplicationMain()

Other Sources/main.m

Framework: UIKit

UIApplication

Resources/MainWindow.xib

Inherit: UIResponder: NSObject

<UIApplicationDelegate>

Application Cotroller/iDrummerAppDelegate.h

Framework: UIKit

[applicationDidFinishLaunching]

Application Cotroller/iDrummerAppDelegate.m

Class: UIApplicationDelegate

[RootViewController viewDidLoad]

Application Cotroller/RootViewController.m

Class: UIViewController

AcousticDrumView

ElectronicDrumView

MiniDrumView

ThumbDrumView

/"##$%!"&!"#'!()'

Page 9: How to Develop iDrummer for the 1st time

iDrummerUIViewController

& UIView

$"##$%!"&!"#'!()'

Page 10: How to Develop iDrummer for the 1st time

!N > Cocoa Touch Classes > UIViewController subclass Insert filename

iDrummerCreate UIViewController class

!#"##$%!"&!"#'!()'

Page 11: How to Develop iDrummer for the 1st time

UIViewController class

Code Review

!!"##$%!"&!"#'!()'

Page 12: How to Develop iDrummer for the 1st time

!N > Cocoa Touch Classes > UIView subclass Insert filename

iDrummerCreate UIView class

!""##$%!"&!"#'!()'

Page 13: How to Develop iDrummer for the 1st time

UIView class

Code Review

!*"##$%!"&!"#'!()'

Page 14: How to Develop iDrummer for the 1st time

iDrummerCreate XIB file 1

Right click on ‘Resources’ User Interfaces > View XIB

Insert filename

!+"##$%!"&!"#'!()'

Page 15: How to Develop iDrummer for the 1st time

iDrummerCreate XIB file 2

!,"##$%!"&!"#'!()'

Page 16: How to Develop iDrummer for the 1st time

iDrummerCreate XIB file 3

!-"##$%!"&!"#'!()'

Page 17: How to Develop iDrummer for the 1st time

iDrummerCreate XIB file 4

!."##$%!"&!"#'!()'

Page 18: How to Develop iDrummer for the 1st time

Connect to RootViewController

!/"##$%!"&!"#'!()'

Page 19: How to Develop iDrummer for the 1st time

iDrummerClass Hierarchy

& NSUserDefaults

!$"##$%!"&!"#'!()'

Page 20: How to Develop iDrummer for the 1st time

iDrummerNSUserDefaults - Register

"#"##$%!"&!"#'!()'

Page 21: How to Develop iDrummer for the 1st time

iDrummerNSUserDefaults - Restore

"!"##$%!"&!"#'!()'

Page 22: How to Develop iDrummer for the 1st time

iDrummerNSUserDefaults - Remember

"""##$%!"&!"#'!()'

Page 23: How to Develop iDrummer for the 1st time

iDrummerUITableViewCell

& Override UISlider

"*"##$%!"&!"#'!()'

Page 24: How to Develop iDrummer for the 1st time

!N > Cocoa Touch Classes > UITableViewCell subclass Insert filename

iDrummerCreate UITableViewCell class

"+"##$%!"&!"#'!()'

Page 25: How to Develop iDrummer for the 1st time

UITableViewCell class

Code Review

","##$%!"&!"#'!()'

Page 26: How to Develop iDrummer for the 1st time

iDrummerOverride UISlider

"-"##$%!"&!"#'!()'

Page 27: How to Develop iDrummer for the 1st time

iDrummerUIAccelerometer

"."##$%!"&!"#'!()'

Page 28: How to Develop iDrummer for the 1st time

iDrummerUIAccelerometerDelegate Protocol

"/"##$%!"&!"#'!()'

Page 29: How to Develop iDrummer for the 1st time

UIAccelerometer

Code Review

"$"##$%!"&!"#'!()'

Page 30: How to Develop iDrummer for the 1st time

iDrummerOpenAL Service

*#"##$%!"&!"#'!()'

Page 31: How to Develop iDrummer for the 1st time

iDrummerCore Audio in iPhone OS

iPhone OS Core Audio architectureMac OS X Core Audio architecture

*!"##$%!"&!"#'!()'

Page 32: How to Develop iDrummer for the 1st time

SoundEngine.cpp

Code Review

*""##$%!"&!"#'!()'

Page 33: How to Develop iDrummer for the 1st time

iDrummerAnd so force...

**"##$%!"&!"#'!()'

Page 34: How to Develop iDrummer for the 1st time

iDrummerEnabling Multiple Touch

*+"##$%!"&!"#'!()'

Page 35: How to Develop iDrummer for the 1st time

iDrummerFast Startup with Default.png

320px

480px

Default.png

*,"##$%!"&!"#'!()'

Page 36: How to Develop iDrummer for the 1st time

iDrummerScaled transform loading first view

*-"##$%!"&!"#'!()'

Page 37: How to Develop iDrummer for the 1st time

iDrummerChange view with UIPageControl

*."##$%!"&!"#'!()'

Page 38: How to Develop iDrummer for the 1st time

iDrummerFlipping view with ‘i’ button

*/"##$%!"&!"#'!()'

Page 39: How to Develop iDrummer for the 1st time

iDrummerEffect images and sound by UITouch

*$"##$%!"&!"#'!()'

Page 40: How to Develop iDrummer for the 1st time

iDrummerHide the status bar of iPhone

Create ‘UIStatusBarHidden’ key and checked value

+#"##$%!"&!"#'!()'

Page 41: How to Develop iDrummer for the 1st time

Thanks.

+!"##$%!"&!"#'!()'