views:

140

answers:

1

Hi All,

I am new to iPhone development, so please bear with me if I ask some simple questions.

I have to develop a DJ application for iPhone. My application should have some common features like selecting songs from the device, mixing, scratching and turntable implementation.

Any help in this respect will be highly appreciated. Thanks in advance.

Gaurav Arora

+7  A: 

Heh,

Let me give you some advice my CompSci 101 professor gave me. He said,

"There is no such thing as a simple program."

Every program, even a small script, has hidden complexity. Something on the order of the program you wish to write is a very complex app with dozens or even hundreds of functional components. Therefore, your question has hundreds of answers implicit within it and therefore can't be answered. You might as well have asked, "how do I write a word processor?"

Okay, let's walk you through the design process.

Step 1: The description of "DJ" application is far, far to vague. You really shouldn't label the app in the design process. Instead, of thinking of the app as a type or class of app, sit down and write down a detailed list of features/functions you wish the app to have. E.g.

  1. It will obtain music from some source.
  2. It will play that music.
  3. It will play music in a sequence determined by the user.
  4. It will allow the user to easily start and stop the playing of the music.
  5. It will allow the user to alter the speed and direction of the play of the music.

... and so on.

Step 2: Pick the function upon which all other's depend. In this case, obtaining music. Write down what means of obtaining music you want the app to have. E.g.

  1. It will obtain music from the iPhone's music library.
  2. It will download audio files from the internet.
  3. It will stream music from online sites.

Note that each one of these music sources is of an entirely different source and uses entirely different code to accomplish the task.

Step 3: Pick the one source you want to start with, say "obtain music from the iPhone's music library" and then break that down into necessary steps. E.g.

  1. Programmatically connect to the music library.
  2. Identify a specific song file in the music library
  3. Create a reference to the song that the next step ("play the song") can use.

Step 4: Research how an iPhone app can access the music library on the iPhone. If you want to post to StackOverflow, create a terse and specific question e.g. "How can an app connect to the iPhone's music library in order to play or read the music files there?"

Then repeat as necessary down each application feature.

Remember, just because an app presents a simple and easy to use interface to the user, it does not follow that the internals of the app are themselves simple to write. For example, modifying audio output to create minor distortion effects is very complex programming even though the user may just see a slider that adjust the degree of distortion.

You've taken on a big project and you should plan accordingly.

TechZen
Respect to you @TechZen, the question really didn't warrant such a comprehensive answer. 10 points going your way
Griffo
Eh, how's he going to learn if someone doesn't teach him? Besides, it's Saturday and I'm bored.
TechZen
I remember looking at this question and almost posting something like: [myAudio doScratch:YES ultraWicked:YES];Kudos for posting an answer that will actually help the OP out
pheelicks