Friday Session #7: Smule

Please note, this blog entry is from a previous course. You might want to check out the current one.

This weeks Friday session presents Smule, a company specialized in developing social music applications. It can be found on iTunes titled “Smule (November 18, 2011)”.

The lecturer is Ge Wang, assistant professor at the center of computer research in music and acoustics at Stanford and co-founder of Smule. He starts by introducing how music is generated on music, e.g. ChucK an audo programming language for real-time synthesis, composition, performance and analysis; its usage in laptop orchestras, e.g. Slork and Plork; and emphasizes how it can be applied on the iPhone to create social music experience, e.g. Ocarina a digital flute, Sing! and Glee Karaoke karaoke machines allowing to sing with other people online, Magic Piano and Magic Guitar further digital instruments.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Lecture #16: Action Sheets, Image Picker, Core Motion

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture sixteen is named “16. Action Sheets, Image Picker, Core Motion (November 17, 2011)” and can be found at iTunes. Its slides are available at Stanford.

This lecture is a continuation of the previous one providing more insight into timers, but also giving an overview about alerts and action sheets, image pickers and Core Motion.

Perform after delay is an alternative time to NSTimer, discussed in the previous lecture:
Continue reading “Lecture #16: Action Sheets, Image Picker, Core Motion”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Lecture #15: Modal View Controller/Text/Animation/Timer

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture fifteen is named “15. Modal View Controller/Text/Animation/Timer (November 15, 2011)” and can be found at iTunes. Its slides are available at Stanford.

The theoretical part of this lecture provides an introduction to modal view controllers, text fields, animations and the usage of timers.

Modal View Controllers provide views which fill the complete screen and should only be used if it is necessary to block all other navigation or tab controllers. They can be setup in storyboard using modal segues or via code, e.g.:
Continue reading “Lecture #15: Modal View Controller/Text/Animation/Timer”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #3

Please note, this blog entry is from a previous course. You might want to check out the current one.

Let the user search inside the tags table view. This is a non-trivial extra credit exercise, but you’ll definitely want to use NSSearchBarController.

During a search we will adjust the predicate of the fetched results controller using a new private property:

@property (nonatomic, strong) NSPredicate *searchPredicate;
...
@synthesize searchPredicate = _searchPredicate;
...
- (void)setupFetchedResultsController
{
...
    request.predicate = self.searchPredicate;
...
}

Continue reading “Assignment #6 Extra Task #3”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #2

Please note, this blog entry is from a previous course. You might want to check out the current one.

Allow users to reorder their itinerary for their vacation. To do this, you might want to think about creating a top-level Entity (Itinerary) in your schema and using an “ordered to-many relationship” to store the places in the itinerary. An “ordered to-many relationship” appears in your code as an NSOrderedSet (instead of an NSSet). The table view that shows the places in the itinerary will have to be rewritten to display this NSOrderedSet of places (it won’t be able to be an NSFetchedResultsController-based table view) and you will have to figure out how to use UITableView API to edit an NSMutableOrderedSet. Warning: while this is not that difficult to implement coding- wise, it requires quite a bit of investigation to figure out. Another approach is to add an attribute in your schema that determines the order (but this can be a little bit clunky). The former approach will probably lead to more learning opportunities.

Following the instructions from above create a new Entity called “Itinerary” for the Core Data Model with a ordered one-to-many relationship called “places” on the Itinerary side and “itinerary” on the place side. Recreate all NSManagedObject subclasses and add a category for the Itinerary class.
Continue reading “Assignment #6 Extra Task #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #1

Please note, this blog entry is from a previous course. You might want to check out the current one.

Add UI to allow the user to add new vacation documents and to pick which vacation they are visiting when they choose the Visit button.

For the first part of this task add a new view controller to both storyboards and setup a new subclass of the UIViewController class. Add a bar button item to the navigation item of the vacations table view controller with a push segue for the iPhone and a popover segue for the iPad from this new button to the new view controller. Add a text field with an outlet and a button with an action to the view controller.

To be able to close the popover controller after the button has been pressed, it is necessary to delegate this to the vacations view controller because it also creates the popover. Thus we add a protocol for the delegate:
Continue reading “Assignment #6 Extra Task #1”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail