00001 /*00002 *00003 * Copyright (c) 2006, Ben Suffolk <ben@usbdmx.com>00004 * All rights reserved.00005 *00006 * Redistribution and use in source and binary forms, with or without 00007 * modification, are permitted provided that the following conditions are met:00008 *00009 * 1. Redistributions of source code must retain the above copyright notice,00010 * this list of conditions and the following disclaimer.00011 *00012 * 2. Redistributions in binary form must reproduce the above copyright notice,00013 * this list of conditions and the following disclaimer in the documentation00014 * and/or other materials provided with the distribution.00015 *00016 * 3. Neither the name of the usbdmx.com web site nor the names of its 00017 * contributors may be used to endorse or promote products derived from this00018 * software without specific prior written permission.00019 *00020 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00021 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00022 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00023 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00024 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00025 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00026 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00027 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00028 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00029 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE00030 * POSSIBILITY OF SUCH DAMAGE.00031 *00032 * $Id: LODiplessCrossFadeProvider.h 197 2007-10-31 10:08:37Z ben.suffolk $00033 *00034 */00035
00036 #import <Cocoa/Cocoa.h>00037
00038 #import "LODiplessCrossFadeProvider.h"00039
00040 #define LODiplessCrossFadeCompletedNotification @"LODiplessCrossFadeCompletedNotification"00041
00042 @classLOTimingThread;
00043
00050@interface LOTimedDiplessCrossFadeProvider : LODiplessCrossFadeProvider00051 {
00052floatfadeUpTime;
00053floatfadeDownTime;
00054
00055intfadeUpSteps;
00056intfadeDownSteps;
00057intcurrUpStep;
00058intcurrDownStep;
00059
00060 NSTimer *stepUpTimer;
00061 NSTimer *stepDownTimer;
00062
00063LOTimingThread *timingThread;
00064
00065 BOOL downRunning;
00066 BOOL upRunning;
00067
00068 NSLock *runningLock;
00069 }
00070
00071
00079 - (float)fadeUpTime;
00080
00081
00092 - (void)setFadeUpTime:(float)seconds;
00093
00094
00102 - (float)fadeDownTime;
00103
00104
00115 - (void)setFadeDownTime:(float)seconds;
00116
00117
00129 - (void)setCrossFadeTime:(float)seconds;
00130
00131
00142 - (void)start;
00143
00144
00151 - (void)stop;
00152
00153
00159 - (BOOL)isRunning;
00160
00161
00162
00163
00164 @end00165
00166