Initial Commit. Getting the skeleton ready.

Add production and staging environments
Remove user schemes, and add shared.
Remove unecessary files from bundle (such as $APP-Info.plist)

Add QuartzCore to Frameworks/
Setup application setting file

Setup Cocoapods (and add to repo since we want a isolated bundle)
We will be using;
platform :ios, '5.0'
pod 'AFNetworking'
pod 'MagicalRecord'
pod 'Reachability'
pod 'NSDate-Extensions'
pod 'SVWebViewController'
pod 'TPKeyboardAvoiding'
pod 'SVProgressHUD'
pod 'SVPullToRefresh'

Added shared schemes for mogenerator and pod.
Switched to AdHoc code sign for staging archives

Get some culture in here.
Added supers for the controllers, Lists, Details and Main super.
Added libs'n'utilities for helping a brotha out
Frame
Dictionary
Subscripting
Storyboard
And filled out the prefix files with these fine fine settings.

Added my default App Delegate

Updated Podfile to remove a particular 'pod' that had warnings.
Added the Lib folder to the xcode project

Empty storyboards.
Got rid of generated sample controllers
Added SystemConfig for reachability.
Changed storyboards to use 5.0 and no AUtolayout.

Added
   <SystemConfiguration/SystemConfiguration.h>
    <MobileCoreServices/MobileCoreServices.h>
For AFNetwork dependency
Shared mogenerator
Merge branch 'feature/skeleton' into develop
Add SoundCloud SDK via Cocoapods (was not mentioned on the Readme)
Raise fist against dependency on a 3rd party library!  *raises*
Add urlschemes for app
Will need to add for staging as well later.

Add staging credentials
Import SCSoundCloud to prefix.

Alright, the UI has too much dependency on the actual API so it's an evil necesseity. Adding it to Cocoapods

God damn. Magical Record and OHMarkupParser (dependency on SoundCloudUI) have both defined C methods on global namespace
Renaming it out on Magical Record => MR_UIColorFromString(NSString *serializedColor);

Can manage login without Soundcloud UI.
In other words; it's a goner.

Alright. Login, fetching favorites all done.
Time to split out into modules and then work on UI and after that. UX.. Big Kahuna Burger.
Added missing lifecycle delegate calls to the super controllers
Created YTBLoginViewController (detail)

LoginVC now has a button and activity indicator (placeholder)
App delegate has a -(void)setupSoundCloudAPICredentials;
Moved most login and request logins to VC. Will eventually move to their own modules.

Settle login, will get back here later.
Added FavoritesVC will work on it in a new branch
Rename from Favorites to FavoritesList
Attach table view and connect delegates, datasource and outlet.

(added gitignore to ignore usershared schemes and emacs backup files - too annoying Emacs!)
Favorites is now fleshed out. Got to do the cells

Favorites Fleshed out with mockup models
YTBTrack that has many (orderetset) YTBComments
Have sectionCells (tracks) that open up a whole list of normal cells (comments)
Add attributes on the models
On Comment
  username
  backendId

On Track
  waveformUrl
  username
  uri
  labelName
  commentCount
  backendId
  artworkUrl

YTBComment
  timestamp
  createdAt
  bodyHTML
  body
  backendId

YTBTrack
  waveformUrl
  username
  uri
  labelName
  commentCount
  backendId
  artworkUrl
  ----------
  artwork
  comments
  user
  waveform

YTBUser
  userName
  fullName
  backendId
  ---------
  comments
  avatar
  tracks

YTBImage (Polymorphic)
  imageData
  ---------
  trackArtwork
  trackWaveform
  userAvatar

Updated models with new attributes and relationship.
Removed mockup from favorites
Saving everything into core data now. Will move to a queue later.
Made a comment cell.
Added activity indicator
Removed truncation of records.

Comments are fetched and built.
Getting rid of some pods for now.
Got rid of the AFNetworking dependency (YTBHTTPClient)
Added ODRefreshControl
Added it on the list superVC as well as a protocol for conforming to 'refreshments' YTBPullToRefreshProtocol.
Created temporary methods for fetching tracks and comments
Will need to refactor
Moved Track mode logic out of the controller to the model.

Refreshing uses Sam soffes new cool toy. Mostly to customize the view later.

Moved comment logic to the model.
Made a utility with a class method for managed objects for deletions.
+  [self deleteRecordsNotInbackendIdList:listOfTrackIds];

The models are fleshed out with create/update methods.
Connection canceling works fine. Will be using that.
Mark what code I need to refactor out into a network module
Merge branch 'feature/refresh_comments_tableview' into develop
Added a YTBMe model (subclass of a user)
Added favorites on track and user.
user.favorites
track.userFavorites

Made backendId's non optional. Will eventually add uniqueness validations
Added shorter requests methods on a SCRequest category
- got rid of the http method argument and the account

Added a YTBMe which will have methods for login, me, logout, fetch favorites (through YTBTrack)

Request me from the Me model
Return request with blocks argument ME  or error depending on succes or fail

YTBMe now has
+(SCRequest *)requestFavoritesOnSuccess:(void (^)(NSOrderedSet * favorites))onSuccessBlock
                       onFailure:(void (^)(NSError * error))onFailureBlock;

+(SCRequest *)requestMeOnSuccess:(void (^)(YTBMe * me))onSuccessBlock
                onFailure:(void (^)(NSError * error))onFailureBlock;

-(NSOrderedSet *)addNewFavoriteTracks:(NSOrderedSet *)theTracks;
Moved all requests and core data logic to the models with callbacks. Still need to do some refactoring out of the controllers
And renamed YTBMe to YTBCurrentUser
Merge branch 'feature/move_login_logic_to_ytbme' into develop
Giant ass commit on a fever and public holiday
Small and Mediun loading indicators.

//Methods
-(void)setAnimationProgressInPercentage:(NSUInteger)thePercentage;
-(void)startAnimating;
-(void)stopAnimating;

//Setting properties
shouldToggleVisibilityOnAnimation
Using user.avatarUrl or nil as track.artworkUrl if track.artworkUrl is nil. Show the user if track has no image set.