2005-06-02 14:16:43 -04:00
|
|
|
//
|
|
|
|
// PlaylistEntry.h
|
|
|
|
// Cog
|
|
|
|
//
|
|
|
|
// Created by Vincent Spader on 3/14/05.
|
2005-07-02 17:02:06 -04:00
|
|
|
// Copyright 2005 Vincent Spader All rights reserved.
|
2005-06-02 14:16:43 -04:00
|
|
|
//
|
|
|
|
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
@interface PlaylistEntry : NSObject <NSCopying> {
|
2021-04-29 21:16:24 -04:00
|
|
|
NSInteger index;
|
|
|
|
NSInteger shuffleIndex;
|
2022-02-07 02:49:27 -03:00
|
|
|
NSInteger dbIndex;
|
|
|
|
NSInteger entryId;
|
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
BOOL current;
|
|
|
|
BOOL removed;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
BOOL stopAfter;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
BOOL queued;
|
2021-04-29 21:16:24 -04:00
|
|
|
NSInteger queuePosition;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
BOOL error;
|
|
|
|
NSString *errorMessage;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2008-02-19 21:44:40 -03:00
|
|
|
NSURL *URL;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2005-06-02 14:16:43 -04:00
|
|
|
NSString *artist;
|
2022-02-07 02:49:27 -03:00
|
|
|
NSString *albumartist;
|
2005-06-02 14:16:43 -04:00
|
|
|
NSString *album;
|
|
|
|
NSString *title;
|
|
|
|
NSString *genre;
|
2008-03-03 21:43:47 -03:00
|
|
|
NSNumber *year;
|
2008-02-29 17:30:37 -03:00
|
|
|
NSNumber *track;
|
2022-02-07 02:49:27 -03:00
|
|
|
NSNumber *disc;
|
|
|
|
|
|
|
|
NSString *cuesheet;
|
|
|
|
|
|
|
|
NSData *albumArtInternal;
|
|
|
|
|
|
|
|
float replayGainAlbumGain;
|
|
|
|
float replayGainAlbumPeak;
|
|
|
|
float replayGainTrackGain;
|
|
|
|
float replayGainTrackPeak;
|
|
|
|
float volume;
|
|
|
|
|
|
|
|
double currentPosition;
|
|
|
|
|
2008-02-23 16:46:23 -03:00
|
|
|
long long totalFrames;
|
|
|
|
int bitrate;
|
|
|
|
int channels;
|
|
|
|
int bitsPerSample;
|
2022-02-07 02:49:27 -03:00
|
|
|
BOOL floatingPoint;
|
|
|
|
BOOL Unsigned;
|
2008-02-23 16:46:23 -03:00
|
|
|
float sampleRate;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
|
|
|
NSString *codec;
|
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
NSString *endian;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
|
|
|
NSString *encoding;
|
|
|
|
|
2008-02-23 16:46:23 -03:00
|
|
|
BOOL seekable;
|
2022-02-07 02:49:27 -03:00
|
|
|
|
2009-03-06 01:46:42 -03:00
|
|
|
BOOL metadataLoaded;
|
2005-06-02 14:16:43 -04:00
|
|
|
}
|
|
|
|
|
2008-02-29 18:54:09 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingDisplay;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingLength;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingPath;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingFilename;
|
2008-03-01 00:29:21 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingStatus;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingStatusMessage;
|
2013-10-04 08:16:09 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingSpam;
|
2013-10-09 17:53:13 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingAlbumArt;
|
2022-01-22 02:49:17 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingTrackText;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingLengthText;
|
|
|
|
+ (NSSet *)keyPathsForValuesAffectingYearText;
|
2022-01-22 04:19:32 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingCuesheetPresent;
|
2022-01-22 04:49:07 -03:00
|
|
|
+ (NSSet *)keyPathsForValuesAffectingGainCorrection;
|
2008-02-29 18:54:09 -03:00
|
|
|
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(readonly) NSString *display;
|
2008-02-29 17:09:59 -03:00
|
|
|
@property(retain, readonly) NSNumber *length;
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(readonly) NSString *path;
|
|
|
|
@property(readonly) NSString *filename;
|
2006-05-12 10:53:13 -04:00
|
|
|
|
2013-10-04 08:16:09 -03:00
|
|
|
@property(readonly) NSString *spam;
|
|
|
|
|
2014-12-04 03:13:27 -03:00
|
|
|
@property(readonly) NSString *positionText;
|
|
|
|
|
|
|
|
@property(readonly) NSString *lengthText;
|
|
|
|
|
2022-01-22 02:49:17 -03:00
|
|
|
@property(readonly) NSString *yearText;
|
|
|
|
|
2022-01-20 19:54:42 -03:00
|
|
|
@property(readonly) NSString *rawTitle;
|
|
|
|
|
2022-01-22 02:49:17 -03:00
|
|
|
@property(readonly) NSString *trackText;
|
|
|
|
|
2021-04-29 21:16:24 -04:00
|
|
|
@property NSInteger index;
|
|
|
|
@property NSInteger shuffleIndex;
|
2021-12-24 06:01:21 -03:00
|
|
|
@property NSInteger dbIndex;
|
2022-01-15 03:42:57 -03:00
|
|
|
@property NSInteger entryId;
|
2008-03-01 00:29:21 -03:00
|
|
|
|
|
|
|
@property(readonly) NSString *status;
|
|
|
|
@property(readonly) NSString *statusMessage;
|
|
|
|
|
|
|
|
@property BOOL current;
|
|
|
|
@property BOOL removed;
|
|
|
|
|
|
|
|
@property BOOL stopAfter;
|
|
|
|
|
|
|
|
@property BOOL queued;
|
2021-04-29 21:16:24 -04:00
|
|
|
@property NSInteger queuePosition;
|
2008-03-01 00:29:21 -03:00
|
|
|
|
|
|
|
@property BOOL error;
|
|
|
|
@property(retain) NSString *errorMessage;
|
|
|
|
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(retain) NSURL *URL;
|
2005-06-02 14:16:43 -04:00
|
|
|
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(retain) NSString *artist;
|
2021-10-01 23:18:42 -03:00
|
|
|
@property(retain) NSString *albumartist;
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(retain) NSString *album;
|
2013-09-29 21:27:55 -03:00
|
|
|
@property(nonatomic, retain) NSString *title;
|
2008-02-19 21:44:40 -03:00
|
|
|
@property(retain) NSString *genre;
|
2008-03-03 21:43:47 -03:00
|
|
|
@property(retain) NSNumber *year;
|
2008-02-29 17:30:37 -03:00
|
|
|
@property(retain) NSNumber *track;
|
2022-01-22 02:49:17 -03:00
|
|
|
@property(retain) NSNumber *disc;
|
2013-10-09 17:53:13 -03:00
|
|
|
|
2022-01-14 21:46:35 -03:00
|
|
|
@property(retain) NSString *cuesheet;
|
|
|
|
|
2022-01-22 04:19:32 -03:00
|
|
|
@property(readonly) NSString *cuesheetPresent;
|
|
|
|
|
2013-10-09 17:53:13 -03:00
|
|
|
@property(retain, readonly) NSImage *albumArt;
|
|
|
|
@property(retain) NSData *albumArtInternal;
|
2007-10-31 22:53:52 -03:00
|
|
|
|
2008-02-23 16:46:23 -03:00
|
|
|
@property long long totalFrames;
|
|
|
|
@property int bitrate;
|
|
|
|
@property int channels;
|
|
|
|
@property int bitsPerSample;
|
2013-10-05 18:15:09 -03:00
|
|
|
@property BOOL floatingPoint;
|
2013-10-07 15:26:23 -03:00
|
|
|
@property BOOL Unsigned;
|
2008-02-23 16:46:23 -03:00
|
|
|
@property float sampleRate;
|
2007-05-27 11:11:30 -04:00
|
|
|
|
2021-10-01 23:18:42 -03:00
|
|
|
@property(retain) NSString *codec;
|
|
|
|
|
2013-10-02 03:00:16 -03:00
|
|
|
@property float replayGainAlbumGain;
|
|
|
|
@property float replayGainAlbumPeak;
|
|
|
|
@property float replayGainTrackGain;
|
|
|
|
@property float replayGainTrackPeak;
|
|
|
|
@property float volume;
|
|
|
|
|
2022-01-22 04:49:07 -03:00
|
|
|
@property(readonly) NSString *gainCorrection;
|
|
|
|
|
2022-01-23 01:44:06 -03:00
|
|
|
@property(readonly) NSString *gainInfo;
|
|
|
|
|
2013-10-04 08:16:09 -03:00
|
|
|
@property double currentPosition;
|
|
|
|
|
2008-03-01 00:29:21 -03:00
|
|
|
@property(retain) NSString *endian;
|
|
|
|
|
2022-01-22 03:38:54 -03:00
|
|
|
@property(retain) NSString *encoding;
|
|
|
|
|
2008-02-23 16:46:23 -03:00
|
|
|
@property BOOL seekable;
|
2005-06-02 14:16:43 -04:00
|
|
|
|
2009-03-06 01:46:42 -03:00
|
|
|
@property BOOL metadataLoaded;
|
|
|
|
|
|
|
|
- (void)setMetadata:(NSDictionary *)metadata;
|
|
|
|
|
2005-06-02 14:16:43 -04:00
|
|
|
@end
|