Skip to content

Instantly share code, notes, and snippets.

@hhanesand
Created November 6, 2017 18:27
Show Gist options
  • Save hhanesand/b15c2fecd65e6da95e038d038ed685ec to your computer and use it in GitHub Desktop.
Save hhanesand/b15c2fecd65e6da95e038d038ed685ec to your computer and use it in GitHub Desktop.
+ (void)shareMultitrack:(MUSMultitrack *)multitrackToShare toGroups:(id<MUSSubscriptable>)sharedToGroups {
NSMutableArray *newTrackLinks = [NSMutableArray array];
NSMutableArray *sharedMultitracks = [NSMutableArray arrayWithCapacity:sharedToGroups.count];
// Copy track links and multitracks, but do not copy tracks to avoid duplicating recording files.
[MUSLocalStorageService writeTransaction:^{
for (MUSGroup *group in sharedToGroups) {
MUSMultitrack *sharedMultitrack = [group createNewMultitrackInGroup];
[multitrackToShare duplicateShareableAttributesToMultitrack:sharedMultitrack];
[sharedMultitracks addObject:sharedMultitrack];
NSArray<MUSTrackLink *> *duplicatedTrackLinks = [multitrackToShare duplicateTrackLinksToMultitrack:sharedMultitrack];
[newTrackLinks addObjectsFromArray:duplicatedTrackLinks];
}
}];
[MUSLocalStorageService saveNewMultitracks:sharedMultitracks];
[MUSLocalStorageService saveNewTrackLinks:newTrackLinks];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment