Archived
1
This repository has been archived on 2020-06-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
tagtunes/TagTunes/iTunes.m
2015-09-03 00:22:33 +02:00

2307 lines
41 KiB
Objective-C

/*
* iTunes.m
*/
#include "iTunes.h"
/*
* Standard Suite
*/
@implementation iTunesPrintSettings
- (NSInteger) copies
{
id v = [[self propertyWithCode:'lwcp'] get];
return [v integerValue];
}
- (BOOL) collating
{
id v = [[self propertyWithCode:'lwcl'] get];
return [v boolValue];
}
- (NSInteger) startingPage
{
id v = [[self propertyWithCode:'lwfp'] get];
return [v integerValue];
}
- (NSInteger) endingPage
{
id v = [[self propertyWithCode:'lwlp'] get];
return [v integerValue];
}
- (NSInteger) pagesAcross
{
id v = [[self propertyWithCode:'lwla'] get];
return [v integerValue];
}
- (NSInteger) pagesDown
{
id v = [[self propertyWithCode:'lwld'] get];
return [v integerValue];
}
- (iTunesEnum) errorHandling
{
id v = [[self propertyWithCode:'lweh'] get];
return [v enumCodeValue];
}
- (NSDate *) requestedPrintTime
{
return [[self propertyWithCode:'lwqt'] get];
}
- (NSArray *) printerFeatures
{
return [[self propertyWithCode:'lwpf'] get];
}
- (NSString *) faxNumber
{
return [[self propertyWithCode:'faxn'] get];
}
- (NSString *) targetPrinter
{
return [[self propertyWithCode:'trpr'] get];
}
- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme
{
[self sendEvent:'aevt' id:'pdoc' parameters:'pdlg', [NSNumber numberWithBool:printDialog], 'prdt', withProperties, 'pKnd', [NSAppleEventDescriptor descriptorWithEnumCode:kind], 'pThm', theme, 0];
}
- (void) close
{
[self sendEvent:'core' id:'clos' parameters:0];
}
- (void) delete
{
[self sendEvent:'core' id:'delo' parameters:0];
}
- (SBObject *) duplicateTo:(SBObject *)to
{
id result__ = [self sendEvent:'core' id:'clon' parameters:'insh', to, 0];
return result__;
}
- (BOOL) exists
{
id result__ = [self sendEvent:'core' id:'doex' parameters:0];
return [result__ boolValue];
}
- (void) open
{
[self sendEvent:'aevt' id:'odoc' parameters:0];
}
- (void) playOnce:(BOOL)once
{
[self sendEvent:'hook' id:'Play' parameters:'POne', [NSNumber numberWithBool:once], 0];
}
@end
/*
* iTunes Suite
*/
@implementation iTunesApplication
typedef struct { NSString *name; FourCharCode code; } classForCode_t;
static const classForCode_t classForCodeData__[] = {
{ @"iTunesPrintSettings", 'pset' },
{ @"iTunesAirPlayDevice", 'cAPD' },
{ @"iTunesApplication", 'capp' },
{ @"iTunesArtwork", 'cArt' },
{ @"iTunesAudioCDPlaylist", 'cCDP' },
{ @"iTunesAudioCDTrack", 'cCDT' },
{ @"iTunesBrowserWindow", 'cBrW' },
{ @"iTunesEncoder", 'cEnc' },
{ @"iTunesEQPreset", 'cEQP' },
{ @"iTunesEQWindow", 'cEQW' },
{ @"iTunesFileTrack", 'cFlT' },
{ @"iTunesFolderPlaylist", 'cFoP' },
{ @"iTunesItem", 'cobj' },
{ @"iTunesLibraryPlaylist", 'cLiP' },
{ @"iTunesPlaylist", 'cPly' },
{ @"iTunesPlaylistWindow", 'cPlW' },
{ @"iTunesRadioTunerPlaylist", 'cRTP' },
{ @"iTunesSharedTrack", 'cShT' },
{ @"iTunesSource", 'cSrc' },
{ @"iTunesTrack", 'cTrk' },
{ @"iTunesURLTrack", 'cURT' },
{ @"iTunesUserPlaylist", 'cUsP' },
{ @"iTunesVisual", 'cVis' },
{ @"iTunesWindow", 'cwin' },
{ nil, 0 }
};
- (NSDictionary *) classNamesForCodes
{
static NSMutableDictionary *dict__;
if (!dict__) @synchronized([self class]) {
if (!dict__) {
dict__ = [[NSMutableDictionary alloc] init];
const classForCode_t *p;
for (p = classForCodeData__; p->name != nil; ++p)
[dict__ setObject:p->name forKey:[NSNumber numberWithInt:p->code]];
} }
return dict__;
}
typedef struct { FourCharCode code; NSString *name; } codeForPropertyName_t;
static const codeForPropertyName_t codeForPropertyNameData__[] = {
{ 'lwcp', @"copies" },
{ 'lwcl', @"collating" },
{ 'lwfp', @"startingPage" },
{ 'lwlp', @"endingPage" },
{ 'lwla', @"pagesAcross" },
{ 'lwld', @"pagesDown" },
{ 'lweh', @"errorHandling" },
{ 'lwqt', @"requestedPrintTime" },
{ 'lwpf', @"printerFeatures" },
{ 'faxn', @"faxNumber" },
{ 'trpr', @"targetPrinter" },
{ 'pAct', @"active" },
{ 'pAva', @"available" },
{ 'pKnd', @"kind" },
{ 'pMAC', @"networkAddress" },
{ 'pPro', @"protected" },
{ 'selc', @"selected" },
{ 'pAud', @"supportsAudio" },
{ 'pVid', @"supportsVideo" },
{ 'pVol', @"soundVolume" },
{ 'pAPE', @"AirPlayEnabled" },
{ 'pCnv', @"converting" },
{ 'pAPD', @"currentAirPlayDevices" },
{ 'pEnc', @"currentEncoder" },
{ 'pEQP', @"currentEQPreset" },
{ 'pPla', @"currentPlaylist" },
{ 'pStT', @"currentStreamTitle" },
{ 'pStU', @"currentStreamURL" },
{ 'pTrk', @"currentTrack" },
{ 'pVis', @"currentVisual" },
{ 'pEQ ', @"EQEnabled" },
{ 'pFix', @"fixedIndexing" },
{ 'pisf', @"frontmost" },
{ 'pFSc', @"fullScreen" },
{ 'pnam', @"name" },
{ 'pMut', @"mute" },
{ 'pPos', @"playerPosition" },
{ 'pPlS', @"playerState" },
{ 'sele', @"selection" },
{ 'pVol', @"soundVolume" },
{ 'vers', @"version" },
{ 'pVsE', @"visualsEnabled" },
{ 'pVSz', @"visualSize" },
{ 'piAD', @"iAdIdentifier" },
{ 'pPCT', @"data" },
{ 'pDes', @"objectDescription" },
{ 'pDlA', @"downloaded" },
{ 'pFmt', @"format" },
{ 'pKnd', @"kind" },
{ 'pRaw', @"rawData" },
{ 'pArt', @"artist" },
{ 'pAnt', @"compilation" },
{ 'pCmp', @"composer" },
{ 'pDsC', @"discCount" },
{ 'pDsN', @"discNumber" },
{ 'pGen', @"genre" },
{ 'pYr ', @"year" },
{ 'pLoc', @"location" },
{ 'pMin', @"minimized" },
{ 'sele', @"selection" },
{ 'pPly', @"view" },
{ 'pFmt', @"format" },
{ 'pEQ1', @"band1" },
{ 'pEQ2', @"band2" },
{ 'pEQ3', @"band3" },
{ 'pEQ4', @"band4" },
{ 'pEQ5', @"band5" },
{ 'pEQ6', @"band6" },
{ 'pEQ7', @"band7" },
{ 'pEQ8', @"band8" },
{ 'pEQ9', @"band9" },
{ 'pEQ0', @"band10" },
{ 'pMod', @"modifiable" },
{ 'pEQA', @"preamp" },
{ 'pUTC', @"updateTracks" },
{ 'pMin', @"minimized" },
{ 'pLoc', @"location" },
{ 'pcls', @"objectClass" },
{ 'ctnr', @"container" },
{ 'ID ', @"id" },
{ 'pidx', @"index" },
{ 'pnam', @"name" },
{ 'pPIS', @"persistentID" },
{ 'pALL', @"properties" },
{ 'pDur', @"duration" },
{ 'pnam', @"name" },
{ 'pPlP', @"parent" },
{ 'pShf', @"shuffle" },
{ 'pSiz', @"size" },
{ 'pRpt', @"songRepeat" },
{ 'pSpK', @"specialKind" },
{ 'pTim', @"time" },
{ 'pvis', @"visible" },
{ 'sele', @"selection" },
{ 'pPly', @"view" },
{ 'capa', @"capacity" },
{ 'frsp', @"freeSpace" },
{ 'pKnd', @"kind" },
{ 'pAlb', @"album" },
{ 'pAlA', @"albumArtist" },
{ 'pAlR', @"albumRating" },
{ 'pARk', @"albumRatingKind" },
{ 'pArt', @"artist" },
{ 'pBRt', @"bitRate" },
{ 'pBkt', @"bookmark" },
{ 'pBkm', @"bookmarkable" },
{ 'pBPM', @"bpm" },
{ 'pCat', @"category" },
{ 'pCmt', @"comment" },
{ 'pAnt', @"compilation" },
{ 'pCmp', @"composer" },
{ 'pDID', @"databaseID" },
{ 'pAdd', @"dateAdded" },
{ 'pDes', @"objectDescription" },
{ 'pDsC', @"discCount" },
{ 'pDsN', @"discNumber" },
{ 'pDur', @"duration" },
{ 'enbl', @"enabled" },
{ 'pEpD', @"episodeID" },
{ 'pEpN', @"episodeNumber" },
{ 'pEQp', @"EQ" },
{ 'pStp', @"finish" },
{ 'pGpl', @"gapless" },
{ 'pGen', @"genre" },
{ 'pGrp', @"grouping" },
{ 'pTIU', @"iTunesU" },
{ 'pKnd', @"kind" },
{ 'pLds', @"longDescription" },
{ 'pLyr', @"lyrics" },
{ 'asmo', @"modificationDate" },
{ 'pPlC', @"playedCount" },
{ 'pPlD', @"playedDate" },
{ 'pTPc', @"podcast" },
{ 'pRte', @"rating" },
{ 'pRtk', @"ratingKind" },
{ 'pRlD', @"releaseDate" },
{ 'pSRt', @"sampleRate" },
{ 'pSeN', @"seasonNumber" },
{ 'pSfa', @"shufflable" },
{ 'pSkC', @"skippedCount" },
{ 'pSkD', @"skippedDate" },
{ 'pShw', @"show" },
{ 'pSAl', @"sortAlbum" },
{ 'pSAr', @"sortArtist" },
{ 'pSAA', @"sortAlbumArtist" },
{ 'pSNm', @"sortName" },
{ 'pSCm', @"sortComposer" },
{ 'pSSN', @"sortShow" },
{ 'pSiz', @"size" },
{ 'pStr', @"start" },
{ 'pTim', @"time" },
{ 'pTrC', @"trackCount" },
{ 'pTrN', @"trackNumber" },
{ 'pUnp', @"unplayed" },
{ 'pVdK', @"videoKind" },
{ 'pAdj', @"volumeAdjustment" },
{ 'pYr ', @"year" },
{ 'pURL', @"address" },
{ 'pShr', @"shared" },
{ 'pSmt', @"smart" },
{ 'pbnd', @"bounds" },
{ 'hclb', @"closeable" },
{ 'pWSh', @"collapseable" },
{ 'wshd', @"collapsed" },
{ 'ppos', @"position" },
{ 'prsz', @"resizable" },
{ 'pvis', @"visible" },
{ 'iszm', @"zoomable" },
{ 'pzum', @"zoomed" },
{ 0, nil }
};
- (NSDictionary *) codesForPropertyNames
{
static NSMutableDictionary *dict__;
if (!dict__) @synchronized([self class]) {
if (!dict__) {
dict__ = [[NSMutableDictionary alloc] init];
const codeForPropertyName_t *p;
for (p = codeForPropertyNameData__; p->name != nil; ++p)
[dict__ setObject:[NSNumber numberWithInt:p->code] forKey:p->name];
} }
return dict__;
}
- (SBElementArray *) AirPlayDevices
{
return [self elementArrayWithCode:'cAPD'];
}
- (SBElementArray *) browserWindows
{
return [self elementArrayWithCode:'cBrW'];
}
- (SBElementArray *) encoders
{
return [self elementArrayWithCode:'cEnc'];
}
- (SBElementArray *) EQPresets
{
return [self elementArrayWithCode:'cEQP'];
}
- (SBElementArray *) EQWindows
{
return [self elementArrayWithCode:'cEQW'];
}
- (SBElementArray *) playlistWindows
{
return [self elementArrayWithCode:'cPlW'];
}
- (SBElementArray *) sources
{
return [self elementArrayWithCode:'cSrc'];
}
- (SBElementArray *) visuals
{
return [self elementArrayWithCode:'cVis'];
}
- (SBElementArray *) windows
{
return [self elementArrayWithCode:'cwin'];
}
- (BOOL) AirPlayEnabled
{
id v = [[self propertyWithCode:'pAPE'] get];
return [v boolValue];
}
- (BOOL) converting
{
id v = [[self propertyWithCode:'pCnv'] get];
return [v boolValue];
}
- (NSArray *) currentAirPlayDevices
{
return [[self propertyWithCode:'pAPD'] get];
}
- (void) setCurrentAirPlayDevices: (NSArray *) currentAirPlayDevices
{
[[self propertyWithCode:'pAPD'] setTo:currentAirPlayDevices];
}
- (iTunesEncoder *) currentEncoder
{
return (iTunesEncoder *) [self propertyWithClass:[iTunesEncoder class] code:'pEnc'];
}
- (void) setCurrentEncoder: (iTunesEncoder *) currentEncoder
{
[[self propertyWithClass:[iTunesEncoder class] code:'pEnc'] setTo:currentEncoder];
}
- (iTunesEQPreset *) currentEQPreset
{
return (iTunesEQPreset *) [self propertyWithClass:[iTunesEQPreset class] code:'pEQP'];
}
- (void) setCurrentEQPreset: (iTunesEQPreset *) currentEQPreset
{
[[self propertyWithClass:[iTunesEQPreset class] code:'pEQP'] setTo:currentEQPreset];
}
- (iTunesPlaylist *) currentPlaylist
{
return (iTunesPlaylist *) [self propertyWithClass:[iTunesPlaylist class] code:'pPla'];
}
- (NSString *) currentStreamTitle
{
return [[self propertyWithCode:'pStT'] get];
}
- (NSString *) currentStreamURL
{
return [[self propertyWithCode:'pStU'] get];
}
- (iTunesTrack *) currentTrack
{
return (iTunesTrack *) [self propertyWithClass:[iTunesTrack class] code:'pTrk'];
}
- (iTunesVisual *) currentVisual
{
return (iTunesVisual *) [self propertyWithClass:[iTunesVisual class] code:'pVis'];
}
- (void) setCurrentVisual: (iTunesVisual *) currentVisual
{
[[self propertyWithClass:[iTunesVisual class] code:'pVis'] setTo:currentVisual];
}
- (BOOL) EQEnabled
{
id v = [[self propertyWithCode:'pEQ '] get];
return [v boolValue];
}
- (void) setEQEnabled: (BOOL) EQEnabled
{
id v = [NSNumber numberWithBool:EQEnabled];
[[self propertyWithCode:'pEQ '] setTo:v];
}
- (BOOL) fixedIndexing
{
id v = [[self propertyWithCode:'pFix'] get];
return [v boolValue];
}
- (void) setFixedIndexing: (BOOL) fixedIndexing
{
id v = [NSNumber numberWithBool:fixedIndexing];
[[self propertyWithCode:'pFix'] setTo:v];
}
- (BOOL) frontmost
{
id v = [[self propertyWithCode:'pisf'] get];
return [v boolValue];
}
- (void) setFrontmost: (BOOL) frontmost
{
id v = [NSNumber numberWithBool:frontmost];
[[self propertyWithCode:'pisf'] setTo:v];
}
- (BOOL) fullScreen
{
id v = [[self propertyWithCode:'pFSc'] get];
return [v boolValue];
}
- (void) setFullScreen: (BOOL) fullScreen
{
id v = [NSNumber numberWithBool:fullScreen];
[[self propertyWithCode:'pFSc'] setTo:v];
}
- (NSString *) name
{
return [[self propertyWithCode:'pnam'] get];
}
- (BOOL) mute
{
id v = [[self propertyWithCode:'pMut'] get];
return [v boolValue];
}
- (void) setMute: (BOOL) mute
{
id v = [NSNumber numberWithBool:mute];
[[self propertyWithCode:'pMut'] setTo:v];
}
- (double) playerPosition
{
id v = [[self propertyWithCode:'pPos'] get];
return [v doubleValue];
}
- (void) setPlayerPosition: (double) playerPosition
{
id v = [NSNumber numberWithDouble:playerPosition];
[[self propertyWithCode:'pPos'] setTo:v];
}
- (iTunesEPlS) playerState
{
id v = [[self propertyWithCode:'pPlS'] get];
return [v enumCodeValue];
}
- (SBObject *) selection
{
return (SBObject *) [self propertyWithClass:[SBObject class] code:'sele'];
}
- (NSInteger) soundVolume
{
id v = [[self propertyWithCode:'pVol'] get];
return [v integerValue];
}
- (void) setSoundVolume: (NSInteger) soundVolume
{
id v = [NSNumber numberWithInteger:soundVolume];
[[self propertyWithCode:'pVol'] setTo:v];
}
- (NSString *) version
{
return [[self propertyWithCode:'vers'] get];
}
- (BOOL) visualsEnabled
{
id v = [[self propertyWithCode:'pVsE'] get];
return [v boolValue];
}
- (void) setVisualsEnabled: (BOOL) visualsEnabled
{
id v = [NSNumber numberWithBool:visualsEnabled];
[[self propertyWithCode:'pVsE'] setTo:v];
}
- (iTunesEVSz) visualSize
{
id v = [[self propertyWithCode:'pVSz'] get];
return [v enumCodeValue];
}
- (void) setVisualSize: (iTunesEVSz) visualSize
{
id v = [NSAppleEventDescriptor descriptorWithEnumCode:visualSize];
[[self propertyWithCode:'pVSz'] setTo:v];
}
- (NSString *) iAdIdentifier
{
return [[self propertyWithCode:'piAD'] get];
}
- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme
{
[self sendEvent:'aevt' id:'pdoc' parameters:'pdlg', [NSNumber numberWithBool:printDialog], 'prdt', withProperties, 'pKnd', [NSAppleEventDescriptor descriptorWithEnumCode:kind], 'pThm', theme, 0];
}
- (void) run
{
[self sendEvent:'aevt' id:'oapp' parameters:0];
}
- (void) quit
{
[self sendEvent:'aevt' id:'quit' parameters:0];
}
- (iTunesTrack *) add:(NSArray *)x to:(SBObject *)to
{
id result__ = [self sendEvent:'hook' id:'Add ' parameters:'----', x, 'insh', to, 0];
return result__;
}
- (void) backTrack
{
[self sendEvent:'hook' id:'Back' parameters:0];
}
- (iTunesTrack *) convert:(NSArray *)x
{
id result__ = [self sendEvent:'hook' id:'Conv' parameters:'----', x, 0];
return result__;
}
- (void) fastForward
{
[self sendEvent:'hook' id:'Fast' parameters:0];
}
- (void) nextTrack
{
[self sendEvent:'hook' id:'Next' parameters:0];
}
- (void) pause
{
[self sendEvent:'hook' id:'Paus' parameters:0];
}
- (void) playOnce:(BOOL)once
{
[self sendEvent:'hook' id:'Play' parameters:'POne', [NSNumber numberWithBool:once], 0];
}
- (void) playpause
{
[self sendEvent:'hook' id:'PlPs' parameters:0];
}
- (void) previousTrack
{
[self sendEvent:'hook' id:'Prev' parameters:0];
}
- (void) resume
{
[self sendEvent:'hook' id:'Resu' parameters:0];
}
- (void) rewind
{
[self sendEvent:'hook' id:'Rwnd' parameters:0];
}
- (void) stop
{
[self sendEvent:'hook' id:'Stop' parameters:0];
}
- (void) update
{
[self sendEvent:'hook' id:'Updt' parameters:0];
}
- (void) eject
{
[self sendEvent:'hook' id:'Ejct' parameters:0];
}
- (void) subscribe:(NSString *)x
{
[self sendEvent:'hook' id:'pSub' parameters:'----', x, 0];
}
- (void) updateAllPodcasts
{
[self sendEvent:'hook' id:'Updp' parameters:0];
}
- (void) updatePodcast
{
[self sendEvent:'hook' id:'Upd1' parameters:0];
}
- (void) openLocation:(NSString *)x
{
[self sendEvent:'GURL' id:'GURL' parameters:'----', x, 0];
}
@end
@implementation iTunesItem
- (SBObject *) container
{
return (SBObject *) [self propertyWithClass:[SBObject class] code:'ctnr'];
}
- (NSInteger) id
{
id v = [[self propertyWithCode:'ID '] get];
return [v integerValue];
}
- (NSInteger) index
{
id v = [[self propertyWithCode:'pidx'] get];
return [v integerValue];
}
- (NSString *) name
{
return [[self propertyWithCode:'pnam'] get];
}
- (void) setName: (NSString *) name
{
[[self propertyWithCode:'pnam'] setTo:name];
}
- (NSString *) persistentID
{
return [[self propertyWithCode:'pPIS'] get];
}
- (NSDictionary *) properties
{
return [[self propertyWithCode:'pALL'] get];
}
- (void) setProperties: (NSDictionary *) properties
{
[[self propertyWithCode:'pALL'] setTo:properties];
}
- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme
{
[self sendEvent:'aevt' id:'pdoc' parameters:'pdlg', [NSNumber numberWithBool:printDialog], 'prdt', withProperties, 'pKnd', [NSAppleEventDescriptor descriptorWithEnumCode:kind], 'pThm', theme, 0];
}
- (void) close
{
[self sendEvent:'core' id:'clos' parameters:0];
}
- (void) delete
{
[self sendEvent:'core' id:'delo' parameters:0];
}
- (SBObject *) duplicateTo:(SBObject *)to
{
id result__ = [self sendEvent:'core' id:'clon' parameters:'insh', to, 0];
return result__;
}
- (BOOL) exists
{
id result__ = [self sendEvent:'core' id:'doex' parameters:0];
return [result__ boolValue];
}
- (void) open
{
[self sendEvent:'aevt' id:'odoc' parameters:0];
}
- (void) playOnce:(BOOL)once
{
[self sendEvent:'hook' id:'Play' parameters:'POne', [NSNumber numberWithBool:once], 0];
}
- (void) reveal
{
[self sendEvent:'hook' id:'Revl' parameters:0];
}
@end
@implementation iTunesAirPlayDevice
- (BOOL) active
{
id v = [[self propertyWithCode:'pAct'] get];
return [v boolValue];
}
- (BOOL) available
{
id v = [[self propertyWithCode:'pAva'] get];
return [v boolValue];
}
- (iTunesEAPD) kind
{
id v = [[self propertyWithCode:'pKnd'] get];
return [v enumCodeValue];
}
- (NSString *) networkAddress
{
return [[self propertyWithCode:'pMAC'] get];
}
- (BOOL) protected
{
id v = [[self propertyWithCode:'pPro'] get];
return [v boolValue];
}
- (BOOL) selected
{
id v = [[self propertyWithCode:'selc'] get];
return [v boolValue];
}
- (void) setSelected: (BOOL) selected
{
id v = [NSNumber numberWithBool:selected];
[[self propertyWithCode:'selc'] setTo:v];
}
- (BOOL) supportsAudio
{
id v = [[self propertyWithCode:'pAud'] get];
return [v boolValue];
}
- (BOOL) supportsVideo
{
id v = [[self propertyWithCode:'pVid'] get];
return [v boolValue];
}
- (NSInteger) soundVolume
{
id v = [[self propertyWithCode:'pVol'] get];
return [v integerValue];
}
- (void) setSoundVolume: (NSInteger) soundVolume
{
id v = [NSNumber numberWithInteger:soundVolume];
[[self propertyWithCode:'pVol'] setTo:v];
}
@end
@implementation iTunesArtwork
- (NSImage *) data
{
return [[self propertyWithCode:'pPCT'] get];
}
- (void) setData: (NSImage *) data
{
[[self propertyWithCode:'pPCT'] setTo:data];
}
- (NSString *) objectDescription
{
return [[self propertyWithCode:'pDes'] get];
}
- (void) setObjectDescription: (NSString *) objectDescription
{
[[self propertyWithCode:'pDes'] setTo:objectDescription];
}
- (BOOL) downloaded
{
id v = [[self propertyWithCode:'pDlA'] get];
return [v boolValue];
}
- (NSNumber *) format
{
return [[self propertyWithCode:'pFmt'] get];
}
- (NSInteger) kind
{
id v = [[self propertyWithCode:'pKnd'] get];
return [v integerValue];
}
- (void) setKind: (NSInteger) kind
{
id v = [NSNumber numberWithInteger:kind];
[[self propertyWithCode:'pKnd'] setTo:v];
}
- (NSData *) rawData
{
id v = [[self propertyWithCode:'pRaw'] get];
return [v data];
}
- (void) setRawData: (NSData *) rawData
{
id v = [NSAppleEventDescriptor descriptorWithDescriptorType:'tdta' data:rawData];
[[self propertyWithCode:'pRaw'] setTo:v];
}
@end
@implementation iTunesEncoder
- (NSString *) format
{
return [[self propertyWithCode:'pFmt'] get];
}
@end
@implementation iTunesEQPreset
- (double) band1
{
id v = [[self propertyWithCode:'pEQ1'] get];
return [v doubleValue];
}
- (void) setBand1: (double) band1
{
id v = [NSNumber numberWithDouble:band1];
[[self propertyWithCode:'pEQ1'] setTo:v];
}
- (double) band2
{
id v = [[self propertyWithCode:'pEQ2'] get];
return [v doubleValue];
}
- (void) setBand2: (double) band2
{
id v = [NSNumber numberWithDouble:band2];
[[self propertyWithCode:'pEQ2'] setTo:v];
}
- (double) band3
{
id v = [[self propertyWithCode:'pEQ3'] get];
return [v doubleValue];
}
- (void) setBand3: (double) band3
{
id v = [NSNumber numberWithDouble:band3];
[[self propertyWithCode:'pEQ3'] setTo:v];
}
- (double) band4
{
id v = [[self propertyWithCode:'pEQ4'] get];
return [v doubleValue];
}
- (void) setBand4: (double) band4
{
id v = [NSNumber numberWithDouble:band4];
[[self propertyWithCode:'pEQ4'] setTo:v];
}
- (double) band5
{
id v = [[self propertyWithCode:'pEQ5'] get];
return [v doubleValue];
}
- (void) setBand5: (double) band5
{
id v = [NSNumber numberWithDouble:band5];
[[self propertyWithCode:'pEQ5'] setTo:v];
}
- (double) band6
{
id v = [[self propertyWithCode:'pEQ6'] get];
return [v doubleValue];
}
- (void) setBand6: (double) band6
{
id v = [NSNumber numberWithDouble:band6];
[[self propertyWithCode:'pEQ6'] setTo:v];
}
- (double) band7
{
id v = [[self propertyWithCode:'pEQ7'] get];
return [v doubleValue];
}
- (void) setBand7: (double) band7
{
id v = [NSNumber numberWithDouble:band7];
[[self propertyWithCode:'pEQ7'] setTo:v];
}
- (double) band8
{
id v = [[self propertyWithCode:'pEQ8'] get];
return [v doubleValue];
}
- (void) setBand8: (double) band8
{
id v = [NSNumber numberWithDouble:band8];
[[self propertyWithCode:'pEQ8'] setTo:v];
}
- (double) band9
{
id v = [[self propertyWithCode:'pEQ9'] get];
return [v doubleValue];
}
- (void) setBand9: (double) band9
{
id v = [NSNumber numberWithDouble:band9];
[[self propertyWithCode:'pEQ9'] setTo:v];
}
- (double) band10
{
id v = [[self propertyWithCode:'pEQ0'] get];
return [v doubleValue];
}
- (void) setBand10: (double) band10
{
id v = [NSNumber numberWithDouble:band10];
[[self propertyWithCode:'pEQ0'] setTo:v];
}
- (BOOL) modifiable
{
id v = [[self propertyWithCode:'pMod'] get];
return [v boolValue];
}
- (double) preamp
{
id v = [[self propertyWithCode:'pEQA'] get];
return [v doubleValue];
}
- (void) setPreamp: (double) preamp
{
id v = [NSNumber numberWithDouble:preamp];
[[self propertyWithCode:'pEQA'] setTo:v];
}
- (BOOL) updateTracks
{
id v = [[self propertyWithCode:'pUTC'] get];
return [v boolValue];
}
- (void) setUpdateTracks: (BOOL) updateTracks
{
id v = [NSNumber numberWithBool:updateTracks];
[[self propertyWithCode:'pUTC'] setTo:v];
}
@end
@implementation iTunesPlaylist
- (SBElementArray *) tracks
{
return [self elementArrayWithCode:'cTrk'];
}
- (NSInteger) duration
{
id v = [[self propertyWithCode:'pDur'] get];
return [v integerValue];
}
- (NSString *) name
{
return [[self propertyWithCode:'pnam'] get];
}
- (void) setName: (NSString *) name
{
[[self propertyWithCode:'pnam'] setTo:name];
}
- (iTunesPlaylist *) parent
{
return (iTunesPlaylist *) [self propertyWithClass:[iTunesPlaylist class] code:'pPlP'];
}
- (BOOL) shuffle
{
id v = [[self propertyWithCode:'pShf'] get];
return [v boolValue];
}
- (void) setShuffle: (BOOL) shuffle
{
id v = [NSNumber numberWithBool:shuffle];
[[self propertyWithCode:'pShf'] setTo:v];
}
- (NSInteger) size
{
id v = [[self propertyWithCode:'pSiz'] get];
return [v integerValue];
}
- (iTunesERpt) songRepeat
{
id v = [[self propertyWithCode:'pRpt'] get];
return [v enumCodeValue];
}
- (void) setSongRepeat: (iTunesERpt) songRepeat
{
id v = [NSAppleEventDescriptor descriptorWithEnumCode:songRepeat];
[[self propertyWithCode:'pRpt'] setTo:v];
}
- (iTunesESpK) specialKind
{
id v = [[self propertyWithCode:'pSpK'] get];
return [v enumCodeValue];
}
- (NSString *) time
{
return [[self propertyWithCode:'pTim'] get];
}
- (BOOL) visible
{
id v = [[self propertyWithCode:'pvis'] get];
return [v boolValue];
}
- (void) moveTo:(SBObject *)to
{
[self sendEvent:'core' id:'move' parameters:'insh', to, 0];
}
- (iTunesTrack *) searchFor:(NSString *)for_ only:(iTunesESrA)only
{
id result__ = [self sendEvent:'hook' id:'Srch' parameters:'pTrm', for_, 'pAre', [NSAppleEventDescriptor descriptorWithEnumCode:only], 0];
return result__;
}
@end
@implementation iTunesAudioCDPlaylist
- (SBElementArray *) audioCDTracks
{
return [self elementArrayWithCode:'cCDT'];
}
- (NSString *) artist
{
return [[self propertyWithCode:'pArt'] get];
}
- (void) setArtist: (NSString *) artist
{
[[self propertyWithCode:'pArt'] setTo:artist];
}
- (BOOL) compilation
{
id v = [[self propertyWithCode:'pAnt'] get];
return [v boolValue];
}
- (void) setCompilation: (BOOL) compilation
{
id v = [NSNumber numberWithBool:compilation];
[[self propertyWithCode:'pAnt'] setTo:v];
}
- (NSString *) composer
{
return [[self propertyWithCode:'pCmp'] get];
}
- (void) setComposer: (NSString *) composer
{
[[self propertyWithCode:'pCmp'] setTo:composer];
}
- (NSInteger) discCount
{
id v = [[self propertyWithCode:'pDsC'] get];
return [v integerValue];
}
- (void) setDiscCount: (NSInteger) discCount
{
id v = [NSNumber numberWithInteger:discCount];
[[self propertyWithCode:'pDsC'] setTo:v];
}
- (NSInteger) discNumber
{
id v = [[self propertyWithCode:'pDsN'] get];
return [v integerValue];
}
- (void) setDiscNumber: (NSInteger) discNumber
{
id v = [NSNumber numberWithInteger:discNumber];
[[self propertyWithCode:'pDsN'] setTo:v];
}
- (NSString *) genre
{
return [[self propertyWithCode:'pGen'] get];
}
- (void) setGenre: (NSString *) genre
{
[[self propertyWithCode:'pGen'] setTo:genre];
}
- (NSInteger) year
{
id v = [[self propertyWithCode:'pYr '] get];
return [v integerValue];
}
- (void) setYear: (NSInteger) year
{
id v = [NSNumber numberWithInteger:year];
[[self propertyWithCode:'pYr '] setTo:v];
}
@end
@implementation iTunesLibraryPlaylist
- (SBElementArray *) fileTracks
{
return [self elementArrayWithCode:'cFlT'];
}
- (SBElementArray *) URLTracks
{
return [self elementArrayWithCode:'cURT'];
}
- (SBElementArray *) sharedTracks
{
return [self elementArrayWithCode:'cShT'];
}
@end
@implementation iTunesRadioTunerPlaylist
- (SBElementArray *) URLTracks
{
return [self elementArrayWithCode:'cURT'];
}
@end
@implementation iTunesSource
- (SBElementArray *) audioCDPlaylists
{
return [self elementArrayWithCode:'cCDP'];
}
- (SBElementArray *) libraryPlaylists
{
return [self elementArrayWithCode:'cLiP'];
}
- (SBElementArray *) playlists
{
return [self elementArrayWithCode:'cPly'];
}
- (SBElementArray *) radioTunerPlaylists
{
return [self elementArrayWithCode:'cRTP'];
}
- (SBElementArray *) userPlaylists
{
return [self elementArrayWithCode:'cUsP'];
}
- (long long) capacity
{
id v = [[self propertyWithCode:'capa'] get];
return [v longLongValue];
}
- (long long) freeSpace
{
id v = [[self propertyWithCode:'frsp'] get];
return [v longLongValue];
}
- (iTunesESrc) kind
{
id v = [[self propertyWithCode:'pKnd'] get];
return [v enumCodeValue];
}
- (void) update
{
[self sendEvent:'hook' id:'Updt' parameters:0];
}
- (void) eject
{
[self sendEvent:'hook' id:'Ejct' parameters:0];
}
@end
@implementation iTunesTrack
- (SBElementArray *) artworks
{
return [self elementArrayWithCode:'cArt'];
}
- (NSString *) album
{
return [[self propertyWithCode:'pAlb'] get];
}
- (void) setAlbum: (NSString *) album
{
[[self propertyWithCode:'pAlb'] setTo:album];
}
- (NSString *) albumArtist
{
return [[self propertyWithCode:'pAlA'] get];
}
- (void) setAlbumArtist: (NSString *) albumArtist
{
[[self propertyWithCode:'pAlA'] setTo:albumArtist];
}
- (NSInteger) albumRating
{
id v = [[self propertyWithCode:'pAlR'] get];
return [v integerValue];
}
- (void) setAlbumRating: (NSInteger) albumRating
{
id v = [NSNumber numberWithInteger:albumRating];
[[self propertyWithCode:'pAlR'] setTo:v];
}
- (iTunesERtK) albumRatingKind
{
id v = [[self propertyWithCode:'pARk'] get];
return [v enumCodeValue];
}
- (NSString *) artist
{
return [[self propertyWithCode:'pArt'] get];
}
- (void) setArtist: (NSString *) artist
{
[[self propertyWithCode:'pArt'] setTo:artist];
}
- (NSInteger) bitRate
{
id v = [[self propertyWithCode:'pBRt'] get];
return [v integerValue];
}
- (double) bookmark
{
id v = [[self propertyWithCode:'pBkt'] get];
return [v doubleValue];
}
- (void) setBookmark: (double) bookmark
{
id v = [NSNumber numberWithDouble:bookmark];
[[self propertyWithCode:'pBkt'] setTo:v];
}
- (BOOL) bookmarkable
{
id v = [[self propertyWithCode:'pBkm'] get];
return [v boolValue];
}
- (void) setBookmarkable: (BOOL) bookmarkable
{
id v = [NSNumber numberWithBool:bookmarkable];
[[self propertyWithCode:'pBkm'] setTo:v];
}
- (NSInteger) bpm
{
id v = [[self propertyWithCode:'pBPM'] get];
return [v integerValue];
}
- (void) setBpm: (NSInteger) bpm
{
id v = [NSNumber numberWithInteger:bpm];
[[self propertyWithCode:'pBPM'] setTo:v];
}
- (NSString *) category
{
return [[self propertyWithCode:'pCat'] get];
}
- (void) setCategory: (NSString *) category
{
[[self propertyWithCode:'pCat'] setTo:category];
}
- (NSString *) comment
{
return [[self propertyWithCode:'pCmt'] get];
}
- (void) setComment: (NSString *) comment
{
[[self propertyWithCode:'pCmt'] setTo:comment];
}
- (BOOL) compilation
{
id v = [[self propertyWithCode:'pAnt'] get];
return [v boolValue];
}
- (void) setCompilation: (BOOL) compilation
{
id v = [NSNumber numberWithBool:compilation];
[[self propertyWithCode:'pAnt'] setTo:v];
}
- (NSString *) composer
{
return [[self propertyWithCode:'pCmp'] get];
}
- (void) setComposer: (NSString *) composer
{
[[self propertyWithCode:'pCmp'] setTo:composer];
}
- (NSInteger) databaseID
{
id v = [[self propertyWithCode:'pDID'] get];
return [v integerValue];
}
- (NSDate *) dateAdded
{
return [[self propertyWithCode:'pAdd'] get];
}
- (NSString *) objectDescription
{
return [[self propertyWithCode:'pDes'] get];
}
- (void) setObjectDescription: (NSString *) objectDescription
{
[[self propertyWithCode:'pDes'] setTo:objectDescription];
}
- (NSInteger) discCount
{
id v = [[self propertyWithCode:'pDsC'] get];
return [v integerValue];
}
- (void) setDiscCount: (NSInteger) discCount
{
id v = [NSNumber numberWithInteger:discCount];
[[self propertyWithCode:'pDsC'] setTo:v];
}
- (NSInteger) discNumber
{
id v = [[self propertyWithCode:'pDsN'] get];
return [v integerValue];
}
- (void) setDiscNumber: (NSInteger) discNumber
{
id v = [NSNumber numberWithInteger:discNumber];
[[self propertyWithCode:'pDsN'] setTo:v];
}
- (double) duration
{
id v = [[self propertyWithCode:'pDur'] get];
return [v doubleValue];
}
- (BOOL) enabled
{
id v = [[self propertyWithCode:'enbl'] get];
return [v boolValue];
}
- (void) setEnabled: (BOOL) enabled
{
id v = [NSNumber numberWithBool:enabled];
[[self propertyWithCode:'enbl'] setTo:v];
}
- (NSString *) episodeID
{
return [[self propertyWithCode:'pEpD'] get];
}
- (void) setEpisodeID: (NSString *) episodeID
{
[[self propertyWithCode:'pEpD'] setTo:episodeID];
}
- (NSInteger) episodeNumber
{
id v = [[self propertyWithCode:'pEpN'] get];
return [v integerValue];
}
- (void) setEpisodeNumber: (NSInteger) episodeNumber
{
id v = [NSNumber numberWithInteger:episodeNumber];
[[self propertyWithCode:'pEpN'] setTo:v];
}
- (NSString *) EQ
{
return [[self propertyWithCode:'pEQp'] get];
}
- (void) setEQ: (NSString *) EQ
{
[[self propertyWithCode:'pEQp'] setTo:EQ];
}
- (double) finish
{
id v = [[self propertyWithCode:'pStp'] get];
return [v doubleValue];
}
- (void) setFinish: (double) finish
{
id v = [NSNumber numberWithDouble:finish];
[[self propertyWithCode:'pStp'] setTo:v];
}
- (BOOL) gapless
{
id v = [[self propertyWithCode:'pGpl'] get];
return [v boolValue];
}
- (void) setGapless: (BOOL) gapless
{
id v = [NSNumber numberWithBool:gapless];
[[self propertyWithCode:'pGpl'] setTo:v];
}
- (NSString *) genre
{
return [[self propertyWithCode:'pGen'] get];
}
- (void) setGenre: (NSString *) genre
{
[[self propertyWithCode:'pGen'] setTo:genre];
}
- (NSString *) grouping
{
return [[self propertyWithCode:'pGrp'] get];
}
- (void) setGrouping: (NSString *) grouping
{
[[self propertyWithCode:'pGrp'] setTo:grouping];
}
- (BOOL) iTunesU
{
id v = [[self propertyWithCode:'pTIU'] get];
return [v boolValue];
}
- (NSString *) kind
{
return [[self propertyWithCode:'pKnd'] get];
}
- (NSString *) longDescription
{
return [[self propertyWithCode:'pLds'] get];
}
- (void) setLongDescription: (NSString *) longDescription
{
[[self propertyWithCode:'pLds'] setTo:longDescription];
}
- (NSString *) lyrics
{
return [[self propertyWithCode:'pLyr'] get];
}
- (void) setLyrics: (NSString *) lyrics
{
[[self propertyWithCode:'pLyr'] setTo:lyrics];
}
- (NSDate *) modificationDate
{
return [[self propertyWithCode:'asmo'] get];
}
- (NSInteger) playedCount
{
id v = [[self propertyWithCode:'pPlC'] get];
return [v integerValue];
}
- (void) setPlayedCount: (NSInteger) playedCount
{
id v = [NSNumber numberWithInteger:playedCount];
[[self propertyWithCode:'pPlC'] setTo:v];
}
- (NSDate *) playedDate
{
return [[self propertyWithCode:'pPlD'] get];
}
- (void) setPlayedDate: (NSDate *) playedDate
{
[[self propertyWithCode:'pPlD'] setTo:playedDate];
}
- (BOOL) podcast
{
id v = [[self propertyWithCode:'pTPc'] get];
return [v boolValue];
}
- (NSInteger) rating
{
id v = [[self propertyWithCode:'pRte'] get];
return [v integerValue];
}
- (void) setRating: (NSInteger) rating
{
id v = [NSNumber numberWithInteger:rating];
[[self propertyWithCode:'pRte'] setTo:v];
}
- (iTunesERtK) ratingKind
{
id v = [[self propertyWithCode:'pRtk'] get];
return [v enumCodeValue];
}
- (NSDate *) releaseDate
{
return [[self propertyWithCode:'pRlD'] get];
}
- (NSInteger) sampleRate
{
id v = [[self propertyWithCode:'pSRt'] get];
return [v integerValue];
}
- (NSInteger) seasonNumber
{
id v = [[self propertyWithCode:'pSeN'] get];
return [v integerValue];
}
- (void) setSeasonNumber: (NSInteger) seasonNumber
{
id v = [NSNumber numberWithInteger:seasonNumber];
[[self propertyWithCode:'pSeN'] setTo:v];
}
- (BOOL) shufflable
{
id v = [[self propertyWithCode:'pSfa'] get];
return [v boolValue];
}
- (void) setShufflable: (BOOL) shufflable
{
id v = [NSNumber numberWithBool:shufflable];
[[self propertyWithCode:'pSfa'] setTo:v];
}
- (NSInteger) skippedCount
{
id v = [[self propertyWithCode:'pSkC'] get];
return [v integerValue];
}
- (void) setSkippedCount: (NSInteger) skippedCount
{
id v = [NSNumber numberWithInteger:skippedCount];
[[self propertyWithCode:'pSkC'] setTo:v];
}
- (NSDate *) skippedDate
{
return [[self propertyWithCode:'pSkD'] get];
}
- (void) setSkippedDate: (NSDate *) skippedDate
{
[[self propertyWithCode:'pSkD'] setTo:skippedDate];
}
- (NSString *) show
{
return [[self propertyWithCode:'pShw'] get];
}
- (void) setShow: (NSString *) show
{
[[self propertyWithCode:'pShw'] setTo:show];
}
- (NSString *) sortAlbum
{
return [[self propertyWithCode:'pSAl'] get];
}
- (void) setSortAlbum: (NSString *) sortAlbum
{
[[self propertyWithCode:'pSAl'] setTo:sortAlbum];
}
- (NSString *) sortArtist
{
return [[self propertyWithCode:'pSAr'] get];
}
- (void) setSortArtist: (NSString *) sortArtist
{
[[self propertyWithCode:'pSAr'] setTo:sortArtist];
}
- (NSString *) sortAlbumArtist
{
return [[self propertyWithCode:'pSAA'] get];
}
- (void) setSortAlbumArtist: (NSString *) sortAlbumArtist
{
[[self propertyWithCode:'pSAA'] setTo:sortAlbumArtist];
}
- (NSString *) sortName
{
return [[self propertyWithCode:'pSNm'] get];
}
- (void) setSortName: (NSString *) sortName
{
[[self propertyWithCode:'pSNm'] setTo:sortName];
}
- (NSString *) sortComposer
{
return [[self propertyWithCode:'pSCm'] get];
}
- (void) setSortComposer: (NSString *) sortComposer
{
[[self propertyWithCode:'pSCm'] setTo:sortComposer];
}
- (NSString *) sortShow
{
return [[self propertyWithCode:'pSSN'] get];
}
- (void) setSortShow: (NSString *) sortShow
{
[[self propertyWithCode:'pSSN'] setTo:sortShow];
}
- (long long) size
{
id v = [[self propertyWithCode:'pSiz'] get];
return [v longLongValue];
}
- (double) start
{
id v = [[self propertyWithCode:'pStr'] get];
return [v doubleValue];
}
- (void) setStart: (double) start
{
id v = [NSNumber numberWithDouble:start];
[[self propertyWithCode:'pStr'] setTo:v];
}
- (NSString *) time
{
return [[self propertyWithCode:'pTim'] get];
}
- (NSInteger) trackCount
{
id v = [[self propertyWithCode:'pTrC'] get];
return [v integerValue];
}
- (void) setTrackCount: (NSInteger) trackCount
{
id v = [NSNumber numberWithInteger:trackCount];
[[self propertyWithCode:'pTrC'] setTo:v];
}
- (NSInteger) trackNumber
{
id v = [[self propertyWithCode:'pTrN'] get];
return [v integerValue];
}
- (void) setTrackNumber: (NSInteger) trackNumber
{
id v = [NSNumber numberWithInteger:trackNumber];
[[self propertyWithCode:'pTrN'] setTo:v];
}
- (BOOL) unplayed
{
id v = [[self propertyWithCode:'pUnp'] get];
return [v boolValue];
}
- (void) setUnplayed: (BOOL) unplayed
{
id v = [NSNumber numberWithBool:unplayed];
[[self propertyWithCode:'pUnp'] setTo:v];
}
- (iTunesEVdK) videoKind
{
id v = [[self propertyWithCode:'pVdK'] get];
return [v enumCodeValue];
}
- (void) setVideoKind: (iTunesEVdK) videoKind
{
id v = [NSAppleEventDescriptor descriptorWithEnumCode:videoKind];
[[self propertyWithCode:'pVdK'] setTo:v];
}
- (NSInteger) volumeAdjustment
{
id v = [[self propertyWithCode:'pAdj'] get];
return [v integerValue];
}
- (void) setVolumeAdjustment: (NSInteger) volumeAdjustment
{
id v = [NSNumber numberWithInteger:volumeAdjustment];
[[self propertyWithCode:'pAdj'] setTo:v];
}
- (NSInteger) year
{
id v = [[self propertyWithCode:'pYr '] get];
return [v integerValue];
}
- (void) setYear: (NSInteger) year
{
id v = [NSNumber numberWithInteger:year];
[[self propertyWithCode:'pYr '] setTo:v];
}
@end
@implementation iTunesAudioCDTrack
- (NSURL *) location
{
return [[self propertyWithCode:'pLoc'] get];
}
@end
@implementation iTunesFileTrack
- (NSURL *) location
{
return [[self propertyWithCode:'pLoc'] get];
}
- (void) setLocation: (NSURL *) location
{
[[self propertyWithCode:'pLoc'] setTo:location];
}
- (void) refresh
{
[self sendEvent:'hook' id:'Rfrs' parameters:0];
}
@end
@implementation iTunesSharedTrack
@end
@implementation iTunesURLTrack
- (NSString *) address
{
return [[self propertyWithCode:'pURL'] get];
}
- (void) setAddress: (NSString *) address
{
[[self propertyWithCode:'pURL'] setTo:address];
}
- (void) download
{
[self sendEvent:'hook' id:'Dwnl' parameters:0];
}
@end
@implementation iTunesUserPlaylist
- (SBElementArray *) fileTracks
{
return [self elementArrayWithCode:'cFlT'];
}
- (SBElementArray *) URLTracks
{
return [self elementArrayWithCode:'cURT'];
}
- (SBElementArray *) sharedTracks
{
return [self elementArrayWithCode:'cShT'];
}
- (BOOL) shared
{
id v = [[self propertyWithCode:'pShr'] get];
return [v boolValue];
}
- (void) setShared: (BOOL) shared
{
id v = [NSNumber numberWithBool:shared];
[[self propertyWithCode:'pShr'] setTo:v];
}
- (BOOL) smart
{
id v = [[self propertyWithCode:'pSmt'] get];
return [v boolValue];
}
@end
@implementation iTunesFolderPlaylist
@end
@implementation iTunesVisual
@end
@implementation iTunesWindow
- (NSRect) bounds
{
id v = [[self propertyWithCode:'pbnd'] get];
return [v rectValue];
}
- (void) setBounds: (NSRect) bounds
{
id v = [NSValue valueWithRect:bounds];
[[self propertyWithCode:'pbnd'] setTo:v];
}
- (BOOL) closeable
{
id v = [[self propertyWithCode:'hclb'] get];
return [v boolValue];
}
- (BOOL) collapseable
{
id v = [[self propertyWithCode:'pWSh'] get];
return [v boolValue];
}
- (BOOL) collapsed
{
id v = [[self propertyWithCode:'wshd'] get];
return [v boolValue];
}
- (void) setCollapsed: (BOOL) collapsed
{
id v = [NSNumber numberWithBool:collapsed];
[[self propertyWithCode:'wshd'] setTo:v];
}
- (NSPoint) position
{
id v = [[self propertyWithCode:'ppos'] get];
return [v pointValue];
}
- (void) setPosition: (NSPoint) position
{
id v = [NSValue valueWithPoint:position];
[[self propertyWithCode:'ppos'] setTo:v];
}
- (BOOL) resizable
{
id v = [[self propertyWithCode:'prsz'] get];
return [v boolValue];
}
- (BOOL) visible
{
id v = [[self propertyWithCode:'pvis'] get];
return [v boolValue];
}
- (void) setVisible: (BOOL) visible
{
id v = [NSNumber numberWithBool:visible];
[[self propertyWithCode:'pvis'] setTo:v];
}
- (BOOL) zoomable
{
id v = [[self propertyWithCode:'iszm'] get];
return [v boolValue];
}
- (BOOL) zoomed
{
id v = [[self propertyWithCode:'pzum'] get];
return [v boolValue];
}
- (void) setZoomed: (BOOL) zoomed
{
id v = [NSNumber numberWithBool:zoomed];
[[self propertyWithCode:'pzum'] setTo:v];
}
@end
@implementation iTunesBrowserWindow
- (BOOL) minimized
{
id v = [[self propertyWithCode:'pMin'] get];
return [v boolValue];
}
- (void) setMinimized: (BOOL) minimized
{
id v = [NSNumber numberWithBool:minimized];
[[self propertyWithCode:'pMin'] setTo:v];
}
- (SBObject *) selection
{
return (SBObject *) [self propertyWithClass:[SBObject class] code:'sele'];
}
- (iTunesPlaylist *) view
{
return (iTunesPlaylist *) [self propertyWithClass:[iTunesPlaylist class] code:'pPly'];
}
- (void) setView: (iTunesPlaylist *) view
{
[[self propertyWithClass:[iTunesPlaylist class] code:'pPly'] setTo:view];
}
@end
@implementation iTunesEQWindow
- (BOOL) minimized
{
id v = [[self propertyWithCode:'pMin'] get];
return [v boolValue];
}
- (void) setMinimized: (BOOL) minimized
{
id v = [NSNumber numberWithBool:minimized];
[[self propertyWithCode:'pMin'] setTo:v];
}
@end
@implementation iTunesPlaylistWindow
- (SBObject *) selection
{
return (SBObject *) [self propertyWithClass:[SBObject class] code:'sele'];
}
- (iTunesPlaylist *) view
{
return (iTunesPlaylist *) [self propertyWithClass:[iTunesPlaylist class] code:'pPly'];
}
@end