Implemented Add to Queue as choice in Right click menu, added Clear Queue to Playlist menu.
parent
ea57907678
commit
8bff745c38
File diff suppressed because it is too large
Load Diff
|
@ -30,6 +30,7 @@ typedef enum {
|
|||
NSString *totalTimeDisplay;
|
||||
|
||||
NSMutableArray *shuffleList;
|
||||
NSMutableArray *queueList;
|
||||
|
||||
PlaylistEntry *currentEntry;
|
||||
|
||||
|
@ -88,4 +89,9 @@ typedef enum {
|
|||
- (PlaylistEntry *)shuffledEntryAtIndex:(int)i;
|
||||
- (PlaylistEntry *)entryAtIndex:(int)i;
|
||||
|
||||
// queue methods
|
||||
- (IBAction)addToQueue:(id)sender;
|
||||
- (IBAction)emptyQueueList:(id)sender;
|
||||
- (NSMutableArray *)queueList;
|
||||
|
||||
@end
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
if (self)
|
||||
{
|
||||
shuffleList = [[NSMutableArray alloc] init];
|
||||
queueList = [[NSMutableArray alloc] init];
|
||||
}
|
||||
|
||||
return self;
|
||||
|
@ -55,6 +56,7 @@
|
|||
- (void)dealloc
|
||||
{
|
||||
[shuffleList release];
|
||||
[queueList release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
@ -373,6 +375,14 @@
|
|||
return pe;
|
||||
}
|
||||
|
||||
if ([queueList count] > 0)
|
||||
{
|
||||
|
||||
pe = [queueList objectAtIndex:0];
|
||||
[queueList removeObjectAtIndex:0];
|
||||
return pe;
|
||||
}
|
||||
|
||||
if (shuffle == YES)
|
||||
{
|
||||
return [self shuffledEntryAtIndex:([[pe shuffleIndex] intValue] + 1)];
|
||||
|
@ -559,6 +569,16 @@
|
|||
[self updateIndexesFromRow:0];
|
||||
}
|
||||
|
||||
- (NSMutableArray *)queueList
|
||||
{
|
||||
return queueList;
|
||||
}
|
||||
|
||||
- (IBAction)emptyQueueList:(id)sender
|
||||
{
|
||||
[queueList removeAllObjects];
|
||||
}
|
||||
|
||||
- (IBAction)showEntryInFinder:(id)sender
|
||||
{
|
||||
NSWorkspace* ws = [NSWorkspace sharedWorkspace];
|
||||
|
@ -581,4 +601,10 @@
|
|||
[spotlightWindowController searchForAlbum:[entry album]];
|
||||
}
|
||||
|
||||
- (IBAction)addToQueue:(id)sender
|
||||
{
|
||||
for (PlaylistEntry *queueItem in [self selectedObjects])
|
||||
[queueList addObject:queueItem];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -203,6 +203,17 @@
|
|||
[artistMenuItem release];
|
||||
addedItems++;
|
||||
}
|
||||
NSMenuItem *queueMenuItem = [NSMenuItem alloc];
|
||||
NSString *title = [NSString
|
||||
stringWithFormat:@"Add to Queue (%d queued)", [[playlistController queueList] count]];
|
||||
[queueMenuItem initWithTitle:title
|
||||
action:@selector(addToQueue:)
|
||||
keyEquivalent:@""];
|
||||
queueMenuItem.target = playlistController;
|
||||
[tableViewMenu insertItem:queueMenuItem atIndex:0];
|
||||
[queueMenuItem release];
|
||||
addedItems++;
|
||||
|
||||
if(addedItems)
|
||||
{
|
||||
// add a separator in the right place
|
||||
|
|
Loading…
Reference in New Issue