#import <Foundation/Foundation.h>
#import <QuickTime/QuickTime.h>
#import <QTKit/QTKitDefines.h>

#include<HYS/QTKit/QTTime.h>

/*QTMakeTime

Creates a QTTime structure.

QTTime QTMakeTime (long long timeValue, long timeScale);
Discussion

This function creates a QTTime structure initialized using the scalar value timeValue and the time scale scale.
Availability
Available in Mac OS X v10.3 and later.*/
QTTime QTMakeTime (long long timeValue, long timeScale);

/*QTTimeFromString

Returns a QTTime structure.

QTTime QTTimeFromString(NSString* string);
Discussion

This function returns a QTTime structure whose time is set to the time expressed by the string; the string is assumed to be in the form “days:hours:minutes:seconds:frames/timescale”.
Availability
Available in Mac OS X v10.3 and later.*/
QTTime QTTimeFromString(NSString* string);

/*QTStringFromTime

Returns a description of a QTTime structure.

NSString* QTStringFromTime(QTTime time);
Discussion

This function returns a description of a QTTime structure. The string is in the form “sign:days:hours:minutes:seconds:timevalue:timescale”, where sign is empty or “-”. Note that this is not for user input, but for archiving and debugging purposes.
Availability
Available in Mac OS X v10.3 and later.*/
NSString* QTStringFromTime(QTTime time);



@interface NSValue (NSValueQTTimeExtensions)
/*QTTimeValue

Returns a QTTime structure that contains the time in an NSValue object.

- (QTTime)QTTimeValue
Availability
Available in Mac OS X v10.3 and later.*/
- (QTTime)QTTimeValue;
@end


/*Data Types and Constants

All of the new data types and constants in this header file are listed alphabetically, with links to documentation and abstracts, if available.
QTIndefiniteTime	
QTTime	
QTZeroTime	
kQTTimeIsIndefinite	*/
extern const QTTime  QTIndefiniteTime	;
extern const QTTime   QTZeroTime	;
extern const  QTTime  kQTTimeIsIndefinite	;