// // PSMovieAlert.m // Pester // // Created by Nicholas Riley on Sat Oct 26 2002. // Copyright (c) 2002 Nicholas Riley. All rights reserved. // #import #import "PSMovieAlert.h" #import "PSMovieAlertController.h" #import "NSMovie-NJRExtensions.h" @implementation PSMovieAlert + (PSMovieAlert *)alertWithMovieFileAlias:(BDAlias *)anAlias repetitions:(unsigned short)numReps; { return [[[self alloc] initWithAlias: anAlias repetitions: numReps] autorelease]; } - (id)initWithAlias:(BDAlias *)anAlias repetitions:(unsigned int) numReps; { if ( (self = [super init]) != nil) { alias = [anAlias retain]; repetitions = numReps; movie = [[NSMovie alloc] initWithURL: [NSURL fileURLWithPath: [anAlias fullPath]] byReference: YES]; if (movie == nil) { [self release]; self = nil; } else { hasAudio = [movie hasAudio]; hasVideo = [movie hasVideo]; if (!hasAudio && !hasVideo) { [self release]; self = nil; } } } return self; } - (BOOL)hasVideo; { return hasVideo; } - (NSMovie *)movie; { return movie; } - (unsigned short)repetitions; { return repetitions; } - (void)dealloc; { [alias release]; [movie release]; [super dealloc]; } - (NSString *)description; { return [NSString stringWithFormat: @"PSMovieAlert (%@%@): %@, repeats %hu times", hasAudio ? @"A" : @"", hasVideo ? @"V" : @"", [alias fullPath], repetitions]; } - (void)triggerForAlarm:(PSAlarm *)alarm; { [PSMovieAlertController controllerWithAlarm: alarm movieAlert: self]; } @end