Movies.pas 625 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745
  1. {
  2. File: QuickTime/Movies.h
  3. Contains: QuickTime Interfaces.
  4. Version: QuickTime 7.7.1
  5. Copyright: © 1990-2012 by Apple Inc., all rights reserved
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://bugs.freepascal.org
  9. }
  10. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
  11. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2012 }
  12. {
  13. Modified for use with Free Pascal
  14. Version 308
  15. Please report any bugs to <[email protected]>
  16. }
  17. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  18. {$mode macpas}
  19. {$modeswitch cblocks}
  20. {$packenum 1}
  21. {$macro on}
  22. {$inline on}
  23. {$calling mwpascal}
  24. {$IFNDEF FPC_DOTTEDUNITS}
  25. unit Movies;
  26. {$ENDIF FPC_DOTTEDUNITS}
  27. interface
  28. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  29. {$setc GAP_INTERFACES_VERSION := $0308}
  30. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  31. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  32. {$endc}
  33. {$ifc defined CPUPOWERPC and defined CPUI386}
  34. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  35. {$endc}
  36. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  37. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  38. {$endc}
  39. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  40. {$setc __ppc__ := 1}
  41. {$elsec}
  42. {$setc __ppc__ := 0}
  43. {$endc}
  44. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  45. {$setc __ppc64__ := 1}
  46. {$elsec}
  47. {$setc __ppc64__ := 0}
  48. {$endc}
  49. {$ifc not defined __i386__ and defined CPUI386}
  50. {$setc __i386__ := 1}
  51. {$elsec}
  52. {$setc __i386__ := 0}
  53. {$endc}
  54. {$ifc not defined __x86_64__ and defined CPUX86_64}
  55. {$setc __x86_64__ := 1}
  56. {$elsec}
  57. {$setc __x86_64__ := 0}
  58. {$endc}
  59. {$ifc not defined __arm__ and defined CPUARM}
  60. {$setc __arm__ := 1}
  61. {$elsec}
  62. {$setc __arm__ := 0}
  63. {$endc}
  64. {$ifc not defined __arm64__ and defined CPUAARCH64}
  65. {$setc __arm64__ := 1}
  66. {$elsec}
  67. {$setc __arm64__ := 0}
  68. {$endc}
  69. {$ifc defined cpu64}
  70. {$setc __LP64__ := 1}
  71. {$elsec}
  72. {$setc __LP64__ := 0}
  73. {$endc}
  74. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  75. {$error Conflicting definitions for __ppc__ and __i386__}
  76. {$endc}
  77. {$ifc defined __ppc__ and __ppc__}
  78. {$setc TARGET_CPU_PPC := TRUE}
  79. {$setc TARGET_CPU_PPC64 := FALSE}
  80. {$setc TARGET_CPU_X86 := FALSE}
  81. {$setc TARGET_CPU_X86_64 := FALSE}
  82. {$setc TARGET_CPU_ARM := FALSE}
  83. {$setc TARGET_CPU_ARM64 := FALSE}
  84. {$setc TARGET_OS_MAC := TRUE}
  85. {$setc TARGET_OS_IPHONE := FALSE}
  86. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  87. {$setc TARGET_OS_EMBEDDED := FALSE}
  88. {$elifc defined __ppc64__ and __ppc64__}
  89. {$setc TARGET_CPU_PPC := FALSE}
  90. {$setc TARGET_CPU_PPC64 := TRUE}
  91. {$setc TARGET_CPU_X86 := FALSE}
  92. {$setc TARGET_CPU_X86_64 := FALSE}
  93. {$setc TARGET_CPU_ARM := FALSE}
  94. {$setc TARGET_CPU_ARM64 := FALSE}
  95. {$setc TARGET_OS_MAC := TRUE}
  96. {$setc TARGET_OS_IPHONE := FALSE}
  97. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  98. {$setc TARGET_OS_EMBEDDED := FALSE}
  99. {$elifc defined __i386__ and __i386__}
  100. {$setc TARGET_CPU_PPC := FALSE}
  101. {$setc TARGET_CPU_PPC64 := FALSE}
  102. {$setc TARGET_CPU_X86 := TRUE}
  103. {$setc TARGET_CPU_X86_64 := FALSE}
  104. {$setc TARGET_CPU_ARM := FALSE}
  105. {$setc TARGET_CPU_ARM64 := FALSE}
  106. {$ifc defined iphonesim}
  107. {$setc TARGET_OS_MAC := FALSE}
  108. {$setc TARGET_OS_IPHONE := TRUE}
  109. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  110. {$elsec}
  111. {$setc TARGET_OS_MAC := TRUE}
  112. {$setc TARGET_OS_IPHONE := FALSE}
  113. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  114. {$endc}
  115. {$setc TARGET_OS_EMBEDDED := FALSE}
  116. {$elifc defined __x86_64__ and __x86_64__}
  117. {$setc TARGET_CPU_PPC := FALSE}
  118. {$setc TARGET_CPU_PPC64 := FALSE}
  119. {$setc TARGET_CPU_X86 := FALSE}
  120. {$setc TARGET_CPU_X86_64 := TRUE}
  121. {$setc TARGET_CPU_ARM := FALSE}
  122. {$setc TARGET_CPU_ARM64 := FALSE}
  123. {$ifc defined iphonesim}
  124. {$setc TARGET_OS_MAC := FALSE}
  125. {$setc TARGET_OS_IPHONE := TRUE}
  126. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  127. {$elsec}
  128. {$setc TARGET_OS_MAC := TRUE}
  129. {$setc TARGET_OS_IPHONE := FALSE}
  130. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  131. {$endc}
  132. {$setc TARGET_OS_EMBEDDED := FALSE}
  133. {$elifc defined __arm__ and __arm__}
  134. {$setc TARGET_CPU_PPC := FALSE}
  135. {$setc TARGET_CPU_PPC64 := FALSE}
  136. {$setc TARGET_CPU_X86 := FALSE}
  137. {$setc TARGET_CPU_X86_64 := FALSE}
  138. {$setc TARGET_CPU_ARM := TRUE}
  139. {$setc TARGET_CPU_ARM64 := FALSE}
  140. {$setc TARGET_OS_MAC := FALSE}
  141. {$setc TARGET_OS_IPHONE := TRUE}
  142. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  143. {$setc TARGET_OS_EMBEDDED := TRUE}
  144. {$elifc defined __arm64__ and __arm64__}
  145. {$setc TARGET_CPU_PPC := FALSE}
  146. {$setc TARGET_CPU_PPC64 := FALSE}
  147. {$setc TARGET_CPU_X86 := FALSE}
  148. {$setc TARGET_CPU_X86_64 := FALSE}
  149. {$setc TARGET_CPU_ARM := FALSE}
  150. {$setc TARGET_CPU_ARM64 := TRUE}
  151. {$ifc defined ios}
  152. {$setc TARGET_OS_MAC := FALSE}
  153. {$setc TARGET_OS_IPHONE := TRUE}
  154. {$setc TARGET_OS_EMBEDDED := TRUE}
  155. {$elsec}
  156. {$setc TARGET_OS_MAC := TRUE}
  157. {$setc TARGET_OS_IPHONE := FALSE}
  158. {$setc TARGET_OS_EMBEDDED := FALSE}
  159. {$endc}
  160. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  161. {$elsec}
  162. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  163. {$endc}
  164. {$ifc defined __LP64__ and __LP64__ }
  165. {$setc TARGET_CPU_64 := TRUE}
  166. {$elsec}
  167. {$setc TARGET_CPU_64 := FALSE}
  168. {$endc}
  169. {$ifc defined FPC_BIG_ENDIAN}
  170. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  171. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  172. {$elifc defined FPC_LITTLE_ENDIAN}
  173. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  174. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  175. {$elsec}
  176. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  177. {$endc}
  178. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  179. {$setc CALL_NOT_IN_CARBON := FALSE}
  180. {$setc OLDROUTINENAMES := FALSE}
  181. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  182. {$setc OPAQUE_UPP_TYPES := TRUE}
  183. {$setc OTCARBONAPPLICATION := TRUE}
  184. {$setc OTKERNEL := FALSE}
  185. {$setc PM_USE_SESSION_APIS := TRUE}
  186. {$setc TARGET_API_MAC_CARBON := TRUE}
  187. {$setc TARGET_API_MAC_OS8 := FALSE}
  188. {$setc TARGET_API_MAC_OSX := TRUE}
  189. {$setc TARGET_CARBON := TRUE}
  190. {$setc TARGET_CPU_68K := FALSE}
  191. {$setc TARGET_CPU_MIPS := FALSE}
  192. {$setc TARGET_CPU_SPARC := FALSE}
  193. {$setc TARGET_OS_UNIX := FALSE}
  194. {$setc TARGET_OS_WIN32 := FALSE}
  195. {$setc TARGET_RT_MAC_68881 := FALSE}
  196. {$setc TARGET_RT_MAC_CFM := FALSE}
  197. {$setc TARGET_RT_MAC_MACHO := TRUE}
  198. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  199. {$setc TYPE_BOOL := FALSE}
  200. {$setc TYPE_EXTENDED := FALSE}
  201. {$setc TYPE_LONGLONG := TRUE}
  202. {$IFDEF FPC_DOTTEDUNITS}
  203. uses MacOsApi.MacTypes,MacOsApi.Aliases,MacOsApi.Components,MacOsApi.Dialogs,MacOsApi.Events,MacOsApi.Files,MacOsApi.Menus,MacOsApi.ImageCompression,MacOsApi.QDOffscreen,MacOsApi.QuickdrawTypes,MacOsApi.TextEdit,MacOsApi.HIObject,MacOsApi.CFBase,MacOsApi.CFDictionary,MacOsApi.CFString,MacOsApi.CoreAudioTypes,MacOsApi.AUComponent;
  204. {$ELSE FPC_DOTTEDUNITS}
  205. uses MacTypes,Aliases,Components,Dialogs,Events,Files,Menus,ImageCompression,QDOffscreen,QuickdrawTypes,TextEdit,HIObject,CFBase,CFDictionary,CFString,CoreAudioTypes,AUComponent;
  206. {$ENDIF FPC_DOTTEDUNITS}
  207. {$endc} {not MACOSALLINCLUDE}
  208. {$ifc TARGET_OS_MAC}
  209. {
  210. Important note regarding availability macros
  211. ============================================
  212. QuickTime APIs that were introduced in QuickTime 6.0 and later are tagged with
  213. availability macros indicating the first Mac OS X version in which they were
  214. *always* available. Such APIs may also be present on systems running earlier
  215. Mac OS X releases when QuickTime updates have been installed.
  216. For example, QTNewDataReferenceFromCFURL was introduced in QuickTime 6.4.
  217. It is always available on Mac OS X 10.3, which shipped with QuickTime 6.4.
  218. However, QuickTime 6.4 can also be installed as an update to Mac OS X 10.2.x,
  219. so QTNewDataReferenceFromCFURL is also available on some systems running
  220. Mac OS X 10.2.x.
  221. QuickTime 6.0 / Mac OS X 10.2 : AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  222. QuickTime 6.4 / Mac OS X 10.3 : AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  223. QuickTime 7.0 / Mac OS X 10.4 : AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  224. QuickTime 7.2 / Mac OS X 10.5 : AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  225. As described in /usr/include/AvailabilityMacros.h, you can use the
  226. MAC_OS_X_VERSION_MIN_REQUIRED macro to weak-link to the APIs that may not be
  227. available on the Mac OS X versions your software targets.
  228. }
  229. {$ALIGN MAC68K}
  230. { This sets the user defined exportset name i.e. fw_QuickTime_XManchego, available on 10.5 or later, and comment [4486184] }
  231. { NOTE: Requires Interfacer-35 or later }
  232. { <exportset=fw_QuickTime_XManchego> }
  233. { <exportset=fw_QuickTime_XMaguro> }
  234. { "kFix1" is defined in FixMath as "fixed1" }
  235. { error codes are in Errors.[haa] }
  236. { gestalt codes are in Gestalt.[hpa] }
  237. const
  238. MovieFileType = FourCharCode('MooV');
  239. MovieScrapType = FourCharCode('moov');
  240. const
  241. MovieResourceType = FourCharCode('moov');
  242. MovieForwardPointerResourceType = FourCharCode('fore');
  243. MovieBackwardPointerResourceType = FourCharCode('back');
  244. const
  245. MovieResourceAtomType = FourCharCode('moov');
  246. MovieDataAtomType = FourCharCode('mdat');
  247. FreeAtomType = FourCharCode('free');
  248. SkipAtomType = FourCharCode('skip');
  249. WideAtomPlaceholderType = FourCharCode('wide');
  250. const
  251. MediaHandlerType = FourCharCode('mhlr');
  252. DataHandlerType = FourCharCode('dhlr');
  253. const
  254. VideoMediaType = FourCharCode('vide');
  255. SoundMediaType = FourCharCode('soun');
  256. TextMediaType = FourCharCode('text');
  257. BaseMediaType = FourCharCode('gnrc');
  258. MPEGMediaType = FourCharCode('MPEG');
  259. MusicMediaType = FourCharCode('musi');
  260. TimeCodeMediaType = FourCharCode('tmcd');
  261. SpriteMediaType = FourCharCode('sprt');
  262. FlashMediaType = FourCharCode('flsh');
  263. MovieMediaType = FourCharCode('moov');
  264. TweenMediaType = FourCharCode('twen');
  265. ThreeDeeMediaType = FourCharCode('qd3d');
  266. SkinMediaType = FourCharCode('skin');
  267. HandleDataHandlerSubType = FourCharCode('hndl');
  268. PointerDataHandlerSubType = FourCharCode('ptr ');
  269. NullDataHandlerSubType = FourCharCode('null');
  270. ResourceDataHandlerSubType = FourCharCode('rsrc');
  271. URLDataHandlerSubType = FourCharCode('url ');
  272. AliasDataHandlerSubType = FourCharCode('alis');
  273. WiredActionHandlerType = FourCharCode('wire');
  274. kQTQuartzComposerMediaType = FourCharCode('qtz ');
  275. TimeCode64MediaType = FourCharCode('tc64');
  276. const
  277. VisualMediaCharacteristic = FourCharCode('eyes');
  278. AudioMediaCharacteristic = FourCharCode('ears');
  279. kCharacteristicCanSendVideo = FourCharCode('vsnd');
  280. kCharacteristicProvidesActions = FourCharCode('actn');
  281. kCharacteristicNonLinear = FourCharCode('nonl');
  282. kCharacteristicCanStep = FourCharCode('step');
  283. kCharacteristicHasNoDuration = FourCharCode('noti');
  284. kCharacteristicHasSkinData = FourCharCode('skin');
  285. kCharacteristicProvidesKeyFocus = FourCharCode('keyf');
  286. kCharacteristicSupportsDisplayOffsets = FourCharCode('dtdd');
  287. const
  288. kUserDataMovieControllerType = FourCharCode('ctyp');
  289. kUserDataName = FourCharCode('name');
  290. kUserDataTextAlbum = FourCharCode('©alb');
  291. kUserDataTextArtist = FourCharCode('©ART');
  292. kUserDataTextAuthor = FourCharCode('©aut');
  293. kUserDataTextChapter = FourCharCode('©chp');
  294. kUserDataTextComment = FourCharCode('©cmt');
  295. kUserDataTextComposer = FourCharCode('©com');
  296. kUserDataTextCopyright = FourCharCode('©cpy');
  297. kUserDataTextCreationDate = FourCharCode('©day');
  298. kUserDataTextDescription = FourCharCode('©des');
  299. kUserDataTextDirector = FourCharCode('©dir');
  300. kUserDataTextDisclaimer = FourCharCode('©dis');
  301. kUserDataTextEncodedBy = FourCharCode('©enc');
  302. kUserDataTextFullName = FourCharCode('©nam');
  303. kUserDataTextGenre = FourCharCode('©gen');
  304. kUserDataTextHostComputer = FourCharCode('©hst');
  305. kUserDataTextInformation = FourCharCode('©inf');
  306. kUserDataTextKeywords = FourCharCode('©key');
  307. kUserDataTextMake = FourCharCode('©mak');
  308. kUserDataTextModel = FourCharCode('©mod');
  309. kUserDataTextOriginalArtist = FourCharCode('©ope');
  310. kUserDataTextOriginalFormat = FourCharCode('©fmt');
  311. kUserDataTextOriginalSource = FourCharCode('©src');
  312. kUserDataTextPerformers = FourCharCode('©prf');
  313. kUserDataTextProducer = FourCharCode('©prd');
  314. kUserDataTextPublisher = FourCharCode('©pub');
  315. kUserDataTextProduct = FourCharCode('©PRD');
  316. kUserDataTextSoftware = FourCharCode('©swr');
  317. kUserDataTextSpecialPlaybackRequirements = FourCharCode('©req');
  318. kUserDataTextTrack = FourCharCode('©trk');
  319. kUserDataTextWarning = FourCharCode('©wrn');
  320. kUserDataTextWriter = FourCharCode('©wrt');
  321. kUserDataTextURLLink = FourCharCode('©url');
  322. kUserDataTextEditDate1 = FourCharCode('©ed1');
  323. kUserDataAnimatedGIFLoopCount = FourCharCode('gifc'); { data is big-endian UInt16 }
  324. kQTAnimatedGIFLoopCountInfinite = 0;
  325. kUserDataAnimatedGIFBufferingSize = FourCharCode('gifb'); { data is big-endian UInt32 }
  326. const
  327. kUserDataUnicodeBit = 1 shl 7;
  328. const
  329. DoTheRightThing = 0;
  330. {$ifc not TARGET_CPU_64}
  331. { property types}
  332. type
  333. QTPropertyClass = OSType;
  334. QTPropertyID = OSType;
  335. QTPropertyValueType = OSType;
  336. QTPropertyValueTypePtr = ^QTPropertyValueType;
  337. QTPropertyValuePtr = UnivPtr;
  338. ConstQTPropertyValuePtr = {const} UnivPtr;
  339. MovieTypePtr = ^SInt32; { an opaque type }
  340. Movie = ^MovieTypePtr;
  341. Movie_fix = Movie; { used as field type when a record declaration contains a Movie field identifier }
  342. MoviePtr = ^Movie;
  343. PtrToMovie = MoviePtr;
  344. TrackTypePtr = ^SInt32; { an opaque type }
  345. Track = ^TrackTypePtr;
  346. Track_fix = Track; { used as field type when a record declaration contains a Track field identifier }
  347. MediaTypePtr = ^SInt32; { an opaque type }
  348. Media = ^MediaTypePtr;
  349. UserDataRecordPtr = ^SInt32; { an opaque type }
  350. UserData = ^UserDataRecordPtr;
  351. MovieEditStateRecordPtr = ^SInt32; { an opaque type }
  352. MovieEditState = ^MovieEditStateRecordPtr;
  353. TrackEditStateRecordPtr = ^SInt32; { an opaque type }
  354. TrackEditState = ^TrackEditStateRecordPtr;
  355. QTRestrictionSetRecordPtr = ^SInt32; { an opaque type }
  356. QTRestrictionSet = ^QTRestrictionSetRecordPtr;
  357. SpriteWorld = ^SInt32; { an opaque type }
  358. Sprite = ^SInt32; { an opaque type }
  359. QTTweener = ^SInt32; { an opaque type }
  360. {$endc} {not TARGET_CPU_64}
  361. type
  362. SampleDescription = record
  363. descSize: SInt32;
  364. dataFormat: SInt32;
  365. resvd1: SInt32;
  366. resvd2: SInt16;
  367. dataRefIndex: SInt16;
  368. end;
  369. SampleDescriptionPtr = ^SampleDescription;
  370. type
  371. SampleDescriptionHandle = ^SampleDescriptionPtr;
  372. {$ifc not TARGET_CPU_64}
  373. const
  374. kQTNetworkStatusNoNetwork = -2;
  375. kQTNetworkStatusUncertain = -1;
  376. kQTNetworkStatusNotConnected = 0;
  377. kQTNetworkStatusConnected = 1;
  378. type
  379. QTAtomContainer = Handle;
  380. QTAtom = SIGNEDLONG;
  381. QTAtomType = SIGNEDLONG;
  382. QTAtomID = SIGNEDLONG;
  383. { QTFloatDouble is the 64-bit IEEE-754 standard}
  384. type
  385. QTFloatDouble = Float64;
  386. { QTFloatSingle is the 32-bit IEEE-754 standard}
  387. type
  388. QTFloatSingle = Float32;
  389. {$endc} {not TARGET_CPU_64}
  390. {************************
  391. * SoundDescription
  392. ************************}
  393. type
  394. SoundDescription = record
  395. descSize: SInt32; { total size of SoundDescription including extra data }
  396. dataFormat: SInt32; { sound format }
  397. resvd1: SInt32; { reserved for apple use. set to zero }
  398. resvd2: SInt16; { reserved for apple use. set to zero }
  399. dataRefIndex: SInt16;
  400. version: SInt16; { which version is this data }
  401. revlevel: SInt16; { what version of that codec did this }
  402. vendor: SInt32; { whose codec compressed this data }
  403. numChannels: SInt16; { number of channels of sound }
  404. sampleSize: SInt16; { number of bits per sample }
  405. compressionID: SInt16; { unused. set to zero. }
  406. packetSize: SInt16; { unused. set to zero. }
  407. sampleRate: UnsignedFixed; { sample rate sound is captured at }
  408. end;
  409. SoundDescriptionPtr = ^SoundDescription;
  410. type
  411. SoundDescriptionHandle = ^SoundDescriptionPtr;
  412. { version 1 of the SoundDescription record}
  413. type
  414. SoundDescriptionV1 = record
  415. { original fields}
  416. desc: SoundDescription;
  417. { fixed compression ratio information}
  418. samplesPerPacket: UInt32;
  419. bytesPerPacket: UInt32;
  420. bytesPerFrame: UInt32;
  421. bytesPerSample: UInt32;
  422. { additional atom based fields ([long size, long type, some data], repeat)}
  423. end;
  424. SoundDescriptionV1Ptr = ^SoundDescriptionV1;
  425. type
  426. SoundDescriptionV1Handle = ^SoundDescriptionV1Ptr;
  427. {
  428. Definitions for SoundDescriptionV2:
  429. LPCMFrame = one uncompressed sample in each of the channels (ie. 44100Hz audio has
  430. 44100 LPCMFrames per second, whether it is mono, stereo, 5.1, or whatever).
  431. In other words, LPCMFrames/audioSampleRate is duration in seconds.
  432. AudioPacket = For compressed audio, an AudioPacket is the natural compressed access
  433. unit of that format. For uncompressed audio, an AudioPacket is simply one
  434. LPCMFrame.
  435. }
  436. { version 2 of the SoundDescription record}
  437. type
  438. SoundDescriptionV2 = record
  439. descSize: SInt32; { total size of SoundDescription including extra data }
  440. dataFormat: OSType; { 'lpcm' for uncompressed, compression type otherwise (eg. 'ima4') }
  441. resvd1: SInt32; { reserved for apple use. Must be set to zero }
  442. resvd2: SInt16; { reserved for apple use. Must be set to zero }
  443. dataRefIndex: SInt16;
  444. version: SInt16; { which version is this data (2 in this case) }
  445. revlevel: SInt16; { what version of that codec did this }
  446. vendor: SInt32; { whose codec compressed this data }
  447. always3: SInt16; { Reserved, must be set to 3 }
  448. always16: SInt16; { Reserved, must be set to 16 (0x0010) }
  449. alwaysMinus2: SInt16; { Reserved, must be set to -2 (0xFFFE) }
  450. always0: SInt16; { Reserved, must be set to 0 }
  451. always65536: UInt32; { Reserved, must be set to 65536 (0x00010000) }
  452. sizeOfStructOnly: UInt32; { must be set to sizeof(SoundDescriptionV2), ie. offset to extensions }
  453. audioSampleRate: Float64; { audio frames per second, eg. 44100.0 }
  454. numAudioChannels: UInt32; { any channel assignment info will be in an extension }
  455. always7F000000: SInt32; { Reserved, must be set to 0x7F000000 }
  456. constBitsPerChannel: UInt32; { only set if constant (and only for uncompressed audio) }
  457. formatSpecificFlags: UInt32; { eg. see LPCM flag definitions in CoreAudioTypes.h }
  458. constBytesPerAudioPacket: UInt32; { only set if constant }
  459. constLPCMFramesPerAudioPacket: UInt32; { only set if constant }
  460. { additional atom based extensions ([long size, long type, some data], repeat)}
  461. end;
  462. SoundDescriptionV2Ptr = ^SoundDescriptionV2;
  463. type
  464. SoundDescriptionV2Handle = ^SoundDescriptionV2Ptr;
  465. {$ifc not TARGET_CPU_64}
  466. const
  467. kQTSoundDescriptionKind_Movie_Version1 = FourCharCode('mvv1');
  468. kQTSoundDescriptionKind_Movie_Version2 = FourCharCode('mvv2');
  469. kQTSoundDescriptionKind_Movie_LowestPossibleVersion = FourCharCode('mvlo');
  470. kQTSoundDescriptionKind_Movie_AnyVersion = FourCharCode('mvny');
  471. type
  472. QTSoundDescriptionKind = FourCharCode;
  473. {
  474. * QTSoundDescriptionCreate()
  475. *
  476. * Summary:
  477. * QTSoundDescriptionCreate creates a SoundDescription of the
  478. * requested kind from an AudioStreamBasicDescription, optional
  479. * AudioChannelLayout, and optional magic cookie.
  480. * QTSoundDescriptionCreate allocates the returned
  481. * SoundDescriptionHandle, and the caller is responsible for
  482. * disposing it.
  483. *
  484. * Parameters:
  485. *
  486. * inASBD:
  487. * a description of the format
  488. *
  489. * inLayout:
  490. * the audio channel layout (can be NULL if there isn't one)
  491. *
  492. * inLayoutSize:
  493. * size of the audio channel layout (should be 0 if inLayout is
  494. * NULL)
  495. *
  496. * inMagicCookie:
  497. * the magic cookie for the decompressor (can be NULL if there
  498. * isn't one)
  499. *
  500. * inMagicCookieSize:
  501. * size of the magic cookie (should be 0 if inMagicCookie is NULL)
  502. *
  503. * inRequestedKind:
  504. * the kind of SoundDescription to create
  505. *
  506. * outSoundDesc:
  507. * the resulting SoundDescription. Caller must dispose with
  508. * DisposeHandle.
  509. *
  510. * Availability:
  511. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  512. * CarbonLib: not available
  513. * Non-Carbon CFM: not available
  514. }
  515. function QTSoundDescriptionCreate( var inASBD: AudioStreamBasicDescription; inLayout: AudioChannelLayoutPtr { can be NULL }; inLayoutSize: ByteCount; inMagicCookie: UnivPtr; inMagicCookieSize: ByteCount; inRequestedKind: QTSoundDescriptionKind; var outSoundDesc: SoundDescriptionHandle ): OSStatus; external name '_QTSoundDescriptionCreate';
  516. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  517. {
  518. * QTSoundDescriptionConvert()
  519. *
  520. * Summary:
  521. * Converts from one kind of SoundDescription to another. Note that
  522. * fromKind is reserved for future expansion. You must set it to
  523. * kSoundDescriptionKind_Movie_AnyVersion. You can specify (via
  524. * toKind) that you would like a specific SoundDescription version,
  525. * the lowest possible version (given the constraints of the format
  526. * described by fromDescription), or any version of SoundDescription
  527. * at all. QTSoundDescriptionConvert allocates the returned
  528. * SoundDescriptionHandle and the caller is responsible for
  529. * disposing it.
  530. *
  531. * Parameters:
  532. *
  533. * fromKind:
  534. * reserved, must be set to kSoundDescriptionKind_Movie_AnyVersion
  535. *
  536. * fromDescription:
  537. * input description to be converted
  538. *
  539. * toKind:
  540. * kind of description toDescription will be
  541. *
  542. * toDescription:
  543. * the resulting SoundDescription. Caller must dispose with
  544. * DisposeHandle.
  545. *
  546. * Availability:
  547. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  548. * CarbonLib: not available
  549. * Non-Carbon CFM: not available
  550. }
  551. function QTSoundDescriptionConvert( fromKind: QTSoundDescriptionKind; fromDescription: SoundDescriptionHandle; toKind: QTSoundDescriptionKind; var toDescription: SoundDescriptionHandle ): OSStatus; external name '_QTSoundDescriptionConvert';
  552. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  553. { SoundDescription Properties}
  554. const
  555. {
  556. * Properties of a SoundDescription
  557. }
  558. kQTPropertyClass_SoundDescription = FourCharCode('sdes'); { class for SoundDescription properties}
  559. const
  560. {
  561. * kQTSoundDescriptionPropertyID_AudioChannelLayout: Value is
  562. * AudioChannelLayout (Get/Set) Note that this is a variable sized
  563. * property (since it may contain an array of ChannelDescriptions;
  564. * see CoreAudioTypes.h). You must get the size first (by calling
  565. * QTSoundDescriptionGetPropertyInfo), allocate a struct of that
  566. * size, and then get the property.
  567. }
  568. kQTSoundDescriptionPropertyID_AudioChannelLayout = FourCharCode('clay');
  569. {
  570. * kQTSoundDescriptionPropertyID_MagicCookie: Value is opaque bytes
  571. * (Get/Set) Note that this is a variable sized property (since it is
  572. * completely defined by the codec in question). You must get the
  573. * size first (by calling QTSoundDescriptionGetPropertyInfo),
  574. * allocate a struct of that size, and then get the property.
  575. }
  576. kQTSoundDescriptionPropertyID_MagicCookie = FourCharCode('kuki');
  577. {
  578. * kQTSoundDescriptionPropertyID_AudioStreamBasicDescription: Value
  579. * is AudioStreamBasicDescription (Get only)
  580. }
  581. kQTSoundDescriptionPropertyID_AudioStreamBasicDescription = FourCharCode('asbd');
  582. {
  583. * kQTSoundDescriptionPropertyID_BitRate: Value is UInt32 in bits per
  584. * second (Get only) kQTSoundDescriptionPropertyID_BitRate Note that
  585. * this property may not be available for formats that are inherently
  586. * very variable in bitrate and highly source-data dependent (such as
  587. * Apple Lossless).
  588. }
  589. kQTSoundDescriptionPropertyID_BitRate = FourCharCode('brat');
  590. {
  591. * kQTSoundDescriptionPropertyID_UserReadableText: Value is
  592. * CFStringRef (Get only) QTSoundDescriptionGetProperty does a
  593. * CFRetain of the returned CFString on behalf of the caller, so the
  594. * caller is responsible for calling CFRelease on the returned
  595. * CFString.
  596. }
  597. kQTSoundDescriptionPropertyID_UserReadableText = FourCharCode('text');
  598. {
  599. * QTSoundDescriptionGetPropertyInfo()
  600. *
  601. * Summary:
  602. * Gets info about a particular property of a SoundDescription.
  603. *
  604. * Parameters:
  605. *
  606. * inDesc:
  607. * SoundDescription being interrogated
  608. *
  609. * inPropClass:
  610. * class of property being requested
  611. *
  612. * inPropID:
  613. * ID of property being requested
  614. *
  615. * outPropType:
  616. * type of property is returned here (can be NULL)
  617. *
  618. * outPropValueSize:
  619. * size of property is returned here (can be NULL)
  620. *
  621. * outPropertyFlags:
  622. * property flags are returned here (can be NULL)
  623. *
  624. * Availability:
  625. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  626. * CarbonLib: not available
  627. * Non-Carbon CFM: not available
  628. }
  629. function QTSoundDescriptionGetPropertyInfo( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; outPropType: QTPropertyValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_QTSoundDescriptionGetPropertyInfo';
  630. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  631. {
  632. * QTSoundDescriptionGetProperty()
  633. *
  634. * Summary:
  635. * Gets a particular property of a SoundDescription.
  636. *
  637. * Parameters:
  638. *
  639. * inDesc:
  640. * SoundDescription being interrogated
  641. *
  642. * inPropClass:
  643. * class of property being requested
  644. *
  645. * inPropID:
  646. * ID of property being requested
  647. *
  648. * inPropValueSize:
  649. * size of property value buffer
  650. *
  651. * outPropValueAddress:
  652. * pointer to property value buffer
  653. *
  654. * outPropValueSizeUsed:
  655. * actual size of returned property value (can be NULL)
  656. *
  657. * Availability:
  658. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  659. * CarbonLib: not available
  660. * Non-Carbon CFM: not available
  661. }
  662. function QTSoundDescriptionGetProperty( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_QTSoundDescriptionGetProperty';
  663. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  664. {
  665. * QTSoundDescriptionSetProperty()
  666. *
  667. * Summary:
  668. * Sets a particular property of a SoundDescription.
  669. *
  670. * Parameters:
  671. *
  672. * inDesc:
  673. * SoundDescription being modified
  674. *
  675. * inPropClass:
  676. * class of property being set
  677. *
  678. * inPropID:
  679. * ID of property being set
  680. *
  681. * inPropValueSize:
  682. * size of property value buffer
  683. *
  684. * inPropValueAddress:
  685. * pointer to property value buffer
  686. *
  687. * Availability:
  688. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  689. * CarbonLib: not available
  690. * Non-Carbon CFM: not available
  691. }
  692. function QTSoundDescriptionSetProperty( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_QTSoundDescriptionSetProperty';
  693. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  694. { Sound Description Extensions}
  695. {
  696. * AddSoundDescriptionExtension()
  697. *
  698. * Availability:
  699. * Mac OS X: in version 10.0 and later in QuickTime.framework
  700. * CarbonLib: in CarbonLib 1.0 and later
  701. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  702. * Windows: in qtmlClient.lib 3.0 and later
  703. }
  704. function AddSoundDescriptionExtension( desc: SoundDescriptionHandle; extension: Handle; idType: OSType ): OSErr; external name '_AddSoundDescriptionExtension';
  705. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  706. {
  707. * GetSoundDescriptionExtension()
  708. *
  709. * Availability:
  710. * Mac OS X: in version 10.0 and later in QuickTime.framework
  711. * CarbonLib: in CarbonLib 1.0 and later
  712. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  713. * Windows: in qtmlClient.lib 3.0 and later
  714. }
  715. function GetSoundDescriptionExtension( desc: SoundDescriptionHandle; var extension: Handle; idType: OSType ): OSErr; external name '_GetSoundDescriptionExtension';
  716. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  717. {
  718. * RemoveSoundDescriptionExtension()
  719. *
  720. * Availability:
  721. * Mac OS X: in version 10.0 and later in QuickTime.framework
  722. * CarbonLib: in CarbonLib 1.0 and later
  723. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  724. * Windows: in qtmlClient.lib 3.0 and later
  725. }
  726. function RemoveSoundDescriptionExtension( desc: SoundDescriptionHandle; idType: OSType ): OSErr; external name '_RemoveSoundDescriptionExtension';
  727. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  728. {$endc} {not TARGET_CPU_64}
  729. const
  730. kTx3gSampleType = FourCharCode('tx3g');
  731. kTx3gFontTableAtomType = FourCharCode('ftab');
  732. kTx3gBlinkAtomType = FourCharCode('blnk');
  733. type
  734. Tx3gRGBAColor = record
  735. red: UInt8;
  736. green: UInt8;
  737. blue: UInt8;
  738. transparency: UInt8;
  739. end;
  740. type
  741. Tx3gStyleRecordPtr = ^Tx3gStyleRecord;
  742. Tx3gStyleRecord = record
  743. startChar: UInt16;
  744. endChar: UInt16;
  745. fontID: UInt16;
  746. fontFace: UInt8;
  747. fontSize: UInt8;
  748. fontColor: Tx3gRGBAColor;
  749. end;
  750. type
  751. Tx3gStylePtr = Tx3gStyleRecordPtr;
  752. Tx3gStyleHandle = ^Tx3gStylePtr;
  753. Tx3gStyleTableRecordPtr = ^Tx3gStyleTableRecord;
  754. Tx3gStyleTableRecord = record
  755. count: UInt16;
  756. table: array [0..0] of Tx3gStyleRecord;
  757. end;
  758. type
  759. Tx3gStyleTablePtr = Tx3gStyleTableRecordPtr;
  760. Tx3gStyleTableHandle = ^Tx3gStyleTablePtr;
  761. Tx3gFontRecord = record
  762. fontID: UInt16;
  763. nameLength: UInt8;
  764. name: array[0..0] of SInt8;
  765. end;
  766. Tx3gFontRecordPtr = ^Tx3gFontRecord;
  767. type
  768. Tx3gFontTableRecordPtr = ^Tx3gFontTableRecord;
  769. Tx3gFontTableRecord = record
  770. entryCount: UInt16;
  771. fontEntries: array[0..0] of Tx3gFontRecord;
  772. end;
  773. type
  774. Tx3gFontTablePtr = Tx3gFontTableRecordPtr;
  775. Tx3gFontTableHandle = ^Tx3gFontTablePtr;
  776. Tx3gDescription = record
  777. descSize: SInt32;
  778. dataFormat: SInt32;
  779. resvd1: SInt32;
  780. resvd2: SInt16;
  781. dataRefIndex: SInt16;
  782. displayFlags: UInt32;
  783. horizontalJustification: AnsiChar;
  784. verticalJustification: AnsiChar;
  785. backgroundColor: Tx3gRGBAColor;
  786. defaultTextBox: Rect;
  787. defaultStyle: Tx3gStyleRecord;
  788. end;
  789. Tx3gDescriptionPtr = ^Tx3gDescription;
  790. type
  791. Tx3gDescriptionHandle = ^Tx3gDescriptionPtr;
  792. {$ifc TARGET_CPU_64}
  793. { QuickDraw legacy }
  794. type
  795. QTRGBColor = record
  796. red: UInt16; { magnitude of red component}
  797. green: UInt16; { magnitude of green component}
  798. blue: UInt16; { magnitude of blue component}
  799. end;
  800. {$endc} {TARGET_CPU_64}
  801. type
  802. TextDescription = record
  803. descSize: SInt32; { Total size of TextDescription}
  804. dataFormat: SInt32; { 'text'}
  805. resvd1: SInt32;
  806. resvd2: SInt16;
  807. dataRefIndex: SInt16;
  808. displayFlags: SInt32; { see enum below for flag values}
  809. textJustification: SInt32; { Can be: teCenter,teFlush -Default,-Right,-Left}
  810. {$ifc TARGET_CPU_64}
  811. bgColor: QTRGBColor; { Background color}
  812. {$elsec} {TARGET_CPU_64}
  813. bgColor: RGBColor; { Background color}
  814. {$endc} {TARGET_CPU_64}
  815. defaultTextBox: Rect; { Location to place the text within the track bounds}
  816. defaultStyle: ScrpSTElement; { Default style (struct defined in TextEdit.h)}
  817. defaultFontName: array[0..0] of SInt8; { Font Name (pascal string - struct extended to fit) }
  818. end;
  819. TextDescriptionPtr = ^TextDescription;
  820. type
  821. TextDescriptionHandle = ^TextDescriptionPtr;
  822. {$ifc not TARGET_CPU_64}
  823. type
  824. SpriteDescription = record
  825. descSize: SIGNEDLONG; { total size of SpriteDescription including extra data }
  826. dataFormat: SIGNEDLONG; { }
  827. resvd1: SIGNEDLONG; { reserved for apple use }
  828. resvd2: SInt16;
  829. dataRefIndex: SInt16;
  830. version: SIGNEDLONG; { which version is this data }
  831. decompressorType: OSType; { which decompressor to use, 0 for no decompression }
  832. sampleFlags: SIGNEDLONG; { how to interpret samples }
  833. end;
  834. SpriteDescriptionPtr = ^SpriteDescription;
  835. type
  836. SpriteDescriptionHandle = ^SpriteDescriptionPtr;
  837. FlashDescription = record
  838. descSize: SIGNEDLONG;
  839. dataFormat: SIGNEDLONG;
  840. resvd1: SIGNEDLONG;
  841. resvd2: SInt16;
  842. dataRefIndex: SInt16;
  843. version: SIGNEDLONG; { which version is this data }
  844. decompressorType: OSType; { which decompressor to use, 0 for no decompression }
  845. flags: SIGNEDLONG;
  846. end;
  847. FlashDescriptionPtr = ^FlashDescription;
  848. type
  849. FlashDescriptionHandle = ^FlashDescriptionPtr;
  850. ThreeDeeDescription = record
  851. descSize: SIGNEDLONG; { total size of ThreeDeeDescription including extra data }
  852. dataFormat: SIGNEDLONG; { }
  853. resvd1: SIGNEDLONG; { reserved for apple use }
  854. resvd2: SInt16;
  855. dataRefIndex: SInt16;
  856. version: SIGNEDLONG; { which version is this data }
  857. rendererType: SIGNEDLONG; { which renderer to use, 0 for default }
  858. decompressorType: SIGNEDLONG; { which decompressor to use, 0 for default }
  859. end;
  860. ThreeDeeDescriptionPtr = ^ThreeDeeDescription;
  861. type
  862. ThreeDeeDescriptionHandle = ^ThreeDeeDescriptionPtr;
  863. DataReferenceRecordPtr = ^DataReferenceRecord;
  864. DataReferenceRecord = record
  865. dataRefType: OSType;
  866. dataRef: Handle;
  867. end;
  868. type
  869. DataReferencePtr = DataReferenceRecordPtr;
  870. {--------------------------
  871. Music Sample Description
  872. --------------------------}
  873. type
  874. MusicDescription = record
  875. descSize: SIGNEDLONG;
  876. dataFormat: SIGNEDLONG; { 'musi' }
  877. resvd1: SIGNEDLONG;
  878. resvd2: SInt16;
  879. dataRefIndex: SInt16;
  880. musicFlags: SIGNEDLONG;
  881. headerData: array [0..0] of UNSIGNEDLONG; { variable size! }
  882. end;
  883. MusicDescriptionPtr = ^MusicDescription;
  884. type
  885. MusicDescriptionHandle = ^MusicDescriptionPtr;
  886. const
  887. kMusicFlagDontPlay2Soft = 1 shl 0;
  888. kMusicFlagDontSlaveToMovie = 1 shl 1;
  889. const
  890. dfDontDisplay = 1 shl 0; { Don't display the text}
  891. dfDontAutoScale = 1 shl 1; { Don't scale text as track bounds grows or shrinks}
  892. dfClipToTextBox = 1 shl 2; { Clip update to the textbox}
  893. dfUseMovieBGColor = 1 shl 3; { Set text background to movie's background color}
  894. dfShrinkTextBoxToFit = 1 shl 4; { Compute minimum box to fit the sample}
  895. dfScrollIn = 1 shl 5; { Scroll text in until last of text is in view }
  896. dfScrollOut = 1 shl 6; { Scroll text out until last of text is gone (if both set, scroll in then out)}
  897. dfHorizScroll = 1 shl 7; { Scroll text horizontally (otherwise it's vertical)}
  898. dfReverseScroll = 1 shl 8; { vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)}
  899. dfContinuousScroll = 1 shl 9; { new samples cause previous samples to scroll out }
  900. dfFlowHoriz = 1 shl 10; { horiz scroll text flows in textbox rather than extend to right }
  901. dfContinuousKaraoke = 1 shl 11; { ignore begin offset, hilite everything up to the end offset(karaoke)}
  902. dfDropShadow = 1 shl 12; { display text with a drop shadow }
  903. dfAntiAlias = 1 shl 13; { attempt to display text anti aliased}
  904. dfKeyedText = 1 shl 14; { key the text over background}
  905. dfInverseHilite = 1 shl 15; { Use inverse hiliting rather than using hilite color}
  906. dfTextColorHilite = 1 shl 16; { changes text color in place of hiliting. }
  907. const
  908. searchTextDontGoToFoundTime = 1 shl 16;
  909. searchTextDontHiliteFoundText = 1 shl 17;
  910. searchTextOneTrackOnly = 1 shl 18;
  911. searchTextEnabledTracksOnly = 1 shl 19;
  912. {use these with the text property routines}
  913. const
  914. { set property parameter / get property parameter}
  915. kTextTextHandle = 1; { Handle / preallocated Handle}
  916. kTextTextPtr = 2; { Pointer}
  917. kTextTEStyle = 3; { TextStyle * / TextStyle *}
  918. kTextSelection = 4; { long [2] / long [2]}
  919. kTextBackColor = 5; { RGBColor * / RGBColor *}
  920. kTextForeColor = 6; { RGBColor * / RGBColor *}
  921. kTextFace = 7; { long / long *}
  922. kTextFont = 8; { long / long *}
  923. kTextSize = 9; { long / long *}
  924. kTextAlignment = 10; { short * / short *}
  925. kTextHilite = 11; { hiliteRecord * / hiliteRecord *}
  926. kTextDropShadow = 12; { dropShadowRecord * / dropShadowRecord *}
  927. kTextDisplayFlags = 13; { long / long *}
  928. kTextScroll = 14; { TimeValue * / TimeValue *}
  929. kTextRelativeScroll = 15; { Point *}
  930. kTextHyperTextFace = 16; { hyperTextSetFace * / hyperTextSetFace *}
  931. kTextHyperTextColor = 17; { hyperTextSetColor * / hyperTextSetColor *}
  932. kTextKeyEntry = 18; { short}
  933. kTextMouseDown = 19; { Point *}
  934. kTextTextBox = 20; { Rect * / Rect *}
  935. kTextEditState = 21; { short / short *}
  936. kTextLength = 22; { / long *}
  937. const
  938. k3DMediaRendererEntry = FourCharCode('rend');
  939. k3DMediaRendererName = FourCharCode('name');
  940. k3DMediaRendererCode = FourCharCode('rcod');
  941. { progress messages }
  942. const
  943. movieProgressOpen = 0;
  944. movieProgressUpdatePercent = 1;
  945. movieProgressClose = 2;
  946. { progress operations }
  947. const
  948. progressOpFlatten = 1;
  949. progressOpInsertTrackSegment = 2;
  950. progressOpInsertMovieSegment = 3;
  951. progressOpPaste = 4;
  952. progressOpAddMovieSelection = 5;
  953. progressOpCopy = 6;
  954. progressOpCut = 7;
  955. progressOpLoadMovieIntoRam = 8;
  956. progressOpLoadTrackIntoRam = 9;
  957. progressOpLoadMediaIntoRam = 10;
  958. progressOpImportMovie = 11;
  959. progressOpExportMovie = 12;
  960. const
  961. mediaQualityDraft = $0000;
  962. mediaQualityNormal = $0040;
  963. mediaQualityBetter = $0080;
  964. mediaQualityBest = $00C0;
  965. {****
  966. Interactive Sprites Support
  967. ****}
  968. { QTEventRecord flags}
  969. const
  970. kQTEventPayloadIsQTList = 1 shl 0;
  971. type
  972. QTEventRecord = record
  973. version: SIGNEDLONG;
  974. eventType: OSType;
  975. where: Point;
  976. flags: SIGNEDLONG;
  977. payloadRefcon: SIGNEDLONG; { from here down only present if version >= 2}
  978. param1: SIGNEDLONG;
  979. param2: SIGNEDLONG;
  980. param3: SIGNEDLONG;
  981. end;
  982. QTEventRecordPtr = ^QTEventRecord;
  983. type
  984. QTAtomSpec = record
  985. container: QTAtomContainer;
  986. atom: QTAtom;
  987. end;
  988. QTAtomSpecPtr = ^QTAtomSpec;
  989. type
  990. ResolvedQTEventSpec = record
  991. actionAtom: QTAtomSpec;
  992. targetTrack: Track;
  993. targetRefCon: SIGNEDLONG;
  994. end;
  995. ResolvedQTEventSpecPtr = ^ResolvedQTEventSpec;
  996. { action constants }
  997. const
  998. kActionMovieSetVolume = 1024; { (short movieVolume) }
  999. kActionMovieSetRate = 1025; { (Fixed rate) }
  1000. kActionMovieSetLoopingFlags = 1026; { (long loopingFlags) }
  1001. kActionMovieGoToTime = 1027; { (TimeValue time) }
  1002. kActionMovieGoToTimeByName = 1028; { (Str255 timeName) }
  1003. kActionMovieGoToBeginning = 1029; { no params }
  1004. kActionMovieGoToEnd = 1030; { no params }
  1005. kActionMovieStepForward = 1031; { no params }
  1006. kActionMovieStepBackward = 1032; { no params }
  1007. kActionMovieSetSelection = 1033; { (TimeValue startTime, TimeValue endTime) }
  1008. kActionMovieSetSelectionByName = 1034; { (Str255 startTimeName, Str255 endTimeName) }
  1009. kActionMoviePlaySelection = 1035; { (Boolean selectionOnly) }
  1010. kActionMovieSetLanguage = 1036; { (long language) }
  1011. kActionMovieChanged = 1037; { no params }
  1012. kActionMovieRestartAtTime = 1038; { (TimeValue startTime, Fixed rate) }
  1013. kActionMovieGotoNextChapter = 1039; { no params }
  1014. kActionMovieGotoPreviousChapter = 1040; { no params }
  1015. kActionMovieGotoFirstChapter = 1041; { no params }
  1016. kActionMovieGotoLastChapter = 1042; { no params }
  1017. kActionMovieGotoChapterByIndex = 1043; { ( short index ) }
  1018. kActionMovieSetScale = 1044; { (Fixed xScale, Fixed yScale) }
  1019. kActionTrackSetVolume = 2048; { (short volume) }
  1020. kActionTrackSetBalance = 2049; { (short balance) }
  1021. kActionTrackSetEnabled = 2050; { (Boolean enabled) }
  1022. kActionTrackSetMatrix = 2051; { (MatrixRecord matrix) }
  1023. kActionTrackSetLayer = 2052; { (short layer) }
  1024. kActionTrackSetClip = 2053; { (RgnHandle clip) }
  1025. kActionTrackSetCursor = 2054; { (QTATomID cursorID) }
  1026. kActionTrackSetGraphicsMode = 2055; { (ModifierTrackGraphicsModeRecord graphicsMode) }
  1027. kActionTrackSetIdleFrequency = 2056; { (long frequency) }
  1028. kActionTrackSetBassTreble = 2057; { (short base, short treble) }
  1029. kActionSpriteSetMatrix = 3072; { (MatrixRecord matrix) }
  1030. kActionSpriteSetImageIndex = 3073; { (short imageIndex) }
  1031. kActionSpriteSetVisible = 3074; { (short visible) }
  1032. kActionSpriteSetLayer = 3075; { (short layer) }
  1033. kActionSpriteSetGraphicsMode = 3076; { (ModifierTrackGraphicsModeRecord graphicsMode) }
  1034. kActionSpritePassMouseToCodec = 3078; { no params }
  1035. kActionSpriteClickOnCodec = 3079; { Point localLoc }
  1036. kActionSpriteTranslate = 3080; { (Fixed x, Fixed y, Boolean isAbsolute) }
  1037. kActionSpriteScale = 3081; { (Fixed xScale, Fixed yScale) }
  1038. kActionSpriteRotate = 3082; { (Fixed degrees) }
  1039. kActionSpriteStretch = 3083; { (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) }
  1040. kActionSpriteSetCanBeHitTested = 3094; { (short canBeHitTested) }
  1041. kActionQTVRSetPanAngle = 4096; { (float panAngle) }
  1042. kActionQTVRSetTiltAngle = 4097; { (float tiltAngle) }
  1043. kActionQTVRSetFieldOfView = 4098; { (float fieldOfView) }
  1044. kActionQTVRShowDefaultView = 4099; { no params }
  1045. kActionQTVRGoToNodeID = 4100; { (UInt32 nodeID) }
  1046. kActionQTVREnableHotSpot = 4101; { long ID, Boolean enable }
  1047. kActionQTVRShowHotSpots = 4102; { Boolean show }
  1048. kActionQTVRTranslateObject = 4103; { float xMove, float yMove }
  1049. kActionQTVRSetViewState = 4109; { long viewStateType, short state }
  1050. kActionMusicPlayNote = 5120; { (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) }
  1051. kActionMusicSetController = 5121; { (long sampleDescIndex, long partNumber, long delay, long controller, long value) }
  1052. kActionCase = 6144; { [(CaseStatementActionAtoms)] }
  1053. kActionWhile = 6145; { [(WhileStatementActionAtoms)] }
  1054. kActionGoToURL = 6146; { (C string urlLink) }
  1055. kActionSendQTEventToSprite = 6147; { ([(SpriteTargetAtoms)], QTEventRecord theEvent) }
  1056. kActionDebugStr = 6148; { (Str255 theString) }
  1057. kActionPushCurrentTime = 6149; { no params }
  1058. kActionPushCurrentTimeWithLabel = 6150; { (Str255 theLabel) }
  1059. kActionPopAndGotoTopTime = 6151; { no params }
  1060. kActionPopAndGotoLabeledTime = 6152; { (Str255 theLabel) }
  1061. kActionStatusString = 6153; { (C string theString, long stringTypeFlags) }
  1062. kActionSendQTEventToTrackObject = 6154; { ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) }
  1063. kActionAddChannelSubscription = 6155; { (Str255 channelName, C string channelsURL, C string channelsPictureURL) }
  1064. kActionRemoveChannelSubscription = 6156; { (C string channelsURL) }
  1065. kActionOpenCustomActionHandler = 6157; { (long handlerID, ComponentDescription handlerDesc) }
  1066. kActionDoScript = 6158; { (long scriptTypeFlags, CString command, CString arguments) }
  1067. kActionDoCompressedActions = 6159; { (compressed QTAtomContainer prefixed with eight bytes: long compressorType, long decompressedSize) }
  1068. kActionSendAppMessage = 6160; { (long appMessageID) }
  1069. kActionLoadComponent = 6161; { (ComponentDescription handlerDesc) }
  1070. kActionSetFocus = 6162; { [(TargetAtoms theObject)] }
  1071. kActionDontPassKeyEvent = 6163; { no params }
  1072. kActionSetRandomSeed = 6164; { long randomSeed }
  1073. kActionSpriteTrackSetVariable = 7168; { (QTAtomID variableID, float value) }
  1074. kActionSpriteTrackNewSprite = 7169; { (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short visible, short layer, ModifierTrackGraphicsModeRecord *graphicsMode, QTAtomID actionHandlingSpriteID) }
  1075. kActionSpriteTrackDisposeSprite = 7170; { (QTAtomID spriteID) }
  1076. kActionSpriteTrackSetVariableToString = 7171; { (QTAtomID variableID, C string value) }
  1077. kActionSpriteTrackConcatVariables = 7172; { (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID resultVariableID ) }
  1078. kActionSpriteTrackSetVariableToMovieURL = 7173; { (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) }
  1079. kActionSpriteTrackSetVariableToMovieBaseURL = 7174; { (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) }
  1080. kActionSpriteTrackSetAllSpritesHitTestingMode = 7181;
  1081. kActionSpriteTrackNewImage = 7182; { (C string imageURL, QTAtomID desiredID) }
  1082. kActionSpriteTrackDisposeImage = 7183; { (short imageIndex) }
  1083. kActionApplicationNumberAndString = 8192; { (long aNumber, Str255 aString ) }
  1084. kActionQD3DNamedObjectTranslateTo = 9216; { (Fixed x, Fixed y, Fixed z ) }
  1085. kActionQD3DNamedObjectScaleTo = 9217; { (Fixed xScale, Fixed yScale, Fixed zScale ) }
  1086. kActionQD3DNamedObjectRotateTo = 9218; { (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) }
  1087. kActionFlashTrackSetPan = 10240; { (short xPercent, short yPercent ) }
  1088. kActionFlashTrackSetZoom = 10241; { (short zoomFactor ) }
  1089. kActionFlashTrackSetZoomRect = 10242; { (long left, long top, long right, long bottom ) }
  1090. kActionFlashTrackGotoFrameNumber = 10243; { (long frameNumber ) }
  1091. kActionFlashTrackGotoFrameLabel = 10244; { (C string frameLabel ) }
  1092. kActionFlashTrackSetFlashVariable = 10245; { (C string path, C string name, C string value, Boolean updateFocus) }
  1093. kActionFlashTrackDoButtonActions = 10246; { (C string path, long buttonID, long transition) }
  1094. kActionMovieTrackAddChildMovie = 11264; { (QTAtomID childMovieID, C string childMovieURL) }
  1095. kActionMovieTrackLoadChildMovie = 11265; { (QTAtomID childMovieID) }
  1096. kActionMovieTrackLoadChildMovieWithQTListParams = 11266; { (QTAtomID childMovieID, C string qtlistXML) }
  1097. kActionTextTrackPasteText = 12288; { (C string theText, long startSelection, long endSelection ) }
  1098. kActionTextTrackSetTextBox = 12291; { (short left, short top, short right, short bottom) }
  1099. kActionTextTrackSetTextStyle = 12292; { (Handle textStyle) }
  1100. kActionTextTrackSetSelection = 12293; { (long startSelection, long endSelection ) }
  1101. kActionTextTrackSetBackgroundColor = 12294; { (ModifierTrackGraphicsModeRecord backgroundColor ) }
  1102. kActionTextTrackSetForegroundColor = 12295; { (ModifierTrackGraphicsModeRecord foregroundColor ) }
  1103. kActionTextTrackSetFace = 12296; { (long fontFace ) }
  1104. kActionTextTrackSetFont = 12297; { (long fontID ) }
  1105. kActionTextTrackSetSize = 12298; { (long fontSize ) }
  1106. kActionTextTrackSetAlignment = 12299; { (short alignment ) }
  1107. kActionTextTrackSetHilite = 12300; { (long startHighlight, long endHighlight, ModifierTrackGraphicsModeRecord highlightColor ) }
  1108. kActionTextTrackSetDropShadow = 12301; { (Point dropShadow, short transparency ) }
  1109. kActionTextTrackSetDisplayFlags = 12302; { (long flags ) }
  1110. kActionTextTrackSetScroll = 12303; { (long delay ) }
  1111. kActionTextTrackRelativeScroll = 12304; { (short deltaX, short deltaY ) }
  1112. kActionTextTrackFindText = 12305; { (long flags, Str255 theText, ModifierTrackGraphicsModeRecord highlightColor ) }
  1113. kActionTextTrackSetHyperTextFace = 12306; { (short index, long fontFace ) }
  1114. kActionTextTrackSetHyperTextColor = 12307; { (short index, ModifierTrackGraphicsModeRecord highlightColor ) }
  1115. kActionTextTrackKeyEntry = 12308; { (short character ) }
  1116. kActionTextTrackMouseDown = 12309; { no params }
  1117. kActionTextTrackSetEditable = 12310; { (short editState) }
  1118. kActionListAddElement = 13312; { (C string parentPath, long atIndex, C string newElementName) }
  1119. kActionListRemoveElements = 13313; { (C string parentPath, long startIndex, long endIndex) }
  1120. kActionListSetElementValue = 13314; { (C string elementPath, C string valueString) }
  1121. kActionListPasteFromXML = 13315; { (C string xml, C string targetParentPath, long startIndex) }
  1122. kActionListSetMatchingFromXML = 13316; { (C string xml, C string targetParentPath) }
  1123. kActionListSetFromURL = 13317; { (C string url, C string targetParentPath ) }
  1124. kActionListExchangeLists = 13318; { (C string url, C string parentPath) }
  1125. kActionListServerQuery = 13319; { (C string url, C string keyValuePairs, long flags, C string parentPath) }
  1126. kActionListAddAttribute = 13320; { (C string elementPath, long atIndex, C string newAttributeName) }
  1127. kActionListRemoveAttributes = 13321; { (C string elementPath, long startIndex, long endIndex) }
  1128. kActionListSetAttributeValue = 13322; { (C string elementPath, C string attributeName, C string valueString) }
  1129. const
  1130. kOperandExpression = 1;
  1131. kOperandConstant = 2;
  1132. kOperandSubscribedToChannel = 3; { C string channelsURL }
  1133. kOperandUniqueCustomActionHandlerID = 4;
  1134. kOperandCustomActionHandlerIDIsOpen = 5; { long ID }
  1135. kOperandConnectionSpeed = 6;
  1136. kOperandGMTDay = 7;
  1137. kOperandGMTMonth = 8;
  1138. kOperandGMTYear = 9;
  1139. kOperandGMTHours = 10;
  1140. kOperandGMTMinutes = 11;
  1141. kOperandGMTSeconds = 12;
  1142. kOperandLocalDay = 13;
  1143. kOperandLocalMonth = 14;
  1144. kOperandLocalYear = 15;
  1145. kOperandLocalHours = 16;
  1146. kOperandLocalMinutes = 17;
  1147. kOperandLocalSeconds = 18;
  1148. kOperandRegisteredForQuickTimePro = 19;
  1149. kOperandPlatformRunningOn = 20;
  1150. kOperandQuickTimeVersion = 21;
  1151. kOperandComponentVersion = 22; { C string type, C string subType, C string manufacturer }
  1152. kOperandOriginalHandlerRefcon = 23;
  1153. kOperandTicks = 24;
  1154. kOperandMaxLoadedTimeInMovie = 25;
  1155. kOperandEventParameter = 26; { short index }
  1156. kOperandFreeMemory = 27;
  1157. kOperandNetworkStatus = 28;
  1158. kOperandQuickTimeVersionRegistered = 29; { long version }
  1159. kOperandSystemVersion = 30;
  1160. kOperandMovieVolume = 1024;
  1161. kOperandMovieRate = 1025;
  1162. kOperandMovieIsLooping = 1026;
  1163. kOperandMovieLoopIsPalindrome = 1027;
  1164. kOperandMovieTime = 1028;
  1165. kOperandMovieDuration = 1029;
  1166. kOperandMovieTimeScale = 1030;
  1167. kOperandMovieWidth = 1031;
  1168. kOperandMovieHeight = 1032;
  1169. kOperandMovieLoadState = 1033;
  1170. kOperandMovieTrackCount = 1034;
  1171. kOperandMovieIsActive = 1035;
  1172. kOperandMovieName = 1036;
  1173. kOperandMovieID = 1037;
  1174. kOperandMovieChapterCount = 1038;
  1175. kOperandMovieChapterIndex = 1039;
  1176. kOperandMovieChapterName = 1040;
  1177. kOperandMovieChapterNameByIndex = 1041; { ( short index ) }
  1178. kOperandMovieChapterIndexByName = 1042; { (c string name) }
  1179. kOperandMovieAnnotation = 1043; { (c string requested, long flags) }
  1180. kOperandMovieConnectionFlags = 1044;
  1181. kOperandMovieConnectionString = 1045;
  1182. kOperandTrackVolume = 2048;
  1183. kOperandTrackBalance = 2049;
  1184. kOperandTrackEnabled = 2050;
  1185. kOperandTrackLayer = 2051;
  1186. kOperandTrackWidth = 2052;
  1187. kOperandTrackHeight = 2053;
  1188. kOperandTrackDuration = 2054;
  1189. kOperandTrackName = 2055;
  1190. kOperandTrackID = 2056;
  1191. kOperandTrackIdleFrequency = 2057;
  1192. kOperandTrackBass = 2058;
  1193. kOperandTrackTreble = 2059;
  1194. kOperandSpriteBoundsLeft = 3072;
  1195. kOperandSpriteBoundsTop = 3073;
  1196. kOperandSpriteBoundsRight = 3074;
  1197. kOperandSpriteBoundsBottom = 3075;
  1198. kOperandSpriteImageIndex = 3076;
  1199. kOperandSpriteVisible = 3077;
  1200. kOperandSpriteLayer = 3078;
  1201. kOperandSpriteTrackVariable = 3079; { [QTAtomID variableID] }
  1202. kOperandSpriteTrackNumSprites = 3080;
  1203. kOperandSpriteTrackNumImages = 3081;
  1204. kOperandSpriteID = 3082;
  1205. kOperandSpriteIndex = 3083;
  1206. kOperandSpriteFirstCornerX = 3084;
  1207. kOperandSpriteFirstCornerY = 3085;
  1208. kOperandSpriteSecondCornerX = 3086;
  1209. kOperandSpriteSecondCornerY = 3087;
  1210. kOperandSpriteThirdCornerX = 3088;
  1211. kOperandSpriteThirdCornerY = 3089;
  1212. kOperandSpriteFourthCornerX = 3090;
  1213. kOperandSpriteFourthCornerY = 3091;
  1214. kOperandSpriteImageRegistrationPointX = 3092;
  1215. kOperandSpriteImageRegistrationPointY = 3093;
  1216. kOperandSpriteTrackSpriteIDAtPoint = 3094; { short x, short y }
  1217. kOperandSpriteName = 3095;
  1218. kOperandSpriteCanBeHitTested = 3105; { short }
  1219. kOperandSpriteTrackAllSpritesHitTestingMode = 3106;
  1220. kOperandSpriteTrackImageIDByIndex = 3107; { short imageIndex }
  1221. kOperandSpriteTrackImageIndexByID = 3108; { QTAtomID }
  1222. kOperandQTVRPanAngle = 4096;
  1223. kOperandQTVRTiltAngle = 4097;
  1224. kOperandQTVRFieldOfView = 4098;
  1225. kOperandQTVRNodeID = 4099;
  1226. kOperandQTVRHotSpotsVisible = 4100;
  1227. kOperandQTVRViewCenterH = 4101;
  1228. kOperandQTVRViewCenterV = 4102;
  1229. kOperandQTVRViewStateCount = 4103;
  1230. kOperandQTVRViewState = 4104; { long viewStateType }
  1231. kOperandMouseLocalHLoc = 5120; { [TargetAtoms aTrack] }
  1232. kOperandMouseLocalVLoc = 5121; { [TargetAtoms aTrack] }
  1233. kOperandKeyIsDown = 5122; { [short modKeys, AnsiChar asciiValue] }
  1234. kOperandRandom = 5123; { [short min, short max] }
  1235. kOperandCanHaveFocus = 5124; { [(TargetAtoms theObject)] }
  1236. kOperandHasFocus = 5125; { [(TargetAtoms theObject)] }
  1237. kOperandTextTrackEditable = 6144;
  1238. kOperandTextTrackCopyText = 6145; { long startSelection, long endSelection }
  1239. kOperandTextTrackStartSelection = 6146;
  1240. kOperandTextTrackEndSelection = 6147;
  1241. kOperandTextTrackTextBoxLeft = 6148;
  1242. kOperandTextTrackTextBoxTop = 6149;
  1243. kOperandTextTrackTextBoxRight = 6150;
  1244. kOperandTextTrackTextBoxBottom = 6151;
  1245. kOperandTextTrackTextLength = 6152;
  1246. kOperandListCountElements = 7168; { (C string parentPath) }
  1247. kOperandListGetElementPathByIndex = 7169; { (C string parentPath, long index) }
  1248. kOperandListGetElementValue = 7170; { (C string elementPath) }
  1249. kOperandListCopyToXML = 7171; { (C string parentPath, long startIndex, long endIndex) }
  1250. kOperandListCountAttributes = 7172; { (C string elementPath) }
  1251. kOperandListGetAttributeNameByIndex = 7173; { (C string elementPath, long index) }
  1252. kOperandListGetAttributeValue = 7174; { (C string elementPath, C string attributeName) }
  1253. kOperandSin = 8192; { float x }
  1254. kOperandCos = 8193; { float x }
  1255. kOperandTan = 8194; { float x }
  1256. kOperandATan = 8195; { float x }
  1257. kOperandATan2 = 8196; { float y, float x }
  1258. kOperandDegreesToRadians = 8197; { float x }
  1259. kOperandRadiansToDegrees = 8198; { float x }
  1260. kOperandSquareRoot = 8199; { float x }
  1261. kOperandExponent = 8200; { float x }
  1262. kOperandLog = 8201; { float x }
  1263. kOperandFlashTrackVariable = 9216; { [CString path, CString name] }
  1264. kOperandStringLength = 10240; { (C string text) }
  1265. kOperandStringCompare = 10241; { (C string aText, C string bText, Boolean caseSensitive, Boolan diacSensitive) }
  1266. kOperandStringSubString = 10242; { (C string text, long offset, long length) }
  1267. kOperandStringConcat = 10243; { (C string aText, C string bText) }
  1268. const
  1269. kFirstMovieAction = kActionMovieSetVolume;
  1270. kLastMovieAction = kActionMovieSetScale;
  1271. kFirstTrackAction = kActionTrackSetVolume;
  1272. kLastTrackAction = kActionTrackSetBassTreble;
  1273. kFirstSpriteAction = kActionSpriteSetMatrix;
  1274. kLastSpriteAction = kActionSpriteSetCanBeHitTested;
  1275. kFirstQTVRAction = kActionQTVRSetPanAngle;
  1276. kLastQTVRAction = kActionQTVRSetViewState;
  1277. kFirstMusicAction = kActionMusicPlayNote;
  1278. kLastMusicAction = kActionMusicSetController;
  1279. kFirstSystemAction = kActionCase;
  1280. kLastSystemAction = kActionSetRandomSeed;
  1281. kFirstSpriteTrackAction = kActionSpriteTrackSetVariable;
  1282. kLastSpriteTrackAction = kActionSpriteTrackDisposeImage;
  1283. kFirstApplicationAction = kActionApplicationNumberAndString;
  1284. kLastApplicationAction = kActionApplicationNumberAndString;
  1285. kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo;
  1286. kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo;
  1287. kFirstFlashTrackAction = kActionFlashTrackSetPan;
  1288. kLastFlashTrackAction = kActionFlashTrackDoButtonActions;
  1289. kFirstMovieTrackAction = kActionMovieTrackAddChildMovie;
  1290. kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams;
  1291. kFirstTextTrackAction = kActionTextTrackPasteText;
  1292. kLastTextTrackAction = kActionTextTrackSetEditable;
  1293. kFirstMultiTargetAction = kActionListAddElement;
  1294. kLastMultiTargetAction = kActionListSetAttributeValue;
  1295. kFirstAction = kFirstMovieAction;
  1296. kLastAction = kLastMultiTargetAction;
  1297. { target atom types}
  1298. const
  1299. kTargetMovie = FourCharCode('moov'); { no data }
  1300. kTargetMovieName = FourCharCode('mona'); { (PString movieName) }
  1301. kTargetMovieID = FourCharCode('moid'); { (long movieID) }
  1302. kTargetRootMovie = FourCharCode('moro'); { no data }
  1303. kTargetParentMovie = FourCharCode('mopa'); { no data }
  1304. kTargetChildMovieTrackName = FourCharCode('motn'); { (PString childMovieTrackName) }
  1305. kTargetChildMovieTrackID = FourCharCode('moti'); { (long childMovieTrackID) }
  1306. kTargetChildMovieTrackIndex = FourCharCode('motx'); { (long childMovieTrackIndex) }
  1307. kTargetChildMovieMovieName = FourCharCode('momn'); { (PString childMovieName) }
  1308. kTargetChildMovieMovieID = FourCharCode('momi'); { (long childMovieID) }
  1309. kTargetTrackName = FourCharCode('trna'); { (PString trackName) }
  1310. kTargetTrackID = FourCharCode('trid'); { (long trackID) }
  1311. kTargetTrackType = FourCharCode('trty'); { (OSType trackType) }
  1312. kTargetTrackIndex = FourCharCode('trin'); { (long trackIndex) }
  1313. kTargetSpriteName = FourCharCode('spna'); { (PString spriteName) }
  1314. kTargetSpriteID = FourCharCode('spid'); { (QTAtomID spriteID) }
  1315. kTargetSpriteIndex = FourCharCode('spin'); { (short spriteIndex) }
  1316. kTargetQD3DNamedObjectName = FourCharCode('nana'); { (CString objectName) }
  1317. kTargetCurrentQTEventParams = FourCharCode('evpa'); { no data }
  1318. { action container atom types}
  1319. const
  1320. kQTEventType = FourCharCode('evnt');
  1321. kAction = FourCharCode('actn');
  1322. kWhichAction = FourCharCode('whic');
  1323. kActionParameter = FourCharCode('parm');
  1324. kActionTarget = FourCharCode('targ');
  1325. kActionFlags = FourCharCode('flag');
  1326. kActionParameterMinValue = FourCharCode('minv');
  1327. kActionParameterMaxValue = FourCharCode('maxv');
  1328. kActionListAtomType = FourCharCode('list');
  1329. kExpressionContainerAtomType = FourCharCode('expr');
  1330. kConditionalAtomType = FourCharCode('test');
  1331. kOperatorAtomType = FourCharCode('oper');
  1332. kOperandAtomType = FourCharCode('oprn');
  1333. kCommentAtomType = FourCharCode('why ');
  1334. kCustomActionHandler = FourCharCode('cust');
  1335. kCustomHandlerID = FourCharCode('id ');
  1336. kCustomHandlerDesc = FourCharCode('desc');
  1337. kQTEventRecordAtomType = FourCharCode('erec');
  1338. { QTEvent types }
  1339. const
  1340. kQTEventMouseClick = FourCharCode('clik');
  1341. kQTEventMouseClickEnd = FourCharCode('cend');
  1342. kQTEventMouseClickEndTriggerButton = FourCharCode('trig');
  1343. kQTEventMouseEnter = FourCharCode('entr');
  1344. kQTEventMouseExit = FourCharCode('exit');
  1345. kQTEventMouseMoved = FourCharCode('move');
  1346. kQTEventFrameLoaded = FourCharCode('fram');
  1347. kQTEventIdle = FourCharCode('idle');
  1348. kQTEventKey = FourCharCode('key '); { qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode }
  1349. kQTEventMovieLoaded = FourCharCode('load');
  1350. kQTEventRequestToModifyMovie = FourCharCode('reqm');
  1351. kQTEventListReceived = FourCharCode('list');
  1352. kQTEventKeyUp = FourCharCode('keyU'); { qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode }
  1353. { flags for the kActionFlags atom }
  1354. const
  1355. kActionFlagActionIsDelta = 1 shl 1;
  1356. kActionFlagParameterWrapsAround = 1 shl 2;
  1357. kActionFlagActionIsToggle = 1 shl 3;
  1358. { flags for stringTypeFlags field of the QTStatusStringRecord }
  1359. const
  1360. kStatusStringIsURLLink = 1 shl 1;
  1361. kStatusStringIsStreamingStatus = 1 shl 2;
  1362. kStatusHasCodeNumber = 1 shl 3; { high 16 bits of stringTypeFlags is error code number}
  1363. kStatusIsError = 1 shl 4;
  1364. { flags for scriptTypeFlags field of the QTDoScriptRecord}
  1365. const
  1366. kScriptIsUnknownType = 1 shl 0;
  1367. kScriptIsJavaScript = 1 shl 1;
  1368. kScriptIsLingoEvent = 1 shl 2;
  1369. kScriptIsVBEvent = 1 shl 3;
  1370. kScriptIsProjectorCommand = 1 shl 4;
  1371. kScriptIsAppleScript = 1 shl 5;
  1372. { flags for CheckQuickTimeRegistration routine}
  1373. const
  1374. kQTRegistrationDialogTimeOutFlag = 1 shl 0;
  1375. kQTRegistrationDialogShowDialog = 1 shl 1;
  1376. kQTRegistrationDialogForceDialog = 1 shl 2;
  1377. { constants for kOperatorAtomType IDs (operator types)}
  1378. const
  1379. kOperatorAdd = FourCharCode('add ');
  1380. kOperatorSubtract = FourCharCode('sub ');
  1381. kOperatorMultiply = FourCharCode('mult');
  1382. kOperatorDivide = FourCharCode('div ');
  1383. kOperatorOr = FourCharCode('or ');
  1384. kOperatorAnd = FourCharCode('and ');
  1385. kOperatorNot = FourCharCode('not ');
  1386. kOperatorLessThan = FourCharCode('< ');
  1387. kOperatorLessThanEqualTo = FourCharCode('<= ');
  1388. kOperatorEqualTo = FourCharCode('= ');
  1389. kOperatorNotEqualTo = FourCharCode('!= ');
  1390. kOperatorGreaterThan = FourCharCode('> ');
  1391. kOperatorGreaterThanEqualTo = FourCharCode('>= ');
  1392. kOperatorModulo = FourCharCode('mod ');
  1393. kOperatorIntegerDivide = FourCharCode('idiv');
  1394. kOperatorAbsoluteValue = FourCharCode('abs ');
  1395. kOperatorNegate = FourCharCode('neg ');
  1396. { constants for kOperandPlatformRunningOn}
  1397. const
  1398. kPlatformMacintosh = 1;
  1399. kPlatformWindows = 2;
  1400. { flags for kOperandSystemVersion}
  1401. const
  1402. kSystemIsWindows9x = $00010000;
  1403. kSystemIsWindowsNT = $00020000;
  1404. kSystemIsClassicBlueBox = $00040000;
  1405. { constants for MediaPropertiesAtom}
  1406. const
  1407. kMediaPropertyNonLinearAtomType = FourCharCode('nonl');
  1408. kMediaPropertyHasActions = 105;
  1409. { TimeBase and TimeRecord moved to MacTypes.h }
  1410. type
  1411. TimeBaseFlags = UInt32;
  1412. const
  1413. loopTimeBase = 1;
  1414. palindromeLoopTimeBase = 2;
  1415. maintainTimeBaseZero = 4;
  1416. { CallBack equates }
  1417. type
  1418. QTCallBackFlags = UInt16;
  1419. const
  1420. triggerTimeFwd = $0001; { when curTime exceeds triggerTime going forward }
  1421. triggerTimeBwd = $0002; { when curTime exceeds triggerTime going backwards }
  1422. triggerTimeEither = $0003; { when curTime exceeds triggerTime going either direction }
  1423. triggerRateLT = $0004; { when rate changes to less than trigger value }
  1424. triggerRateGT = $0008; { when rate changes to greater than trigger value }
  1425. triggerRateEqual = $0010; { when rate changes to equal trigger value }
  1426. triggerRateLTE = triggerRateLT or triggerRateEqual;
  1427. triggerRateGTE = triggerRateGT or triggerRateEqual;
  1428. triggerRateNotEqual = triggerRateGT or triggerRateEqual or triggerRateLT;
  1429. triggerRateChange = 0;
  1430. triggerAtStart = $0001;
  1431. triggerAtStop = $0002;
  1432. type
  1433. TimeBaseStatus = UInt32;
  1434. const
  1435. timeBaseBeforeStartTime = 1;
  1436. timeBaseAfterStopTime = 2;
  1437. timeBaseRateChanging = 4;
  1438. type
  1439. QTCallBackType = UInt16;
  1440. const
  1441. callBackAtTime = 1;
  1442. callBackAtRate = 2;
  1443. callBackAtTimeJump = 3;
  1444. callBackAtExtremes = 4;
  1445. callBackAtTimeBaseDisposed = 5;
  1446. callBackAtInterrupt = $8000;
  1447. callBackAtDeferredTask = $4000;
  1448. type
  1449. QTCallBack = ^QTCallBackOpaqueHeader;
  1450. QTCallBackProcPtr = procedure( cb: QTCallBack; refCon: SIGNEDLONG );
  1451. QTCallBackUPP = QTCallBackProcPtr;
  1452. QTCallBackOpaqueHeaderPtr = ^QTCallBackOpaqueHeader;
  1453. QTCallBackOpaqueHeader = record
  1454. callBackFlags: SIGNEDLONG;
  1455. reserved1: SIGNEDLONG;
  1456. qtPrivate: array [0..51] of SInt8;
  1457. end;
  1458. const
  1459. qtcbNeedsRateChanges = 1; { wants to know about rate changes }
  1460. qtcbNeedsTimeChanges = 2; { wants to know about time changes }
  1461. qtcbNeedsStartStopChanges = 4; { wants to know when TimeBase start/stop is changed}
  1462. type
  1463. QTSyncTaskProcPtr = procedure( task: UnivPtr );
  1464. QTSyncTaskUPP = QTSyncTaskProcPtr;
  1465. QTSyncTaskRecordPtr = ^QTSyncTaskRecord;
  1466. QTSyncTaskRecord = record
  1467. qLink: UnivPtr;
  1468. proc: QTSyncTaskUPP;
  1469. end;
  1470. type
  1471. QTSyncTaskPtr = QTSyncTaskRecordPtr;
  1472. type
  1473. MovieRgnCoverProcPtr = function( theMovie: Movie; changedRgn: RgnHandle; refcon: SIGNEDLONG ): OSErr;
  1474. MovieProgressProcPtr = function( theMovie: Movie; message: SInt16; whatOperation: SInt16; percentDone: Fixed; refcon: SIGNEDLONG ): OSErr;
  1475. MovieDrawingCompleteProcPtr = function( theMovie: Movie; refCon: SIGNEDLONG ): OSErr;
  1476. TrackTransferProcPtr = function( t: Track; refCon: SIGNEDLONG ): OSErr;
  1477. GetMovieProcPtr = function( offset: SIGNEDLONG; size: SIGNEDLONG; dataPtr: UnivPtr; refCon: UnivPtr ): OSErr;
  1478. MoviePreviewCallOutProcPtr = function( refcon: SIGNEDLONG ): Boolean;
  1479. TextMediaProcPtr = function( theText: Handle; theMovie: Movie; var displayFlag: SInt16; refcon: SIGNEDLONG ): OSErr;
  1480. ActionsProcPtr = function( refcon: UnivPtr; targetTrack: Track; targetRefCon: SIGNEDLONG; theEvent: QTEventRecordPtr ): OSErr;
  1481. DoMCActionProcPtr = function( refcon: UnivPtr; action: SInt16; params: UnivPtr; var handled: Boolean ): OSErr;
  1482. MovieExecuteWiredActionsProcPtr = function( theMovie: Movie; refcon: UnivPtr; flags: SIGNEDLONG; wiredActions: QTAtomContainer ): OSErr;
  1483. MoviePrePrerollCompleteProcPtr = procedure( theMovie: Movie; prerollErr: OSErr; refcon: UnivPtr );
  1484. QTNextTaskNeededSoonerCallbackProcPtr = procedure( duration: TimeValue; flags: UNSIGNEDLONG; refcon: UnivPtr );
  1485. MoviesErrorProcPtr = procedure( theErr: OSErr; refcon: SIGNEDLONG );
  1486. MovieRgnCoverUPP = MovieRgnCoverProcPtr;
  1487. MovieProgressUPP = MovieProgressProcPtr;
  1488. MovieDrawingCompleteUPP = MovieDrawingCompleteProcPtr;
  1489. TrackTransferUPP = TrackTransferProcPtr;
  1490. GetMovieUPP = GetMovieProcPtr;
  1491. MoviePreviewCallOutUPP = MoviePreviewCallOutProcPtr;
  1492. TextMediaUPP = TextMediaProcPtr;
  1493. ActionsUPP = ActionsProcPtr;
  1494. DoMCActionUPP = DoMCActionProcPtr;
  1495. MovieExecuteWiredActionsUPP = MovieExecuteWiredActionsProcPtr;
  1496. MoviePrePrerollCompleteUPP = MoviePrePrerollCompleteProcPtr;
  1497. QTNextTaskNeededSoonerCallbackUPP = QTNextTaskNeededSoonerCallbackProcPtr;
  1498. MoviesErrorUPP = MoviesErrorProcPtr;
  1499. MediaHandler = ComponentInstance;
  1500. DataHandler = ComponentInstance;
  1501. MediaHandlerComponent = Component;
  1502. DataHandlerComponent = Component;
  1503. HandlerError = ComponentResult;
  1504. const
  1505. keepInRam = 1 shl 0; { load and make non-purgable}
  1506. unkeepInRam = 1 shl 1; { mark as purgable}
  1507. flushFromRam = 1 shl 2; { empty those handles}
  1508. loadForwardTrackEdits = 1 shl 3; { load track edits into ram for playing forward}
  1509. loadBackwardTrackEdits = 1 shl 4; { load track edits into ram for playing in reverse}
  1510. const
  1511. newMovieActive = 1 shl 0;
  1512. newMovieDontResolveDataRefs = 1 shl 1;
  1513. newMovieDontAskUnresolvedDataRefs = 1 shl 2;
  1514. newMovieDontAutoAlternates = 1 shl 3;
  1515. newMovieDontUpdateForeBackPointers = 1 shl 4;
  1516. newMovieDontAutoUpdateClock = 1 shl 5;
  1517. newMovieAsyncOK = 1 shl 8;
  1518. newMovieIdleImportOK = 1 shl 10;
  1519. newMovieDontInteractWithUser = 1 shl 11;
  1520. { track usage bits }
  1521. const
  1522. trackUsageInMovie = 1 shl 1;
  1523. trackUsageInPreview = 1 shl 2;
  1524. trackUsageInPoster = 1 shl 3;
  1525. {$endc} {not TARGET_CPU_64}
  1526. { Add/GetMediaSample flags }
  1527. const
  1528. mediaSampleNotSync = 1 shl 0; { sample is not a sync sample (eg. is frame differenced }
  1529. mediaSampleShadowSync = 1 shl 1; { sample is a shadow sync }
  1530. mediaSampleDroppable = 1 shl 27; { sample is not required to be decoded for later samples to be decoded properly }
  1531. mediaSamplePartialSync = 1 shl 16; { sample is a partial sync (e.g., I frame after open GOP) }
  1532. mediaSampleHasRedundantCoding = 1 shl 24; { sample is known to contain redundant coding }
  1533. mediaSampleHasNoRedundantCoding = 1 shl 25; { sample is known not to contain redundant coding }
  1534. mediaSampleIsDependedOnByOthers = 1 shl 26; { one or more other samples depend upon the decode of this sample }
  1535. mediaSampleIsNotDependedOnByOthers = 1 shl 27; { synonym for mediaSampleDroppable }
  1536. mediaSampleDependsOnOthers = 1 shl 28; { sample's decode depends upon decode of other samples }
  1537. mediaSampleDoesNotDependOnOthers = 1 shl 29; { sample's decode does not depend upon decode of other samples }
  1538. mediaSampleEarlierDisplayTimesAllowed = 1 shl 30; { samples later in decode order may have earlier display times }
  1539. {$ifc not TARGET_CPU_64}
  1540. {
  1541. MediaSampleFlags is defined in ImageCompression.h:
  1542. typedef UInt32 MediaSampleFlags;
  1543. }
  1544. const
  1545. pasteInParallel = 1 shl 0;
  1546. showUserSettingsDialog = 1 shl 1;
  1547. movieToFileOnlyExport = 1 shl 2;
  1548. movieFileSpecValid = 1 shl 3;
  1549. const
  1550. nextTimeMediaSample = 1 shl 0;
  1551. nextTimeMediaEdit = 1 shl 1;
  1552. nextTimeTrackEdit = 1 shl 2;
  1553. nextTimeSyncSample = 1 shl 3;
  1554. nextTimeStep = 1 shl 4;
  1555. nextTimePartialSyncSample = 1 shl 5;
  1556. nextTimeEdgeOK = 1 shl 14;
  1557. nextTimeIgnoreActiveSegment = 1 shl 15;
  1558. type
  1559. nextTimeFlagsEnum = UInt16;
  1560. const
  1561. createMovieFileDeleteCurFile = 1 shl 31;
  1562. createMovieFileDontCreateMovie = 1 shl 30;
  1563. createMovieFileDontOpenFile = 1 shl 29;
  1564. createMovieFileDontCreateResFile = 1 shl 28;
  1565. type
  1566. createMovieFileFlagsEnum = UNSIGNEDLONG;
  1567. const
  1568. flattenAddMovieToDataFork = 1 shl 0;
  1569. flattenActiveTracksOnly = 1 shl 2;
  1570. flattenDontInterleaveFlatten = 1 shl 3;
  1571. flattenFSSpecPtrIsDataRefRecordPtr = 1 shl 4;
  1572. flattenCompressMovieResource = 1 shl 5;
  1573. flattenForceMovieResourceBeforeMovieData = 1 shl 6;
  1574. type
  1575. movieFlattenFlagsEnum = UNSIGNEDLONG;
  1576. const
  1577. movieInDataForkResID = -1; { magic res ID }
  1578. const
  1579. mcTopLeftMovie = 1 shl 0; { usually centered }
  1580. mcScaleMovieToFit = 1 shl 1; { usually only scales down }
  1581. mcWithBadge = 1 shl 2; { give me a badge }
  1582. mcNotVisible = 1 shl 3; { don't show controller }
  1583. mcWithFrame = 1 shl 4; { gimme a frame }
  1584. const
  1585. movieScrapDontZeroScrap = 1 shl 0;
  1586. movieScrapOnlyPutMovie = 1 shl 1;
  1587. const
  1588. dataRefSelfReference = 1 shl 0;
  1589. dataRefWasNotResolved = 1 shl 1;
  1590. type
  1591. dataRefAttributesFlags = UNSIGNEDLONG;
  1592. const
  1593. kMovieAnchorDataRefIsDefault = 1 shl 0; { data ref returned is movie default data ref }
  1594. const
  1595. hintsScrubMode = 1 shl 0; { mask == && (if flags == scrub on, flags != scrub off) }
  1596. hintsLoop = 1 shl 1;
  1597. hintsDontPurge = 1 shl 2;
  1598. hintsUseScreenBuffer = 1 shl 5;
  1599. hintsAllowInterlace = 1 shl 6;
  1600. hintsUseSoundInterp = 1 shl 7;
  1601. hintsHighQuality = 1 shl 8; { slooooow }
  1602. hintsPalindrome = 1 shl 9;
  1603. hintsInactive = 1 shl 11;
  1604. hintsOffscreen = 1 shl 12;
  1605. hintsDontDraw = 1 shl 13;
  1606. hintsAllowBlacklining = 1 shl 14;
  1607. hintsDontUseVideoOverlaySurface = 1 shl 16;
  1608. hintsIgnoreBandwidthRestrictions = 1 shl 17;
  1609. hintsPlayingEveryFrame = 1 shl 18;
  1610. hintsAllowDynamicResize = 1 shl 19;
  1611. hintsSingleField = 1 shl 20;
  1612. hintsNoRenderingTimeOut = 1 shl 21;
  1613. hintsFlushVideoInsteadOfDirtying = 1 shl 22;
  1614. hintsEnableSubPixelPositioning = 1 shl 23;
  1615. hintsRenderingMode = 1 shl 24;
  1616. hintsAllowIdleSleep = 1 shl 25; { asks media handlers not to call UpdateSystemActivity etc }
  1617. hintsDeinterlaceFields = 1 shl 26;
  1618. type
  1619. playHintsEnum = UNSIGNEDLONG;
  1620. const
  1621. mediaHandlerFlagBaseClient = 1;
  1622. type
  1623. mediaHandlerFlagsEnum = UNSIGNEDLONG;
  1624. const
  1625. movieTrackMediaType = 1 shl 0;
  1626. movieTrackCharacteristic = 1 shl 1;
  1627. movieTrackEnabledOnly = 1 shl 2;
  1628. {
  1629. Opaque replacement for SampleReferenceRecord/SampleReference64Record arrays able to carry information
  1630. not described in those arrays of those records
  1631. }
  1632. type
  1633. QTSampleTableRef = ^SInt32; { an opaque type }
  1634. QTMutableSampleTableRef = ^SInt32; { an opaque type }
  1635. SampleReferenceRecordPtr = ^SampleReferenceRecord;
  1636. SampleReferenceRecord = record
  1637. dataOffset: SIGNEDLONG;
  1638. dataSize: SIGNEDLONG;
  1639. durationPerSample: TimeValue;
  1640. numberOfSamples: SIGNEDLONG;
  1641. sampleFlags: SInt16;
  1642. end;
  1643. type
  1644. SampleReferencePtr = SampleReferenceRecordPtr;
  1645. SampleReference64RecordPtr = ^SampleReference64Record;
  1646. SampleReference64Record = record
  1647. dataOffset: wide;
  1648. dataSize: UNSIGNEDLONG;
  1649. durationPerSample: TimeValue;
  1650. numberOfSamples: UNSIGNEDLONG;
  1651. sampleFlags: SInt16;
  1652. end;
  1653. type
  1654. SampleReference64Ptr = SampleReference64RecordPtr;
  1655. {************************
  1656. * Initialization Routines
  1657. *************************}
  1658. {
  1659. * CheckQuickTimeRegistration()
  1660. *
  1661. * Availability:
  1662. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1663. * CarbonLib: in CarbonLib 1.1 and later
  1664. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  1665. * Windows: in qtmlClient.lib 3.0 and later
  1666. }
  1667. procedure CheckQuickTimeRegistration( registrationKey: UnivPtr; flags: SIGNEDLONG ); external name '_CheckQuickTimeRegistration';
  1668. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1669. {
  1670. * EnterMovies()
  1671. *
  1672. * Availability:
  1673. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1674. * CarbonLib: in CarbonLib 1.0 and later
  1675. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1676. * Windows: in qtmlClient.lib 3.0 and later
  1677. }
  1678. function EnterMovies: OSErr; external name '_EnterMovies';
  1679. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1680. {
  1681. * ExitMovies()
  1682. *
  1683. * Availability:
  1684. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1685. * CarbonLib: in CarbonLib 1.0 and later
  1686. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1687. * Windows: in qtmlClient.lib 3.0 and later
  1688. }
  1689. procedure ExitMovies; external name '_ExitMovies';
  1690. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1691. const
  1692. kQTEnterMoviesFlagDontSetComponentsThreadMode = 1 shl 0;
  1693. {
  1694. * EnterMoviesOnThread()
  1695. *
  1696. * Availability:
  1697. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  1698. * CarbonLib: not available
  1699. * Non-Carbon CFM: not available
  1700. }
  1701. function EnterMoviesOnThread( inFlags: UInt32 ): OSErr; external name '_EnterMoviesOnThread';
  1702. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  1703. {
  1704. * ExitMoviesOnThread()
  1705. *
  1706. * Availability:
  1707. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  1708. * CarbonLib: not available
  1709. * Non-Carbon CFM: not available
  1710. }
  1711. function ExitMoviesOnThread: OSErr; external name '_ExitMoviesOnThread';
  1712. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  1713. {************************
  1714. * Error Routines
  1715. *************************}
  1716. {
  1717. * GetMoviesError()
  1718. *
  1719. * Availability:
  1720. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1721. * CarbonLib: in CarbonLib 1.0 and later
  1722. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1723. * Windows: in qtmlClient.lib 3.0 and later
  1724. }
  1725. function GetMoviesError: OSErr; external name '_GetMoviesError';
  1726. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1727. {
  1728. * ClearMoviesStickyError()
  1729. *
  1730. * Availability:
  1731. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1732. * CarbonLib: in CarbonLib 1.0 and later
  1733. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1734. * Windows: in qtmlClient.lib 3.0 and later
  1735. }
  1736. procedure ClearMoviesStickyError; external name '_ClearMoviesStickyError';
  1737. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1738. {
  1739. * GetMoviesStickyError()
  1740. *
  1741. * Availability:
  1742. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1743. * CarbonLib: in CarbonLib 1.0 and later
  1744. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1745. * Windows: in qtmlClient.lib 3.0 and later
  1746. }
  1747. function GetMoviesStickyError: OSErr; external name '_GetMoviesStickyError';
  1748. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1749. {
  1750. * SetMoviesErrorProc()
  1751. *
  1752. * Availability:
  1753. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1754. * CarbonLib: in CarbonLib 1.0 and later
  1755. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1756. * Windows: in qtmlClient.lib 3.0 and later
  1757. }
  1758. procedure SetMoviesErrorProc( errProc: MoviesErrorUPP; refcon: SIGNEDLONG ); external name '_SetMoviesErrorProc';
  1759. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1760. {************************
  1761. * Idle Routines
  1762. *************************}
  1763. {
  1764. * MoviesTask()
  1765. *
  1766. * Availability:
  1767. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1768. * CarbonLib: in CarbonLib 1.0 and later
  1769. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1770. * Windows: in qtmlClient.lib 3.0 and later
  1771. }
  1772. procedure MoviesTask( theMovie: Movie; maxMilliSecToUse: SIGNEDLONG ); external name '_MoviesTask';
  1773. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1774. {
  1775. * PrerollMovie()
  1776. *
  1777. * Availability:
  1778. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1779. * CarbonLib: in CarbonLib 1.0 and later
  1780. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1781. * Windows: in qtmlClient.lib 3.0 and later
  1782. }
  1783. function PrerollMovie( theMovie: Movie; time: TimeValue; Rate: Fixed ): OSErr; external name '_PrerollMovie';
  1784. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1785. {
  1786. * PrePrerollMovie()
  1787. *
  1788. * Availability:
  1789. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1790. * CarbonLib: in CarbonLib 1.0.2 and later
  1791. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  1792. * Windows: in qtmlClient.lib 4.0 and later
  1793. }
  1794. function PrePrerollMovie( m: Movie; time: TimeValue; rate: Fixed; proc: MoviePrePrerollCompleteUPP; refcon: UnivPtr ): OSErr; external name '_PrePrerollMovie';
  1795. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1796. {
  1797. * AbortPrePrerollMovie()
  1798. *
  1799. * Availability:
  1800. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1801. * CarbonLib: in CarbonLib 1.0.2 and later
  1802. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  1803. * Windows: in qtmlClient.lib 4.0 and later
  1804. }
  1805. procedure AbortPrePrerollMovie( m: Movie; err: OSErr ); external name '_AbortPrePrerollMovie';
  1806. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1807. {
  1808. * LoadMovieIntoRam()
  1809. *
  1810. * Availability:
  1811. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1812. * CarbonLib: in CarbonLib 1.0 and later
  1813. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1814. * Windows: in qtmlClient.lib 3.0 and later
  1815. }
  1816. function LoadMovieIntoRam( theMovie: Movie; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadMovieIntoRam';
  1817. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1818. {
  1819. * LoadTrackIntoRam()
  1820. *
  1821. * Availability:
  1822. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1823. * CarbonLib: in CarbonLib 1.0 and later
  1824. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1825. * Windows: in qtmlClient.lib 3.0 and later
  1826. }
  1827. function LoadTrackIntoRam( theTrack: Track; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadTrackIntoRam';
  1828. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1829. {
  1830. * LoadMediaIntoRam()
  1831. *
  1832. * Availability:
  1833. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1834. * CarbonLib: in CarbonLib 1.0 and later
  1835. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1836. * Windows: in qtmlClient.lib 3.0 and later
  1837. }
  1838. function LoadMediaIntoRam( theMedia: Media; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadMediaIntoRam';
  1839. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1840. {
  1841. * SetMovieActive()
  1842. *
  1843. * Availability:
  1844. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1845. * CarbonLib: in CarbonLib 1.0 and later
  1846. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1847. * Windows: in qtmlClient.lib 3.0 and later
  1848. }
  1849. procedure SetMovieActive( theMovie: Movie; active: Boolean ); external name '_SetMovieActive';
  1850. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1851. {
  1852. * GetMovieActive()
  1853. *
  1854. * Availability:
  1855. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1856. * CarbonLib: in CarbonLib 1.0 and later
  1857. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1858. * Windows: in qtmlClient.lib 3.0 and later
  1859. }
  1860. function GetMovieActive( theMovie: Movie ): Boolean; external name '_GetMovieActive';
  1861. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1862. {
  1863. * QTGetWallClockTimeBase()
  1864. *
  1865. * Availability:
  1866. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1867. * CarbonLib: in CarbonLib 1.6 and later
  1868. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1869. * Windows: in qtmlClient.lib 6.0 and later
  1870. }
  1871. function QTGetWallClockTimeBase( var wallClockTimeBase: TimeBase ): OSErr; external name '_QTGetWallClockTimeBase';
  1872. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1873. {************************
  1874. * Idle Management
  1875. *************************}
  1876. type
  1877. IdleManager = ^OpaqueIdleManager; { an opaque type }
  1878. OpaqueIdleManager = record end;
  1879. {
  1880. * QTIdleManagerOpen()
  1881. *
  1882. * Availability:
  1883. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1884. * CarbonLib: in CarbonLib 1.6 and later
  1885. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1886. * Windows: in qtmlClient.lib 6.0 and later
  1887. }
  1888. function QTIdleManagerOpen: IdleManager; external name '_QTIdleManagerOpen';
  1889. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1890. {
  1891. * QTIdleManagerClose()
  1892. *
  1893. * Availability:
  1894. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1895. * CarbonLib: in CarbonLib 1.6 and later
  1896. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1897. * Windows: in qtmlClient.lib 6.0 and later
  1898. }
  1899. function QTIdleManagerClose( im: IdleManager ): OSErr; external name '_QTIdleManagerClose';
  1900. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1901. {
  1902. * QTIdleManagerGetNextIdleTime()
  1903. *
  1904. * Availability:
  1905. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1906. * CarbonLib: in CarbonLib 1.6 and later
  1907. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1908. * Windows: in qtmlClient.lib 6.0 and later
  1909. }
  1910. function QTIdleManagerGetNextIdleTime( im: IdleManager; var nextIdle: TimeRecord ): OSErr; external name '_QTIdleManagerGetNextIdleTime';
  1911. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1912. {
  1913. * QTIdleManagerSetNextIdleTime()
  1914. *
  1915. * Availability:
  1916. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1917. * CarbonLib: in CarbonLib 1.6 and later
  1918. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1919. * Windows: in qtmlClient.lib 6.0 and later
  1920. }
  1921. function QTIdleManagerSetNextIdleTime( im: IdleManager; var nextIdle: TimeRecord ): OSErr; external name '_QTIdleManagerSetNextIdleTime';
  1922. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1923. {
  1924. * QTIdleManagerSetNextIdleTimeNever()
  1925. *
  1926. * Availability:
  1927. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1928. * CarbonLib: in CarbonLib 1.6 and later
  1929. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1930. * Windows: in qtmlClient.lib 6.0 and later
  1931. }
  1932. function QTIdleManagerSetNextIdleTimeNever( im: IdleManager ): OSErr; external name '_QTIdleManagerSetNextIdleTimeNever';
  1933. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1934. {
  1935. * QTIdleManagerSetNextIdleTimeNow()
  1936. *
  1937. * Availability:
  1938. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1939. * CarbonLib: in CarbonLib 1.6 and later
  1940. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1941. * Windows: in qtmlClient.lib 6.0 and later
  1942. }
  1943. function QTIdleManagerSetNextIdleTimeNow( im: IdleManager ): OSErr; external name '_QTIdleManagerSetNextIdleTimeNow';
  1944. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1945. {
  1946. * QTIdleManagerSetNextIdleTimeDelta()
  1947. *
  1948. * Availability:
  1949. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1950. * CarbonLib: in CarbonLib 1.6 and later
  1951. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1952. * Windows: in qtmlClient.lib 6.0 and later
  1953. }
  1954. function QTIdleManagerSetNextIdleTimeDelta( im: IdleManager; duration: TimeValue; scale: TimeScale ): OSErr; external name '_QTIdleManagerSetNextIdleTimeDelta';
  1955. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1956. {
  1957. * QTIdleManagerSetParent()
  1958. *
  1959. * Availability:
  1960. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1961. * CarbonLib: in CarbonLib 1.6 and later
  1962. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1963. * Windows: in qtmlClient.lib 6.0 and later
  1964. }
  1965. function QTIdleManagerSetParent( im: IdleManager; parent: IdleManager ): OSErr; external name '_QTIdleManagerSetParent';
  1966. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1967. {
  1968. * QTIdleManagerNeedsAnIdle()
  1969. *
  1970. * Availability:
  1971. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1972. * CarbonLib: in CarbonLib 1.6 and later
  1973. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1974. * Windows: in qtmlClient.lib 6.0 and later
  1975. }
  1976. function QTIdleManagerNeedsAnIdle( im: IdleManager; var needsOne: Boolean ): OSErr; external name '_QTIdleManagerNeedsAnIdle';
  1977. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1978. {************************
  1979. * Carbon Movie Control
  1980. *************************}
  1981. { Movie Control option bits}
  1982. const
  1983. kMovieControlOptionHideController = 1 shl 0;
  1984. kMovieControlOptionLocateTopLeft = 1 shl 1;
  1985. kMovieControlOptionEnableEditing = 1 shl 2;
  1986. kMovieControlOptionHandleEditingHI = 1 shl 3;
  1987. kMovieControlOptionSetKeysEnabled = 1 shl 4;
  1988. kMovieControlOptionManuallyIdled = 1 shl 5;
  1989. { Item tags for use in GetControlData() (some with SetControlData()) calls on Movie Controls}
  1990. const
  1991. kMovieControlDataMovieController = FourCharCode('mc ');
  1992. kMovieControlDataMovie = FourCharCode('moov');
  1993. kMovieControlDataManualIdling = FourCharCode('manu');
  1994. {
  1995. ** CreateMovieControl() - This is the public API routine that creates a Movie Control. Given a window and location
  1996. ** plus a movie, it constructs a Movie Control with a Movie Controller in the window.
  1997. }
  1998. {
  1999. * CreateMovieControl()
  2000. *
  2001. * Availability:
  2002. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2003. * CarbonLib: in CarbonLib 1.6 and later
  2004. * Non-Carbon CFM: not available
  2005. }
  2006. function CreateMovieControl( theWindow: WindowRef; var localRect: Rect; theMovie: Movie; options: UInt32; var returnedControl: ControlRef ): OSErr; external name '_CreateMovieControl';
  2007. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2008. {************************
  2009. * calls for playing movies, previews, posters
  2010. *************************}
  2011. {
  2012. * StartMovie()
  2013. *
  2014. * Availability:
  2015. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2016. * CarbonLib: in CarbonLib 1.0 and later
  2017. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2018. * Windows: in qtmlClient.lib 3.0 and later
  2019. }
  2020. procedure StartMovie( theMovie: Movie ); external name '_StartMovie';
  2021. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2022. {
  2023. * StopMovie()
  2024. *
  2025. * Availability:
  2026. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2027. * CarbonLib: in CarbonLib 1.0 and later
  2028. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2029. * Windows: in qtmlClient.lib 3.0 and later
  2030. }
  2031. procedure StopMovie( theMovie: Movie ); external name '_StopMovie';
  2032. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2033. {
  2034. * GoToBeginningOfMovie()
  2035. *
  2036. * Availability:
  2037. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2038. * CarbonLib: in CarbonLib 1.0 and later
  2039. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2040. * Windows: in qtmlClient.lib 3.0 and later
  2041. }
  2042. procedure GoToBeginningOfMovie( theMovie: Movie ); external name '_GoToBeginningOfMovie';
  2043. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2044. {
  2045. * GoToEndOfMovie()
  2046. *
  2047. * Availability:
  2048. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2049. * CarbonLib: in CarbonLib 1.0 and later
  2050. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2051. * Windows: in qtmlClient.lib 3.0 and later
  2052. }
  2053. procedure GoToEndOfMovie( theMovie: Movie ); external name '_GoToEndOfMovie';
  2054. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2055. {
  2056. * IsMovieDone()
  2057. *
  2058. * Availability:
  2059. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2060. * CarbonLib: in CarbonLib 1.0 and later
  2061. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2062. * Windows: in qtmlClient.lib 3.0 and later
  2063. }
  2064. function IsMovieDone( theMovie: Movie ): Boolean; external name '_IsMovieDone';
  2065. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2066. {
  2067. * GetMoviePreviewMode()
  2068. *
  2069. * Availability:
  2070. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2071. * CarbonLib: in CarbonLib 1.0 and later
  2072. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2073. * Windows: in qtmlClient.lib 3.0 and later
  2074. }
  2075. function GetMoviePreviewMode( theMovie: Movie ): Boolean; external name '_GetMoviePreviewMode';
  2076. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2077. {
  2078. * SetMoviePreviewMode()
  2079. *
  2080. * Availability:
  2081. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2082. * CarbonLib: in CarbonLib 1.0 and later
  2083. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2084. * Windows: in qtmlClient.lib 3.0 and later
  2085. }
  2086. procedure SetMoviePreviewMode( theMovie: Movie; usePreview: Boolean ); external name '_SetMoviePreviewMode';
  2087. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2088. {
  2089. * ShowMoviePoster()
  2090. *
  2091. * Availability:
  2092. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2093. * CarbonLib: in CarbonLib 1.0 and later
  2094. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2095. * Windows: in qtmlClient.lib 3.0 and later
  2096. }
  2097. procedure ShowMoviePoster( theMovie: Movie ); external name '_ShowMoviePoster';
  2098. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2099. {
  2100. * PlayMoviePreview()
  2101. *
  2102. * Availability:
  2103. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2104. * CarbonLib: in CarbonLib 1.0 and later
  2105. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2106. * Windows: in qtmlClient.lib 3.0 and later
  2107. }
  2108. procedure PlayMoviePreview( theMovie: Movie; callOutProc: MoviePreviewCallOutUPP; refcon: SIGNEDLONG ); external name '_PlayMoviePreview';
  2109. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2110. {************************
  2111. * calls for controlling movies & tracks which are playing
  2112. *************************}
  2113. {
  2114. * GetMovieTimeBase()
  2115. *
  2116. * Availability:
  2117. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2118. * CarbonLib: in CarbonLib 1.0 and later
  2119. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2120. * Windows: in qtmlClient.lib 3.0 and later
  2121. }
  2122. function GetMovieTimeBase( theMovie: Movie ): TimeBase; external name '_GetMovieTimeBase';
  2123. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2124. {
  2125. * SetMovieMasterTimeBase()
  2126. *
  2127. * Availability:
  2128. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2129. * CarbonLib: in CarbonLib 1.0 and later
  2130. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2131. * Windows: in qtmlClient.lib 3.0 and later
  2132. }
  2133. procedure SetMovieMasterTimeBase( theMovie: Movie; tb: TimeBase; const (*var*) slaveZero: TimeRecord ); external name '_SetMovieMasterTimeBase';
  2134. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2135. {
  2136. * SetMovieMasterClock()
  2137. *
  2138. * Availability:
  2139. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2140. * CarbonLib: in CarbonLib 1.0 and later
  2141. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2142. * Windows: in qtmlClient.lib 3.0 and later
  2143. }
  2144. procedure SetMovieMasterClock( theMovie: Movie; clockMeister: Component; const (*var*) slaveZero: TimeRecord ); external name '_SetMovieMasterClock';
  2145. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2146. {
  2147. * ChooseMovieClock()
  2148. *
  2149. * Availability:
  2150. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2151. * CarbonLib: in CarbonLib 1.6 and later
  2152. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  2153. * Windows: in qtmlClient.lib 6.0 and later
  2154. }
  2155. procedure ChooseMovieClock( m: Movie; flags: SIGNEDLONG ); external name '_ChooseMovieClock';
  2156. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2157. {
  2158. * GetMovieGWorld()
  2159. *
  2160. * Availability:
  2161. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2162. * CarbonLib: in CarbonLib 1.0 and later
  2163. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2164. * Windows: in qtmlClient.lib 3.0 and later
  2165. }
  2166. procedure GetMovieGWorld( theMovie: Movie; var port: CGrafPtr; var gdh: GDHandle ); external name '_GetMovieGWorld';
  2167. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2168. {
  2169. * SetMovieGWorld()
  2170. *
  2171. * Availability:
  2172. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2173. * CarbonLib: in CarbonLib 1.0 and later
  2174. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2175. * Windows: in qtmlClient.lib 3.0 and later
  2176. }
  2177. procedure SetMovieGWorld( theMovie: Movie; port: CGrafPtr; gdh: GDHandle ); external name '_SetMovieGWorld';
  2178. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2179. const
  2180. movieDrawingCallWhenChanged = 0;
  2181. movieDrawingCallAlways = 1;
  2182. {
  2183. * SetMovieDrawingCompleteProc()
  2184. *
  2185. * Availability:
  2186. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2187. * CarbonLib: in CarbonLib 1.0 and later
  2188. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2189. * Windows: in qtmlClient.lib 3.0 and later
  2190. }
  2191. procedure SetMovieDrawingCompleteProc( theMovie: Movie; flags: SIGNEDLONG; proc: MovieDrawingCompleteUPP; refCon: SIGNEDLONG ); external name '_SetMovieDrawingCompleteProc';
  2192. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2193. {
  2194. * GetMovieNaturalBoundsRect()
  2195. *
  2196. * Availability:
  2197. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2198. * CarbonLib: in CarbonLib 1.0 and later
  2199. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2200. * Windows: in qtmlClient.lib 3.0 and later
  2201. }
  2202. procedure GetMovieNaturalBoundsRect( theMovie: Movie; var naturalBounds: Rect ); external name '_GetMovieNaturalBoundsRect';
  2203. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2204. {
  2205. * GetNextTrackForCompositing()
  2206. *
  2207. * Availability:
  2208. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2209. * CarbonLib: in CarbonLib 1.0 and later
  2210. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2211. * Windows: in qtmlClient.lib 3.0 and later
  2212. }
  2213. function GetNextTrackForCompositing( theMovie: Movie; theTrack: Track ): Track; external name '_GetNextTrackForCompositing';
  2214. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2215. {
  2216. * GetPrevTrackForCompositing()
  2217. *
  2218. * Availability:
  2219. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2220. * CarbonLib: in CarbonLib 1.0 and later
  2221. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2222. * Windows: in qtmlClient.lib 3.0 and later
  2223. }
  2224. function GetPrevTrackForCompositing( theMovie: Movie; theTrack: Track ): Track; external name '_GetPrevTrackForCompositing';
  2225. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2226. {
  2227. * SetTrackGWorld()
  2228. *
  2229. * Availability:
  2230. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2231. * CarbonLib: in CarbonLib 1.0 and later
  2232. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2233. * Windows: in qtmlClient.lib 3.0 and later
  2234. }
  2235. procedure SetTrackGWorld( theTrack: Track; port: CGrafPtr; gdh: GDHandle; proc: TrackTransferUPP; refCon: SIGNEDLONG ); external name '_SetTrackGWorld';
  2236. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2237. {
  2238. * GetMoviePict()
  2239. *
  2240. * Availability:
  2241. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2242. * CarbonLib: in CarbonLib 1.0 and later
  2243. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2244. * Windows: in qtmlClient.lib 3.0 and later
  2245. }
  2246. function GetMoviePict( theMovie: Movie; time: TimeValue ): PicHandle; external name '_GetMoviePict';
  2247. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2248. {
  2249. * GetTrackPict()
  2250. *
  2251. * Availability:
  2252. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2253. * CarbonLib: in CarbonLib 1.0 and later
  2254. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2255. * Windows: in qtmlClient.lib 3.0 and later
  2256. }
  2257. function GetTrackPict( theTrack: Track; time: TimeValue ): PicHandle; external name '_GetTrackPict';
  2258. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2259. {
  2260. * GetMoviePosterPict()
  2261. *
  2262. * Availability:
  2263. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2264. * CarbonLib: in CarbonLib 1.0 and later
  2265. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2266. * Windows: in qtmlClient.lib 3.0 and later
  2267. }
  2268. function GetMoviePosterPict( theMovie: Movie ): PicHandle; external name '_GetMoviePosterPict';
  2269. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2270. { called between Begin & EndUpdate }
  2271. {
  2272. * UpdateMovie()
  2273. *
  2274. * Availability:
  2275. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2276. * CarbonLib: in CarbonLib 1.0 and later
  2277. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2278. * Windows: in qtmlClient.lib 3.0 and later
  2279. }
  2280. function UpdateMovie( theMovie: Movie ): OSErr; external name '_UpdateMovie';
  2281. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2282. {
  2283. * InvalidateMovieRegion()
  2284. *
  2285. * Availability:
  2286. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2287. * CarbonLib: in CarbonLib 1.0 and later
  2288. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2289. * Windows: in qtmlClient.lib 3.0 and later
  2290. }
  2291. function InvalidateMovieRegion( theMovie: Movie; invalidRgn: RgnHandle ): OSErr; external name '_InvalidateMovieRegion';
  2292. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2293. {*** spatial movie routines ***}
  2294. {
  2295. * GetMovieBox()
  2296. *
  2297. * Availability:
  2298. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2299. * CarbonLib: in CarbonLib 1.0 and later
  2300. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2301. * Windows: in qtmlClient.lib 3.0 and later
  2302. }
  2303. procedure GetMovieBox( theMovie: Movie; var boxRect: Rect ); external name '_GetMovieBox';
  2304. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2305. {
  2306. * SetMovieBox()
  2307. *
  2308. * Availability:
  2309. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2310. * CarbonLib: in CarbonLib 1.0 and later
  2311. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2312. * Windows: in qtmlClient.lib 3.0 and later
  2313. }
  2314. procedure SetMovieBox( theMovie: Movie; const (*var*) boxRect: Rect ); external name '_SetMovieBox';
  2315. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2316. {* movie display clip }
  2317. {
  2318. * GetMovieDisplayClipRgn()
  2319. *
  2320. * Availability:
  2321. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2322. * CarbonLib: in CarbonLib 1.0 and later
  2323. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2324. * Windows: in qtmlClient.lib 3.0 and later
  2325. }
  2326. function GetMovieDisplayClipRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieDisplayClipRgn';
  2327. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2328. {
  2329. * SetMovieDisplayClipRgn()
  2330. *
  2331. * Availability:
  2332. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2333. * CarbonLib: in CarbonLib 1.0 and later
  2334. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2335. * Windows: in qtmlClient.lib 3.0 and later
  2336. }
  2337. procedure SetMovieDisplayClipRgn( theMovie: Movie; theClip: RgnHandle ); external name '_SetMovieDisplayClipRgn';
  2338. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2339. {* movie src clip }
  2340. {
  2341. * GetMovieClipRgn()
  2342. *
  2343. * Availability:
  2344. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2345. * CarbonLib: in CarbonLib 1.0 and later
  2346. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2347. * Windows: in qtmlClient.lib 3.0 and later
  2348. }
  2349. function GetMovieClipRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieClipRgn';
  2350. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2351. {
  2352. * SetMovieClipRgn()
  2353. *
  2354. * Availability:
  2355. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2356. * CarbonLib: in CarbonLib 1.0 and later
  2357. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2358. * Windows: in qtmlClient.lib 3.0 and later
  2359. }
  2360. procedure SetMovieClipRgn( theMovie: Movie; theClip: RgnHandle ); external name '_SetMovieClipRgn';
  2361. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2362. {* track src clip }
  2363. {
  2364. * GetTrackClipRgn()
  2365. *
  2366. * Availability:
  2367. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2368. * CarbonLib: in CarbonLib 1.0 and later
  2369. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2370. * Windows: in qtmlClient.lib 3.0 and later
  2371. }
  2372. function GetTrackClipRgn( theTrack: Track ): RgnHandle; external name '_GetTrackClipRgn';
  2373. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2374. {
  2375. * SetTrackClipRgn()
  2376. *
  2377. * Availability:
  2378. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2379. * CarbonLib: in CarbonLib 1.0 and later
  2380. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2381. * Windows: in qtmlClient.lib 3.0 and later
  2382. }
  2383. procedure SetTrackClipRgn( theTrack: Track; theClip: RgnHandle ); external name '_SetTrackClipRgn';
  2384. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2385. {* bounds in display space (not clipped by display clip) }
  2386. {
  2387. * GetMovieDisplayBoundsRgn()
  2388. *
  2389. * Availability:
  2390. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2391. * CarbonLib: in CarbonLib 1.0 and later
  2392. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2393. * Windows: in qtmlClient.lib 3.0 and later
  2394. }
  2395. function GetMovieDisplayBoundsRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieDisplayBoundsRgn';
  2396. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2397. {
  2398. * GetTrackDisplayBoundsRgn()
  2399. *
  2400. * Availability:
  2401. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2402. * CarbonLib: in CarbonLib 1.0 and later
  2403. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2404. * Windows: in qtmlClient.lib 3.0 and later
  2405. }
  2406. function GetTrackDisplayBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackDisplayBoundsRgn';
  2407. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2408. {* bounds in movie space }
  2409. {
  2410. * GetMovieBoundsRgn()
  2411. *
  2412. * Availability:
  2413. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2414. * CarbonLib: in CarbonLib 1.0 and later
  2415. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2416. * Windows: in qtmlClient.lib 3.0 and later
  2417. }
  2418. function GetMovieBoundsRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieBoundsRgn';
  2419. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2420. {
  2421. * GetTrackMovieBoundsRgn()
  2422. *
  2423. * Availability:
  2424. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2425. * CarbonLib: in CarbonLib 1.0 and later
  2426. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2427. * Windows: in qtmlClient.lib 3.0 and later
  2428. }
  2429. function GetTrackMovieBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackMovieBoundsRgn';
  2430. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2431. {* bounds in track space }
  2432. {
  2433. * GetTrackBoundsRgn()
  2434. *
  2435. * Availability:
  2436. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2437. * CarbonLib: in CarbonLib 1.0 and later
  2438. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2439. * Windows: in qtmlClient.lib 3.0 and later
  2440. }
  2441. function GetTrackBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackBoundsRgn';
  2442. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2443. {* mattes - always in track space }
  2444. {
  2445. * GetTrackMatte()
  2446. *
  2447. * Availability:
  2448. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2449. * CarbonLib: in CarbonLib 1.0 and later
  2450. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2451. * Windows: in qtmlClient.lib 3.0 and later
  2452. }
  2453. function GetTrackMatte( theTrack: Track ): PixMapHandle; external name '_GetTrackMatte';
  2454. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2455. {
  2456. * SetTrackMatte()
  2457. *
  2458. * Availability:
  2459. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2460. * CarbonLib: in CarbonLib 1.0 and later
  2461. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2462. * Windows: in qtmlClient.lib 3.0 and later
  2463. }
  2464. procedure SetTrackMatte( theTrack: Track; theMatte: PixMapHandle ); external name '_SetTrackMatte';
  2465. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2466. {
  2467. * DisposeMatte()
  2468. *
  2469. * Availability:
  2470. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2471. * CarbonLib: in CarbonLib 1.0 and later
  2472. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2473. * Windows: in qtmlClient.lib 3.0 and later
  2474. }
  2475. procedure DisposeMatte( theMatte: PixMapHandle ); external name '_DisposeMatte';
  2476. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2477. {* video out }
  2478. {
  2479. * SetMovieVideoOutput()
  2480. *
  2481. * Availability:
  2482. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2483. * CarbonLib: in CarbonLib 1.3 and later
  2484. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  2485. * Windows: in qtmlClient.lib 5.0 and later
  2486. }
  2487. procedure SetMovieVideoOutput( theMovie: Movie; vout: ComponentInstance ); external name '_SetMovieVideoOutput';
  2488. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2489. {************************
  2490. * Audio Context
  2491. ************************}
  2492. {
  2493. The QTAudioContextRef type encapsulates a connection to an audio output device.
  2494. It represents a destination audio rendering environment that can be used for
  2495. playback of a movie.
  2496. }
  2497. type
  2498. QTAudioContextRef = ^OpaqueQTAudioContextRef; { an opaque type }
  2499. OpaqueQTAudioContextRef = record end;
  2500. {
  2501. * QTAudioContextRetain()
  2502. *
  2503. * Summary:
  2504. * Retains a QTAudioContext object by incrementing its reference
  2505. * count. You should retain the object when you receive it from
  2506. * elsewhere (that is, you did not create it) and you want it to
  2507. * persist. If you retain a QTAudioContext object you are
  2508. * responsible for releasing it. The same audio context is returned
  2509. * for convenience. If audioContext is NULL, nothing happens.
  2510. *
  2511. * Parameters:
  2512. *
  2513. * audioContext:
  2514. * [in] The audio context to retain.
  2515. *
  2516. * Availability:
  2517. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2518. * CarbonLib: not available
  2519. * Non-Carbon CFM: not available
  2520. }
  2521. function QTAudioContextRetain( audioContext: QTAudioContextRef ): QTAudioContextRef; external name '_QTAudioContextRetain';
  2522. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2523. {
  2524. * QTAudioContextRelease()
  2525. *
  2526. * Summary:
  2527. * Release a QTAudioContext object by decrementing its reference
  2528. * count. If that count consequently becomes zero the memory
  2529. * allocated to the object is deallocated and the object is
  2530. * destroyed. If you create or explicitly retain a QTAudioContext
  2531. * object, you are responsible for releasing it when you no longer
  2532. * need it. If audioContext is NULL, nothing happens.
  2533. *
  2534. * Parameters:
  2535. *
  2536. * audioContext:
  2537. * [in] The audio context to release.
  2538. *
  2539. * Availability:
  2540. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2541. * CarbonLib: not available
  2542. * Non-Carbon CFM: not available
  2543. }
  2544. procedure QTAudioContextRelease( audioContext: QTAudioContextRef ); external name '_QTAudioContextRelease';
  2545. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2546. {
  2547. * QTAudioContextCreateForAudioDevice()
  2548. *
  2549. * Summary:
  2550. * Creates a QTAudioContext object that encapsulates a connection to
  2551. * an audio output device. This object is suitable for passing to
  2552. * SetMovieAudioContext or NewMovieFromProperties, which targets the
  2553. * audio output of the movie to that device. A QTAudioContext object
  2554. * cannot be associated with more than one movie. Each movie needs
  2555. * its own connection to the device. In order to play more than one
  2556. * movie to a particular device, create a QTAudioContext object for
  2557. * each movie. You are responsible for releasing the QTAudioContext
  2558. * object created by this routine. After calling
  2559. * SetMovieAudioContext or NewMovieFromProperties, you can release
  2560. * the object since these APIs will retain it for their own use. On
  2561. * Windows, the audioDeviceUID is the GUID of a DirectSound device,
  2562. * stringified using such Win32 functions as StringFromCLSID() or
  2563. * StringFromGUID2(), then wrapped in a CFStringRef using
  2564. * CFStringCreateWithCharacters(). After passing the audioDeviceUID
  2565. * CFStringRef to QTAudioContextCreateForAudioDevice(), remember to
  2566. * CFRelease() the CFStringRef you created.
  2567. *
  2568. * Parameters:
  2569. *
  2570. * allocator:
  2571. * [in] Allocator used to create the audio context.
  2572. *
  2573. * audioDeviceUID:
  2574. * [in] Audio device UID. NULL means the default CoreAudio
  2575. * device.
  2576. *
  2577. * options:
  2578. * [in] Reserved. Pass NULL.
  2579. *
  2580. * newAudioContextOut:
  2581. * [out] Points to a variable to receive the new audio context.
  2582. *
  2583. * Availability:
  2584. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2585. * CarbonLib: not available
  2586. * Non-Carbon CFM: not available
  2587. }
  2588. function QTAudioContextCreateForAudioDevice( allocator: CFAllocatorRef; audioDeviceUID: CFStringRef; options: CFDictionaryRef; var newAudioContextOut: QTAudioContextRef ): OSStatus; external name '_QTAudioContextCreateForAudioDevice';
  2589. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2590. {************************
  2591. * Audio Context Inserts
  2592. ************************}
  2593. {
  2594. Theory of operations:
  2595. To register for a Movie Audio Context Insert during playback:
  2596. 1) Get the movie's current audio context: GetMovieAudioContext()
  2597. 2) Register the application insert: QTAudioContextRegisterInsert()
  2598. To unregister a Movie Audio Context Insert:
  2599. Call QTAudioContextRegisterInsert() with a NULL QTAudioContextInsertRegistryInfoRef
  2600. If the registry ptr is non-NULL but the processDataCallback is NULL, this has the same effect.
  2601. To register for a Track Audio Context Insert during playback:
  2602. Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
  2603. providing the same registry info structure that is used for the QTAudioContextRegisterInsert() call.
  2604. To unregister a Track Audio Context Insert:
  2605. Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
  2606. with a NULL processDataCallback
  2607. }
  2608. {
  2609. * AudioContextInsertProcessDataCallback
  2610. *
  2611. * Summary:
  2612. * A client-supplied function to be called during playback to get
  2613. * data from the audio insert.
  2614. *
  2615. * Discussion:
  2616. * This routine is called by the Audio Context for each buffer of
  2617. * audio data it renders. The client receives a source buffer list
  2618. * and a destination buffer list, and it is responsible for
  2619. * supplying output buffers to the destination buffer list. This
  2620. * routine is generally called on the IOProc at high thread
  2621. * priority, and so should not do memory allocation or release,
  2622. * acquire mutex resources, nor take very long to process.
  2623. *
  2624. * Parameters:
  2625. *
  2626. * inUserData:
  2627. * An opaque pointer to the client's data.
  2628. *
  2629. * ioRenderFlags:
  2630. * A field that contains render action flags (see AUComponent.h).
  2631. *
  2632. * inTimeStamp:
  2633. * An AudioTimeStamp that indicates the start time of the buffer
  2634. * to be processed. During normal playback or audio extraction,
  2635. * the timestamp mSampleTime is normalized to the movie time that
  2636. * this particular input sample buffer represents, expressed in
  2637. * the sample rate being processed. During reverse playback, the
  2638. * first Process Data call after Reset will contain a timestamp
  2639. * designating the movie time, but subsequent timestamps will
  2640. * advance forward instead of in reverse.
  2641. *
  2642. * inNumberFrames:
  2643. * A UInt32 that specifies the number of frames to be rendered.
  2644. *
  2645. * inInputData:
  2646. * An AudioBufferList used to pass input data to the insert.
  2647. *
  2648. * outOutputData:
  2649. * An AudioBufferList to receive the processed data that is
  2650. * produced by the insert. QuickTime sets buffer pointers in the
  2651. * list to NULL. The client must set the buffer pointers to refer
  2652. * to either its own allocated buffers or to be copies of the
  2653. * buffer pointers received in inInputData.
  2654. }
  2655. type
  2656. AudioContextInsertProcessDataCallback = function( inUserData: UnivPtr; var ioRenderFlags: AudioUnitRenderActionFlags; const (*var*) inTimeStamp: AudioTimeStamp; inNumberFrames: UInt32; var inInputData: AudioBufferList; var outOutputData: AudioBufferList ): OSStatus;
  2657. {
  2658. * AudioContextInsertResetCallback
  2659. *
  2660. * Summary:
  2661. * A client-supplied function to be called to initialize and reset
  2662. * for processing data.
  2663. *
  2664. * Discussion:
  2665. * This routine is called by the Audio Context to initialize for
  2666. * rendering. The client is told the sample rate and the maximum
  2667. * number of frames it will be asked to process on any single
  2668. * ProcessData callback (ie, inNumberFrames will always be <=
  2669. * inMaxFrames). On return, the client reports its processing
  2670. * latency and tail times. This callback is invoked whenever the
  2671. * rendering chain is interrupted (eg, when playback jumps to a new
  2672. * point or changes direction). The client should call
  2673. * AudioUnitReset on any audio units in use, and should be prepared
  2674. * to respond to changes of sample rate or maxframes.
  2675. *
  2676. * Parameters:
  2677. *
  2678. * inUserData:
  2679. * An opaque pointer to the client's data.
  2680. *
  2681. * inSampleRate:
  2682. * A Float64 that will specifies the sample rate of the data to be
  2683. * processed.
  2684. *
  2685. * inMaxFrames:
  2686. * A UInt32 that specifies the maximum number of maximum frame
  2687. * count that will be processed in a single call.
  2688. *
  2689. * outLatency:
  2690. * A pointer to a Float64 that specifies the insert's render
  2691. * latency, in seconds. Latency data will be pulled and discarded
  2692. * by QuickTime after each reset.
  2693. *
  2694. * outTailTime:
  2695. * A pointer to a Float64 that specifies the insert's tail render
  2696. * time, in seconds.
  2697. }
  2698. type
  2699. AudioContextInsertResetCallback = function( inUserData: UnivPtr; inSampleRate: Float64; inMaxFrames: UInt32; var outLatency: Float64; var outTailTime: Float64 ): OSStatus;
  2700. {
  2701. * AudioContextInsertFinalizeCallback
  2702. *
  2703. * Summary:
  2704. * A client-supplied function to be called to release any resources
  2705. * in use by the insert.
  2706. *
  2707. * Discussion:
  2708. * This routine is called when the Audio Context is being disposed
  2709. * (ie, the MovieAudioContext has been reset or the movie was
  2710. * disposed). Once this callback returns, no more calls for this
  2711. * registered insert will be made.
  2712. *
  2713. * Parameters:
  2714. *
  2715. * inUserData:
  2716. * An opaque pointer to the client's data.
  2717. }
  2718. type
  2719. AudioContextInsertFinalizeCallback = function( inUserData: UnivPtr ): OSStatus;
  2720. {
  2721. * QTAudioContextInsertRegistryInfo
  2722. *
  2723. * Summary:
  2724. * Parameters for registering an Audio Context insert
  2725. *
  2726. * Discussion:
  2727. * This is used with QTAudioContextRegisterInsert() and the Movie
  2728. * Audio Extraction
  2729. * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
  2730. * property.
  2731. }
  2732. type
  2733. QTAudioContextInsertRegistryInfoPtr = ^QTAudioContextInsertRegistryInfo;
  2734. QTAudioContextInsertRegistryInfo = record
  2735. {
  2736. * client user data to be passed to all client-specified callbacks.
  2737. }
  2738. userData: UnivPtr;
  2739. {
  2740. * The size of the input channel layout structure.
  2741. }
  2742. inputChannelLayoutSize: UInt32;
  2743. {
  2744. * An AudioChannelLayout that describes the channel layout (and,
  2745. * implicitly, channel valence) of the data that the insert expects
  2746. * as input.
  2747. }
  2748. inputChannelLayout: AudioChannelLayoutPtr;
  2749. {
  2750. * The size of the output channel layout structure.
  2751. }
  2752. outputChannelLayoutSize: UInt32;
  2753. {
  2754. * An AudioChannelLayout that describes the channel layout (and,
  2755. * implicitly, channel valence) of the processed data that the insert
  2756. * will output.
  2757. }
  2758. outputChannelLayout: AudioChannelLayoutPtr;
  2759. {
  2760. * Client-specified process data callback.
  2761. }
  2762. processDataCallback: AudioContextInsertProcessDataCallback;
  2763. {
  2764. * Client-specified reset callback.
  2765. }
  2766. resetCallback: AudioContextInsertResetCallback;
  2767. {
  2768. * Client-specified finalize callback (may be NULL). NOTE: Calls to
  2769. * the client callbacks are interlocked with respect to each other:
  2770. * there will never be simultaneous calls, with an identical
  2771. * inUserData, on different threads.
  2772. }
  2773. finalizeCallback: AudioContextInsertFinalizeCallback;
  2774. end;
  2775. type
  2776. QTAudioContextInsertRegistryInfoRef = QTAudioContextInsertRegistryInfoPtr;
  2777. {
  2778. * QTAudioContextRegisterInsert()
  2779. *
  2780. * Summary:
  2781. * Register an audio insert with QuickTime
  2782. *
  2783. * Discussion:
  2784. * This routine is called to register an application to tap into the
  2785. * audio playback stream, via callbacks during audio rendering. The
  2786. * inAudioContext parameter refers to a Movie Audio Context that has
  2787. * not yet been associated with a movie. Once the application has
  2788. * successfully registered its insert, it may associate a movie with
  2789. * this Audio Context by calling SetMovieAudioContext(). The
  2790. * application must then be prepared to handle callbacks, which may
  2791. * be executed on different threads, until the Finalize callback
  2792. * with a matching userData parameter, is received. The application
  2793. * may supply a NULL Finalize callback if it has its own logic for
  2794. * detecting when it may release its insert resources.
  2795. *
  2796. * Parameters:
  2797. *
  2798. * inAudioContext:
  2799. * A QTAudioContextRef that specifies the Audio Context to tap
  2800. * into.
  2801. *
  2802. * inRegistryInfoSize:
  2803. * Size, in bytes, of the supplied
  2804. * QTAudioContextInsertRegistryInfo structure.
  2805. *
  2806. * inRegistryInfo:
  2807. * Pointer to a QTAudioContextInsertRegistryInfo structure
  2808. * containing setup parameters for the Audio Context insert and
  2809. * callbacks.
  2810. *
  2811. * Result:
  2812. * readErr Cannot register an insert on a movie containing protected
  2813. * data.
  2814. *
  2815. * Availability:
  2816. * Mac OS X: in version 10.5 (or QuickTime 7.2) and later in QuickTime.framework
  2817. * CarbonLib: not available
  2818. * Non-Carbon CFM: not available
  2819. }
  2820. function QTAudioContextRegisterInsert( inAudioContext: QTAudioContextRef; inRegistryInfoSize: UInt32; inRegistryInfo: QTAudioContextInsertRegistryInfoRef ): OSStatus; external name '_QTAudioContextRegisterInsert';
  2821. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  2822. { Track-level Audio Context Insert property (kQTPropertyClass_Audio)}
  2823. const
  2824. {
  2825. * kQTAudioPropertyID_RegisterAudioContextInsert: Value is
  2826. * QTAudioContextInsertRegistryInfoRef (Get/Set) Set on a Track to
  2827. * register/unregister an Audio Context Insert for that specific
  2828. * track. When this property is read back (QTGetTrackProperty) the
  2829. * channel layout pointers will will be NULL. To unregister, supply
  2830. * a NULL processDataCallback (in which case the rest of the registry
  2831. * info will be ignored).
  2832. }
  2833. kQTAudioPropertyID_RegisterAudioContextInsert = FourCharCode('regt'); { value is QTAudioContextInsertRegistryInfoRef. Get/Set.}
  2834. {*****************************************
  2835. * Using Audio/Visual contexts with movies
  2836. ****************************************}
  2837. {
  2838. * SetMovieVisualContext()
  2839. *
  2840. * Availability:
  2841. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2842. * CarbonLib: not available
  2843. * Non-Carbon CFM: not available
  2844. }
  2845. function SetMovieVisualContext( movie_: Movie; visualContext: QTVisualContextRef ): OSStatus; external name '_SetMovieVisualContext';
  2846. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2847. {
  2848. * GetMovieVisualContext()
  2849. *
  2850. * Availability:
  2851. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2852. * CarbonLib: not available
  2853. * Non-Carbon CFM: not available
  2854. }
  2855. function GetMovieVisualContext( movie_: Movie; var visualContext: QTVisualContextRef ): OSStatus; external name '_GetMovieVisualContext';
  2856. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2857. {
  2858. * SetMovieAudioContext()
  2859. *
  2860. * Availability:
  2861. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2862. * CarbonLib: not available
  2863. * Non-Carbon CFM: not available
  2864. }
  2865. function SetMovieAudioContext( movie_: Movie; audioContext: QTAudioContextRef ): OSStatus; external name '_SetMovieAudioContext';
  2866. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2867. {
  2868. * GetMovieAudioContext()
  2869. *
  2870. * Availability:
  2871. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2872. * CarbonLib: not available
  2873. * Non-Carbon CFM: not available
  2874. }
  2875. function GetMovieAudioContext( movie_: Movie; var audioContext: QTAudioContextRef ): OSStatus; external name '_GetMovieAudioContext';
  2876. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2877. {************************
  2878. * calls for getting/saving movies
  2879. *************************}
  2880. {* Properties for NewMovieFromProperties }
  2881. const
  2882. kQTPropertyClass_DataLocation = FourCharCode('dloc');
  2883. kQTDataLocationPropertyID_DataReference = FourCharCode('dref'); { DataReferenceRecord (for semantics of NewMovieFromDataRef)}
  2884. kQTDataLocationPropertyID_CFStringNativePath = FourCharCode('cfnp');
  2885. kQTDataLocationPropertyID_CFStringPosixPath = FourCharCode('cfpp');
  2886. kQTDataLocationPropertyID_CFStringHFSPath = FourCharCode('cfhp');
  2887. kQTDataLocationPropertyID_CFStringWindowsPath = FourCharCode('cfwp');
  2888. kQTDataLocationPropertyID_CFURL = FourCharCode('cfur');
  2889. kQTDataLocationPropertyID_QTDataHandler = FourCharCode('qtdh'); { for semantics of NewMovieFromStorageOffset}
  2890. kQTDataLocationPropertyID_Scrap = FourCharCode('scrp');
  2891. kQTDataLocationPropertyID_LegacyMovieResourceHandle = FourCharCode('rezh'); { QTNewMovieUserProcInfo * (for semantics of NewMovieFromHandle)}
  2892. kQTDataLocationPropertyID_MovieUserProc = FourCharCode('uspr'); { for semantics of NewMovieFromUserProc}
  2893. kQTDataLocationPropertyID_ResourceFork = FourCharCode('rfrk'); { for semantics of NewMovieFromFile}
  2894. kQTDataLocationPropertyID_DataFork = FourCharCode('dfrk'); { for semantics of NewMovieFromDataFork64}
  2895. kQTPropertyClass_Context = FourCharCode('ctxt'); { Media Contexts}
  2896. kQTContextPropertyID_AudioContext = FourCharCode('audi');
  2897. kQTContextPropertyID_VisualContext = FourCharCode('visu');
  2898. kQTPropertyClass_MovieResourceLocator = FourCharCode('rloc');
  2899. kQTMovieResourceLocatorPropertyID_LegacyResID = FourCharCode('rezi'); { (input/result property)}
  2900. kQTMovieResourceLocatorPropertyID_LegacyResName = FourCharCode('rezn'); { (result property)}
  2901. kQTMovieResourceLocatorPropertyID_FileOffset = FourCharCode('foff'); { NewMovieFromDataFork[64]}
  2902. kQTMovieResourceLocatorPropertyID_Callback = FourCharCode('calb'); { NewMovieFromUserProc(getProc,refcon)}
  2903. { Uses kQTMovieDefaultDataRefPropertyID for default dataref}
  2904. kQTPropertyClass_MovieInstantiation = FourCharCode('mins');
  2905. kQTMovieInstantiationPropertyID_DontResolveDataRefs = FourCharCode('rdrn');
  2906. kQTMovieInstantiationPropertyID_DontAskUnresolvedDataRefs = FourCharCode('aurn');
  2907. kQTMovieInstantiationPropertyID_DontAutoAlternates = FourCharCode('aaln');
  2908. kQTMovieInstantiationPropertyID_DontUpdateForeBackPointers = FourCharCode('fbpn');
  2909. kQTMovieInstantiationPropertyID_AsyncOK = FourCharCode('asok');
  2910. kQTMovieInstantiationPropertyID_IdleImportOK = FourCharCode('imok');
  2911. kQTMovieInstantiationPropertyID_DontAutoUpdateClock = FourCharCode('aucl');
  2912. kQTMovieInstantiationPropertyID_ResultDataLocationChanged = FourCharCode('dlch'); { (result property)}
  2913. kQTMovieInstantiationPropertyID_AllowMediaOptimization = FourCharCode('amop');
  2914. kQTPropertyClass_NewMovieProperty = FourCharCode('mprp');
  2915. kQTNewMoviePropertyID_DefaultDataRef = FourCharCode('ddrf'); { DataReferenceRecord}
  2916. kQTNewMoviePropertyID_Active = FourCharCode('actv');
  2917. kQTNewMoviePropertyID_DontInteractWithUser = FourCharCode('intn');
  2918. {* Property value for kQTDataLocationPropertyID_MovieUserProc }
  2919. type
  2920. QTNewMovieUserProcRecord = record
  2921. getMovieUserProc: GetMovieUPP;
  2922. getMovieUserProcRefcon: UnivPtr;
  2923. defaultDataRef: DataReferenceRecord;
  2924. end;
  2925. {* Property structure for NewMovieFromProperties }
  2926. type
  2927. QTNewMoviePropertyElement = record
  2928. propClass: QTPropertyClass;
  2929. propID: QTPropertyID;
  2930. propValueSize: ByteCount;
  2931. propValueAddress: QTPropertyValuePtr;
  2932. propStatus: OSStatus;
  2933. end;
  2934. {
  2935. * NewMovieFromProperties()
  2936. *
  2937. * Availability:
  2938. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2939. * CarbonLib: not available
  2940. * Non-Carbon CFM: not available
  2941. }
  2942. function NewMovieFromProperties( inputPropertyCount: ItemCount; var inputProperties: QTNewMoviePropertyElement; outputPropertyCount: ItemCount; var outputProperties: QTNewMoviePropertyElement; var theMovie: Movie ): OSStatus; external name '_NewMovieFromProperties';
  2943. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2944. {
  2945. * NewMovie()
  2946. *
  2947. * Availability:
  2948. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2949. * CarbonLib: in CarbonLib 1.0 and later
  2950. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2951. * Windows: in qtmlClient.lib 3.0 and later
  2952. }
  2953. function NewMovie( flags: SIGNEDLONG ): Movie; external name '_NewMovie';
  2954. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2955. {
  2956. * PutMovieIntoHandle()
  2957. *
  2958. * Availability:
  2959. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2960. * CarbonLib: in CarbonLib 1.0 and later
  2961. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2962. * Windows: in qtmlClient.lib 3.0 and later
  2963. }
  2964. function PutMovieIntoHandle( theMovie: Movie; publicMovie: Handle ): OSErr; external name '_PutMovieIntoHandle';
  2965. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2966. {
  2967. * PutMovieIntoDataFork()
  2968. *
  2969. * Availability:
  2970. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2971. * CarbonLib: in CarbonLib 1.0 and later
  2972. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2973. * Windows: in qtmlClient.lib 3.0 and later
  2974. }
  2975. function PutMovieIntoDataFork( theMovie: Movie; fRefNum: SInt16; offset: SIGNEDLONG; maxSize: SIGNEDLONG ): OSErr; external name '_PutMovieIntoDataFork';
  2976. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2977. {
  2978. * PutMovieIntoDataFork64()
  2979. *
  2980. * Availability:
  2981. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2982. * CarbonLib: in CarbonLib 1.0.2 and later
  2983. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  2984. * Windows: in qtmlClient.lib 4.0 and later
  2985. }
  2986. function PutMovieIntoDataFork64( theMovie: Movie; fRefNum: SIGNEDLONG; const (*var*) offset: wide; maxSize: UNSIGNEDLONG ): OSErr; external name '_PutMovieIntoDataFork64';
  2987. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2988. {
  2989. * PutMovieIntoStorage()
  2990. *
  2991. * Availability:
  2992. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2993. * CarbonLib: in CarbonLib 1.6 and later
  2994. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  2995. * Windows: in qtmlClient.lib 6.0 and later
  2996. }
  2997. function PutMovieIntoStorage( theMovie: Movie; dh: DataHandler; const (*var*) offset: wide; maxSize: UNSIGNEDLONG ): OSErr; external name '_PutMovieIntoStorage';
  2998. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2999. {
  3000. * PutMovieForDataRefIntoHandle()
  3001. *
  3002. * Availability:
  3003. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3004. * CarbonLib: in CarbonLib 1.6 and later
  3005. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3006. * Windows: in qtmlClient.lib 6.0 and later
  3007. }
  3008. function PutMovieForDataRefIntoHandle( theMovie: Movie; dataRef: Handle; dataRefType: OSType; publicMovie: Handle ): OSErr; external name '_PutMovieForDataRefIntoHandle';
  3009. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3010. {
  3011. * DisposeMovie()
  3012. *
  3013. * Availability:
  3014. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3015. * CarbonLib: in CarbonLib 1.0 and later
  3016. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3017. * Windows: in qtmlClient.lib 3.0 and later
  3018. }
  3019. procedure DisposeMovie( theMovie: Movie ); external name '_DisposeMovie';
  3020. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3021. {************************
  3022. * Movie State Routines
  3023. *************************}
  3024. {
  3025. * GetMovieCreationTime()
  3026. *
  3027. * Availability:
  3028. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3029. * CarbonLib: in CarbonLib 1.0 and later
  3030. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3031. * Windows: in qtmlClient.lib 3.0 and later
  3032. }
  3033. function GetMovieCreationTime( theMovie: Movie ): UNSIGNEDLONG; external name '_GetMovieCreationTime';
  3034. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3035. {
  3036. * GetMovieModificationTime()
  3037. *
  3038. * Availability:
  3039. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3040. * CarbonLib: in CarbonLib 1.0 and later
  3041. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3042. * Windows: in qtmlClient.lib 3.0 and later
  3043. }
  3044. function GetMovieModificationTime( theMovie: Movie ): UNSIGNEDLONG; external name '_GetMovieModificationTime';
  3045. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3046. {
  3047. * GetMovieTimeScale()
  3048. *
  3049. * Availability:
  3050. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3051. * CarbonLib: in CarbonLib 1.0 and later
  3052. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3053. * Windows: in qtmlClient.lib 3.0 and later
  3054. }
  3055. function GetMovieTimeScale( theMovie: Movie ): TimeScale; external name '_GetMovieTimeScale';
  3056. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3057. {
  3058. * SetMovieTimeScale()
  3059. *
  3060. * Availability:
  3061. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3062. * CarbonLib: in CarbonLib 1.0 and later
  3063. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3064. * Windows: in qtmlClient.lib 3.0 and later
  3065. }
  3066. procedure SetMovieTimeScale( theMovie: Movie; timeScale_: TimeScale ); external name '_SetMovieTimeScale';
  3067. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3068. {
  3069. * GetMovieDuration()
  3070. *
  3071. * Availability:
  3072. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3073. * CarbonLib: in CarbonLib 1.0 and later
  3074. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3075. * Windows: in qtmlClient.lib 3.0 and later
  3076. }
  3077. function GetMovieDuration( theMovie: Movie ): TimeValue; external name '_GetMovieDuration';
  3078. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3079. {
  3080. * GetMovieRate()
  3081. *
  3082. * Availability:
  3083. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3084. * CarbonLib: in CarbonLib 1.0 and later
  3085. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3086. * Windows: in qtmlClient.lib 3.0 and later
  3087. }
  3088. function GetMovieRate( theMovie: Movie ): Fixed; external name '_GetMovieRate';
  3089. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3090. {
  3091. * SetMovieRate()
  3092. *
  3093. * Availability:
  3094. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3095. * CarbonLib: in CarbonLib 1.0 and later
  3096. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3097. * Windows: in qtmlClient.lib 3.0 and later
  3098. }
  3099. procedure SetMovieRate( theMovie: Movie; rate: Fixed ); external name '_SetMovieRate';
  3100. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3101. {
  3102. * GetMoviePreferredRate()
  3103. *
  3104. * Availability:
  3105. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3106. * CarbonLib: in CarbonLib 1.0 and later
  3107. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3108. * Windows: in qtmlClient.lib 3.0 and later
  3109. }
  3110. function GetMoviePreferredRate( theMovie: Movie ): Fixed; external name '_GetMoviePreferredRate';
  3111. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3112. {
  3113. * SetMoviePreferredRate()
  3114. *
  3115. * Availability:
  3116. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3117. * CarbonLib: in CarbonLib 1.0 and later
  3118. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3119. * Windows: in qtmlClient.lib 3.0 and later
  3120. }
  3121. procedure SetMoviePreferredRate( theMovie: Movie; rate: Fixed ); external name '_SetMoviePreferredRate';
  3122. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3123. {
  3124. * GetMovieMatrix()
  3125. *
  3126. * Availability:
  3127. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3128. * CarbonLib: in CarbonLib 1.0 and later
  3129. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3130. * Windows: in qtmlClient.lib 3.0 and later
  3131. }
  3132. procedure GetMovieMatrix( theMovie: Movie; var matrix: MatrixRecord ); external name '_GetMovieMatrix';
  3133. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3134. {
  3135. * SetMovieMatrix()
  3136. *
  3137. * Availability:
  3138. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3139. * CarbonLib: in CarbonLib 1.0 and later
  3140. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3141. * Windows: in qtmlClient.lib 3.0 and later
  3142. }
  3143. procedure SetMovieMatrix( theMovie: Movie; const (*var*) matrix: MatrixRecord ); external name '_SetMovieMatrix';
  3144. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3145. {
  3146. * GetMoviePreviewTime()
  3147. *
  3148. * Availability:
  3149. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3150. * CarbonLib: in CarbonLib 1.0 and later
  3151. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3152. * Windows: in qtmlClient.lib 3.0 and later
  3153. }
  3154. procedure GetMoviePreviewTime( theMovie: Movie; var previewTime: TimeValue; var previewDuration: TimeValue ); external name '_GetMoviePreviewTime';
  3155. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3156. {
  3157. * SetMoviePreviewTime()
  3158. *
  3159. * Availability:
  3160. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3161. * CarbonLib: in CarbonLib 1.0 and later
  3162. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3163. * Windows: in qtmlClient.lib 3.0 and later
  3164. }
  3165. procedure SetMoviePreviewTime( theMovie: Movie; previewTime: TimeValue; previewDuration: TimeValue ); external name '_SetMoviePreviewTime';
  3166. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3167. {
  3168. * GetMoviePosterTime()
  3169. *
  3170. * Availability:
  3171. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3172. * CarbonLib: in CarbonLib 1.0 and later
  3173. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3174. * Windows: in qtmlClient.lib 3.0 and later
  3175. }
  3176. function GetMoviePosterTime( theMovie: Movie ): TimeValue; external name '_GetMoviePosterTime';
  3177. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3178. {
  3179. * SetMoviePosterTime()
  3180. *
  3181. * Availability:
  3182. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3183. * CarbonLib: in CarbonLib 1.0 and later
  3184. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3185. * Windows: in qtmlClient.lib 3.0 and later
  3186. }
  3187. procedure SetMoviePosterTime( theMovie: Movie; posterTime: TimeValue ); external name '_SetMoviePosterTime';
  3188. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3189. {
  3190. * GetMovieSelection()
  3191. *
  3192. * Availability:
  3193. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3194. * CarbonLib: in CarbonLib 1.0 and later
  3195. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3196. * Windows: in qtmlClient.lib 3.0 and later
  3197. }
  3198. procedure GetMovieSelection( theMovie: Movie; var selectionTime: TimeValue; var selectionDuration: TimeValue ); external name '_GetMovieSelection';
  3199. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3200. {
  3201. * SetMovieSelection()
  3202. *
  3203. * Availability:
  3204. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3205. * CarbonLib: in CarbonLib 1.0 and later
  3206. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3207. * Windows: in qtmlClient.lib 3.0 and later
  3208. }
  3209. procedure SetMovieSelection( theMovie: Movie; selectionTime: TimeValue; selectionDuration: TimeValue ); external name '_SetMovieSelection';
  3210. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3211. {
  3212. * SetMovieActiveSegment()
  3213. *
  3214. * Availability:
  3215. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3216. * CarbonLib: in CarbonLib 1.0 and later
  3217. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3218. * Windows: in qtmlClient.lib 3.0 and later
  3219. }
  3220. procedure SetMovieActiveSegment( theMovie: Movie; startTime: TimeValue; duration: TimeValue ); external name '_SetMovieActiveSegment';
  3221. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3222. {
  3223. * GetMovieActiveSegment()
  3224. *
  3225. * Availability:
  3226. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3227. * CarbonLib: in CarbonLib 1.0 and later
  3228. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3229. * Windows: in qtmlClient.lib 3.0 and later
  3230. }
  3231. procedure GetMovieActiveSegment( theMovie: Movie; var startTime: TimeValue; var duration: TimeValue ); external name '_GetMovieActiveSegment';
  3232. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3233. {
  3234. * GetMovieTime()
  3235. *
  3236. * Availability:
  3237. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3238. * CarbonLib: in CarbonLib 1.0 and later
  3239. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3240. * Windows: in qtmlClient.lib 3.0 and later
  3241. }
  3242. function GetMovieTime( theMovie: Movie; var currentTime: TimeRecord ): TimeValue; external name '_GetMovieTime';
  3243. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3244. {
  3245. * SetMovieTime()
  3246. *
  3247. * Availability:
  3248. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3249. * CarbonLib: in CarbonLib 1.0 and later
  3250. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3251. * Windows: in qtmlClient.lib 3.0 and later
  3252. }
  3253. procedure SetMovieTime( theMovie: Movie; const (*var*) newtime: TimeRecord ); external name '_SetMovieTime';
  3254. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3255. {
  3256. * SetMovieTimeValue()
  3257. *
  3258. * Availability:
  3259. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3260. * CarbonLib: in CarbonLib 1.0 and later
  3261. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3262. * Windows: in qtmlClient.lib 3.0 and later
  3263. }
  3264. procedure SetMovieTimeValue( theMovie: Movie; newtime: TimeValue ); external name '_SetMovieTimeValue';
  3265. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3266. {
  3267. * GetMovieUserData()
  3268. *
  3269. * Availability:
  3270. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3271. * CarbonLib: in CarbonLib 1.0 and later
  3272. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3273. * Windows: in qtmlClient.lib 3.0 and later
  3274. }
  3275. function GetMovieUserData( theMovie: Movie ): UserData; external name '_GetMovieUserData';
  3276. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3277. {
  3278. * QTGetTimeUntilNextTask()
  3279. *
  3280. * Availability:
  3281. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3282. * CarbonLib: in CarbonLib 1.6 and later
  3283. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3284. * Windows: in qtmlClient.lib 6.0 and later
  3285. }
  3286. function QTGetTimeUntilNextTask( var duration: SIGNEDLONG; scale: SIGNEDLONG ): OSErr; external name '_QTGetTimeUntilNextTask';
  3287. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3288. {
  3289. * QTInstallNextTaskNeededSoonerCallback()
  3290. *
  3291. * Availability:
  3292. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3293. * CarbonLib: in CarbonLib 1.6 and later
  3294. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3295. * Windows: in qtmlClient.lib 6.0 and later
  3296. }
  3297. function QTInstallNextTaskNeededSoonerCallback( callbackProc: QTNextTaskNeededSoonerCallbackUPP; scale: TimeScale; flags: UNSIGNEDLONG; refcon: UnivPtr ): OSErr; external name '_QTInstallNextTaskNeededSoonerCallback';
  3298. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3299. {
  3300. * QTUninstallNextTaskNeededSoonerCallback()
  3301. *
  3302. * Availability:
  3303. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3304. * CarbonLib: in CarbonLib 1.6 and later
  3305. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3306. * Windows: in qtmlClient.lib 6.0 and later
  3307. }
  3308. function QTUninstallNextTaskNeededSoonerCallback( callbackProc: QTNextTaskNeededSoonerCallbackUPP; refcon: UnivPtr ): OSErr; external name '_QTUninstallNextTaskNeededSoonerCallback';
  3309. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3310. {
  3311. * GetMovieRateChangeConstraints()
  3312. *
  3313. * Availability:
  3314. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  3315. * CarbonLib: not available
  3316. * Non-Carbon CFM: not available
  3317. * Windows: in qtmlClient.lib 6.5 and later
  3318. }
  3319. function GetMovieRateChangeConstraints( theMovie: Movie; var minimumDelay: TimeRecord; var maximumDelay: TimeRecord ): OSErr; external name '_GetMovieRateChangeConstraints';
  3320. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  3321. {************************
  3322. * Track/Media finding routines
  3323. *************************}
  3324. {
  3325. * GetMovieTrackCount()
  3326. *
  3327. * Availability:
  3328. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3329. * CarbonLib: in CarbonLib 1.0 and later
  3330. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3331. * Windows: in qtmlClient.lib 3.0 and later
  3332. }
  3333. function GetMovieTrackCount( theMovie: Movie ): SIGNEDLONG; external name '_GetMovieTrackCount';
  3334. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3335. {
  3336. * GetMovieTrack()
  3337. *
  3338. * Availability:
  3339. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3340. * CarbonLib: in CarbonLib 1.0 and later
  3341. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3342. * Windows: in qtmlClient.lib 3.0 and later
  3343. }
  3344. function GetMovieTrack( theMovie: Movie; trackID: SIGNEDLONG ): Track; external name '_GetMovieTrack';
  3345. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3346. {
  3347. * GetMovieIndTrack()
  3348. *
  3349. * Availability:
  3350. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3351. * CarbonLib: in CarbonLib 1.0 and later
  3352. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3353. * Windows: in qtmlClient.lib 3.0 and later
  3354. }
  3355. function GetMovieIndTrack( theMovie: Movie; index: SIGNEDLONG ): Track; external name '_GetMovieIndTrack';
  3356. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3357. {
  3358. * GetMovieIndTrackType()
  3359. *
  3360. * Availability:
  3361. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3362. * CarbonLib: in CarbonLib 1.0 and later
  3363. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3364. * Windows: in qtmlClient.lib 3.0 and later
  3365. }
  3366. function GetMovieIndTrackType( theMovie: Movie; index: SIGNEDLONG; trackType: OSType; flags: SIGNEDLONG ): Track; external name '_GetMovieIndTrackType';
  3367. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3368. {
  3369. * GetTrackID()
  3370. *
  3371. * Availability:
  3372. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3373. * CarbonLib: in CarbonLib 1.0 and later
  3374. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3375. * Windows: in qtmlClient.lib 3.0 and later
  3376. }
  3377. function GetTrackID( theTrack: Track ): SIGNEDLONG; external name '_GetTrackID';
  3378. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3379. {
  3380. * GetTrackMovie()
  3381. *
  3382. * Availability:
  3383. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3384. * CarbonLib: in CarbonLib 1.0 and later
  3385. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3386. * Windows: in qtmlClient.lib 3.0 and later
  3387. }
  3388. function GetTrackMovie( theTrack: Track ): Movie; external name '_GetTrackMovie';
  3389. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3390. {************************
  3391. * Track creation routines
  3392. *************************}
  3393. {
  3394. * NewMovieTrack()
  3395. *
  3396. * Availability:
  3397. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3398. * CarbonLib: in CarbonLib 1.0 and later
  3399. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3400. * Windows: in qtmlClient.lib 3.0 and later
  3401. }
  3402. function NewMovieTrack( theMovie: Movie; width: Fixed; height: Fixed; trackVolume: SInt16 ): Track; external name '_NewMovieTrack';
  3403. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3404. {
  3405. * DisposeMovieTrack()
  3406. *
  3407. * Availability:
  3408. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3409. * CarbonLib: in CarbonLib 1.0 and later
  3410. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3411. * Windows: in qtmlClient.lib 3.0 and later
  3412. }
  3413. procedure DisposeMovieTrack( theTrack: Track ); external name '_DisposeMovieTrack';
  3414. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3415. {************************
  3416. * Track State routines
  3417. *************************}
  3418. {
  3419. * GetTrackCreationTime()
  3420. *
  3421. * Availability:
  3422. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3423. * CarbonLib: in CarbonLib 1.0 and later
  3424. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3425. * Windows: in qtmlClient.lib 3.0 and later
  3426. }
  3427. function GetTrackCreationTime( theTrack: Track ): UNSIGNEDLONG; external name '_GetTrackCreationTime';
  3428. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3429. {
  3430. * GetTrackModificationTime()
  3431. *
  3432. * Availability:
  3433. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3434. * CarbonLib: in CarbonLib 1.0 and later
  3435. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3436. * Windows: in qtmlClient.lib 3.0 and later
  3437. }
  3438. function GetTrackModificationTime( theTrack: Track ): UNSIGNEDLONG; external name '_GetTrackModificationTime';
  3439. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3440. {
  3441. * GetTrackEnabled()
  3442. *
  3443. * Availability:
  3444. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3445. * CarbonLib: in CarbonLib 1.0 and later
  3446. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3447. * Windows: in qtmlClient.lib 3.0 and later
  3448. }
  3449. function GetTrackEnabled( theTrack: Track ): Boolean; external name '_GetTrackEnabled';
  3450. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3451. {
  3452. * SetTrackEnabled()
  3453. *
  3454. * Availability:
  3455. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3456. * CarbonLib: in CarbonLib 1.0 and later
  3457. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3458. * Windows: in qtmlClient.lib 3.0 and later
  3459. }
  3460. procedure SetTrackEnabled( theTrack: Track; isEnabled: Boolean ); external name '_SetTrackEnabled';
  3461. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3462. {
  3463. * GetTrackUsage()
  3464. *
  3465. * Availability:
  3466. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3467. * CarbonLib: in CarbonLib 1.0 and later
  3468. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3469. * Windows: in qtmlClient.lib 3.0 and later
  3470. }
  3471. function GetTrackUsage( theTrack: Track ): SIGNEDLONG; external name '_GetTrackUsage';
  3472. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3473. {
  3474. * SetTrackUsage()
  3475. *
  3476. * Availability:
  3477. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3478. * CarbonLib: in CarbonLib 1.0 and later
  3479. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3480. * Windows: in qtmlClient.lib 3.0 and later
  3481. }
  3482. procedure SetTrackUsage( theTrack: Track; usage: SIGNEDLONG ); external name '_SetTrackUsage';
  3483. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3484. {
  3485. * GetTrackDuration()
  3486. *
  3487. * Availability:
  3488. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3489. * CarbonLib: in CarbonLib 1.0 and later
  3490. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3491. * Windows: in qtmlClient.lib 3.0 and later
  3492. }
  3493. function GetTrackDuration( theTrack: Track ): TimeValue; external name '_GetTrackDuration';
  3494. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3495. {
  3496. * GetTrackOffset()
  3497. *
  3498. * Availability:
  3499. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3500. * CarbonLib: in CarbonLib 1.0 and later
  3501. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3502. * Windows: in qtmlClient.lib 3.0 and later
  3503. }
  3504. function GetTrackOffset( theTrack: Track ): TimeValue; external name '_GetTrackOffset';
  3505. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3506. {
  3507. * SetTrackOffset()
  3508. *
  3509. * Availability:
  3510. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3511. * CarbonLib: in CarbonLib 1.0 and later
  3512. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3513. * Windows: in qtmlClient.lib 3.0 and later
  3514. }
  3515. procedure SetTrackOffset( theTrack: Track; movieOffsetTime: TimeValue ); external name '_SetTrackOffset';
  3516. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3517. {
  3518. * GetTrackLayer()
  3519. *
  3520. * Availability:
  3521. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3522. * CarbonLib: in CarbonLib 1.0 and later
  3523. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3524. * Windows: in qtmlClient.lib 3.0 and later
  3525. }
  3526. function GetTrackLayer( theTrack: Track ): SInt16; external name '_GetTrackLayer';
  3527. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3528. {
  3529. * SetTrackLayer()
  3530. *
  3531. * Availability:
  3532. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3533. * CarbonLib: in CarbonLib 1.0 and later
  3534. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3535. * Windows: in qtmlClient.lib 3.0 and later
  3536. }
  3537. procedure SetTrackLayer( theTrack: Track; layer: SInt16 ); external name '_SetTrackLayer';
  3538. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3539. {
  3540. * GetTrackAlternate()
  3541. *
  3542. * Availability:
  3543. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3544. * CarbonLib: in CarbonLib 1.0 and later
  3545. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3546. * Windows: in qtmlClient.lib 3.0 and later
  3547. }
  3548. function GetTrackAlternate( theTrack: Track ): Track; external name '_GetTrackAlternate';
  3549. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3550. {
  3551. * SetTrackAlternate()
  3552. *
  3553. * Availability:
  3554. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3555. * CarbonLib: in CarbonLib 1.0 and later
  3556. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3557. * Windows: in qtmlClient.lib 3.0 and later
  3558. }
  3559. procedure SetTrackAlternate( theTrack: Track; alternateT: Track ); external name '_SetTrackAlternate';
  3560. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3561. {
  3562. * SetAutoTrackAlternatesEnabled()
  3563. *
  3564. * Availability:
  3565. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3566. * CarbonLib: in CarbonLib 1.0 and later
  3567. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3568. * Windows: in qtmlClient.lib 3.0 and later
  3569. }
  3570. procedure SetAutoTrackAlternatesEnabled( theMovie: Movie; enable: Boolean ); external name '_SetAutoTrackAlternatesEnabled';
  3571. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3572. {
  3573. * SelectMovieAlternates()
  3574. *
  3575. * Availability:
  3576. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3577. * CarbonLib: in CarbonLib 1.0 and later
  3578. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3579. * Windows: in qtmlClient.lib 3.0 and later
  3580. }
  3581. procedure SelectMovieAlternates( theMovie: Movie ); external name '_SelectMovieAlternates';
  3582. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3583. {
  3584. * GetTrackMatrix()
  3585. *
  3586. * Availability:
  3587. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3588. * CarbonLib: in CarbonLib 1.0 and later
  3589. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3590. * Windows: in qtmlClient.lib 3.0 and later
  3591. }
  3592. procedure GetTrackMatrix( theTrack: Track; var matrix: MatrixRecord ); external name '_GetTrackMatrix';
  3593. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3594. {
  3595. * SetTrackMatrix()
  3596. *
  3597. * Availability:
  3598. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3599. * CarbonLib: in CarbonLib 1.0 and later
  3600. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3601. * Windows: in qtmlClient.lib 3.0 and later
  3602. }
  3603. procedure SetTrackMatrix( theTrack: Track; const (*var*) matrix: MatrixRecord ); external name '_SetTrackMatrix';
  3604. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3605. {
  3606. * GetTrackDimensions()
  3607. *
  3608. * Availability:
  3609. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3610. * CarbonLib: in CarbonLib 1.0 and later
  3611. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3612. * Windows: in qtmlClient.lib 3.0 and later
  3613. }
  3614. procedure GetTrackDimensions( theTrack: Track; var width: Fixed; var height: Fixed ); external name '_GetTrackDimensions';
  3615. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3616. {
  3617. * SetTrackDimensions()
  3618. *
  3619. * Availability:
  3620. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3621. * CarbonLib: in CarbonLib 1.0 and later
  3622. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3623. * Windows: in qtmlClient.lib 3.0 and later
  3624. }
  3625. procedure SetTrackDimensions( theTrack: Track; width: Fixed; height: Fixed ); external name '_SetTrackDimensions';
  3626. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3627. {
  3628. * GetTrackUserData()
  3629. *
  3630. * Availability:
  3631. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3632. * CarbonLib: in CarbonLib 1.0 and later
  3633. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3634. * Windows: in qtmlClient.lib 3.0 and later
  3635. }
  3636. function GetTrackUserData( theTrack: Track ): UserData; external name '_GetTrackUserData';
  3637. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3638. {
  3639. * GetTrackDisplayMatrix()
  3640. *
  3641. * Availability:
  3642. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3643. * CarbonLib: in CarbonLib 1.0 and later
  3644. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3645. * Windows: in qtmlClient.lib 3.0 and later
  3646. }
  3647. function GetTrackDisplayMatrix( theTrack: Track; var matrix: MatrixRecord ): OSErr; external name '_GetTrackDisplayMatrix';
  3648. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3649. {************************
  3650. * get Media routines
  3651. *************************}
  3652. {
  3653. * NewTrackMedia()
  3654. *
  3655. * Availability:
  3656. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3657. * CarbonLib: in CarbonLib 1.0 and later
  3658. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3659. * Windows: in qtmlClient.lib 3.0 and later
  3660. }
  3661. function NewTrackMedia( theTrack: Track; mediaType: OSType; timeScale_: TimeScale; dataRef: Handle; dataRefType: OSType ): Media; external name '_NewTrackMedia';
  3662. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3663. {
  3664. * DisposeTrackMedia()
  3665. *
  3666. * Availability:
  3667. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3668. * CarbonLib: in CarbonLib 1.0 and later
  3669. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3670. * Windows: in qtmlClient.lib 3.0 and later
  3671. }
  3672. procedure DisposeTrackMedia( theMedia: Media ); external name '_DisposeTrackMedia';
  3673. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3674. {
  3675. * GetTrackMedia()
  3676. *
  3677. * Availability:
  3678. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3679. * CarbonLib: in CarbonLib 1.0 and later
  3680. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3681. * Windows: in qtmlClient.lib 3.0 and later
  3682. }
  3683. function GetTrackMedia( theTrack: Track ): Media; external name '_GetTrackMedia';
  3684. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3685. {
  3686. * GetMediaTrack()
  3687. *
  3688. * Availability:
  3689. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3690. * CarbonLib: in CarbonLib 1.0 and later
  3691. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3692. * Windows: in qtmlClient.lib 3.0 and later
  3693. }
  3694. function GetMediaTrack( theMedia: Media ): Track; external name '_GetMediaTrack';
  3695. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3696. {************************
  3697. * Media State routines
  3698. *************************}
  3699. {
  3700. * GetMediaCreationTime()
  3701. *
  3702. * Availability:
  3703. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3704. * CarbonLib: in CarbonLib 1.0 and later
  3705. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3706. * Windows: in qtmlClient.lib 3.0 and later
  3707. }
  3708. function GetMediaCreationTime( theMedia: Media ): UNSIGNEDLONG; external name '_GetMediaCreationTime';
  3709. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3710. {
  3711. * GetMediaModificationTime()
  3712. *
  3713. * Availability:
  3714. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3715. * CarbonLib: in CarbonLib 1.0 and later
  3716. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3717. * Windows: in qtmlClient.lib 3.0 and later
  3718. }
  3719. function GetMediaModificationTime( theMedia: Media ): UNSIGNEDLONG; external name '_GetMediaModificationTime';
  3720. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3721. {
  3722. * GetMediaTimeScale()
  3723. *
  3724. * Availability:
  3725. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3726. * CarbonLib: in CarbonLib 1.0 and later
  3727. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3728. * Windows: in qtmlClient.lib 3.0 and later
  3729. }
  3730. function GetMediaTimeScale( theMedia: Media ): TimeScale; external name '_GetMediaTimeScale';
  3731. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3732. {
  3733. * SetMediaTimeScale()
  3734. *
  3735. * Availability:
  3736. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3737. * CarbonLib: in CarbonLib 1.0 and later
  3738. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3739. * Windows: in qtmlClient.lib 3.0 and later
  3740. }
  3741. procedure SetMediaTimeScale( theMedia: Media; timeScale_: TimeScale ); external name '_SetMediaTimeScale';
  3742. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3743. {
  3744. * GetMediaDecodeDuration()
  3745. *
  3746. * Summary:
  3747. * Returns the decode duration of a media.
  3748. *
  3749. * Discussion:
  3750. * A media's decode duration is the sum of the decode durations of
  3751. * its samples.
  3752. *
  3753. * Parameters:
  3754. *
  3755. * theMedia:
  3756. * The media for this operation. Your application obtains this
  3757. * media identifier from such functions as NewTrackMedia and
  3758. * GetTrackMedia.
  3759. *
  3760. * Availability:
  3761. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3762. * CarbonLib: not available
  3763. * Non-Carbon CFM: not available
  3764. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3765. }
  3766. function GetMediaDecodeDuration( theMedia: Media ): TimeValue64; external name '_GetMediaDecodeDuration';
  3767. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3768. {
  3769. * GetMediaAdvanceDecodeTime()
  3770. *
  3771. * Summary:
  3772. * Returns the advance decode time of a media.
  3773. *
  3774. * Discussion:
  3775. * A media's advance decode time is the absolute value of the
  3776. * greatest-magnitude negative display offset of its samples, or
  3777. * zero if there are no samples with negative display offsets.
  3778. * This is the amount that the decode time axis must be adjusted
  3779. * ahead of the display time axis to ensure that no sample's
  3780. * adjusted decode time is later than its display time.
  3781. * For media without nonzero display offsets, the advance decode
  3782. * time is zero.
  3783. *
  3784. * Parameters:
  3785. *
  3786. * theMedia:
  3787. * The media for this operation. Your application obtains this
  3788. * media identifier from such functions as NewTrackMedia and
  3789. * GetTrackMedia.
  3790. *
  3791. * Availability:
  3792. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3793. * CarbonLib: not available
  3794. * Non-Carbon CFM: not available
  3795. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3796. }
  3797. function GetMediaAdvanceDecodeTime( theMedia: Media ): TimeValue64; external name '_GetMediaAdvanceDecodeTime';
  3798. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3799. {
  3800. * GetMediaDisplayDuration()
  3801. *
  3802. * Summary:
  3803. * Returns the display duration of a media.
  3804. *
  3805. * Discussion:
  3806. * A media's display duration is its display end time minus its
  3807. * display start time. For media without nonzero display offsets,
  3808. * the decode duration and display duration are the same, so
  3809. * GetMediaDisplayDuration and GetMediaDisplayDuration are
  3810. * equivalent to GetMediaDuration.
  3811. *
  3812. * Parameters:
  3813. *
  3814. * theMedia:
  3815. * The media for this operation. Your application obtains this
  3816. * media identifier from such functions as NewTrackMedia and
  3817. * GetTrackMedia.
  3818. *
  3819. * Availability:
  3820. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3821. * CarbonLib: not available
  3822. * Non-Carbon CFM: not available
  3823. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3824. }
  3825. function GetMediaDisplayDuration( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayDuration';
  3826. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3827. {
  3828. * GetMediaDisplayStartTime()
  3829. *
  3830. * Summary:
  3831. * Returns the display start time of a media.
  3832. *
  3833. * Discussion:
  3834. * A media's display start time is the earliest display time of any
  3835. * of its samples. For media without nonzero display offsets, the
  3836. * display start time is always zero.
  3837. *
  3838. * Parameters:
  3839. *
  3840. * theMedia:
  3841. * The media for this operation. Your application obtains this
  3842. * media identifier from such functions as NewTrackMedia and
  3843. * GetTrackMedia.
  3844. *
  3845. * Availability:
  3846. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3847. * CarbonLib: not available
  3848. * Non-Carbon CFM: not available
  3849. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3850. }
  3851. function GetMediaDisplayStartTime( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayStartTime';
  3852. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3853. {
  3854. * GetMediaDisplayEndTime()
  3855. *
  3856. * Summary:
  3857. * Returns the display end time of a media.
  3858. *
  3859. * Discussion:
  3860. * A media's display end time is the sum of the display time and
  3861. * decode duration of the sample with the greatest display time. For
  3862. * media without nonzero display offsets, the display end time is
  3863. * the same as the media decode duration, which is the same as the
  3864. * media duration.
  3865. *
  3866. * Parameters:
  3867. *
  3868. * theMedia:
  3869. * The media for this operation. Your application obtains this
  3870. * media identifier from such functions as NewTrackMedia and
  3871. * GetTrackMedia.
  3872. *
  3873. * Availability:
  3874. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3875. * CarbonLib: not available
  3876. * Non-Carbon CFM: not available
  3877. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3878. }
  3879. function GetMediaDisplayEndTime( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayEndTime';
  3880. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3881. {
  3882. * GetMediaDuration()
  3883. *
  3884. * Availability:
  3885. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3886. * CarbonLib: in CarbonLib 1.0 and later
  3887. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3888. * Windows: in qtmlClient.lib 3.0 and later
  3889. }
  3890. function GetMediaDuration( theMedia: Media ): TimeValue; external name '_GetMediaDuration';
  3891. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3892. {
  3893. * GetMediaLanguage()
  3894. *
  3895. * Availability:
  3896. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3897. * CarbonLib: in CarbonLib 1.0 and later
  3898. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3899. * Windows: in qtmlClient.lib 3.0 and later
  3900. }
  3901. function GetMediaLanguage( theMedia: Media ): SInt16; external name '_GetMediaLanguage';
  3902. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3903. {
  3904. * SetMediaLanguage()
  3905. *
  3906. * Availability:
  3907. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3908. * CarbonLib: in CarbonLib 1.0 and later
  3909. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3910. * Windows: in qtmlClient.lib 3.0 and later
  3911. }
  3912. procedure SetMediaLanguage( theMedia: Media; language: SInt16 ); external name '_SetMediaLanguage';
  3913. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3914. {
  3915. * GetMediaQuality()
  3916. *
  3917. * Availability:
  3918. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3919. * CarbonLib: in CarbonLib 1.0 and later
  3920. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3921. * Windows: in qtmlClient.lib 3.0 and later
  3922. }
  3923. function GetMediaQuality( theMedia: Media ): SInt16; external name '_GetMediaQuality';
  3924. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3925. {
  3926. * SetMediaQuality()
  3927. *
  3928. * Availability:
  3929. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3930. * CarbonLib: in CarbonLib 1.0 and later
  3931. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3932. * Windows: in qtmlClient.lib 3.0 and later
  3933. }
  3934. procedure SetMediaQuality( theMedia: Media; quality: SInt16 ); external name '_SetMediaQuality';
  3935. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3936. {
  3937. * GetMediaHandlerDescription()
  3938. *
  3939. * Availability:
  3940. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3941. * CarbonLib: in CarbonLib 1.0 and later
  3942. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3943. * Windows: in qtmlClient.lib 3.0 and later
  3944. }
  3945. procedure GetMediaHandlerDescription( theMedia: Media; var mediaType: OSType; var creatorName: Str255; var creatorManufacturer: OSType ); external name '_GetMediaHandlerDescription';
  3946. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3947. {
  3948. * GetMediaUserData()
  3949. *
  3950. * Availability:
  3951. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3952. * CarbonLib: in CarbonLib 1.0 and later
  3953. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3954. * Windows: in qtmlClient.lib 3.0 and later
  3955. }
  3956. function GetMediaUserData( theMedia: Media ): UserData; external name '_GetMediaUserData';
  3957. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3958. {
  3959. * GetMediaInputMap()
  3960. *
  3961. * Availability:
  3962. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3963. * CarbonLib: in CarbonLib 1.0 and later
  3964. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3965. * Windows: in qtmlClient.lib 3.0 and later
  3966. }
  3967. function GetMediaInputMap( theMedia: Media; var inputMap: QTAtomContainer ): OSErr; external name '_GetMediaInputMap';
  3968. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3969. {
  3970. * SetMediaInputMap()
  3971. *
  3972. * Availability:
  3973. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3974. * CarbonLib: in CarbonLib 1.0 and later
  3975. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3976. * Windows: in qtmlClient.lib 3.0 and later
  3977. }
  3978. function SetMediaInputMap( theMedia: Media; inputMap: QTAtomContainer ): OSErr; external name '_SetMediaInputMap';
  3979. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3980. {************************
  3981. * Media Handler routines
  3982. *************************}
  3983. {
  3984. * GetMediaHandler()
  3985. *
  3986. * Availability:
  3987. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3988. * CarbonLib: in CarbonLib 1.0 and later
  3989. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3990. * Windows: in qtmlClient.lib 3.0 and later
  3991. }
  3992. function GetMediaHandler( theMedia: Media ): MediaHandler; external name '_GetMediaHandler';
  3993. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3994. {
  3995. * SetMediaHandler()
  3996. *
  3997. * Availability:
  3998. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3999. * CarbonLib: in CarbonLib 1.0 and later
  4000. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4001. * Windows: in qtmlClient.lib 3.0 and later
  4002. }
  4003. function SetMediaHandler( theMedia: Media; mH: MediaHandlerComponent ): OSErr; external name '_SetMediaHandler';
  4004. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4005. {************************
  4006. * Media's Data routines
  4007. *************************}
  4008. {
  4009. * BeginMediaEdits()
  4010. *
  4011. * Availability:
  4012. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4013. * CarbonLib: in CarbonLib 1.0 and later
  4014. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4015. * Windows: in qtmlClient.lib 3.0 and later
  4016. }
  4017. function BeginMediaEdits( theMedia: Media ): OSErr; external name '_BeginMediaEdits';
  4018. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4019. {
  4020. * EndMediaEdits()
  4021. *
  4022. * Availability:
  4023. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4024. * CarbonLib: in CarbonLib 1.0 and later
  4025. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4026. * Windows: in qtmlClient.lib 3.0 and later
  4027. }
  4028. function EndMediaEdits( theMedia: Media ): OSErr; external name '_EndMediaEdits';
  4029. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4030. {
  4031. * SetMediaDefaultDataRefIndex()
  4032. *
  4033. * Availability:
  4034. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4035. * CarbonLib: in CarbonLib 1.0 and later
  4036. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4037. * Windows: in qtmlClient.lib 3.0 and later
  4038. }
  4039. function SetMediaDefaultDataRefIndex( theMedia: Media; index: SInt16 ): OSErr; external name '_SetMediaDefaultDataRefIndex';
  4040. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4041. {
  4042. * GetMediaDataHandlerDescription()
  4043. *
  4044. * Availability:
  4045. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4046. * CarbonLib: in CarbonLib 1.0 and later
  4047. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4048. * Windows: in qtmlClient.lib 3.0 and later
  4049. }
  4050. procedure GetMediaDataHandlerDescription( theMedia: Media; index: SInt16; var dhType: OSType; var creatorName: Str255; var creatorManufacturer: OSType ); external name '_GetMediaDataHandlerDescription';
  4051. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4052. {
  4053. * GetMediaDataHandler()
  4054. *
  4055. * Availability:
  4056. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4057. * CarbonLib: in CarbonLib 1.0 and later
  4058. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4059. * Windows: in qtmlClient.lib 3.0 and later
  4060. }
  4061. function GetMediaDataHandler( theMedia: Media; index: SInt16 ): DataHandler; external name '_GetMediaDataHandler';
  4062. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4063. {
  4064. * SetMediaDataHandler()
  4065. *
  4066. * Availability:
  4067. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4068. * CarbonLib: in CarbonLib 1.0 and later
  4069. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4070. * Windows: in qtmlClient.lib 3.0 and later
  4071. }
  4072. function SetMediaDataHandler( theMedia: Media; index: SInt16; dataHandler: DataHandlerComponent ): OSErr; external name '_SetMediaDataHandler';
  4073. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4074. {
  4075. * GetDataHandler()
  4076. *
  4077. * Availability:
  4078. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4079. * CarbonLib: in CarbonLib 1.0 and later
  4080. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4081. * Windows: in qtmlClient.lib 3.0 and later
  4082. }
  4083. function GetDataHandler( dataRef: Handle; dataHandlerSubType: OSType; flags: SIGNEDLONG ): Component; external name '_GetDataHandler';
  4084. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4085. {
  4086. * OpenADataHandler()
  4087. *
  4088. * Availability:
  4089. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4090. * CarbonLib: in CarbonLib 1.1 and later
  4091. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  4092. * Windows: in qtmlClient.lib 4.1 and later
  4093. }
  4094. function OpenADataHandler( dataRef: Handle; dataHandlerSubType: OSType; anchorDataRef: Handle; anchorDataRefType: OSType; tb: TimeBase; flags: SIGNEDLONG; var dh: ComponentInstance ): OSErr; external name '_OpenADataHandler';
  4095. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4096. {************************
  4097. * Media Sample Table Routines
  4098. *************************}
  4099. {
  4100. * GetMediaSampleDescriptionCount()
  4101. *
  4102. * Availability:
  4103. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4104. * CarbonLib: in CarbonLib 1.0 and later
  4105. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4106. * Windows: in qtmlClient.lib 3.0 and later
  4107. }
  4108. function GetMediaSampleDescriptionCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSampleDescriptionCount';
  4109. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4110. {
  4111. * GetMediaSampleDescription()
  4112. *
  4113. * Availability:
  4114. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4115. * CarbonLib: in CarbonLib 1.0 and later
  4116. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4117. * Windows: in qtmlClient.lib 3.0 and later
  4118. }
  4119. procedure GetMediaSampleDescription( theMedia: Media; index: SIGNEDLONG; descH: SampleDescriptionHandle ); external name '_GetMediaSampleDescription';
  4120. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4121. {
  4122. * SetMediaSampleDescription()
  4123. *
  4124. * Availability:
  4125. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4126. * CarbonLib: in CarbonLib 1.0 and later
  4127. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4128. * Windows: in qtmlClient.lib 3.0 and later
  4129. }
  4130. function SetMediaSampleDescription( theMedia: Media; index: SIGNEDLONG; descH: SampleDescriptionHandle ): OSErr; external name '_SetMediaSampleDescription';
  4131. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4132. {
  4133. * GetMediaSampleCount()
  4134. *
  4135. * Availability:
  4136. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4137. * CarbonLib: in CarbonLib 1.0 and later
  4138. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4139. * Windows: in qtmlClient.lib 3.0 and later
  4140. }
  4141. function GetMediaSampleCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSampleCount';
  4142. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4143. {
  4144. * GetMediaSyncSampleCount()
  4145. *
  4146. * Availability:
  4147. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4148. * CarbonLib: in CarbonLib 1.0 and later
  4149. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  4150. * Windows: in qtmlClient.lib 3.0 and later
  4151. }
  4152. function GetMediaSyncSampleCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSyncSampleCount';
  4153. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4154. {
  4155. * MediaContainsDisplayOffsets()
  4156. *
  4157. * Summary:
  4158. * Tests whether a media contains display offsets.
  4159. *
  4160. * Parameters:
  4161. *
  4162. * theMedia:
  4163. * The media for this operation. Your application obtains this
  4164. * media identifier from such functions as NewTrackMedia and
  4165. * GetTrackMedia.
  4166. *
  4167. * Result:
  4168. * True, if the media is valid and contains at least one sample with
  4169. * a nonzero display offset. False otherwise.
  4170. *
  4171. * Availability:
  4172. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4173. * CarbonLib: not available
  4174. * Non-Carbon CFM: not available
  4175. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4176. }
  4177. function MediaContainsDisplayOffsets( theMedia: Media ): Boolean; external name '_MediaContainsDisplayOffsets';
  4178. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4179. {
  4180. * SampleNumToMediaDecodeTime()
  4181. *
  4182. * Summary:
  4183. * Finds the decode time for a specified sample.
  4184. *
  4185. * Parameters:
  4186. *
  4187. * theMedia:
  4188. * The media for this operation. Your application obtains this
  4189. * media identifier from such functions as NewTrackMedia and
  4190. * GetTrackMedia.
  4191. *
  4192. * logicalSampleNum:
  4193. * The sample number.
  4194. *
  4195. * sampleDecodeTime:
  4196. * A pointer to a time value. The function updates this time value
  4197. * to indicate the decode time of the sample specified by the
  4198. * logicalSampleNum parameter. This time value is expressed in the
  4199. * media's time scale. Set this parameter to NULL if you do not
  4200. * want this information.
  4201. *
  4202. * sampleDecodeDuration:
  4203. * A pointer to a time value. The function updates this time value
  4204. * to indicate the decode duration of the sample specified by the
  4205. * logicalSampleNum parameter. This time value is expressed in the
  4206. * media's time scale. Set this parameter to NULL if you do not
  4207. * want this information.
  4208. *
  4209. * Availability:
  4210. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4211. * CarbonLib: not available
  4212. * Non-Carbon CFM: not available
  4213. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4214. }
  4215. procedure SampleNumToMediaDecodeTime( theMedia: Media; logicalSampleNum: SInt64; sampleDecodeTime: TimeValue64Ptr { can be NULL }; sampleDecodeDuration: TimeValue64Ptr { can be NULL} ); external name '_SampleNumToMediaDecodeTime';
  4216. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4217. {
  4218. * MediaDecodeTimeToSampleNum()
  4219. *
  4220. * Summary:
  4221. * Finds the sample for a specified decode time.
  4222. *
  4223. * Parameters:
  4224. *
  4225. * theMedia:
  4226. * The media for this operation. Your application obtains this
  4227. * media identifier from such functions as NewTrackMedia and
  4228. * GetTrackMedia.
  4229. *
  4230. * decodeTime:
  4231. * The decode time for which you are retrieving sample
  4232. * information. You must specify this value in the media's time
  4233. * scale.
  4234. *
  4235. * sampleNum:
  4236. * Points to a variable that is to receive the sample number. The
  4237. * function returns the sample number that identifies the sample
  4238. * that contains data for the specified decode time, or zero if it
  4239. * is not found.
  4240. *
  4241. * sampleDecodeTime:
  4242. * A pointer to a time value. The function updates this time value
  4243. * to indicate the decode time of the sample specified by the
  4244. * logicalSampleNum parameter. This time value is expressed in the
  4245. * media's time scale. Set this parameter to NULL if you do not
  4246. * want this information.
  4247. *
  4248. * sampleDecodeDuration:
  4249. * A pointer to a time value. The function updates this time value
  4250. * to indicate the decode duration of the sample specified by the
  4251. * logicalSampleNum parameter. This time value is expressed in the
  4252. * media's time scale. Set this parameter to NULL if you do not
  4253. * want this information.
  4254. *
  4255. * Availability:
  4256. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4257. * CarbonLib: not available
  4258. * Non-Carbon CFM: not available
  4259. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4260. }
  4261. procedure MediaDecodeTimeToSampleNum( theMedia: Media; decodeTime: TimeValue64; var sampleNum: SInt64; sampleDecodeTime: TimeValue64Ptr { can be NULL }; sampleDecodeDuration: TimeValue64Ptr { can be NULL } ); external name '_MediaDecodeTimeToSampleNum';
  4262. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4263. {
  4264. * SampleNumToMediaDisplayTime()
  4265. *
  4266. * Summary:
  4267. * Finds the display time for a specified sample.
  4268. *
  4269. * Parameters:
  4270. *
  4271. * theMedia:
  4272. * The media for this operation. Your application obtains this
  4273. * media identifier from such functions as NewTrackMedia and
  4274. * GetTrackMedia.
  4275. *
  4276. * logicalSampleNum:
  4277. * The sample number.
  4278. *
  4279. * sampleDisplayTime:
  4280. * A pointer to a time value. The function updates this time value
  4281. * to indicate the display time of the sample specified by the
  4282. * logicalSampleNum parameter. This time value is expressed in the
  4283. * media's time scale. Set this parameter to NULL if you do not
  4284. * want this information.
  4285. *
  4286. * sampleDisplayDuration:
  4287. * A pointer to a time value. The function updates this time value
  4288. * to indicate the display duration of the sample specified by the
  4289. * logicalSampleNum parameter. This time value is expressed in the
  4290. * media's time scale. Set this parameter to NULL if you do not
  4291. * want this information.
  4292. *
  4293. * Availability:
  4294. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4295. * CarbonLib: not available
  4296. * Non-Carbon CFM: not available
  4297. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4298. }
  4299. procedure SampleNumToMediaDisplayTime( theMedia: Media; logicalSampleNum: SInt64; sampleDisplayTime: TimeValue64Ptr { can be NULL }; sampleDisplayDuration: TimeValue64Ptr { can be NULL } ); external name '_SampleNumToMediaDisplayTime';
  4300. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4301. {
  4302. * MediaDisplayTimeToSampleNum()
  4303. *
  4304. * Summary:
  4305. * Finds the sample number for a specified display time.
  4306. *
  4307. * Parameters:
  4308. *
  4309. * theMedia:
  4310. * The media for this operation. Your application obtains this
  4311. * media identifier from such functions as NewTrackMedia and
  4312. * GetTrackMedia.
  4313. *
  4314. * displayTime:
  4315. * The display time for which you are retrieving sample
  4316. * information. You must specify this value in the media's time
  4317. * scale.
  4318. *
  4319. * sampleNum:
  4320. * Points to a long integer that is to receive the sample number.
  4321. * The function returns the sample number that identifies the
  4322. * sample for the specified display time, or zero if it is not
  4323. * found.
  4324. *
  4325. * sampleDisplayTime:
  4326. * A pointer to a time value. The function updates this time value
  4327. * to indicate the display time of the sample specified by the
  4328. * logicalSampleNum parameter. This time value is expressed in the
  4329. * media's time scale. Set this parameter to NULL if you do not
  4330. * want this information.
  4331. *
  4332. * sampleDisplayDuration:
  4333. * A pointer to a time value. The function updates this time value
  4334. * to indicate the display duration of the sample specified by the
  4335. * logicalSampleNum parameter. This time value is expressed in the
  4336. * media's time scale. Set this parameter to NULL if you do not
  4337. * want this information.
  4338. *
  4339. * Availability:
  4340. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4341. * CarbonLib: not available
  4342. * Non-Carbon CFM: not available
  4343. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4344. }
  4345. procedure MediaDisplayTimeToSampleNum( theMedia: Media; displayTime: TimeValue64; var sampleNum: SInt64; var sampleDisplayTime: TimeValue64; var sampleDisplayDuration: TimeValue64 ); external name '_MediaDisplayTimeToSampleNum';
  4346. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4347. {
  4348. * SampleNumToMediaTime()
  4349. *
  4350. * Summary:
  4351. * Finds the media time for a specified sample.
  4352. *
  4353. * Discussion:
  4354. * For media with display offsets, SampleNumToMediaTime is ambiguous
  4355. * and will return kQTMediaHasDisplayOffsetsErr. Call
  4356. * SampleNumToMediaDecodeTime or SampleNumToMediaDisplayTime instead.
  4357. *
  4358. * Availability:
  4359. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4360. * CarbonLib: in CarbonLib 1.0 and later
  4361. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4362. * Windows: in qtmlClient.lib 3.0 and later
  4363. }
  4364. procedure SampleNumToMediaTime( theMedia: Media; logicalSampleNum: SIGNEDLONG; var sampleTime: TimeValue; var sampleDuration: TimeValue ); external name '_SampleNumToMediaTime';
  4365. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4366. {
  4367. * MediaTimeToSampleNum()
  4368. *
  4369. * Summary:
  4370. * Finds the sample number for a specified media time.
  4371. *
  4372. * Discussion:
  4373. * For media with display offsets, MediaTimeToSampleNum is ambiguous
  4374. * and will return kQTMediaHasDisplayOffsetsErr. Call
  4375. * MediaDecodeTimeToSampleNum or MediaDisplayTimeToSampleNum instead.
  4376. *
  4377. * Availability:
  4378. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4379. * CarbonLib: in CarbonLib 1.0 and later
  4380. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4381. * Windows: in qtmlClient.lib 3.0 and later
  4382. }
  4383. procedure MediaTimeToSampleNum( theMedia: Media; time: TimeValue; var sampleNum: SIGNEDLONG; var sampleTime: TimeValue; var sampleDuration: TimeValue ); external name '_MediaTimeToSampleNum';
  4384. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4385. {
  4386. * AddMediaSample2()
  4387. *
  4388. * Summary:
  4389. * Adds sample data and a description to a media. AddMediaSample2
  4390. * extends and supercedes AddMediaSample.
  4391. *
  4392. * Parameters:
  4393. *
  4394. * theMedia:
  4395. * The media for this operation. Your application obtains this
  4396. * media identifier from such functions as NewTrackMedia and
  4397. * GetTrackMedia.
  4398. *
  4399. * dataIn:
  4400. * Points to sample data.
  4401. *
  4402. * size:
  4403. * The number of bytes of sample data to be added to the media.
  4404. * This parameter indicates the total number of bytes in the
  4405. * sample data to be added to the media, not the number of bytes
  4406. * per sample. Use the numberOfSamples parameter to indicate the
  4407. * number of samples that are contained in the sample data.
  4408. *
  4409. * decodeDurationPerSample:
  4410. * The duration of each sample to be added. You must specify this
  4411. * parameter in the media time scale. For example, if you are
  4412. * adding sound that was sampled at 22 kHz to a media that
  4413. * contains a sound track with the same time scale, you would set
  4414. * durationPerSample to 1. Similarly, if you are adding video that
  4415. * was recorded at 10 frames per second to a video media that has
  4416. * a time scale of 600, you would set this parameter to 60 to add
  4417. * a single sample.
  4418. *
  4419. * displayOffset:
  4420. * The offset from decode time to display time of each sample to
  4421. * be added. You must specify this parameter in the media time
  4422. * scale. If the decode times and display times for the samples
  4423. * are identical, pass zero.
  4424. *
  4425. * sampleDescriptionH:
  4426. * A handle to a SampleDescription structure. Some media
  4427. * structures may require sample descriptions. There are different
  4428. * descriptions for different types of samples. For example, a
  4429. * media that contains compressed video requires that you supply
  4430. * an ImageDescription structure. A media that contains sound
  4431. * requires that you supply a SoundDescription structure.
  4432. *
  4433. * numberOfSamples:
  4434. * The number of samples contained in the sample data to be added
  4435. * to the media.
  4436. *
  4437. * sampleFlags:
  4438. * Specifies the media sample flags for the samples to be added.
  4439. *
  4440. * sampleDecodeTimeOut:
  4441. * A pointer to a time value. After adding the sample data to the
  4442. * media, the AddMediaSample function returns the decode time
  4443. * where the first sample was inserted in the time value referred
  4444. * to by this parameter. If you don't want to receive this
  4445. * information, set this parameter to NULL.
  4446. *
  4447. * Availability:
  4448. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4449. * CarbonLib: not available
  4450. * Non-Carbon CFM: not available
  4451. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4452. }
  4453. function AddMediaSample2( theMedia: Media; const (*var*) dataIn: UInt8; size: ByteCount; decodeDurationPerSample: TimeValue64; displayOffset: TimeValue64; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: ItemCount; sampleFlags: MediaSampleFlags; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddMediaSample2';
  4454. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4455. {
  4456. * AddMediaSampleFromEncodedFrame()
  4457. *
  4458. * Summary:
  4459. * Adds sample data and description from an encoded frame to a media.
  4460. *
  4461. * Discussion:
  4462. * This is a convenience API to make it easy to add frames emitted
  4463. * by ICM compression session APIs to media.
  4464. *
  4465. * Parameters:
  4466. *
  4467. * theMedia:
  4468. * The media for this operation. Your application obtains this
  4469. * media identifier from such functions as NewTrackMedia and
  4470. * GetTrackMedia.
  4471. *
  4472. * encodedFrame:
  4473. * An encoded frame token returned by an ICMCompressionSequence.
  4474. *
  4475. * sampleDecodeTimeOut:
  4476. * A pointer to a time value. After adding the sample data to the
  4477. * media, the function returns the decode time where the first
  4478. * sample was inserted in the time value referred to by this
  4479. * parameter. If you don't want to receive this information, set
  4480. * this parameter to NULL.
  4481. *
  4482. * Result:
  4483. * An operating system result code.
  4484. * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
  4485. * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
  4486. * there is already a sample with this display time.
  4487. * kQTDisplayTimeTooEarlyErr if a sample's display time would be
  4488. * earlier than the display time of an existing sample that does not
  4489. * have the mediaSampleEarlierDisplayTimesAllowed flag set.
  4490. *
  4491. * Availability:
  4492. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4493. * CarbonLib: not available
  4494. * Non-Carbon CFM: not available
  4495. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4496. }
  4497. function AddMediaSampleFromEncodedFrame( theMedia: Media; encodedFrame: ICMEncodedFrameRef; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddMediaSampleFromEncodedFrame';
  4498. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4499. {
  4500. * AddSampleTableToMedia()
  4501. *
  4502. * Summary:
  4503. * Adds sample references from a sample table to a media.
  4504. * AddSampleTableToMedia supercedes AddMediaSampleReferences and
  4505. * AddMediaSampleReferences64.
  4506. *
  4507. * Parameters:
  4508. *
  4509. * theMedia:
  4510. * The media for this operation. Your application obtains this
  4511. * media identifier from such functions as NewTrackMedia and
  4512. * GetTrackMedia.
  4513. *
  4514. * sampleTable:
  4515. * The sample table containing sample references to be added to
  4516. * the media.
  4517. *
  4518. * startSampleNum:
  4519. * The sample number of the first sample reference in the sample
  4520. * table to be added to the media. The first sample's number is 1.
  4521. *
  4522. * numberOfSamples:
  4523. * The number of sample references from the sample table to be
  4524. * added to the media.
  4525. *
  4526. * sampleDecodeTimeOut:
  4527. * A pointer to a time value. After adding the sample references
  4528. * to the media, the function returns the decode time where the
  4529. * first sample was inserted in the time value referred to by this
  4530. * parameter. If you don't want to receive this information, set
  4531. * this parameter to NULL.
  4532. *
  4533. * Result:
  4534. * An operating system result code.
  4535. * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
  4536. * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
  4537. * there is already a sample with this display time.
  4538. * kQTDisplayTimeTooEarlyErr if a sample's display time would be
  4539. * earlier than the display time of an existing sample that does not
  4540. * have the mediaSampleEarlierDisplayTimesAllowed flag set.
  4541. *
  4542. * Availability:
  4543. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4544. * CarbonLib: not available
  4545. * Non-Carbon CFM: not available
  4546. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4547. }
  4548. function AddSampleTableToMedia( theMedia: Media; sampleTable: QTSampleTableRef; startSampleNum: SInt64; numberOfSamples: SInt64; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddSampleTableToMedia';
  4549. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4550. {
  4551. * AddMediaSample()
  4552. *
  4553. * Availability:
  4554. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4555. * CarbonLib: in CarbonLib 1.0 and later
  4556. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4557. * Windows: in qtmlClient.lib 3.0 and later
  4558. }
  4559. function AddMediaSample( theMedia: Media; dataIn: Handle; inOffset: SIGNEDLONG; size: UNSIGNEDLONG; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleFlags: SInt16; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSample';
  4560. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4561. {
  4562. * AddMediaSampleReference()
  4563. *
  4564. * Availability:
  4565. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4566. * CarbonLib: in CarbonLib 1.0 and later
  4567. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4568. * Windows: in qtmlClient.lib 3.0 and later
  4569. }
  4570. function AddMediaSampleReference( theMedia: Media; dataOffset: SIGNEDLONG; size: UNSIGNEDLONG; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleFlags: SInt16; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReference';
  4571. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4572. {
  4573. * AddMediaSampleReferences()
  4574. *
  4575. * Availability:
  4576. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4577. * CarbonLib: in CarbonLib 1.0 and later
  4578. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4579. * Windows: in qtmlClient.lib 3.0 and later
  4580. }
  4581. function AddMediaSampleReferences( theMedia: Media; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleRefs: SampleReferencePtr; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReferences';
  4582. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4583. {
  4584. * AddMediaSampleReferences64()
  4585. *
  4586. * Availability:
  4587. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4588. * CarbonLib: in CarbonLib 1.0.2 and later
  4589. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  4590. * Windows: in qtmlClient.lib 4.0 and later
  4591. }
  4592. function AddMediaSampleReferences64( theMedia: Media; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleRefs: SampleReference64Ptr; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReferences64';
  4593. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4594. {
  4595. * ExtendMediaDecodeDurationToDisplayEndTime()
  4596. *
  4597. * Summary:
  4598. * Prepares a media for the addition of a completely new sequence of
  4599. * samples by ensuring that the media display end time is not later
  4600. * than the media decode end time.
  4601. *
  4602. * Discussion:
  4603. * After adding a complete, well-formed set of samples to a media,
  4604. * the media's display end time should be the same as the media's
  4605. * decode end time (also called the media decode duration).
  4606. * However, this is not necessarily the case after individual
  4607. * sample-adding operations, and hence it is possible for a media to
  4608. * be left with a display end time later than its decode end time --
  4609. * if adding a sequence of frames is aborted halfway, for example.
  4610. *
  4611. * This may make it difficult to add a new group of samples, because
  4612. * a well-formed group of samples' earliest display time should be
  4613. * the same as the first frame's decode time. If such a well-formed
  4614. * group is added to an incompletely finished media, frames from the
  4615. * old and new groups frames might collide in display time.
  4616. * ExtendMediaDecodeDurationToDisplayEndTime prevents any such
  4617. * collision or overlap by extending the last sample's decode
  4618. * duration as necessary. It ensures that the next added sample
  4619. * will have a decode time no earlier than the media's display end
  4620. * time. If this was already the case, it makes no change to the
  4621. * media.
  4622. * You can call ExtendMediaDecodeDurationToDisplayEndTime before you
  4623. * begin adding samples to a media if you're not certain that the
  4624. * media was left in a well-finished state. You do not need to call
  4625. * it before adding samples to a newly created media, nor should you
  4626. * call it in between samples from the same compression session.
  4627. *
  4628. * Parameters:
  4629. *
  4630. * theMedia:
  4631. * The media for this operation. Your application obtains this
  4632. * media identifier from such functions as NewTrackMedia and
  4633. * GetTrackMedia.
  4634. *
  4635. * mediaChanged:
  4636. * Points to a variable which will be set to true if any samples
  4637. * in the media were adjusted, false otherwise. If you don't want
  4638. * to receive this information, set this parameter to NULL.
  4639. *
  4640. * Availability:
  4641. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4642. * CarbonLib: not available
  4643. * Non-Carbon CFM: not available
  4644. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4645. }
  4646. function ExtendMediaDecodeDurationToDisplayEndTime( theMedia: Media; var mediaChanged: Boolean ): OSErr; external name '_ExtendMediaDecodeDurationToDisplayEndTime';
  4647. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4648. {
  4649. * GetMediaSample2()
  4650. *
  4651. * Summary:
  4652. * Retrieves sample data from a media file. GetMediaSample2 extends
  4653. * and supercedes GetMediaSample.
  4654. *
  4655. * Discussion:
  4656. * GetMediaSample2 will only return multiple samples that all have
  4657. * the same decode duration per sample, the same display offset, the
  4658. * same sample description, and the same size per sample.
  4659. *
  4660. * Parameters:
  4661. *
  4662. * theMedia:
  4663. * The media for this operation. Your application obtains this
  4664. * media identifier from such functions as NewTrackMedia and
  4665. * GetTrackMedia.
  4666. *
  4667. * dataOut:
  4668. * Points to a buffer to receive sample data. The buffer must be
  4669. * large enough to contain at least maxDataSize bytes. If you do
  4670. * not want to receive sample data, pass NULL.
  4671. *
  4672. * maxDataSize:
  4673. * The maximum number of bytes of data to receive.
  4674. *
  4675. * size:
  4676. * Points to a long integer to receive the number of bytes of
  4677. * sample data returned. Pass NULL if you are not interested this
  4678. * information.
  4679. *
  4680. * decodeTime:
  4681. * The decode time for which you are retrieving sample
  4682. * information. You must specify this value in the media's time
  4683. * scale.
  4684. *
  4685. * sampleDecodeTime:
  4686. * A pointer to a time value. The function updates this time value
  4687. * to indicate the actual decode time of the returned sample data.
  4688. * (The returned time may differ from the time you specified with
  4689. * the decodeTime parameter. This will occur if the time you
  4690. * specified falls in the middle of a sample.) If you are not
  4691. * interested in this information, set this parameter to NULL.
  4692. *
  4693. * decodeDurationPerSample:
  4694. * A pointer to a time value. The function updates this time value
  4695. * to indicate the decode duration of each of the returned
  4696. * samples. This time value is expressed in the media's time
  4697. * scale. Set this parameter to NULL if you don't want this
  4698. * information.
  4699. *
  4700. * displayOffset:
  4701. * A pointer to a time value. The function updates this time value
  4702. * to indicate the display offset of the returned sample. This
  4703. * time value is expressed in the media's time scale. Set this
  4704. * parameter to NULL if you don't want this information.
  4705. *
  4706. * sampleDescriptionH:
  4707. * A handle to a SampleDescription structure. The function returns
  4708. * the sample description corresponding to the returned sample
  4709. * data. The function resizes this handle as appropriate. If you
  4710. * don't want a SampleDescription structure, set this parameter to
  4711. * NULL.
  4712. *
  4713. * sampleDescriptionIndex:
  4714. * A pointer to a long integer. The function returns an index
  4715. * value to the SampleDescription structure that corresponds to
  4716. * the returned sample data. You can retrieve the structure by
  4717. * calling GetMediaSampleDescription and passing this index in the
  4718. * index parameter. If you don't want this information, set this
  4719. * parameter to NULL.
  4720. *
  4721. * maxNumberOfSamples:
  4722. * The maximum number of samples to be returned. The Movie Toolbox
  4723. * does not return more samples than you specify with this
  4724. * parameter. If you set this parameter to 0, the Movie Toolbox
  4725. * uses a value that is appropriate for the media, and returns
  4726. * that value in the field referenced by the numberOfSamples
  4727. * parameter.
  4728. *
  4729. * numberOfSamples:
  4730. * A pointer to a long integer. The function updates the field
  4731. * referred to by this parameter with the number of samples it
  4732. * actually returns. If you don't want this information, set this
  4733. * parameter to NULL.
  4734. *
  4735. * sampleFlags:
  4736. * A pointer to a short integer in which the function returns
  4737. * media sample flags for the returned samples. If you don't want
  4738. * this information, set this parameter to NULL.
  4739. *
  4740. * Result:
  4741. * An operating system result code. maxSizeToGrowTooSmall if the
  4742. * sample data is larger than maxDataSize.
  4743. *
  4744. * Availability:
  4745. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4746. * CarbonLib: not available
  4747. * Non-Carbon CFM: not available
  4748. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4749. }
  4750. function GetMediaSample2( theMedia: Media; var dataOut: UInt8; maxDataSize: ByteCount; var size: ByteCount; decodeTime: TimeValue64; var sampleDecodeTime: TimeValue64; var decodeDurationPerSample: TimeValue64; var displayOffset: TimeValue64; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: ItemCount; maxNumberOfSamples: ItemCount; var numberOfSamples: ItemCount; var sampleFlags: MediaSampleFlags ): OSErr; external name '_GetMediaSample2';
  4751. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4752. {
  4753. * GetMediaSample()
  4754. *
  4755. * Availability:
  4756. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4757. * CarbonLib: in CarbonLib 1.0 and later
  4758. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4759. * Windows: in qtmlClient.lib 3.0 and later
  4760. }
  4761. function GetMediaSample( theMedia: Media; dataOut: Handle; maxSizeToGrow: SIGNEDLONG; var size: SIGNEDLONG; time: TimeValue; var sampleTime: TimeValue; var durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfSamples: SIGNEDLONG; var numberOfSamples: SIGNEDLONG; var sampleFlags: SInt16 ): OSErr; external name '_GetMediaSample';
  4762. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4763. {
  4764. * CopyMediaMutableSampleTable()
  4765. *
  4766. * Summary:
  4767. * Obtains information about sample references in a media in the
  4768. * form of a sample table. CopyMediaMutableSampleTable supercedes
  4769. * GetMediaSampleReferences and GetMediaSampleReferences64.
  4770. *
  4771. * Discussion:
  4772. * When you are done with the returned sample table, release it with
  4773. * QTSampleTableRelease.
  4774. * To find out how many samples were returned in the sample table,
  4775. * call QTSampleTableGetNumberOfSamples.
  4776. *
  4777. * Parameters:
  4778. *
  4779. * theMedia:
  4780. * The media for this operation. Your application obtains this
  4781. * media identifier from such functions as NewTrackMedia and
  4782. * GetTrackMedia.
  4783. *
  4784. * startDecodeTime:
  4785. * The starting decode time of the sample references to be
  4786. * retrieved. You must specify this value in the media's time
  4787. * scale.
  4788. *
  4789. * sampleStartDecodeTime:
  4790. * A pointer to a time value. The function updates this time value
  4791. * to indicate the actual decode time of the first returned sample
  4792. * reference. (The returned time may differ from the time you
  4793. * specified with the startDecodeTime parameter. This will occur
  4794. * if the time you specified falls in the middle of a sample.) If
  4795. * you are not interested in this information, set this parameter
  4796. * to NULL.
  4797. *
  4798. * maxNumberOfSamples:
  4799. * The maximum number of sample references to be returned. If you
  4800. * set this parameter to 0, the Movie Toolbox uses a value that is
  4801. * appropriate to the media.
  4802. *
  4803. * maxDecodeDuration:
  4804. * The maximum decode duration to be returned. The function does
  4805. * not return samples with greater decode duration than you
  4806. * specify with this parameter. If you set this parameter to 0,
  4807. * the Movie Toolbox uses a value that is appropriate for the
  4808. * media.
  4809. *
  4810. * sampleTableOut:
  4811. * A pointer to a sample table reference to receive the newly
  4812. * created mutable sample table.
  4813. *
  4814. * Availability:
  4815. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4816. * CarbonLib: not available
  4817. * Non-Carbon CFM: not available
  4818. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4819. }
  4820. function CopyMediaMutableSampleTable( theMedia: Media; startDecodeTime: TimeValue64; var sampleStartDecodeTime: TimeValue64; maxNumberOfSamples: SInt64; maxDecodeDuration: TimeValue64; var sampleTableOut: QTMutableSampleTableRef ): OSErr; external name '_CopyMediaMutableSampleTable';
  4821. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4822. {
  4823. * GetMediaSampleReference()
  4824. *
  4825. * Availability:
  4826. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4827. * CarbonLib: in CarbonLib 1.0 and later
  4828. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4829. * Windows: in qtmlClient.lib 3.0 and later
  4830. }
  4831. function GetMediaSampleReference( theMedia: Media; var dataOffset: SIGNEDLONG; var size: SIGNEDLONG; time: TimeValue; var sampleTime: TimeValue; var durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfSamples: SIGNEDLONG; var numberOfSamples: SIGNEDLONG; var sampleFlags: SInt16 ): OSErr; external name '_GetMediaSampleReference';
  4832. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4833. {
  4834. * GetMediaSampleReferences()
  4835. *
  4836. * Availability:
  4837. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4838. * CarbonLib: in CarbonLib 1.0 and later
  4839. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4840. * Windows: in qtmlClient.lib 3.0 and later
  4841. }
  4842. function GetMediaSampleReferences( theMedia: Media; time: TimeValue; var sampleTime: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfEntries: SIGNEDLONG; var actualNumberofEntries: SIGNEDLONG; sampleRefs: SampleReferencePtr ): OSErr; external name '_GetMediaSampleReferences';
  4843. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4844. {
  4845. * GetMediaSampleReferences64()
  4846. *
  4847. * Availability:
  4848. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4849. * CarbonLib: in CarbonLib 1.0.2 and later
  4850. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  4851. * Windows: in qtmlClient.lib 4.0 and later
  4852. }
  4853. function GetMediaSampleReferences64( theMedia: Media; time: TimeValue; var sampleTime: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfEntries: SIGNEDLONG; var actualNumberofEntries: SIGNEDLONG; sampleRefs: SampleReference64Ptr ): OSErr; external name '_GetMediaSampleReferences64';
  4854. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4855. {
  4856. * SetMediaPreferredChunkSize()
  4857. *
  4858. * Availability:
  4859. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4860. * CarbonLib: in CarbonLib 1.0 and later
  4861. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4862. * Windows: in qtmlClient.lib 3.0 and later
  4863. }
  4864. function SetMediaPreferredChunkSize( theMedia: Media; maxChunkSize: SIGNEDLONG ): OSErr; external name '_SetMediaPreferredChunkSize';
  4865. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4866. {
  4867. * GetMediaPreferredChunkSize()
  4868. *
  4869. * Availability:
  4870. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4871. * CarbonLib: in CarbonLib 1.0 and later
  4872. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4873. * Windows: in qtmlClient.lib 3.0 and later
  4874. }
  4875. function GetMediaPreferredChunkSize( theMedia: Media; var maxChunkSize: SIGNEDLONG ): OSErr; external name '_GetMediaPreferredChunkSize';
  4876. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4877. {
  4878. * SetMediaShadowSync()
  4879. *
  4880. * Availability:
  4881. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4882. * CarbonLib: in CarbonLib 1.0 and later
  4883. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4884. * Windows: in qtmlClient.lib 3.0 and later
  4885. }
  4886. function SetMediaShadowSync( theMedia: Media; frameDiffSampleNum: SIGNEDLONG; syncSampleNum: SIGNEDLONG ): OSErr; external name '_SetMediaShadowSync';
  4887. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4888. {
  4889. * GetMediaShadowSync()
  4890. *
  4891. * Availability:
  4892. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4893. * CarbonLib: in CarbonLib 1.0 and later
  4894. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4895. * Windows: in qtmlClient.lib 3.0 and later
  4896. }
  4897. function GetMediaShadowSync( theMedia: Media; frameDiffSampleNum: SIGNEDLONG; var syncSampleNum: SIGNEDLONG ): OSErr; external name '_GetMediaShadowSync';
  4898. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4899. {************************
  4900. * Editing Routines
  4901. *************************}
  4902. {
  4903. When inserting media that might have nonzero display offsets into a track, use display time:
  4904. InsertMediaIntoTrack( track,
  4905. 0, // track start time
  4906. GetMediaDisplayStartTime( media ), // media start time
  4907. GetMediaDisplayDuration( media ),
  4908. fixed1 ); // normal speed
  4909. It is safe to use these display time calls for media without display offsets.
  4910. }
  4911. {
  4912. * InsertMediaIntoTrack()
  4913. *
  4914. * Availability:
  4915. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4916. * CarbonLib: in CarbonLib 1.0 and later
  4917. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4918. * Windows: in qtmlClient.lib 3.0 and later
  4919. }
  4920. function InsertMediaIntoTrack( theTrack: Track; trackStart: TimeValue; mediaTime: TimeValue; mediaDuration: TimeValue; mediaRate: Fixed ): OSErr; external name '_InsertMediaIntoTrack';
  4921. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4922. {
  4923. * InsertTrackSegment()
  4924. *
  4925. * Availability:
  4926. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4927. * CarbonLib: in CarbonLib 1.0 and later
  4928. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4929. * Windows: in qtmlClient.lib 3.0 and later
  4930. }
  4931. function InsertTrackSegment( srcTrack: Track; dstTrack: Track; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue ): OSErr; external name '_InsertTrackSegment';
  4932. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4933. {
  4934. * InsertMovieSegment()
  4935. *
  4936. * Availability:
  4937. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4938. * CarbonLib: in CarbonLib 1.0 and later
  4939. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4940. * Windows: in qtmlClient.lib 3.0 and later
  4941. }
  4942. function InsertMovieSegment( srcMovie: Movie; dstMovie: Movie; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue ): OSErr; external name '_InsertMovieSegment';
  4943. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4944. {
  4945. * InsertEmptyTrackSegment()
  4946. *
  4947. * Availability:
  4948. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4949. * CarbonLib: in CarbonLib 1.0 and later
  4950. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4951. * Windows: in qtmlClient.lib 3.0 and later
  4952. }
  4953. function InsertEmptyTrackSegment( dstTrack: Track; dstIn: TimeValue; dstDuration: TimeValue ): OSErr; external name '_InsertEmptyTrackSegment';
  4954. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4955. {
  4956. * InsertEmptyMovieSegment()
  4957. *
  4958. * Availability:
  4959. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4960. * CarbonLib: in CarbonLib 1.0 and later
  4961. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4962. * Windows: in qtmlClient.lib 3.0 and later
  4963. }
  4964. function InsertEmptyMovieSegment( dstMovie: Movie; dstIn: TimeValue; dstDuration: TimeValue ): OSErr; external name '_InsertEmptyMovieSegment';
  4965. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4966. {
  4967. * DeleteTrackSegment()
  4968. *
  4969. * Availability:
  4970. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4971. * CarbonLib: in CarbonLib 1.0 and later
  4972. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4973. * Windows: in qtmlClient.lib 3.0 and later
  4974. }
  4975. function DeleteTrackSegment( theTrack: Track; startTime: TimeValue; duration: TimeValue ): OSErr; external name '_DeleteTrackSegment';
  4976. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4977. {
  4978. * DeleteMovieSegment()
  4979. *
  4980. * Availability:
  4981. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4982. * CarbonLib: in CarbonLib 1.0 and later
  4983. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4984. * Windows: in qtmlClient.lib 3.0 and later
  4985. }
  4986. function DeleteMovieSegment( theMovie: Movie; startTime: TimeValue; duration: TimeValue ): OSErr; external name '_DeleteMovieSegment';
  4987. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4988. {
  4989. * ScaleTrackSegment()
  4990. *
  4991. * Availability:
  4992. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4993. * CarbonLib: in CarbonLib 1.0 and later
  4994. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4995. * Windows: in qtmlClient.lib 3.0 and later
  4996. }
  4997. function ScaleTrackSegment( theTrack: Track; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue ): OSErr; external name '_ScaleTrackSegment';
  4998. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4999. {
  5000. * ScaleMovieSegment()
  5001. *
  5002. * Availability:
  5003. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5004. * CarbonLib: in CarbonLib 1.0 and later
  5005. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5006. * Windows: in qtmlClient.lib 3.0 and later
  5007. }
  5008. function ScaleMovieSegment( theMovie: Movie; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue ): OSErr; external name '_ScaleMovieSegment';
  5009. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5010. {************************
  5011. * Hi-level Editing Routines
  5012. *************************}
  5013. {
  5014. * CutMovieSelection()
  5015. *
  5016. * Availability:
  5017. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5018. * CarbonLib: in CarbonLib 1.0 and later
  5019. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5020. * Windows: in qtmlClient.lib 3.0 and later
  5021. }
  5022. function CutMovieSelection( theMovie: Movie ): Movie; external name '_CutMovieSelection';
  5023. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5024. {
  5025. * CopyMovieSelection()
  5026. *
  5027. * Availability:
  5028. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5029. * CarbonLib: in CarbonLib 1.0 and later
  5030. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5031. * Windows: in qtmlClient.lib 3.0 and later
  5032. }
  5033. function CopyMovieSelection( theMovie: Movie ): Movie; external name '_CopyMovieSelection';
  5034. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5035. {
  5036. * PasteMovieSelection()
  5037. *
  5038. * Availability:
  5039. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5040. * CarbonLib: in CarbonLib 1.0 and later
  5041. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5042. * Windows: in qtmlClient.lib 3.0 and later
  5043. }
  5044. procedure PasteMovieSelection( theMovie: Movie; src: Movie ); external name '_PasteMovieSelection';
  5045. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5046. {
  5047. * AddMovieSelection()
  5048. *
  5049. * Availability:
  5050. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5051. * CarbonLib: in CarbonLib 1.0 and later
  5052. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5053. * Windows: in qtmlClient.lib 3.0 and later
  5054. }
  5055. procedure AddMovieSelection( theMovie: Movie; src: Movie ); external name '_AddMovieSelection';
  5056. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5057. {
  5058. * ClearMovieSelection()
  5059. *
  5060. * Availability:
  5061. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5062. * CarbonLib: in CarbonLib 1.0 and later
  5063. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5064. * Windows: in qtmlClient.lib 3.0 and later
  5065. }
  5066. procedure ClearMovieSelection( theMovie: Movie ); external name '_ClearMovieSelection';
  5067. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5068. {
  5069. * PasteHandleIntoMovie()
  5070. *
  5071. * Availability:
  5072. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5073. * CarbonLib: in CarbonLib 1.0 and later
  5074. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5075. * Windows: in qtmlClient.lib 3.0 and later
  5076. }
  5077. function PasteHandleIntoMovie( h: Handle; handleType: OSType; theMovie: Movie; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_PasteHandleIntoMovie';
  5078. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5079. {
  5080. * PutMovieIntoTypedHandle()
  5081. *
  5082. * Availability:
  5083. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5084. * CarbonLib: in CarbonLib 1.0 and later
  5085. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5086. * Windows: in qtmlClient.lib 3.0 and later
  5087. }
  5088. function PutMovieIntoTypedHandle( theMovie: Movie; targetTrack: Track; handleType: OSType; publicMovie: Handle; start: TimeValue; dur: TimeValue; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_PutMovieIntoTypedHandle';
  5089. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5090. {
  5091. * IsScrapMovie()
  5092. *
  5093. * Availability:
  5094. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5095. * CarbonLib: in CarbonLib 1.0 and later
  5096. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5097. * Windows: in qtmlClient.lib 3.0 and later
  5098. }
  5099. function IsScrapMovie( targetTrack: Track ): Component; external name '_IsScrapMovie';
  5100. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5101. {************************
  5102. * Middle-level Editing Routines
  5103. *************************}
  5104. {
  5105. * CopyTrackSettings()
  5106. *
  5107. * Availability:
  5108. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5109. * CarbonLib: in CarbonLib 1.0 and later
  5110. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5111. * Windows: in qtmlClient.lib 3.0 and later
  5112. }
  5113. function CopyTrackSettings( srcTrack: Track; dstTrack: Track ): OSErr; external name '_CopyTrackSettings';
  5114. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5115. {
  5116. * CopyMovieSettings()
  5117. *
  5118. * Availability:
  5119. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5120. * CarbonLib: in CarbonLib 1.0 and later
  5121. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5122. * Windows: in qtmlClient.lib 3.0 and later
  5123. }
  5124. function CopyMovieSettings( srcMovie: Movie; dstMovie: Movie ): OSErr; external name '_CopyMovieSettings';
  5125. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5126. {
  5127. * AddEmptyTrackToMovie()
  5128. *
  5129. * Availability:
  5130. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5131. * CarbonLib: in CarbonLib 1.0 and later
  5132. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5133. * Windows: in qtmlClient.lib 3.0 and later
  5134. }
  5135. function AddEmptyTrackToMovie( srcTrack: Track; dstMovie: Movie; dataRef: Handle; dataRefType: OSType; var dstTrack: Track ): OSErr; external name '_AddEmptyTrackToMovie';
  5136. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5137. const
  5138. kQTCloneShareSamples = 1 shl 0;
  5139. kQTCloneDontCopyEdits = 1 shl 1;
  5140. {
  5141. * AddClonedTrackToMovie()
  5142. *
  5143. * Availability:
  5144. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5145. * CarbonLib: in CarbonLib 1.3 and later
  5146. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  5147. * Windows: in qtmlClient.lib 5.0 and later
  5148. }
  5149. function AddClonedTrackToMovie( srcTrack: Track; dstMovie: Movie; flags: SIGNEDLONG; var dstTrack: Track ): OSErr; external name '_AddClonedTrackToMovie';
  5150. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5151. {************************
  5152. * movie & track edit state routines
  5153. *************************}
  5154. {
  5155. * NewMovieEditState()
  5156. *
  5157. * Availability:
  5158. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5159. * CarbonLib: in CarbonLib 1.0 and later
  5160. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5161. * Windows: in qtmlClient.lib 3.0 and later
  5162. }
  5163. function NewMovieEditState( theMovie: Movie ): MovieEditState; external name '_NewMovieEditState';
  5164. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5165. {
  5166. * UseMovieEditState()
  5167. *
  5168. * Availability:
  5169. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5170. * CarbonLib: in CarbonLib 1.0 and later
  5171. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5172. * Windows: in qtmlClient.lib 3.0 and later
  5173. }
  5174. function UseMovieEditState( theMovie: Movie; toState: MovieEditState ): OSErr; external name '_UseMovieEditState';
  5175. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5176. {
  5177. * DisposeMovieEditState()
  5178. *
  5179. * Availability:
  5180. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5181. * CarbonLib: in CarbonLib 1.0 and later
  5182. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5183. * Windows: in qtmlClient.lib 3.0 and later
  5184. }
  5185. function DisposeMovieEditState( state: MovieEditState ): OSErr; external name '_DisposeMovieEditState';
  5186. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5187. {
  5188. * NewTrackEditState()
  5189. *
  5190. * Availability:
  5191. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5192. * CarbonLib: in CarbonLib 1.0 and later
  5193. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5194. * Windows: in qtmlClient.lib 3.0 and later
  5195. }
  5196. function NewTrackEditState( theTrack: Track ): TrackEditState; external name '_NewTrackEditState';
  5197. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5198. {
  5199. * UseTrackEditState()
  5200. *
  5201. * Availability:
  5202. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5203. * CarbonLib: in CarbonLib 1.0 and later
  5204. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5205. * Windows: in qtmlClient.lib 3.0 and later
  5206. }
  5207. function UseTrackEditState( theTrack: Track; state: TrackEditState ): OSErr; external name '_UseTrackEditState';
  5208. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5209. {
  5210. * DisposeTrackEditState()
  5211. *
  5212. * Availability:
  5213. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5214. * CarbonLib: in CarbonLib 1.0 and later
  5215. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5216. * Windows: in qtmlClient.lib 3.0 and later
  5217. }
  5218. function DisposeTrackEditState( state: TrackEditState ): OSErr; external name '_DisposeTrackEditState';
  5219. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5220. {************************
  5221. * track reference routines
  5222. *************************}
  5223. {
  5224. * AddTrackReference()
  5225. *
  5226. * Availability:
  5227. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5228. * CarbonLib: in CarbonLib 1.0 and later
  5229. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5230. * Windows: in qtmlClient.lib 3.0 and later
  5231. }
  5232. function AddTrackReference( theTrack: Track; refTrack: Track; refType: OSType; var addedIndex: SIGNEDLONG ): OSErr; external name '_AddTrackReference';
  5233. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5234. {
  5235. * DeleteTrackReference()
  5236. *
  5237. * Availability:
  5238. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5239. * CarbonLib: in CarbonLib 1.0 and later
  5240. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5241. * Windows: in qtmlClient.lib 3.0 and later
  5242. }
  5243. function DeleteTrackReference( theTrack: Track; refType: OSType; index: SIGNEDLONG ): OSErr; external name '_DeleteTrackReference';
  5244. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5245. {
  5246. * SetTrackReference()
  5247. *
  5248. * Availability:
  5249. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5250. * CarbonLib: in CarbonLib 1.0 and later
  5251. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5252. * Windows: in qtmlClient.lib 3.0 and later
  5253. }
  5254. function SetTrackReference( theTrack: Track; refTrack: Track; refType: OSType; index: SIGNEDLONG ): OSErr; external name '_SetTrackReference';
  5255. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5256. {
  5257. * GetTrackReference()
  5258. *
  5259. * Availability:
  5260. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5261. * CarbonLib: in CarbonLib 1.0 and later
  5262. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5263. * Windows: in qtmlClient.lib 3.0 and later
  5264. }
  5265. function GetTrackReference( theTrack: Track; refType: OSType; index: SIGNEDLONG ): Track; external name '_GetTrackReference';
  5266. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5267. {
  5268. * GetNextTrackReferenceType()
  5269. *
  5270. * Availability:
  5271. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5272. * CarbonLib: in CarbonLib 1.0 and later
  5273. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5274. * Windows: in qtmlClient.lib 3.0 and later
  5275. }
  5276. function GetNextTrackReferenceType( theTrack: Track; refType: OSType ): OSType; external name '_GetNextTrackReferenceType';
  5277. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5278. {
  5279. * GetTrackReferenceCount()
  5280. *
  5281. * Availability:
  5282. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5283. * CarbonLib: in CarbonLib 1.0 and later
  5284. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5285. * Windows: in qtmlClient.lib 3.0 and later
  5286. }
  5287. function GetTrackReferenceCount( theTrack: Track; refType: OSType ): SIGNEDLONG; external name '_GetTrackReferenceCount';
  5288. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5289. {************************
  5290. * high level file conversion routines
  5291. *************************}
  5292. {
  5293. * ConvertFileToMovieFile()
  5294. *
  5295. * Availability:
  5296. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5297. * CarbonLib: in CarbonLib 1.0 and later
  5298. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5299. * Windows: in qtmlClient.lib 3.0 and later
  5300. }
  5301. function ConvertFileToMovieFile( const (*var*) inputFile: FSSpec; const (*var*) outputFile: FSSpec; creator: OSType; scriptTag: ScriptCode; var resID: SInt16; flags: SIGNEDLONG; userComp: ComponentInstance; proc: MovieProgressUPP; refCon: SIGNEDLONG ): OSErr; external name '_ConvertFileToMovieFile';
  5302. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5303. {
  5304. * ConvertMovieToFile()
  5305. *
  5306. * Availability:
  5307. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5308. * CarbonLib: in CarbonLib 1.0 and later
  5309. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5310. * Windows: in qtmlClient.lib 3.0 and later
  5311. }
  5312. function ConvertMovieToFile( theMovie: Movie; onlyTrack: Track; var outputFile: FSSpec; fileType: OSType; creator: OSType; scriptTag: ScriptCode; var resID: SInt16; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_ConvertMovieToFile';
  5313. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5314. {
  5315. * ConvertMovieToDataRef()
  5316. *
  5317. * Availability:
  5318. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  5319. * CarbonLib: not available
  5320. * Non-Carbon CFM: not available
  5321. * Windows: in qtmlClient.lib 6.5 and later
  5322. }
  5323. function ConvertMovieToDataRef( m: Movie; onlyTrack: Track; dataRef: Handle; dataRefType: OSType; fileType: OSType; creator: OSType; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_ConvertMovieToDataRef';
  5324. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  5325. {
  5326. * ConvertDataRefToMovieDataRef()
  5327. *
  5328. * Availability:
  5329. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  5330. * CarbonLib: not available
  5331. * Non-Carbon CFM: not available
  5332. * Windows: in qtmlClient.lib 6.5 and later
  5333. }
  5334. function ConvertDataRefToMovieDataRef( inputDataRef: Handle; inputDataRefType: OSType; outputDataRef: Handle; outputDataRefType: OSType; creator: OSType; flags: SIGNEDLONG; userComp: ComponentInstance; proc: MovieProgressUPP; refCon: SIGNEDLONG ): OSErr; external name '_ConvertDataRefToMovieDataRef';
  5335. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  5336. const
  5337. kGetMovieImporterValidateToFind = 1 shl 0;
  5338. kGetMovieImporterAllowNewFile = 1 shl 1;
  5339. kGetMovieImporterDontConsiderGraphicsImporters = 1 shl 2;
  5340. kGetMovieImporterDontConsiderFileOnlyImporters = 1 shl 6;
  5341. kGetMovieImporterAutoImportOnly = 1 shl 10; { reject aggressive movie importers which have dontAutoFileMovieImport set}
  5342. {
  5343. * GetMovieImporterForDataRef()
  5344. *
  5345. * Availability:
  5346. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5347. * CarbonLib: in CarbonLib 1.0 and later
  5348. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  5349. * Windows: in qtmlClient.lib 3.0 and later
  5350. }
  5351. function GetMovieImporterForDataRef( dataRefType: OSType; dataRef: Handle; flags: SIGNEDLONG; var importer: Component ): OSErr; external name '_GetMovieImporterForDataRef';
  5352. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5353. const
  5354. kQTGetMIMETypeInfoIsQuickTimeMovieType = FourCharCode('moov'); { info is a pointer to a Boolean}
  5355. kQTGetMIMETypeInfoIsUnhelpfulType = FourCharCode('dumb'); { info is a pointer to a Boolean}
  5356. {
  5357. * QTGetMIMETypeInfo()
  5358. *
  5359. * Availability:
  5360. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5361. * CarbonLib: in CarbonLib 1.3 and later
  5362. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  5363. * Windows: in qtmlClient.lib 5.0 and later
  5364. }
  5365. function QTGetMIMETypeInfo( mimeStringStart: ConstCStringPtr; mimeStringLength: SInt16; infoSelector: OSType; infoDataPtr: UnivPtr; var infoDataSize: SIGNEDLONG ): OSErr; external name '_QTGetMIMETypeInfo';
  5366. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5367. {***************************
  5368. * Movie importer properties
  5369. ****************************}
  5370. const
  5371. kQTPropertyClass_MovieImporter = FourCharCode('eat ');
  5372. {
  5373. * kQTMovieImporterPropertyID_AllowMediaOptimization: Value is
  5374. * Boolean (get/set) Allow QuickTime importers to optimize the media
  5375. * representation during import. This may create media that is not
  5376. * fully compatible with applications that use older low-level APIs
  5377. * to access and manipulate media samples. For instance, this
  5378. * property allows the MP3 importer to create VBR sample tables,
  5379. * which may be incompatible with applications that use
  5380. * GetMediaSample and SoundConverter to manually decode audio samples.
  5381. }
  5382. kQTMovieImporterPropertyID_AllowMediaOptimization = FourCharCode('amop'); { Boolean}
  5383. {************************
  5384. * Movie Timebase Conversion Routines
  5385. *************************}
  5386. {
  5387. * TrackTimeToMediaDisplayTime()
  5388. *
  5389. * Summary:
  5390. * Converts a track's time value to a display time value that is
  5391. * appropriate to the track's media, using the track's edit list.
  5392. * This is a 64-bit replacement for TrackTimeToMediaTime.
  5393. *
  5394. * Discussion:
  5395. * This function maps the track time through the track's edit list
  5396. * to come up with the media time. This time value contains the
  5397. * track's time value according to the media's time coordinate
  5398. * system. If the time you specified lies outside of the movie's
  5399. * active segment or corresponds to empty space in the track, this
  5400. * function returns a value of -1. Hence you can use it to determine
  5401. * whether a specified track edit is empty.
  5402. *
  5403. * Parameters:
  5404. *
  5405. * value:
  5406. * The track's time value; must be expressed in the time scale of
  5407. * the movie that contains the track.
  5408. *
  5409. * theTrack:
  5410. * The track for this operation. Your application obtains this
  5411. * track identifier from such functions as NewMovieTrack and
  5412. * GetMovieTrack.
  5413. *
  5414. * Result:
  5415. * The corresponding time in media display time, in the media's time
  5416. * coordinate system. If the track time corresponds to empty space,
  5417. * this function returns a value of -1.
  5418. *
  5419. * Availability:
  5420. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5421. * CarbonLib: not available
  5422. * Non-Carbon CFM: not available
  5423. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5424. }
  5425. function TrackTimeToMediaDisplayTime( value: TimeValue64; theTrack: Track ): TimeValue64; external name '_TrackTimeToMediaDisplayTime';
  5426. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5427. {
  5428. * TrackTimeToMediaTime()
  5429. *
  5430. * Availability:
  5431. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5432. * CarbonLib: in CarbonLib 1.0 and later
  5433. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5434. * Windows: in qtmlClient.lib 3.0 and later
  5435. }
  5436. function TrackTimeToMediaTime( value: TimeValue; theTrack: Track ): TimeValue; external name '_TrackTimeToMediaTime';
  5437. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5438. {
  5439. * GetTrackEditRate64()
  5440. *
  5441. * Summary:
  5442. * Returns the rate of the track edit of a specified track at an
  5443. * indicated time. This is a 64-bit replacement for GetTrackEditRate.
  5444. *
  5445. * Discussion:
  5446. * This function is useful if you are stepping through track edits
  5447. * directly in your application or if you are a client of
  5448. * QuickTime's base media handler.
  5449. *
  5450. * Parameters:
  5451. *
  5452. * theTrack:
  5453. * The track identifier for which the rate of a track edit (at the
  5454. * time given in the atTime parameter) is to be determined.
  5455. *
  5456. * atTime:
  5457. * Indicates a time value at which the rate of a track edit (of a
  5458. * track identified in the parameter theTrack) is to be determined.
  5459. *
  5460. * Result:
  5461. * The rate of the track edit of the specified track at the
  5462. * specified time.
  5463. *
  5464. * Availability:
  5465. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5466. * CarbonLib: not available
  5467. * Non-Carbon CFM: not available
  5468. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5469. }
  5470. function GetTrackEditRate64( theTrack: Track; atTime: TimeValue64 ): Fixed; external name '_GetTrackEditRate64';
  5471. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5472. {
  5473. * GetTrackEditRate()
  5474. *
  5475. * Availability:
  5476. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5477. * CarbonLib: in CarbonLib 1.0 and later
  5478. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5479. * Windows: in qtmlClient.lib 3.0 and later
  5480. }
  5481. function GetTrackEditRate( theTrack: Track; atTime: TimeValue ): Fixed; external name '_GetTrackEditRate';
  5482. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5483. {************************
  5484. * Miscellaneous Routines
  5485. *************************}
  5486. {
  5487. * GetMovieDataSize()
  5488. *
  5489. * Availability:
  5490. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5491. * CarbonLib: in CarbonLib 1.0 and later
  5492. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5493. * Windows: in qtmlClient.lib 3.0 and later
  5494. }
  5495. function GetMovieDataSize( theMovie: Movie; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetMovieDataSize';
  5496. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5497. {
  5498. * GetMovieDataSize64()
  5499. *
  5500. * Availability:
  5501. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5502. * CarbonLib: in CarbonLib 1.0.2 and later
  5503. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5504. * Windows: in qtmlClient.lib 4.0 and later
  5505. }
  5506. function GetMovieDataSize64( theMovie: Movie; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetMovieDataSize64';
  5507. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5508. {
  5509. * GetTrackDataSize()
  5510. *
  5511. * Availability:
  5512. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5513. * CarbonLib: in CarbonLib 1.0 and later
  5514. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5515. * Windows: in qtmlClient.lib 3.0 and later
  5516. }
  5517. function GetTrackDataSize( theTrack: Track; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetTrackDataSize';
  5518. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5519. {
  5520. * GetTrackDataSize64()
  5521. *
  5522. * Availability:
  5523. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5524. * CarbonLib: in CarbonLib 1.0.2 and later
  5525. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5526. * Windows: in qtmlClient.lib 4.0 and later
  5527. }
  5528. function GetTrackDataSize64( theTrack: Track; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetTrackDataSize64';
  5529. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5530. {
  5531. * GetMediaDataSizeTime64()
  5532. *
  5533. * Summary:
  5534. * Determines the size, in bytes, of the sample data in a media
  5535. * segment. This function uses 64-bit time values and returns a
  5536. * 64-bit size.
  5537. *
  5538. * Discussion:
  5539. * The only difference between this function and GetMediaDataSize64
  5540. * is that it uses 64-bit time values.
  5541. *
  5542. * Parameters:
  5543. *
  5544. * theMedia:
  5545. * The media for this operation. Your application obtains this
  5546. * media identifier from such functions as NewTrackMedia and
  5547. * GetTrackMedia.
  5548. *
  5549. * startDisplayTime:
  5550. * A time value specifying the starting point of the segment in
  5551. * media display time.
  5552. *
  5553. * displayDuration:
  5554. * A time value that specifies the duration of the segment in
  5555. * media display time.
  5556. *
  5557. * dataSize:
  5558. * Points to a variable to receive the size, in bytes, of the
  5559. * sample data in the defined media segment.
  5560. *
  5561. * Availability:
  5562. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5563. * CarbonLib: not available
  5564. * Non-Carbon CFM: not available
  5565. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5566. }
  5567. function GetMediaDataSizeTime64( theMedia: Media; startDisplayTime: TimeValue64; displayDuration: TimeValue64; var dataSize: SInt64 ): OSErr; external name '_GetMediaDataSizeTime64';
  5568. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5569. {
  5570. * GetMediaDataSize()
  5571. *
  5572. * Availability:
  5573. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5574. * CarbonLib: in CarbonLib 1.0 and later
  5575. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5576. * Windows: in qtmlClient.lib 3.0 and later
  5577. }
  5578. function GetMediaDataSize( theMedia: Media; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetMediaDataSize';
  5579. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5580. {
  5581. * GetMediaDataSize64()
  5582. *
  5583. * Availability:
  5584. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5585. * CarbonLib: in CarbonLib 1.0.2 and later
  5586. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5587. * Windows: in qtmlClient.lib 4.0 and later
  5588. }
  5589. function GetMediaDataSize64( theMedia: Media; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetMediaDataSize64';
  5590. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5591. {
  5592. * PtInMovie()
  5593. *
  5594. * Availability:
  5595. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5596. * CarbonLib: in CarbonLib 1.0 and later
  5597. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5598. * Windows: in qtmlClient.lib 3.0 and later
  5599. }
  5600. function PtInMovie( theMovie: Movie; pt: Point ): Boolean; external name '_PtInMovie';
  5601. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5602. {
  5603. * PtInTrack()
  5604. *
  5605. * Availability:
  5606. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5607. * CarbonLib: in CarbonLib 1.0 and later
  5608. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5609. * Windows: in qtmlClient.lib 3.0 and later
  5610. }
  5611. function PtInTrack( theTrack: Track; pt: Point ): Boolean; external name '_PtInTrack';
  5612. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5613. {************************
  5614. * Group Selection Routines
  5615. *************************}
  5616. {
  5617. * SetMovieLanguage()
  5618. *
  5619. * Availability:
  5620. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5621. * CarbonLib: in CarbonLib 1.0 and later
  5622. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5623. * Windows: in qtmlClient.lib 3.0 and later
  5624. }
  5625. procedure SetMovieLanguage( theMovie: Movie; language: SIGNEDLONG ); external name '_SetMovieLanguage';
  5626. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5627. {************************
  5628. * User Data
  5629. *************************}
  5630. {
  5631. * GetUserData()
  5632. *
  5633. * Availability:
  5634. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5635. * CarbonLib: in CarbonLib 1.0 and later
  5636. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5637. * Windows: in qtmlClient.lib 3.0 and later
  5638. }
  5639. function GetUserData( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_GetUserData';
  5640. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5641. {
  5642. * AddUserData()
  5643. *
  5644. * Availability:
  5645. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5646. * CarbonLib: in CarbonLib 1.0 and later
  5647. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5648. * Windows: in qtmlClient.lib 3.0 and later
  5649. }
  5650. function AddUserData( theUserData: UserData; data: Handle; udType: OSType ): OSErr; external name '_AddUserData';
  5651. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5652. {
  5653. * RemoveUserData()
  5654. *
  5655. * Availability:
  5656. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5657. * CarbonLib: in CarbonLib 1.0 and later
  5658. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5659. * Windows: in qtmlClient.lib 3.0 and later
  5660. }
  5661. function RemoveUserData( theUserData: UserData; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_RemoveUserData';
  5662. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5663. {
  5664. * CountUserDataType()
  5665. *
  5666. * Availability:
  5667. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5668. * CarbonLib: in CarbonLib 1.0 and later
  5669. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5670. * Windows: in qtmlClient.lib 3.0 and later
  5671. }
  5672. function CountUserDataType( theUserData: UserData; udType: OSType ): SInt16; external name '_CountUserDataType';
  5673. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5674. {
  5675. * GetNextUserDataType()
  5676. *
  5677. * Availability:
  5678. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5679. * CarbonLib: in CarbonLib 1.0 and later
  5680. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5681. * Windows: in qtmlClient.lib 3.0 and later
  5682. }
  5683. function GetNextUserDataType( theUserData: UserData; udType: OSType ): SIGNEDLONG; external name '_GetNextUserDataType';
  5684. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5685. {
  5686. * GetUserDataItem()
  5687. *
  5688. * Availability:
  5689. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5690. * CarbonLib: in CarbonLib 1.0 and later
  5691. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5692. * Windows: in qtmlClient.lib 3.0 and later
  5693. }
  5694. function GetUserDataItem( theUserData: UserData; data: UnivPtr; size: SIGNEDLONG; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_GetUserDataItem';
  5695. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5696. {
  5697. * SetUserDataItem()
  5698. *
  5699. * Availability:
  5700. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5701. * CarbonLib: in CarbonLib 1.0 and later
  5702. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5703. * Windows: in qtmlClient.lib 3.0 and later
  5704. }
  5705. function SetUserDataItem( theUserData: UserData; data: UnivPtr; size: SIGNEDLONG; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_SetUserDataItem';
  5706. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5707. {
  5708. * AddUserDataText()
  5709. *
  5710. * Availability:
  5711. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5712. * CarbonLib: in CarbonLib 1.0 and later
  5713. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5714. * Windows: in qtmlClient.lib 3.0 and later
  5715. }
  5716. function AddUserDataText( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_AddUserDataText';
  5717. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5718. {
  5719. * GetUserDataText()
  5720. *
  5721. * Availability:
  5722. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5723. * CarbonLib: in CarbonLib 1.0 and later
  5724. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5725. * Windows: in qtmlClient.lib 3.0 and later
  5726. }
  5727. function GetUserDataText( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_GetUserDataText';
  5728. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5729. {
  5730. * RemoveUserDataText()
  5731. *
  5732. * Availability:
  5733. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5734. * CarbonLib: in CarbonLib 1.0 and later
  5735. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5736. * Windows: in qtmlClient.lib 3.0 and later
  5737. }
  5738. function RemoveUserDataText( theUserData: UserData; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_RemoveUserDataText';
  5739. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5740. {
  5741. * NewUserData()
  5742. *
  5743. * Availability:
  5744. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5745. * CarbonLib: in CarbonLib 1.0 and later
  5746. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5747. * Windows: in qtmlClient.lib 3.0 and later
  5748. }
  5749. function NewUserData( var theUserData: UserData ): OSErr; external name '_NewUserData';
  5750. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5751. {
  5752. * DisposeUserData()
  5753. *
  5754. * Availability:
  5755. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5756. * CarbonLib: in CarbonLib 1.0 and later
  5757. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5758. * Windows: in qtmlClient.lib 3.0 and later
  5759. }
  5760. function DisposeUserData( theUserData: UserData ): OSErr; external name '_DisposeUserData';
  5761. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5762. {
  5763. * NewUserDataFromHandle()
  5764. *
  5765. * Availability:
  5766. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5767. * CarbonLib: in CarbonLib 1.0 and later
  5768. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5769. * Windows: in qtmlClient.lib 3.0 and later
  5770. }
  5771. function NewUserDataFromHandle( h: Handle; var theUserData: UserData ): OSErr; external name '_NewUserDataFromHandle';
  5772. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5773. {
  5774. * PutUserDataIntoHandle()
  5775. *
  5776. * Availability:
  5777. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5778. * CarbonLib: in CarbonLib 1.0 and later
  5779. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5780. * Windows: in qtmlClient.lib 3.0 and later
  5781. }
  5782. function PutUserDataIntoHandle( theUserData: UserData; h: Handle ): OSErr; external name '_PutUserDataIntoHandle';
  5783. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5784. const
  5785. kQTCopyUserDataReplace = FourCharCode('rplc'); { Delete all destination user data items and then add source user data items }
  5786. kQTCopyUserDataMerge = FourCharCode('merg'); { Add source user data items to destination user data }
  5787. {
  5788. * CopyMovieUserData()
  5789. *
  5790. * Availability:
  5791. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5792. * CarbonLib: in CarbonLib 1.6 and later
  5793. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5794. * Windows: in qtmlClient.lib 6.0 and later
  5795. }
  5796. function CopyMovieUserData( srcMovie: Movie; dstMovie: Movie; copyRule: OSType ): OSErr; external name '_CopyMovieUserData';
  5797. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5798. {
  5799. * CopyTrackUserData()
  5800. *
  5801. * Availability:
  5802. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5803. * CarbonLib: in CarbonLib 1.6 and later
  5804. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5805. * Windows: in qtmlClient.lib 6.0 and later
  5806. }
  5807. function CopyTrackUserData( srcTrack: Track; dstTrack: Track; copyRule: OSType ): OSErr; external name '_CopyTrackUserData';
  5808. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5809. {
  5810. * CopyMediaUserData()
  5811. *
  5812. * Availability:
  5813. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5814. * CarbonLib: in CarbonLib 1.6 and later
  5815. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5816. * Windows: in qtmlClient.lib 6.0 and later
  5817. }
  5818. function CopyMediaUserData( srcMedia: Media; dstMedia: Media; copyRule: OSType ): OSErr; external name '_CopyMediaUserData';
  5819. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5820. {
  5821. * CopyUserData()
  5822. *
  5823. * Availability:
  5824. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5825. * CarbonLib: in CarbonLib 1.6 and later
  5826. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5827. * Windows: in qtmlClient.lib 6.0 and later
  5828. }
  5829. function CopyUserData( srcUserData: UserData; dstUserData: UserData; copyRule: OSType ): OSErr; external name '_CopyUserData';
  5830. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5831. {
  5832. * SetMoviePropertyAtom()
  5833. *
  5834. * Availability:
  5835. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5836. * CarbonLib: in CarbonLib 1.1 and later
  5837. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  5838. * Windows: in qtmlClient.lib 4.1 and later
  5839. }
  5840. function SetMoviePropertyAtom( theMovie: Movie; propertyAtom: QTAtomContainer ): OSErr; external name '_SetMoviePropertyAtom';
  5841. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5842. {
  5843. * GetMoviePropertyAtom()
  5844. *
  5845. * Availability:
  5846. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5847. * CarbonLib: in CarbonLib 1.1 and later
  5848. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  5849. * Windows: in qtmlClient.lib 4.1 and later
  5850. }
  5851. function GetMoviePropertyAtom( theMovie: Movie; var propertyAtom: QTAtomContainer ): OSErr; external name '_GetMoviePropertyAtom';
  5852. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5853. {
  5854. * GetMediaNextInterestingDecodeTime()
  5855. *
  5856. * Summary:
  5857. * Searches for decode times of interest in a media.
  5858. *
  5859. * Discussion:
  5860. * This function takes the same flags as GetMediaNextInterestingTime.
  5861. *
  5862. * Parameters:
  5863. *
  5864. * theMedia:
  5865. * The media for this operation. Your application obtains this
  5866. * media identifier from such functions as NewTrackMedia and
  5867. * GetTrackMedia.
  5868. *
  5869. * interestingTimeFlags:
  5870. * Contains flags that determine the search criteria. Note that
  5871. * you may set only one of the nextTimeMediaSample,
  5872. * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
  5873. * flags to 0.
  5874. *
  5875. * decodeTime:
  5876. * Specifies a time value that establishes the starting point for
  5877. * the search. This time value must be expressed in the media's
  5878. * time scale.
  5879. *
  5880. * rate:
  5881. * The search direction. Negative values cause the Movie Toolbox
  5882. * to search backward from the starting point specified in the
  5883. * decodeTime parameter. Other values cause a forward search.
  5884. *
  5885. * interestingDecodeTime:
  5886. * A pointer to a time value. The Movie Toolbox returns the first
  5887. * decode time value it finds that meets the search criteria
  5888. * specified in the flags parameter. This time value is in the
  5889. * media's time scale. If there are no times that meet the search
  5890. * criteria you specify, the Movie Toolbox sets this value to -1.
  5891. * Set this parameter to NULL if you are not interested in this
  5892. * information.
  5893. *
  5894. * interestingDecodeDuration:
  5895. * A pointer to a time value. The Movie Toolbox returns the decode
  5896. * duration of the interesting time. This time value is in the
  5897. * media's time coordinate system. Set this parameter to NULL if
  5898. * you don't want this information; this lets the function work
  5899. * faster.
  5900. *
  5901. * Availability:
  5902. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5903. * CarbonLib: not available
  5904. * Non-Carbon CFM: not available
  5905. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5906. }
  5907. procedure GetMediaNextInterestingDecodeTime( theMedia: Media; interestingTimeFlags: SInt16; decodeTime: TimeValue64; rate: Fixed; var interestingDecodeTime: TimeValue64; var interestingDecodeDuration: TimeValue64 ); external name '_GetMediaNextInterestingDecodeTime';
  5908. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5909. {
  5910. * GetMediaNextInterestingDisplayTime()
  5911. *
  5912. * Summary:
  5913. * Searches for display times of interest in a media.
  5914. *
  5915. * Discussion:
  5916. * This function takes the same flags as GetMediaNextInterestingTime.
  5917. *
  5918. * Parameters:
  5919. *
  5920. * theMedia:
  5921. * The media for this operation. Your application obtains this
  5922. * media identifier from such functions as NewTrackMedia and
  5923. * GetTrackMedia.
  5924. *
  5925. * interestingTimeFlags:
  5926. * Contains flags that determine the search criteria. Note that
  5927. * you may set only one of the nextTimeMediaSample,
  5928. * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
  5929. * flags to 0.
  5930. *
  5931. * displayTime:
  5932. * Specifies a time value that establishes the starting point for
  5933. * the search. This time value must be expressed in the media's
  5934. * time scale.
  5935. *
  5936. * rate:
  5937. * The search direction. Negative values cause the Movie Toolbox
  5938. * to search backward from the starting point specified in the
  5939. * time parameter. Other values cause a forward search.
  5940. *
  5941. * interestingDisplayTime:
  5942. * A pointer to a time value. The Movie Toolbox returns the first
  5943. * display time value it finds that meets the search criteria
  5944. * specified in the flags parameter. This time value is in the
  5945. * media's time scale. If there are no times that meet the search
  5946. * criteria you specify, the Movie Toolbox sets this value to -1.
  5947. * Set this parameter to NULL if you are not interested in this
  5948. * information.
  5949. *
  5950. * interestingDisplayDuration:
  5951. * A pointer to a time value. The Movie Toolbox returns the
  5952. * display duration of the interesting time. This time value is in
  5953. * the media's time coordinate system. Set this parameter to NULL
  5954. * if you don't want this information; this lets the function work
  5955. * faster.
  5956. *
  5957. * Availability:
  5958. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5959. * CarbonLib: not available
  5960. * Non-Carbon CFM: not available
  5961. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5962. }
  5963. procedure GetMediaNextInterestingDisplayTime( theMedia: Media; interestingTimeFlags: SInt16; displayTime: TimeValue64; rate: Fixed; var interestingDisplayTime: TimeValue64; var interestingDisplayDuration: TimeValue64 ); external name '_GetMediaNextInterestingDisplayTime';
  5964. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5965. {
  5966. * GetMediaNextInterestingTime()
  5967. *
  5968. * Availability:
  5969. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5970. * CarbonLib: in CarbonLib 1.0 and later
  5971. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5972. * Windows: in qtmlClient.lib 3.0 and later
  5973. }
  5974. procedure GetMediaNextInterestingTime( theMedia: Media; interestingTimeFlags: SInt16; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetMediaNextInterestingTime';
  5975. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5976. {
  5977. * GetTrackNextInterestingTime()
  5978. *
  5979. * Availability:
  5980. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5981. * CarbonLib: in CarbonLib 1.0 and later
  5982. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5983. * Windows: in qtmlClient.lib 3.0 and later
  5984. }
  5985. procedure GetTrackNextInterestingTime( theTrack: Track; interestingTimeFlags: SInt16; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetTrackNextInterestingTime';
  5986. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5987. {
  5988. * GetMovieNextInterestingTime()
  5989. *
  5990. * Availability:
  5991. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5992. * CarbonLib: in CarbonLib 1.0 and later
  5993. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5994. * Windows: in qtmlClient.lib 3.0 and later
  5995. }
  5996. procedure GetMovieNextInterestingTime( theMovie: Movie; interestingTimeFlags: SInt16; numMediaTypes: SInt16; whichMediaTypes: OSTypePtr; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetMovieNextInterestingTime';
  5997. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5998. {
  5999. * CreateMovieFile()
  6000. *
  6001. * Availability:
  6002. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6003. * CarbonLib: in CarbonLib 1.0 and later
  6004. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6005. * Windows: in qtmlClient.lib 3.0 and later
  6006. }
  6007. function CreateMovieFile( const (*var*) fileSpec: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var resRefNum: SInt16; var newmovie: Movie ): OSErr; external name '_CreateMovieFile';
  6008. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6009. {
  6010. * OpenMovieFile()
  6011. *
  6012. * Availability:
  6013. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6014. * CarbonLib: in CarbonLib 1.0 and later
  6015. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6016. * Windows: in qtmlClient.lib 3.0 and later
  6017. }
  6018. function OpenMovieFile( const (*var*) fileSpec: FSSpec; var resRefNum: SInt16; permission: SInt8 ): OSErr; external name '_OpenMovieFile';
  6019. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6020. {
  6021. * CloseMovieFile()
  6022. *
  6023. * Availability:
  6024. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6025. * CarbonLib: in CarbonLib 1.0 and later
  6026. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6027. * Windows: in qtmlClient.lib 3.0 and later
  6028. }
  6029. function CloseMovieFile( resRefNum: SInt16 ): OSErr; external name '_CloseMovieFile';
  6030. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6031. {
  6032. * DeleteMovieFile()
  6033. *
  6034. * Availability:
  6035. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6036. * CarbonLib: in CarbonLib 1.0 and later
  6037. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6038. * Windows: in qtmlClient.lib 3.0 and later
  6039. }
  6040. function DeleteMovieFile( const (*var*) fileSpec: FSSpec ): OSErr; external name '_DeleteMovieFile';
  6041. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6042. {
  6043. * NewMovieFromFile()
  6044. *
  6045. * Availability:
  6046. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6047. * CarbonLib: in CarbonLib 1.0 and later
  6048. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6049. * Windows: in qtmlClient.lib 3.0 and later
  6050. }
  6051. function NewMovieFromFile( var theMovie: Movie; resRefNum: SInt16; resId: SInt16Ptr { can be NULL }; resName: StringPtr; newMovieFlags: SInt16; dataRefWasChanged: BooleanPtr { can be NULL } ): OSErr; external name '_NewMovieFromFile';
  6052. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6053. {
  6054. * NewMovieFromHandle()
  6055. *
  6056. * Availability:
  6057. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6058. * CarbonLib: in CarbonLib 1.0 and later
  6059. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6060. * Windows: in qtmlClient.lib 3.0 and later
  6061. }
  6062. function NewMovieFromHandle( var theMovie: Movie; h: Handle; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromHandle';
  6063. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6064. {
  6065. * NewMovieFromDataFork()
  6066. *
  6067. * Availability:
  6068. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6069. * CarbonLib: in CarbonLib 1.0 and later
  6070. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6071. * Windows: in qtmlClient.lib 3.0 and later
  6072. }
  6073. function NewMovieFromDataFork( var theMovie: Movie; fRefNum: SInt16; fileOffset: SIGNEDLONG; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromDataFork';
  6074. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6075. {
  6076. * NewMovieFromDataFork64()
  6077. *
  6078. * Availability:
  6079. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6080. * CarbonLib: in CarbonLib 1.0.2 and later
  6081. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6082. * Windows: in qtmlClient.lib 4.0 and later
  6083. }
  6084. function NewMovieFromDataFork64( var theMovie: Movie; fRefNum: SIGNEDLONG; const (*var*) fileOffset: wide; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromDataFork64';
  6085. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6086. {
  6087. * NewMovieFromUserProc()
  6088. *
  6089. * Availability:
  6090. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6091. * CarbonLib: in CarbonLib 1.0 and later
  6092. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6093. * Windows: in qtmlClient.lib 3.0 and later
  6094. }
  6095. function NewMovieFromUserProc( var m: Movie; flags: SInt16; var dataRefWasChanged: Boolean; getProc: GetMovieUPP; refCon: UnivPtr; defaultDataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieFromUserProc';
  6096. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6097. {
  6098. * NewMovieFromDataRef()
  6099. *
  6100. * Availability:
  6101. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6102. * CarbonLib: in CarbonLib 1.0 and later
  6103. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6104. * Windows: in qtmlClient.lib 3.0 and later
  6105. }
  6106. function NewMovieFromDataRef( var m: Movie; flags: SInt16; var id: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieFromDataRef';
  6107. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6108. {
  6109. * NewMovieFromStorageOffset()
  6110. *
  6111. * Availability:
  6112. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6113. * CarbonLib: in CarbonLib 1.6 and later
  6114. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6115. * Windows: in qtmlClient.lib 6.0 and later
  6116. }
  6117. function NewMovieFromStorageOffset( var theMovie: Movie; dh: DataHandler; const (*var*) fileOffset: wide; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromStorageOffset';
  6118. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6119. {
  6120. * NewMovieForDataRefFromHandle()
  6121. *
  6122. * Availability:
  6123. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6124. * CarbonLib: in CarbonLib 1.6 and later
  6125. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6126. * Windows: in qtmlClient.lib 6.0 and later
  6127. }
  6128. function NewMovieForDataRefFromHandle( var theMovie: Movie; h: Handle; newMovieFlags: SInt16; var dataRefWasChanged: Boolean; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieForDataRefFromHandle';
  6129. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6130. {
  6131. * AddMovieResource()
  6132. *
  6133. * Availability:
  6134. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6135. * CarbonLib: in CarbonLib 1.0 and later
  6136. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6137. * Windows: in qtmlClient.lib 3.0 and later
  6138. }
  6139. function AddMovieResource( theMovie: Movie; resRefNum: SInt16; var resId: SInt16; const (*var*) resName: Str255 ): OSErr; external name '_AddMovieResource';
  6140. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6141. {
  6142. * UpdateMovieResource()
  6143. *
  6144. * Availability:
  6145. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6146. * CarbonLib: in CarbonLib 1.0 and later
  6147. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6148. * Windows: in qtmlClient.lib 3.0 and later
  6149. }
  6150. function UpdateMovieResource( theMovie: Movie; resRefNum: SInt16; resId: SInt16; const (*var*) resName: Str255 ): OSErr; external name '_UpdateMovieResource';
  6151. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6152. {
  6153. * RemoveMovieResource()
  6154. *
  6155. * Availability:
  6156. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6157. * CarbonLib: in CarbonLib 1.0 and later
  6158. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6159. * Windows: in qtmlClient.lib 3.0 and later
  6160. }
  6161. function RemoveMovieResource( resRefNum: SInt16; resId: SInt16 ): OSErr; external name '_RemoveMovieResource';
  6162. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6163. {
  6164. * CreateMovieStorage()
  6165. *
  6166. * Availability:
  6167. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6168. * CarbonLib: in CarbonLib 1.6 and later
  6169. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6170. * Windows: in qtmlClient.lib 6.0 and later
  6171. }
  6172. function CreateMovieStorage( dataRef: Handle; dataRefType: OSType; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var outDataHandler: DataHandler; var newmovie: Movie ): OSErr; external name '_CreateMovieStorage';
  6173. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6174. {
  6175. * OpenMovieStorage()
  6176. *
  6177. * Availability:
  6178. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6179. * CarbonLib: in CarbonLib 1.6 and later
  6180. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6181. * Windows: in qtmlClient.lib 6.0 and later
  6182. }
  6183. function OpenMovieStorage( dataRef: Handle; dataRefType: OSType; flags: SIGNEDLONG; var outDataHandler: DataHandler ): OSErr; external name '_OpenMovieStorage';
  6184. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6185. {
  6186. * CloseMovieStorage()
  6187. *
  6188. * Availability:
  6189. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6190. * CarbonLib: in CarbonLib 1.6 and later
  6191. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6192. * Windows: in qtmlClient.lib 6.0 and later
  6193. }
  6194. function CloseMovieStorage( dh: DataHandler ): OSErr; external name '_CloseMovieStorage';
  6195. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6196. {
  6197. * DeleteMovieStorage()
  6198. *
  6199. * Availability:
  6200. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6201. * CarbonLib: in CarbonLib 1.6 and later
  6202. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6203. * Windows: in qtmlClient.lib 6.0 and later
  6204. }
  6205. function DeleteMovieStorage( dataRef: Handle; dataRefType: OSType ): OSErr; external name '_DeleteMovieStorage';
  6206. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6207. {
  6208. * AddMovieToStorage()
  6209. *
  6210. * Availability:
  6211. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6212. * CarbonLib: in CarbonLib 1.6 and later
  6213. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6214. * Windows: in qtmlClient.lib 6.0 and later
  6215. }
  6216. function AddMovieToStorage( theMovie: Movie; dh: DataHandler ): OSErr; external name '_AddMovieToStorage';
  6217. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6218. {
  6219. * UpdateMovieInStorage()
  6220. *
  6221. * Availability:
  6222. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6223. * CarbonLib: in CarbonLib 1.6 and later
  6224. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6225. * Windows: in qtmlClient.lib 6.0 and later
  6226. }
  6227. function UpdateMovieInStorage( theMovie: Movie; dh: DataHandler ): OSErr; external name '_UpdateMovieInStorage';
  6228. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6229. {
  6230. * HasMovieChanged()
  6231. *
  6232. * Availability:
  6233. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6234. * CarbonLib: in CarbonLib 1.0 and later
  6235. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6236. * Windows: in qtmlClient.lib 3.0 and later
  6237. }
  6238. function HasMovieChanged( theMovie: Movie ): Boolean; external name '_HasMovieChanged';
  6239. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6240. {
  6241. * ClearMovieChanged()
  6242. *
  6243. * Availability:
  6244. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6245. * CarbonLib: in CarbonLib 1.0 and later
  6246. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6247. * Windows: in qtmlClient.lib 3.0 and later
  6248. }
  6249. procedure ClearMovieChanged( theMovie: Movie ); external name '_ClearMovieChanged';
  6250. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6251. {
  6252. * SetMovieDefaultDataRef()
  6253. *
  6254. * Availability:
  6255. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6256. * CarbonLib: in CarbonLib 1.0 and later
  6257. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6258. * Windows: in qtmlClient.lib 3.0 and later
  6259. }
  6260. function SetMovieDefaultDataRef( theMovie: Movie; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMovieDefaultDataRef';
  6261. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6262. {
  6263. * GetMovieDefaultDataRef()
  6264. *
  6265. * Availability:
  6266. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6267. * CarbonLib: in CarbonLib 1.0 and later
  6268. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6269. * Windows: in qtmlClient.lib 3.0 and later
  6270. }
  6271. function GetMovieDefaultDataRef( theMovie: Movie; var dataRef: Handle; var dataRefType: OSType ): OSErr; external name '_GetMovieDefaultDataRef';
  6272. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6273. {
  6274. * SetMovieAnchorDataRef()
  6275. *
  6276. * Availability:
  6277. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6278. * CarbonLib: in CarbonLib 1.1 and later
  6279. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6280. * Windows: in qtmlClient.lib 4.1 and later
  6281. }
  6282. function SetMovieAnchorDataRef( theMovie: Movie; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMovieAnchorDataRef';
  6283. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6284. {
  6285. * GetMovieAnchorDataRef()
  6286. *
  6287. * Availability:
  6288. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6289. * CarbonLib: in CarbonLib 1.1 and later
  6290. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6291. * Windows: in qtmlClient.lib 4.1 and later
  6292. }
  6293. function GetMovieAnchorDataRef( theMovie: Movie; var dataRef: Handle; var dataRefType: OSType; var outFlags: SIGNEDLONG ): OSErr; external name '_GetMovieAnchorDataRef';
  6294. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6295. {
  6296. * SetMovieColorTable()
  6297. *
  6298. * Availability:
  6299. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6300. * CarbonLib: in CarbonLib 1.0 and later
  6301. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6302. * Windows: in qtmlClient.lib 3.0 and later
  6303. }
  6304. function SetMovieColorTable( theMovie: Movie; ctab: CTabHandle ): OSErr; external name '_SetMovieColorTable';
  6305. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6306. {
  6307. * GetMovieColorTable()
  6308. *
  6309. * Availability:
  6310. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6311. * CarbonLib: in CarbonLib 1.0 and later
  6312. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6313. * Windows: in qtmlClient.lib 3.0 and later
  6314. }
  6315. function GetMovieColorTable( theMovie: Movie; var ctab: CTabHandle ): OSErr; external name '_GetMovieColorTable';
  6316. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6317. {
  6318. * FlattenMovie()
  6319. *
  6320. * Availability:
  6321. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6322. * CarbonLib: in CarbonLib 1.0 and later
  6323. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6324. * Windows: in qtmlClient.lib 3.0 and later
  6325. }
  6326. procedure FlattenMovie( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; const (*var*) theFile: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var resId: SInt16; const (*var*) resName: Str255 ); external name '_FlattenMovie';
  6327. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6328. {
  6329. * FlattenMovieData()
  6330. *
  6331. * Availability:
  6332. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6333. * CarbonLib: in CarbonLib 1.0 and later
  6334. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6335. * Windows: in qtmlClient.lib 3.0 and later
  6336. }
  6337. function FlattenMovieData( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; const (*var*) theFile: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG ): Movie; external name '_FlattenMovieData';
  6338. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6339. {
  6340. * FlattenMovieDataToDataRef()
  6341. *
  6342. * Availability:
  6343. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6344. * CarbonLib: in CarbonLib 1.6 and later
  6345. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6346. * Windows: in qtmlClient.lib 6.0 and later
  6347. }
  6348. function FlattenMovieDataToDataRef( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; dataRef: Handle; dataRefType: OSType; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG ): Movie; external name '_FlattenMovieDataToDataRef';
  6349. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6350. {
  6351. * SetMovieProgressProc()
  6352. *
  6353. * Availability:
  6354. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6355. * CarbonLib: in CarbonLib 1.0 and later
  6356. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6357. * Windows: in qtmlClient.lib 3.0 and later
  6358. }
  6359. procedure SetMovieProgressProc( theMovie: Movie; p: MovieProgressUPP; refcon: SIGNEDLONG ); external name '_SetMovieProgressProc';
  6360. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6361. {
  6362. * GetMovieProgressProc()
  6363. *
  6364. * Availability:
  6365. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6366. * CarbonLib: in CarbonLib 1.0.2 and later
  6367. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6368. * Windows: in qtmlClient.lib 4.0 and later
  6369. }
  6370. procedure GetMovieProgressProc( theMovie: Movie; var p: MovieProgressUPP; var refcon: SIGNEDLONG ); external name '_GetMovieProgressProc';
  6371. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6372. {
  6373. * CreateShortcutMovieFile()
  6374. *
  6375. * Availability:
  6376. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6377. * CarbonLib: in CarbonLib 1.0.2 and later
  6378. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6379. * Windows: in qtmlClient.lib 4.0 and later
  6380. }
  6381. function CreateShortcutMovieFile( const (*var*) fileSpec: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; targetDataRef: Handle; targetDataRefType: OSType ): OSErr; external name '_CreateShortcutMovieFile';
  6382. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6383. {
  6384. * MovieSearchText()
  6385. *
  6386. * Availability:
  6387. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6388. * CarbonLib: in CarbonLib 1.0 and later
  6389. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6390. * Windows: in qtmlClient.lib 3.0 and later
  6391. }
  6392. function MovieSearchText( theMovie: Movie; text: Ptr; size: SIGNEDLONG; searchFlags: SIGNEDLONG; var searchTrack: Track; var searchTime: TimeValue; var searchOffset: SIGNEDLONG ): OSErr; external name '_MovieSearchText';
  6393. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6394. {
  6395. * GetPosterBox()
  6396. *
  6397. * Availability:
  6398. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6399. * CarbonLib: in CarbonLib 1.0 and later
  6400. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6401. * Windows: in qtmlClient.lib 3.0 and later
  6402. }
  6403. procedure GetPosterBox( theMovie: Movie; var boxRect: Rect ); external name '_GetPosterBox';
  6404. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6405. {
  6406. * SetPosterBox()
  6407. *
  6408. * Availability:
  6409. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6410. * CarbonLib: in CarbonLib 1.0 and later
  6411. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6412. * Windows: in qtmlClient.lib 3.0 and later
  6413. }
  6414. procedure SetPosterBox( theMovie: Movie; const (*var*) boxRect: Rect ); external name '_SetPosterBox';
  6415. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6416. {
  6417. * GetMovieSegmentDisplayBoundsRgn()
  6418. *
  6419. * Availability:
  6420. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6421. * CarbonLib: in CarbonLib 1.0 and later
  6422. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6423. * Windows: in qtmlClient.lib 3.0 and later
  6424. }
  6425. function GetMovieSegmentDisplayBoundsRgn( theMovie: Movie; time: TimeValue; duration: TimeValue ): RgnHandle; external name '_GetMovieSegmentDisplayBoundsRgn';
  6426. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6427. {
  6428. * GetTrackSegmentDisplayBoundsRgn()
  6429. *
  6430. * Availability:
  6431. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6432. * CarbonLib: in CarbonLib 1.0 and later
  6433. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6434. * Windows: in qtmlClient.lib 3.0 and later
  6435. }
  6436. function GetTrackSegmentDisplayBoundsRgn( theTrack: Track; time: TimeValue; duration: TimeValue ): RgnHandle; external name '_GetTrackSegmentDisplayBoundsRgn';
  6437. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6438. {
  6439. * SetMovieCoverProcs()
  6440. *
  6441. * Availability:
  6442. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6443. * CarbonLib: in CarbonLib 1.0 and later
  6444. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6445. * Windows: in qtmlClient.lib 3.0 and later
  6446. }
  6447. procedure SetMovieCoverProcs( theMovie: Movie; uncoverProc: MovieRgnCoverUPP; coverProc: MovieRgnCoverUPP; refcon: SIGNEDLONG ); external name '_SetMovieCoverProcs';
  6448. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6449. {
  6450. * GetMovieCoverProcs()
  6451. *
  6452. * Availability:
  6453. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6454. * CarbonLib: in CarbonLib 1.0 and later
  6455. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6456. * Windows: in qtmlClient.lib 3.0 and later
  6457. }
  6458. function GetMovieCoverProcs( theMovie: Movie; var uncoverProc: MovieRgnCoverUPP; var coverProc: MovieRgnCoverUPP; var refcon: SIGNEDLONG ): OSErr; external name '_GetMovieCoverProcs';
  6459. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6460. {
  6461. * GetTrackStatus()
  6462. *
  6463. * Availability:
  6464. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6465. * CarbonLib: in CarbonLib 1.0 and later
  6466. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6467. * Windows: in qtmlClient.lib 3.0 and later
  6468. }
  6469. function GetTrackStatus( theTrack: Track ): ComponentResult; external name '_GetTrackStatus';
  6470. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6471. {
  6472. * GetMovieStatus()
  6473. *
  6474. * Availability:
  6475. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6476. * CarbonLib: in CarbonLib 1.0 and later
  6477. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6478. * Windows: in qtmlClient.lib 3.0 and later
  6479. }
  6480. function GetMovieStatus( theMovie: Movie; var firstProblemTrack: Track ): ComponentResult; external name '_GetMovieStatus';
  6481. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6482. const
  6483. kMovieLoadStateError = -1;
  6484. kMovieLoadStateLoading = 1000;
  6485. kMovieLoadStateLoaded = 2000;
  6486. kMovieLoadStatePlayable = 10000;
  6487. kMovieLoadStatePlaythroughOK = 20000;
  6488. kMovieLoadStateComplete = 100000;
  6489. {
  6490. * GetMovieLoadState()
  6491. *
  6492. * Availability:
  6493. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6494. * CarbonLib: in CarbonLib 1.1 and later
  6495. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6496. * Windows: in qtmlClient.lib 4.1 and later
  6497. }
  6498. function GetMovieLoadState( theMovie: Movie ): SIGNEDLONG; external name '_GetMovieLoadState';
  6499. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6500. {***
  6501. Thread related Movie routines
  6502. ***}
  6503. {
  6504. * AttachMovieToCurrentThread()
  6505. *
  6506. * Availability:
  6507. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6508. * CarbonLib: not available
  6509. * Non-Carbon CFM: not available
  6510. }
  6511. function AttachMovieToCurrentThread( m: Movie ): OSErr; external name '_AttachMovieToCurrentThread';
  6512. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6513. {
  6514. * DetachMovieFromCurrentThread()
  6515. *
  6516. * Availability:
  6517. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6518. * CarbonLib: not available
  6519. * Non-Carbon CFM: not available
  6520. }
  6521. function DetachMovieFromCurrentThread( m: Movie ): OSErr; external name '_DetachMovieFromCurrentThread';
  6522. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6523. {
  6524. * GetMovieThreadAttachState()
  6525. *
  6526. * Availability:
  6527. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6528. * CarbonLib: not available
  6529. * Non-Carbon CFM: not available
  6530. }
  6531. function GetMovieThreadAttachState( m: Movie; var outAttachedToCurrentThread: Boolean; var outAttachedToAnyThread: Boolean ): OSErr; external name '_GetMovieThreadAttachState';
  6532. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6533. {***
  6534. CanQuickTimeOpenFile, etc.
  6535. ***}
  6536. { Input flags for CanQuickTimeOpenFile/DataRef }
  6537. const
  6538. kQTDontUseDataToFindImporter = 1 shl 0;
  6539. kQTDontLookForMovieImporterIfGraphicsImporterFound = 1 shl 1;
  6540. kQTAllowOpeningStillImagesAsMovies = 1 shl 2;
  6541. kQTAllowImportersThatWouldCreateNewFile = 1 shl 3;
  6542. kQTAllowAggressiveImporters = 1 shl 4; { eg, TEXT and PICT movie importers}
  6543. { Determines whether the file could be opened using a graphics importer or opened in place as a movie. }
  6544. {
  6545. * CanQuickTimeOpenFile()
  6546. *
  6547. * Availability:
  6548. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6549. * CarbonLib: in CarbonLib 1.3 and later
  6550. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  6551. * Windows: in qtmlClient.lib 5.0 and later
  6552. }
  6553. function CanQuickTimeOpenFile( fileSpec: FSSpecPtr; fileType: OSType; fileNameExtension: OSType; var outCanOpenWithGraphicsImporter: Boolean; var outCanOpenAsMovie: Boolean; var outPreferGraphicsImporter: Boolean; inFlags: UInt32 ): OSErr; external name '_CanQuickTimeOpenFile';
  6554. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6555. { Determines whether the file could be opened using a graphics importer or opened in place as a movie. }
  6556. {
  6557. * CanQuickTimeOpenDataRef()
  6558. *
  6559. * Availability:
  6560. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6561. * CarbonLib: in CarbonLib 1.3 and later
  6562. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  6563. * Windows: in qtmlClient.lib 5.0 and later
  6564. }
  6565. function CanQuickTimeOpenDataRef( dataRef: Handle; dataRefType: OSType; var outCanOpenWithGraphicsImporter: Boolean; var outCanOpenAsMovie: Boolean; var outPreferGraphicsImporter: Boolean; inFlags: UInt32 ): OSErr; external name '_CanQuickTimeOpenDataRef';
  6566. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6567. {***
  6568. Data Reference Utilities
  6569. ***}
  6570. const
  6571. kQTNativeDefaultPathStyle = -1;
  6572. kQTPOSIXPathStyle = 0;
  6573. kQTHFSPathStyle = 1;
  6574. kQTWindowsPathStyle = 2;
  6575. type
  6576. QTPathStyle = UNSIGNEDLONG;
  6577. {
  6578. * QTNewDataReferenceFromFSRef()
  6579. *
  6580. * Availability:
  6581. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6582. * CarbonLib: not available
  6583. * Non-Carbon CFM: not available
  6584. * Windows: in qtmlClient.lib 6.5 and later
  6585. }
  6586. function QTNewDataReferenceFromFSRef( const (*var*) fileRef: FSRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSRef';
  6587. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6588. {
  6589. * QTNewDataReferenceFromFSRefCFString()
  6590. *
  6591. * Availability:
  6592. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6593. * CarbonLib: not available
  6594. * Non-Carbon CFM: not available
  6595. * Windows: in qtmlClient.lib 6.5 and later
  6596. }
  6597. function QTNewDataReferenceFromFSRefCFString( const (*var*) directoryRef: FSRef; fileName: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSRefCFString';
  6598. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6599. {
  6600. * QTNewDataReferenceFromFSSpec()
  6601. *
  6602. * Availability:
  6603. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6604. * CarbonLib: not available
  6605. * Non-Carbon CFM: not available
  6606. * Windows: in qtmlClient.lib 6.5 and later
  6607. }
  6608. function QTNewDataReferenceFromFSSpec( const (*var*) fsspec_: FSSpec; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSSpec';
  6609. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6610. {
  6611. * QTNewDataReferenceWithDirectoryCFString()
  6612. *
  6613. * Availability:
  6614. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6615. * CarbonLib: not available
  6616. * Non-Carbon CFM: not available
  6617. * Windows: in qtmlClient.lib 6.5 and later
  6618. }
  6619. function QTNewDataReferenceWithDirectoryCFString( inDataRef: Handle; inDataRefType: OSType; targetName: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceWithDirectoryCFString';
  6620. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6621. {
  6622. * QTNewDataReferenceFromFullPathCFString()
  6623. *
  6624. * Availability:
  6625. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6626. * CarbonLib: not available
  6627. * Non-Carbon CFM: not available
  6628. * Windows: in qtmlClient.lib 6.5 and later
  6629. }
  6630. function QTNewDataReferenceFromFullPathCFString( filePath: CFStringRef; pathStyle: QTPathStyle; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFullPathCFString';
  6631. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6632. {
  6633. * QTNewDataReferenceFromCFURL()
  6634. *
  6635. * Availability:
  6636. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6637. * CarbonLib: not available
  6638. * Non-Carbon CFM: not available
  6639. * Windows: in qtmlClient.lib 6.5 and later
  6640. }
  6641. function QTNewDataReferenceFromCFURL( url: CFURLRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromCFURL';
  6642. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6643. {
  6644. * QTNewDataReferenceFromURLCFString()
  6645. *
  6646. * Availability:
  6647. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6648. * CarbonLib: not available
  6649. * Non-Carbon CFM: not available
  6650. * Windows: in qtmlClient.lib 6.5 and later
  6651. }
  6652. function QTNewDataReferenceFromURLCFString( urlString: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromURLCFString';
  6653. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6654. {
  6655. * QTGetDataReferenceDirectoryDataReference()
  6656. *
  6657. * Availability:
  6658. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6659. * CarbonLib: not available
  6660. * Non-Carbon CFM: not available
  6661. * Windows: in qtmlClient.lib 6.5 and later
  6662. }
  6663. function QTGetDataReferenceDirectoryDataReference( dataRef: Handle; dataRefType: OSType; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTGetDataReferenceDirectoryDataReference';
  6664. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6665. {
  6666. * QTGetDataReferenceTargetNameCFString()
  6667. *
  6668. * Availability:
  6669. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6670. * CarbonLib: not available
  6671. * Non-Carbon CFM: not available
  6672. * Windows: in qtmlClient.lib 6.5 and later
  6673. }
  6674. function QTGetDataReferenceTargetNameCFString( dataRef: Handle; dataRefType: OSType; var name: CFStringRef ): OSErr; external name '_QTGetDataReferenceTargetNameCFString';
  6675. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6676. {
  6677. * QTGetDataReferenceFullPathCFString()
  6678. *
  6679. * Availability:
  6680. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6681. * CarbonLib: not available
  6682. * Non-Carbon CFM: not available
  6683. * Windows: in qtmlClient.lib 6.5 and later
  6684. }
  6685. function QTGetDataReferenceFullPathCFString( dataRef: Handle; dataRefType: OSType; style: QTPathStyle; var outPath: CFStringRef ): OSErr; external name '_QTGetDataReferenceFullPathCFString';
  6686. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6687. {
  6688. * QTGetDataHandlerDirectoryDataReference()
  6689. *
  6690. * Availability:
  6691. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6692. * CarbonLib: not available
  6693. * Non-Carbon CFM: not available
  6694. * Windows: in qtmlClient.lib 6.5 and later
  6695. }
  6696. function QTGetDataHandlerDirectoryDataReference( dh: DataHandler; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTGetDataHandlerDirectoryDataReference';
  6697. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6698. {
  6699. * QTGetDataHandlerTargetNameCFString()
  6700. *
  6701. * Availability:
  6702. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6703. * CarbonLib: not available
  6704. * Non-Carbon CFM: not available
  6705. * Windows: in qtmlClient.lib 6.5 and later
  6706. }
  6707. function QTGetDataHandlerTargetNameCFString( dh: DataHandler; var fileName: CFStringRef ): OSErr; external name '_QTGetDataHandlerTargetNameCFString';
  6708. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6709. {
  6710. * QTGetDataHandlerFullPathCFString()
  6711. *
  6712. * Availability:
  6713. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6714. * CarbonLib: not available
  6715. * Non-Carbon CFM: not available
  6716. * Windows: in qtmlClient.lib 6.5 and later
  6717. }
  6718. function QTGetDataHandlerFullPathCFString( dh: DataHandler; style: QTPathStyle; var outPath: CFStringRef ): OSErr; external name '_QTGetDataHandlerFullPathCFString';
  6719. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6720. {***
  6721. Movie Controller support routines
  6722. ***}
  6723. {
  6724. * NewMovieController()
  6725. *
  6726. * Availability:
  6727. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6728. * CarbonLib: in CarbonLib 1.0 and later
  6729. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6730. * Windows: in qtmlClient.lib 3.0 and later
  6731. }
  6732. function NewMovieController( theMovie: Movie; const (*var*) movieRect: Rect; someFlags: SIGNEDLONG ): ComponentInstance; external name '_NewMovieController';
  6733. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6734. {
  6735. * DisposeMovieController()
  6736. *
  6737. * Availability:
  6738. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6739. * CarbonLib: in CarbonLib 1.0 and later
  6740. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6741. * Windows: in qtmlClient.lib 3.0 and later
  6742. }
  6743. procedure DisposeMovieController( mc: ComponentInstance ); external name '_DisposeMovieController';
  6744. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6745. {
  6746. * ShowMovieInformation()
  6747. *
  6748. * Availability:
  6749. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6750. * CarbonLib: in CarbonLib 1.0 and later
  6751. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6752. * Windows: in qtmlClient.lib 3.0 and later
  6753. }
  6754. procedure ShowMovieInformation( theMovie: Movie; filterProc: ModalFilterUPP; refCon: SIGNEDLONG ); external name '_ShowMovieInformation';
  6755. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6756. {****
  6757. Scrap routines
  6758. ****}
  6759. {
  6760. * PutMovieOnScrap()
  6761. *
  6762. * Availability:
  6763. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6764. * CarbonLib: in CarbonLib 1.0 and later
  6765. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6766. * Windows: in qtmlClient.lib 3.0 and later
  6767. }
  6768. function PutMovieOnScrap( theMovie: Movie; movieScrapFlags: SIGNEDLONG ): OSErr; external name '_PutMovieOnScrap';
  6769. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6770. {
  6771. * NewMovieFromScrap()
  6772. *
  6773. * Availability:
  6774. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6775. * CarbonLib: in CarbonLib 1.0 and later
  6776. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6777. * Windows: in qtmlClient.lib 3.0 and later
  6778. }
  6779. function NewMovieFromScrap( newMovieFlags: SIGNEDLONG ): Movie; external name '_NewMovieFromScrap';
  6780. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6781. {****
  6782. DataRef routines
  6783. ****}
  6784. {
  6785. * GetMediaDataRef()
  6786. *
  6787. * Availability:
  6788. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6789. * CarbonLib: in CarbonLib 1.0 and later
  6790. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6791. * Windows: in qtmlClient.lib 3.0 and later
  6792. }
  6793. function GetMediaDataRef( theMedia: Media; index: SInt16; var dataRef: Handle; var dataRefType: OSType; var dataRefAttributes: SIGNEDLONG ): OSErr; external name '_GetMediaDataRef';
  6794. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6795. {
  6796. * SetMediaDataRef()
  6797. *
  6798. * Availability:
  6799. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6800. * CarbonLib: in CarbonLib 1.0 and later
  6801. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6802. * Windows: in qtmlClient.lib 3.0 and later
  6803. }
  6804. function SetMediaDataRef( theMedia: Media; index: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMediaDataRef';
  6805. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6806. {
  6807. * SetMediaDataRefAttributes()
  6808. *
  6809. * Availability:
  6810. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6811. * CarbonLib: in CarbonLib 1.0 and later
  6812. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6813. * Windows: in qtmlClient.lib 3.0 and later
  6814. }
  6815. function SetMediaDataRefAttributes( theMedia: Media; index: SInt16; dataRefAttributes: SIGNEDLONG ): OSErr; external name '_SetMediaDataRefAttributes';
  6816. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6817. {
  6818. * AddMediaDataRef()
  6819. *
  6820. * Availability:
  6821. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6822. * CarbonLib: in CarbonLib 1.0 and later
  6823. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6824. * Windows: in qtmlClient.lib 3.0 and later
  6825. }
  6826. function AddMediaDataRef( theMedia: Media; var index: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_AddMediaDataRef';
  6827. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6828. {
  6829. * GetMediaDataRefCount()
  6830. *
  6831. * Availability:
  6832. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6833. * CarbonLib: in CarbonLib 1.0 and later
  6834. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6835. * Windows: in qtmlClient.lib 3.0 and later
  6836. }
  6837. function GetMediaDataRefCount( theMedia: Media; var count: SInt16 ): OSErr; external name '_GetMediaDataRefCount';
  6838. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6839. {
  6840. * QTNewAlias()
  6841. *
  6842. * Availability:
  6843. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6844. * CarbonLib: in CarbonLib 1.0 and later
  6845. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  6846. * Windows: in qtmlClient.lib 3.0 and later
  6847. }
  6848. function QTNewAlias( const (*var*) fss: FSSpec; var alias: AliasHandle; minimal: Boolean ): OSErr; external name '_QTNewAlias';
  6849. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6850. {****
  6851. Playback hint routines
  6852. ****}
  6853. {
  6854. * SetMoviePlayHints()
  6855. *
  6856. * Availability:
  6857. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6858. * CarbonLib: in CarbonLib 1.0 and later
  6859. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6860. * Windows: in qtmlClient.lib 3.0 and later
  6861. }
  6862. procedure SetMoviePlayHints( theMovie: Movie; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ); external name '_SetMoviePlayHints';
  6863. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6864. {
  6865. * SetMediaPlayHints()
  6866. *
  6867. * Availability:
  6868. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6869. * CarbonLib: in CarbonLib 1.0 and later
  6870. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6871. * Windows: in qtmlClient.lib 3.0 and later
  6872. }
  6873. procedure SetMediaPlayHints( theMedia: Media; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ); external name '_SetMediaPlayHints';
  6874. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6875. {
  6876. * GetMediaPlayHints()
  6877. *
  6878. * Availability:
  6879. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6880. * CarbonLib: in CarbonLib 1.0 and later
  6881. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  6882. * Windows: in qtmlClient.lib 3.0 and later
  6883. }
  6884. procedure GetMediaPlayHints( theMedia: Media; var flags: SIGNEDLONG ); external name '_GetMediaPlayHints';
  6885. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6886. {****
  6887. Load time track hints
  6888. ****}
  6889. const
  6890. preloadAlways = 1 shl 0;
  6891. preloadOnlyIfEnabled = 1 shl 1;
  6892. {
  6893. * SetTrackLoadSettings()
  6894. *
  6895. * Availability:
  6896. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6897. * CarbonLib: in CarbonLib 1.0 and later
  6898. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6899. * Windows: in qtmlClient.lib 3.0 and later
  6900. }
  6901. procedure SetTrackLoadSettings( theTrack: Track; preloadTime: TimeValue; preloadDuration: TimeValue; preloadFlags: SIGNEDLONG; defaultHints: SIGNEDLONG ); external name '_SetTrackLoadSettings';
  6902. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6903. {
  6904. * GetTrackLoadSettings()
  6905. *
  6906. * Availability:
  6907. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6908. * CarbonLib: in CarbonLib 1.0 and later
  6909. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6910. * Windows: in qtmlClient.lib 3.0 and later
  6911. }
  6912. procedure GetTrackLoadSettings( theTrack: Track; var preloadTime: TimeValue; var preloadDuration: TimeValue; var preloadFlags: SIGNEDLONG; var defaultHints: SIGNEDLONG ); external name '_GetTrackLoadSettings';
  6913. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6914. {****
  6915. Big screen TV
  6916. ****}
  6917. const
  6918. fullScreenHideCursor = 1 shl 0;
  6919. fullScreenAllowEvents = 1 shl 1;
  6920. fullScreenDontChangeMenuBar = 1 shl 2;
  6921. fullScreenPreflightSize = 1 shl 3;
  6922. fullScreenDontSwitchMonitorResolution = 1 shl 4;
  6923. fullScreenCaptureDisplay = 1 shl 5; { capturedisplay is a mac os x specific parameter }
  6924. fullScreenCaptureAllDisplays = 1 shl 6; { capturealldisplays is a mac os x specific parameter }
  6925. {
  6926. * BeginFullScreen()
  6927. *
  6928. * Availability:
  6929. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6930. * CarbonLib: in CarbonLib 1.0 and later
  6931. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6932. * Windows: in qtmlClient.lib 3.0 and later
  6933. }
  6934. function BeginFullScreen( var restoreState: Ptr; whichGD: GDHandle; var desiredWidth: SInt16; var desiredHeight: SInt16; var newWindow: WindowRef; var eraseColor: RGBColor; flags: SIGNEDLONG ): OSErr; external name '_BeginFullScreen';
  6935. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6936. {
  6937. * EndFullScreen()
  6938. *
  6939. * Availability:
  6940. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6941. * CarbonLib: in CarbonLib 1.0 and later
  6942. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6943. * Windows: in qtmlClient.lib 3.0 and later
  6944. }
  6945. function EndFullScreen( fullState: Ptr; flags: SIGNEDLONG ): OSErr; external name '_EndFullScreen';
  6946. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6947. {****
  6948. Wired Actions
  6949. ****}
  6950. { flags for MovieExecuteWiredActions}
  6951. const
  6952. movieExecuteWiredActionDontExecute = 1 shl 0;
  6953. {
  6954. * AddMovieExecuteWiredActionsProc()
  6955. *
  6956. * Availability:
  6957. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6958. * CarbonLib: in CarbonLib 1.0.2 and later
  6959. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6960. * Windows: in qtmlClient.lib 4.0 and later
  6961. }
  6962. function AddMovieExecuteWiredActionsProc( theMovie: Movie; proc: MovieExecuteWiredActionsUPP; refCon: UnivPtr ): OSErr; external name '_AddMovieExecuteWiredActionsProc';
  6963. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6964. {
  6965. * RemoveMovieExecuteWiredActionsProc()
  6966. *
  6967. * Availability:
  6968. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6969. * CarbonLib: in CarbonLib 1.0.2 and later
  6970. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6971. * Windows: in qtmlClient.lib 4.0 and later
  6972. }
  6973. function RemoveMovieExecuteWiredActionsProc( theMovie: Movie; proc: MovieExecuteWiredActionsUPP; refCon: UnivPtr ): OSErr; external name '_RemoveMovieExecuteWiredActionsProc';
  6974. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6975. {
  6976. * MovieExecuteWiredActions()
  6977. *
  6978. * Availability:
  6979. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6980. * CarbonLib: in CarbonLib 1.0.2 and later
  6981. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6982. * Windows: in qtmlClient.lib 4.0 and later
  6983. }
  6984. function MovieExecuteWiredActions( theMovie: Movie; flags: SIGNEDLONG; actions: QTAtomContainer ): OSErr; external name '_MovieExecuteWiredActions';
  6985. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6986. {****
  6987. Keyboard Navigation/Editable Text Field Support
  6988. ****}
  6989. {
  6990. Navigation Direction Constants
  6991. for MediaNavigateTargetRefCon
  6992. }
  6993. const
  6994. kRefConNavigationNext = 0;
  6995. kRefConNavigationPrevious = 1;
  6996. {
  6997. Refcon Properties
  6998. for MediaRefConGetProerty/MediaRefConSetProperty
  6999. }
  7000. const
  7001. kRefConPropertyCanHaveFocus = 1; { Boolean }
  7002. kRefConPropertyHasFocus = 2; { Boolean }
  7003. { media properties}
  7004. const
  7005. kTrackFocusCanEditFlag = FourCharCode('kedt');
  7006. kTrackDefaultFocusFlags = FourCharCode('kfoc');
  7007. kTrackFocusDefaultRefcon = FourCharCode('kref');
  7008. { focus flags}
  7009. const
  7010. kTrackFocusOn = 1;
  7011. kTrackHandlesTabs = 2; { this is reserved for a future release}
  7012. {****
  7013. Flash track properties
  7014. ****}
  7015. const
  7016. kFlashTrackPropertyAcceptAllClicks = FourCharCode('clik'); { type of media property atom; data is a Boolean }
  7017. {****
  7018. Sprite Toolbox
  7019. ****}
  7020. const
  7021. kBackgroundSpriteLayerNum = 32767;
  7022. { Sprite Properties}
  7023. const
  7024. kSpritePropertyMatrix = 1;
  7025. kSpritePropertyImageDescription = 2;
  7026. kSpritePropertyImageDataPtr = 3;
  7027. kSpritePropertyVisible = 4;
  7028. kSpritePropertyLayer = 5;
  7029. kSpritePropertyGraphicsMode = 6;
  7030. kSpritePropertyImageDataSize = 7;
  7031. kSpritePropertyActionHandlingSpriteID = 8;
  7032. kSpritePropertyCanBeHitTested = 9;
  7033. kSpritePropertyImageIndex = 100;
  7034. kSpriteTrackPropertyBackgroundColor = 101;
  7035. kSpriteTrackPropertyOffscreenBitDepth = 102;
  7036. kSpriteTrackPropertySampleFormat = 103;
  7037. kSpriteTrackPropertyScaleSpritesToScaleWorld = 104;
  7038. kSpriteTrackPropertyHasActions = 105;
  7039. kSpriteTrackPropertyVisible = 106;
  7040. kSpriteTrackPropertyQTIdleEventsFrequency = 107;
  7041. kSpriteTrackPropertyAllSpritesHitTestingMode = 108;
  7042. kSpriteTrackPropertyPreferredDepthInterpretationMode = 109;
  7043. kSpriteImagePropertyRegistrationPoint = 1000;
  7044. kSpriteImagePropertyGroupID = 1001;
  7045. { values for kSpriteTrackPropertyPreferredDepthInterpretationMode}
  7046. const
  7047. kSpriteTrackPreferredDepthCompatibilityMode = 0;
  7048. kSpriteTrackPreferredDepthModernMode = 1;
  7049. { values for kSpriteTrackPropertyAllSpritesHitTestingMode}
  7050. const
  7051. kSpriteHitTestUseSpritesOwnPropertiesMode = 0;
  7052. kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1;
  7053. kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2;
  7054. { special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)}
  7055. const
  7056. kNoQTIdleEvents = -1;
  7057. { GetSpriteProperties for accessing invalid SpriteWorldRegion}
  7058. const
  7059. kGetSpriteWorldInvalidRegionAndLeaveIntact = -1;
  7060. kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2;
  7061. { flagsIn for SpriteWorldIdle}
  7062. const
  7063. kOnlyDrawToSpriteWorld = 1 shl 0;
  7064. kSpriteWorldPreflight = 1 shl 1;
  7065. { flagsOut for SpriteWorldIdle}
  7066. const
  7067. kSpriteWorldDidDraw = 1 shl 0;
  7068. kSpriteWorldNeedsToDraw = 1 shl 1;
  7069. { flags for sprite track sample format}
  7070. const
  7071. kKeyFrameAndSingleOverride = 1 shl 1;
  7072. kKeyFrameAndAllOverrides = 1 shl 2;
  7073. { sprite world flags}
  7074. const
  7075. kScaleSpritesToScaleWorld = 1 shl 1;
  7076. kSpriteWorldHighQuality = 1 shl 2;
  7077. kSpriteWorldDontAutoInvalidate = 1 shl 3;
  7078. kSpriteWorldInvisible = 1 shl 4;
  7079. kSpriteWorldDirtyInsteadOfFlush = 1 shl 5;
  7080. {
  7081. * NewSpriteWorld()
  7082. *
  7083. * Availability:
  7084. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7085. * CarbonLib: in CarbonLib 1.0 and later
  7086. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7087. * Windows: in qtmlClient.lib 3.0 and later
  7088. }
  7089. function NewSpriteWorld( var newSpriteWorld: SpriteWorld; destination: GWorldPtr; spriteLayer: GWorldPtr; var backgroundColor: RGBColor; background: GWorldPtr ): OSErr; external name '_NewSpriteWorld';
  7090. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7091. {
  7092. * DisposeSpriteWorld()
  7093. *
  7094. * Availability:
  7095. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7096. * CarbonLib: in CarbonLib 1.0 and later
  7097. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7098. * Windows: in qtmlClient.lib 3.0 and later
  7099. }
  7100. procedure DisposeSpriteWorld( theSpriteWorld: SpriteWorld ); external name '_DisposeSpriteWorld';
  7101. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7102. {
  7103. * SetSpriteWorldClip()
  7104. *
  7105. * Availability:
  7106. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7107. * CarbonLib: in CarbonLib 1.0 and later
  7108. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7109. * Windows: in qtmlClient.lib 3.0 and later
  7110. }
  7111. function SetSpriteWorldClip( theSpriteWorld: SpriteWorld; clipRgn: RgnHandle ): OSErr; external name '_SetSpriteWorldClip';
  7112. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7113. {
  7114. * SetSpriteWorldMatrix()
  7115. *
  7116. * Availability:
  7117. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7118. * CarbonLib: in CarbonLib 1.0 and later
  7119. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7120. * Windows: in qtmlClient.lib 3.0 and later
  7121. }
  7122. function SetSpriteWorldMatrix( theSpriteWorld: SpriteWorld; const (*var*) matrix: MatrixRecord ): OSErr; external name '_SetSpriteWorldMatrix';
  7123. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7124. {
  7125. * SetSpriteWorldGraphicsMode()
  7126. *
  7127. * Availability:
  7128. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7129. * CarbonLib: in CarbonLib 1.0 and later
  7130. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7131. * Windows: in qtmlClient.lib 3.0 and later
  7132. }
  7133. function SetSpriteWorldGraphicsMode( theSpriteWorld: SpriteWorld; mode: SIGNEDLONG; const (*var*) opColor: RGBColor ): OSErr; external name '_SetSpriteWorldGraphicsMode';
  7134. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7135. {
  7136. * SpriteWorldIdle()
  7137. *
  7138. * Availability:
  7139. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7140. * CarbonLib: in CarbonLib 1.0 and later
  7141. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7142. * Windows: in qtmlClient.lib 3.0 and later
  7143. }
  7144. function SpriteWorldIdle( theSpriteWorld: SpriteWorld; flagsIn: SIGNEDLONG; var flagsOut: SIGNEDLONG ): OSErr; external name '_SpriteWorldIdle';
  7145. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7146. {
  7147. * InvalidateSpriteWorld()
  7148. *
  7149. * Availability:
  7150. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7151. * CarbonLib: in CarbonLib 1.0 and later
  7152. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7153. * Windows: in qtmlClient.lib 3.0 and later
  7154. }
  7155. function InvalidateSpriteWorld( theSpriteWorld: SpriteWorld; var invalidArea: Rect ): OSErr; external name '_InvalidateSpriteWorld';
  7156. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7157. {
  7158. * SpriteWorldHitTest()
  7159. *
  7160. * Availability:
  7161. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7162. * CarbonLib: in CarbonLib 1.0 and later
  7163. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7164. * Windows: in qtmlClient.lib 3.0 and later
  7165. }
  7166. function SpriteWorldHitTest( theSpriteWorld: SpriteWorld; flags: SIGNEDLONG; loc: Point; var spriteHit: Sprite ): OSErr; external name '_SpriteWorldHitTest';
  7167. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7168. {
  7169. * SpriteHitTest()
  7170. *
  7171. * Availability:
  7172. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7173. * CarbonLib: in CarbonLib 1.0 and later
  7174. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7175. * Windows: in qtmlClient.lib 3.0 and later
  7176. }
  7177. function SpriteHitTest( theSprite: Sprite; flags: SIGNEDLONG; loc: Point; var wasHit: Boolean ): OSErr; external name '_SpriteHitTest';
  7178. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7179. {
  7180. * DisposeAllSprites()
  7181. *
  7182. * Availability:
  7183. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7184. * CarbonLib: in CarbonLib 1.0 and later
  7185. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7186. * Windows: in qtmlClient.lib 3.0 and later
  7187. }
  7188. procedure DisposeAllSprites( theSpriteWorld: SpriteWorld ); external name '_DisposeAllSprites';
  7189. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7190. {
  7191. * SetSpriteWorldFlags()
  7192. *
  7193. * Availability:
  7194. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7195. * CarbonLib: in CarbonLib 1.0 and later
  7196. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7197. * Windows: in qtmlClient.lib 3.0 and later
  7198. }
  7199. function SetSpriteWorldFlags( spriteWorld_: SpriteWorld; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ): OSErr; external name '_SetSpriteWorldFlags';
  7200. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7201. {
  7202. * NewSprite()
  7203. *
  7204. * Availability:
  7205. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7206. * CarbonLib: in CarbonLib 1.0 and later
  7207. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7208. * Windows: in qtmlClient.lib 3.0 and later
  7209. }
  7210. function NewSprite( var newSprite: Sprite; itsSpriteWorld: SpriteWorld; idh: ImageDescriptionHandle; imageDataPtr: Ptr; var matrix: MatrixRecord; visible: Boolean; layer: SInt16 ): OSErr; external name '_NewSprite';
  7211. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7212. {
  7213. * DisposeSprite()
  7214. *
  7215. * Availability:
  7216. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7217. * CarbonLib: in CarbonLib 1.0 and later
  7218. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7219. * Windows: in qtmlClient.lib 3.0 and later
  7220. }
  7221. procedure DisposeSprite( theSprite: Sprite ); external name '_DisposeSprite';
  7222. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7223. {
  7224. * InvalidateSprite()
  7225. *
  7226. * Availability:
  7227. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7228. * CarbonLib: in CarbonLib 1.0 and later
  7229. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7230. * Windows: in qtmlClient.lib 3.0 and later
  7231. }
  7232. procedure InvalidateSprite( theSprite: Sprite ); external name '_InvalidateSprite';
  7233. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7234. {
  7235. * SetSpriteProperty()
  7236. *
  7237. * Availability:
  7238. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7239. * CarbonLib: in CarbonLib 1.0 and later
  7240. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7241. * Windows: in qtmlClient.lib 3.0 and later
  7242. }
  7243. function SetSpriteProperty( theSprite: Sprite; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): OSErr; external name '_SetSpriteProperty';
  7244. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7245. {
  7246. * GetSpriteProperty()
  7247. *
  7248. * Availability:
  7249. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7250. * CarbonLib: in CarbonLib 1.0 and later
  7251. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7252. * Windows: in qtmlClient.lib 3.0 and later
  7253. }
  7254. function GetSpriteProperty( theSprite: Sprite; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): OSErr; external name '_GetSpriteProperty';
  7255. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7256. {****
  7257. QT Atom Data Support
  7258. ****}
  7259. const
  7260. kParentAtomIsContainer = 0;
  7261. { create and dispose QTAtomContainer objects}
  7262. {
  7263. * QTNewAtomContainer()
  7264. *
  7265. * Availability:
  7266. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7267. * CarbonLib: in CarbonLib 1.0 and later
  7268. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7269. * Windows: in qtmlClient.lib 3.0 and later
  7270. }
  7271. function QTNewAtomContainer( var atomData: QTAtomContainer ): OSErr; external name '_QTNewAtomContainer';
  7272. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7273. {
  7274. * QTDisposeAtomContainer()
  7275. *
  7276. * Availability:
  7277. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7278. * CarbonLib: in CarbonLib 1.0 and later
  7279. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7280. * Windows: in qtmlClient.lib 3.0 and later
  7281. }
  7282. function QTDisposeAtomContainer( atomData: QTAtomContainer ): OSErr; external name '_QTDisposeAtomContainer';
  7283. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7284. { locating nested atoms within QTAtomContainer container}
  7285. {
  7286. * QTGetNextChildType()
  7287. *
  7288. * Availability:
  7289. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7290. * CarbonLib: in CarbonLib 1.0 and later
  7291. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7292. * Windows: in qtmlClient.lib 3.0 and later
  7293. }
  7294. function QTGetNextChildType( container: QTAtomContainer; parentAtom: QTAtom; currentChildType: QTAtomType ): QTAtomType; external name '_QTGetNextChildType';
  7295. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7296. {
  7297. * QTCountChildrenOfType()
  7298. *
  7299. * Availability:
  7300. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7301. * CarbonLib: in CarbonLib 1.0 and later
  7302. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7303. * Windows: in qtmlClient.lib 3.0 and later
  7304. }
  7305. function QTCountChildrenOfType( container: QTAtomContainer; parentAtom: QTAtom; childType: QTAtomType ): SInt16; external name '_QTCountChildrenOfType';
  7306. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7307. {
  7308. * QTFindChildByIndex()
  7309. *
  7310. * Availability:
  7311. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7312. * CarbonLib: in CarbonLib 1.0 and later
  7313. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7314. * Windows: in qtmlClient.lib 3.0 and later
  7315. }
  7316. function QTFindChildByIndex( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; index: SInt16; var id: QTAtomID ): QTAtom; external name '_QTFindChildByIndex';
  7317. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7318. {
  7319. * QTFindChildByID()
  7320. *
  7321. * Availability:
  7322. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7323. * CarbonLib: in CarbonLib 1.0 and later
  7324. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7325. * Windows: in qtmlClient.lib 3.0 and later
  7326. }
  7327. function QTFindChildByID( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; id: QTAtomID; var index: SInt16 ): QTAtom; external name '_QTFindChildByID';
  7328. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7329. {
  7330. * QTNextChildAnyType()
  7331. *
  7332. * Availability:
  7333. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7334. * CarbonLib: in CarbonLib 1.0 and later
  7335. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7336. * Windows: in qtmlClient.lib 3.0 and later
  7337. }
  7338. function QTNextChildAnyType( container: QTAtomContainer; parentAtom: QTAtom; currentChild: QTAtom; var nextChild: QTAtom ): OSErr; external name '_QTNextChildAnyType';
  7339. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7340. { set a leaf atom's data}
  7341. {
  7342. * QTSetAtomData()
  7343. *
  7344. * Availability:
  7345. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7346. * CarbonLib: in CarbonLib 1.0 and later
  7347. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7348. * Windows: in qtmlClient.lib 3.0 and later
  7349. }
  7350. function QTSetAtomData( container: QTAtomContainer; atom: QTAtom; dataSize: SIGNEDLONG; atomData: UnivPtr ): OSErr; external name '_QTSetAtomData';
  7351. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7352. { extracting data}
  7353. {
  7354. * QTCopyAtomDataToHandle()
  7355. *
  7356. * Availability:
  7357. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7358. * CarbonLib: in CarbonLib 1.0 and later
  7359. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7360. * Windows: in qtmlClient.lib 3.0 and later
  7361. }
  7362. function QTCopyAtomDataToHandle( container: QTAtomContainer; atom: QTAtom; targetHandle: Handle ): OSErr; external name '_QTCopyAtomDataToHandle';
  7363. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7364. {
  7365. * QTCopyAtomDataToPtr()
  7366. *
  7367. * Availability:
  7368. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7369. * CarbonLib: in CarbonLib 1.0 and later
  7370. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7371. * Windows: in qtmlClient.lib 3.0 and later
  7372. }
  7373. function QTCopyAtomDataToPtr( container: QTAtomContainer; atom: QTAtom; sizeOrLessOK: Boolean; size: SIGNEDLONG; targetPtr: UnivPtr; var actualSize: SIGNEDLONG ): OSErr; external name '_QTCopyAtomDataToPtr';
  7374. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7375. {
  7376. * QTGetAtomTypeAndID()
  7377. *
  7378. * Availability:
  7379. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7380. * CarbonLib: in CarbonLib 1.0 and later
  7381. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7382. * Windows: in qtmlClient.lib 3.0 and later
  7383. }
  7384. function QTGetAtomTypeAndID( container: QTAtomContainer; atom: QTAtom; var atomType: QTAtomType; var id: QTAtomID ): OSErr; external name '_QTGetAtomTypeAndID';
  7385. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7386. { extract a copy of an atom and all of it's children, caller disposes}
  7387. {
  7388. * QTCopyAtom()
  7389. *
  7390. * Availability:
  7391. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7392. * CarbonLib: in CarbonLib 1.0 and later
  7393. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7394. * Windows: in qtmlClient.lib 3.0 and later
  7395. }
  7396. function QTCopyAtom( container: QTAtomContainer; atom: QTAtom; var targetContainer: QTAtomContainer ): OSErr; external name '_QTCopyAtom';
  7397. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7398. { obtaining direct reference to atom data}
  7399. {
  7400. * QTLockContainer()
  7401. *
  7402. * Availability:
  7403. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7404. * CarbonLib: in CarbonLib 1.0 and later
  7405. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7406. * Windows: in qtmlClient.lib 3.0 and later
  7407. }
  7408. function QTLockContainer( container: QTAtomContainer ): OSErr; external name '_QTLockContainer';
  7409. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7410. {
  7411. * QTGetAtomDataPtr()
  7412. *
  7413. * Availability:
  7414. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7415. * CarbonLib: in CarbonLib 1.0 and later
  7416. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7417. * Windows: in qtmlClient.lib 3.0 and later
  7418. }
  7419. function QTGetAtomDataPtr( container: QTAtomContainer; atom: QTAtom; var dataSize: SIGNEDLONG; var atomData: Ptr ): OSErr; external name '_QTGetAtomDataPtr';
  7420. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7421. {
  7422. * QTUnlockContainer()
  7423. *
  7424. * Availability:
  7425. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7426. * CarbonLib: in CarbonLib 1.0 and later
  7427. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7428. * Windows: in qtmlClient.lib 3.0 and later
  7429. }
  7430. function QTUnlockContainer( container: QTAtomContainer ): OSErr; external name '_QTUnlockContainer';
  7431. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7432. {
  7433. building QTAtomContainer trees
  7434. creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
  7435. used for Top-Down tree creation
  7436. }
  7437. {
  7438. * QTInsertChild()
  7439. *
  7440. * Availability:
  7441. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7442. * CarbonLib: in CarbonLib 1.0 and later
  7443. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7444. * Windows: in qtmlClient.lib 3.0 and later
  7445. }
  7446. function QTInsertChild( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; id: QTAtomID; index: SInt16; dataSize: SIGNEDLONG; data: UnivPtr; var newAtom: QTAtom ): OSErr; external name '_QTInsertChild';
  7447. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7448. { inserts children from childrenContainer as children of parentAtom}
  7449. {
  7450. * QTInsertChildren()
  7451. *
  7452. * Availability:
  7453. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7454. * CarbonLib: in CarbonLib 1.0 and later
  7455. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7456. * Windows: in qtmlClient.lib 3.0 and later
  7457. }
  7458. function QTInsertChildren( container: QTAtomContainer; parentAtom: QTAtom; childrenContainer: QTAtomContainer ): OSErr; external name '_QTInsertChildren';
  7459. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7460. { destruction}
  7461. {
  7462. * QTRemoveAtom()
  7463. *
  7464. * Availability:
  7465. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7466. * CarbonLib: in CarbonLib 1.0 and later
  7467. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7468. * Windows: in qtmlClient.lib 3.0 and later
  7469. }
  7470. function QTRemoveAtom( container: QTAtomContainer; atom: QTAtom ): OSErr; external name '_QTRemoveAtom';
  7471. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7472. {
  7473. * QTRemoveChildren()
  7474. *
  7475. * Availability:
  7476. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7477. * CarbonLib: in CarbonLib 1.0 and later
  7478. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7479. * Windows: in qtmlClient.lib 3.0 and later
  7480. }
  7481. function QTRemoveChildren( container: QTAtomContainer; atom: QTAtom ): OSErr; external name '_QTRemoveChildren';
  7482. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7483. { replacement must be same type as target}
  7484. {
  7485. * QTReplaceAtom()
  7486. *
  7487. * Availability:
  7488. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7489. * CarbonLib: in CarbonLib 1.0 and later
  7490. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7491. * Windows: in qtmlClient.lib 3.0 and later
  7492. }
  7493. function QTReplaceAtom( targetContainer: QTAtomContainer; targetAtom: QTAtom; replacementContainer: QTAtomContainer; replacementAtom: QTAtom ): OSErr; external name '_QTReplaceAtom';
  7494. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7495. {
  7496. * QTSwapAtoms()
  7497. *
  7498. * Availability:
  7499. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7500. * CarbonLib: in CarbonLib 1.0 and later
  7501. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7502. * Windows: in qtmlClient.lib 3.0 and later
  7503. }
  7504. function QTSwapAtoms( container: QTAtomContainer; atom1: QTAtom; atom2: QTAtom ): OSErr; external name '_QTSwapAtoms';
  7505. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7506. {
  7507. * QTSetAtomID()
  7508. *
  7509. * Availability:
  7510. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7511. * CarbonLib: in CarbonLib 1.0 and later
  7512. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7513. * Windows: in qtmlClient.lib 3.0 and later
  7514. }
  7515. function QTSetAtomID( container: QTAtomContainer; atom: QTAtom; newID: QTAtomID ): OSErr; external name '_QTSetAtomID';
  7516. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7517. {
  7518. * QTGetAtomParent()
  7519. *
  7520. * Availability:
  7521. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7522. * CarbonLib: in CarbonLib 1.0.2 and later
  7523. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  7524. * Windows: in qtmlClient.lib 4.0 and later
  7525. }
  7526. function QTGetAtomParent( container: QTAtomContainer; childAtom: QTAtom ): QTAtom; external name '_QTGetAtomParent';
  7527. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7528. {
  7529. * SetMediaPropertyAtom()
  7530. *
  7531. * Availability:
  7532. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7533. * CarbonLib: in CarbonLib 1.0 and later
  7534. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7535. * Windows: in qtmlClient.lib 3.0 and later
  7536. }
  7537. function SetMediaPropertyAtom( theMedia: Media; propertyAtom: QTAtomContainer ): OSErr; external name '_SetMediaPropertyAtom';
  7538. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7539. {
  7540. * GetMediaPropertyAtom()
  7541. *
  7542. * Availability:
  7543. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7544. * CarbonLib: in CarbonLib 1.0 and later
  7545. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7546. * Windows: in qtmlClient.lib 3.0 and later
  7547. }
  7548. function GetMediaPropertyAtom( theMedia: Media; var propertyAtom: QTAtomContainer ): OSErr; external name '_GetMediaPropertyAtom';
  7549. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7550. {****
  7551. Tween Support
  7552. ****}
  7553. type
  7554. TweenRecordPtr = ^TweenRecord;
  7555. TweenerDataProcPtr = function( tr: TweenRecordPtr; tweenData: UnivPtr; tweenDataSize: SIGNEDLONG; dataDescriptionSeed: SIGNEDLONG; dataDescription: Handle; asyncCompletionProc: ICMCompletionProcRecordPtr; transferProc: UniversalProcPtr; refCon: UnivPtr ): ComponentResult;
  7556. TweenerDataUPP = TweenerDataProcPtr;
  7557. TweenRecord = record
  7558. version: SIGNEDLONG;
  7559. container: QTAtomContainer;
  7560. tweenAtom: QTAtom;
  7561. dataAtom: QTAtom;
  7562. percent: Fixed;
  7563. dataProc: TweenerDataUPP;
  7564. private1: UnivPtr;
  7565. private2: UnivPtr;
  7566. end;
  7567. type
  7568. TweenV1RecordPtr = ^TweenV1Record;
  7569. TweenV1Record = record
  7570. version: SIGNEDLONG;
  7571. container: QTAtomContainer;
  7572. tweenAtom: QTAtom;
  7573. dataAtom: QTAtom;
  7574. percent: Fixed;
  7575. dataProc: TweenerDataUPP;
  7576. private1: UnivPtr;
  7577. private2: UnivPtr;
  7578. fractPercent: Fract;
  7579. end;
  7580. const
  7581. kTweenRecordNoFlags = 0;
  7582. kTweenRecordIsAtInterruptTime = $00000001;
  7583. type
  7584. TweenV2RecordPtr = ^TweenV2Record;
  7585. TweenV2Record = record
  7586. version: SIGNEDLONG;
  7587. container: QTAtomContainer;
  7588. tweenAtom: QTAtom;
  7589. dataAtom: QTAtom;
  7590. percent: Fixed;
  7591. dataProc: TweenerDataUPP;
  7592. private1: UnivPtr;
  7593. private2: UnivPtr;
  7594. fractPercent: Fract;
  7595. flags: SIGNEDLONG;
  7596. end;
  7597. {
  7598. * QTNewTween()
  7599. *
  7600. * Availability:
  7601. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7602. * CarbonLib: in CarbonLib 1.0 and later
  7603. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7604. * Windows: in qtmlClient.lib 3.0 and later
  7605. }
  7606. function QTNewTween( var tween: QTTweener; container: QTAtomContainer; tweenAtom: QTAtom; maxTime: TimeValue ): OSErr; external name '_QTNewTween';
  7607. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7608. {
  7609. * QTDisposeTween()
  7610. *
  7611. * Availability:
  7612. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7613. * CarbonLib: in CarbonLib 1.0 and later
  7614. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7615. * Windows: in qtmlClient.lib 3.0 and later
  7616. }
  7617. function QTDisposeTween( tween: QTTweener ): OSErr; external name '_QTDisposeTween';
  7618. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7619. {
  7620. * QTDoTween()
  7621. *
  7622. * Availability:
  7623. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7624. * CarbonLib: in CarbonLib 1.0 and later
  7625. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7626. * Windows: in qtmlClient.lib 3.0 and later
  7627. }
  7628. function QTDoTween( tween: QTTweener; atTime: TimeValue; result: Handle; var resultSize: SIGNEDLONG; tweenDataProc: TweenerDataUPP; tweenDataRefCon: UnivPtr ): OSErr; external name '_QTDoTween';
  7629. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7630. {
  7631. QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations:
  7632. - not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr.
  7633. - the QTAtomContainer used for the tween must be locked
  7634. - the dataSize must be large enough to contain the result
  7635. - this call is not supported for sequence tweens, use interpolation tweens instead
  7636. }
  7637. {
  7638. * QTDoTweenPtr()
  7639. *
  7640. * Availability:
  7641. * Mac OS X: in version 10.2 and later in QuickTime.framework
  7642. * CarbonLib: in CarbonLib 1.6 and later
  7643. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  7644. * Windows: in qtmlClient.lib 6.0 and later
  7645. }
  7646. function QTDoTweenPtr( tween: QTTweener; atTime: TimeValue; result: Ptr; resultSize: SIGNEDLONG ): OSErr; external name '_QTDoTweenPtr';
  7647. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  7648. {****
  7649. Preferences
  7650. ****}
  7651. {
  7652. * GetQuickTimePreference()
  7653. *
  7654. * Availability:
  7655. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7656. * CarbonLib: in CarbonLib 1.0 and later
  7657. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7658. * Windows: in qtmlClient.lib 3.0 and later
  7659. }
  7660. function GetQuickTimePreference( preferenceType: OSType; var preferenceAtom: QTAtomContainer ): OSErr; external name '_GetQuickTimePreference';
  7661. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7662. {
  7663. * SetQuickTimePreference()
  7664. *
  7665. * Availability:
  7666. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7667. * CarbonLib: in CarbonLib 1.0 and later
  7668. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7669. * Windows: in qtmlClient.lib 3.0 and later
  7670. }
  7671. function SetQuickTimePreference( preferenceType: OSType; preferenceAtom: QTAtomContainer ): OSErr; external name '_SetQuickTimePreference';
  7672. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7673. {****
  7674. Effects and dialog Support
  7675. ****}
  7676. { atom types for entries in the effects list}
  7677. const
  7678. kEffectNameAtom = FourCharCode('name'); { name of effect }
  7679. kEffectTypeAtom = FourCharCode('type'); { codec sub-type for effect }
  7680. kEffectManufacturerAtom = FourCharCode('manu'); { codec manufacturer for effect }
  7681. type
  7682. QTParamPreviewRecordPtr = ^QTParamPreviewRecord;
  7683. QTParamPreviewRecord = record
  7684. sourceID: SIGNEDLONG; { 1 based source identifier}
  7685. sourcePicture: PicHandle; { picture for preview, must not dispose until dialog is disposed}
  7686. end;
  7687. type
  7688. QTParamPreviewPtr = QTParamPreviewRecordPtr;
  7689. QTParamDialogEventRecordPtr = ^QTParamDialogEventRecord;
  7690. QTParamDialogEventRecord = record
  7691. theEvent: EventRecordPtr; { Event received by the dialog }
  7692. whichDialog: DialogRef; { dialog that event was directed towards }
  7693. itemHit: SInt16; { dialog item which was hit }
  7694. end;
  7695. type
  7696. QTParamDialogEventPtr = QTParamDialogEventRecordPtr;
  7697. QTParamFetchPreviewRecordPtr = ^QTParamFetchPreviewRecord;
  7698. QTParamFetchPreviewRecord = record
  7699. theWorld: GWorldPtr; { the world into which to draw the preview }
  7700. percentage: Fixed; { frame percentage (from 0.0 - 1.0) to be drawn }
  7701. end;
  7702. type
  7703. QTParamFetchPreviewPtr = QTParamFetchPreviewRecordPtr;
  7704. { Only available on OS X }
  7705. const
  7706. kEffectParentWindowCarbon = FourCharCode('carb');
  7707. type
  7708. QTEventLoopDescriptionRecordPtr = ^QTEventLoopDescriptionRecord;
  7709. QTEventLoopDescriptionRecord = record
  7710. recordSize: SIGNEDLONG; { must be == sizeof(QTEventLoopDescriptionRecord) }
  7711. windowRefKind: SIGNEDLONG; { kind of window reference }
  7712. parentWindow: UnivPtr; { parent window (for sheets) or NIL to use Carbon FrontWindow() }
  7713. eventTarget: UnivPtr; { EventTargetRef to receive kHICommandOK and kHICommandCancel }
  7714. end;
  7715. type
  7716. QTEventLoopDescriptionPtr = QTEventLoopDescriptionRecordPtr;
  7717. const
  7718. pdActionConfirmDialog = 1; { no param}
  7719. pdActionSetAppleMenu = 2; { param is MenuRef}
  7720. pdActionSetEditMenu = 3; { param is MenuRef}
  7721. pdActionGetDialogValues = 4; { param is QTAtomContainer}
  7722. pdActionSetPreviewUserItem = 5; { param is long}
  7723. pdActionSetPreviewPicture = 6; { param is QTParamPreviewPtr;}
  7724. pdActionSetColorPickerEventProc = 7; { param is UserEventUPP}
  7725. pdActionSetDialogTitle = 8; { param is StringPtr }
  7726. pdActionGetSubPanelMenu = 9; { param is MenuRef* }
  7727. pdActionActivateSubPanel = 10; { param is long }
  7728. pdActionConductStopAlert = 11; { param is StringPtr }
  7729. pdActionModelessCallback = 12; { param is QTParamDialogEventPtr }
  7730. pdActionFetchPreview = 13; { param is QTParamFetchPreviewPtr }
  7731. pdActionSetDialogSettings = 14; { param is QTAtomContainer }
  7732. pdActionGetDialogSettings = 15; { param is QTAtomContainer }
  7733. pdActionGetNextSample = 16; { param is QTAtomContainer with effect sample to change - createdDialog may be NIL }
  7734. pdActionGetPreviousSample = 17; { param is QTAtomContainer with effect sample to change - createdDialog may be NIL }
  7735. pdActionCompactSample = 18; { param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL }
  7736. pdActionSetEditCallout = 19; { param is QTParamPreviewCalloutPtr, can be NIL }
  7737. pdActionSetSampleTime = 20; { param is QTParamSampleTimePtr, can be NIL }
  7738. pdActionDoEditCommand = 21; { param is long with menu command (ie, mcMenuCut etc) }
  7739. pdActionGetSubPanelMenuValue = 22; { param is long and returns current sub-panel value selected by the effect }
  7740. { Action codes and typedefs used for custom controls within effects }
  7741. pdActionCustomNewControl = 23; { param is QTCustomControlNewPtr }
  7742. pdActionCustomDisposeControl = 24; { param is QTCustomControlNewPtr }
  7743. pdActionCustomPositionControl = 25; { param is QTCustomControlPositionControlPtr }
  7744. pdActionCustomShowHideControl = 26; { param is QTCustomControlShowHideControlPtr }
  7745. pdActionCustomHandleEvent = 27; { param is QTCustomControlHandleEventPtr }
  7746. pdActionCustomSetFocus = 28; { param is QTCustomControlSetFocusPtr }
  7747. pdActionCustomSetEditMenu = 29; { param is QTCustomControlSetEditMenuPtr }
  7748. pdActionCustomSetPreviewPicture = 30; { param is QTCustomControlSetPreviewPicturePtr }
  7749. pdActionCustomSetEditCallout = 31; { param is QTCustomControlSetEditCalloutPtr }
  7750. pdActionCustomGetEnableValue = 32; { param is QTCustomControlGetEnableValuePtr }
  7751. pdActionCustomSetSampleTime = 33; { param is QTCustomControlSetSampleTimePtr }
  7752. pdActionCustomGetValue = 34; { param is QTCustomControlGetValue }
  7753. pdActionCustomDoEditCommand = 35; { param is QTCustomControlDoEditCommand }
  7754. { more actions for the dialog }
  7755. pdActionRunInEventLoop = 36; { param is QTEventLoopDescriptionPtr - OS X only}
  7756. pdActionConvertSettingsToXML = 37; { param is QTAtomContainer* inbound, Handle* outbound contains the XML - createdDialog may be NIL }
  7757. pdActionConvertSettingsToXMLWithComments = 38; { param is QTAtomContainer* inbound, Handle* outbound contains the XML with comments - createdDialog may be NIL }
  7758. pdActionConvertSettingsToText = 39; { param is QTAtomContainer* inbound, Handle* outbound contains human readable text - createdDialog may be NIL }
  7759. pdActionConvertXMLToSettings = 40; { param is Handle* inbound, QTAtomContainer* outbound contains parameters - createdDialog may be NIL }
  7760. pdActionSetPropertyComponent = 41; { param is QTParamComponentPropertyPtr }
  7761. { Sample Time information }
  7762. const
  7763. pdSampleTimeDisplayOptionsNone = $00000000;
  7764. type
  7765. QTParamComponentPropertyRecord = record
  7766. component: ComponentInstance; { component to call for get/set properties}
  7767. defaultClass: OSType; { default property class if not overriden by a given parameter}
  7768. end;
  7769. type
  7770. QTParamSampleTimeRecordPtr = ^QTParamSampleTimeRecord;
  7771. QTParamSampleTimeRecord = record
  7772. displayOptions: SIGNEDLONG;
  7773. sampleStartTime: TimeRecord;
  7774. sampleDuration: TimeValue;
  7775. framesPerSecond: SIGNEDLONG; { if 0, will cause revert to seconds display}
  7776. end;
  7777. type
  7778. QTParamSampleTimePtr = QTParamSampleTimeRecordPtr;
  7779. { Preview change callout information }
  7780. type
  7781. QTParamPreviewCalloutRecordPtr = ^QTParamPreviewCalloutRecord;
  7782. QTParamPreviewCalloutRecord = record
  7783. calloutProc: MoviePreviewCallOutUPP; { called when user makes editing changes to dialog. May be NIL. You should return true from your function. }
  7784. refCon: SIGNEDLONG; { passed to the callout procedure }
  7785. end;
  7786. type
  7787. QTParamPreviewCalloutPtr = QTParamPreviewCalloutRecordPtr;
  7788. const
  7789. pdOptionsCollectOneValue = $00000001; { should collect a single value only}
  7790. pdOptionsAllowOptionalInterpolations = $00000002; { non-novice interpolation options are shown }
  7791. pdOptionsModalDialogBox = $00000004; { dialog box should be modal }
  7792. pdOptionsEditCurrentEffectOnly = $00000008; { List of effects will not be shown }
  7793. pdOptionsHidePreview = $00000010; { Preview item will not be shown }
  7794. pdOptionsDisplayAsSheet = $00000020; { Dialog will be used as a sheet (on platforms that support it) }
  7795. type
  7796. QTParameterDialogOptions = SIGNEDLONG;
  7797. { ------- CUSTOM EFFECT CONTROLS}
  7798. {
  7799. Effects may choose to implement custom controls to allow the user to more easily edit complex parameters
  7800. that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either
  7801. a single parameter, or for a group of parameters.
  7802. Parameter(s) for a custom control must still be data types defined by the standard set, or for
  7803. complex records of data, must be defined within a group as individual parameters made up from base
  7804. data types (for example, a point is a group containing two Fixed point numbers).
  7805. This is to allow applications that do not wish to use the custom control for the effect to set values themselves.
  7806. Effects should be aware that these custom controls may be deployed by the application in either a dialog or
  7807. a window, with application defined background colors or patterns, along with application defined font
  7808. characteristics for the window.
  7809. It is recommended that effects implement custom controls only when needed, and that custom controls be used
  7810. for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface
  7811. for the effect. Effects may choose to implement multiple custom controls which combine with standard controls
  7812. to present the total user interface. For effects which have very complex user interfaces not well suited for
  7813. inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to
  7814. have an external editing application for parameters which may then be set within the standard UI via the open file
  7815. dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset.
  7816. For parameters that use a custom control to control a single parameter value, a new behavior
  7817. flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl.
  7818. For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior
  7819. should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented
  7820. by calling the custom control for that group -- the parameters within that group will not be processed
  7821. in the normal manner.
  7822. In both cases, the new customType and customID fields of the behavior must be filled in. These are
  7823. used in order to allow your custom control to determine which parameter is being edited in the case
  7824. where the custom control is used for the editing of multiple parameters. These values are passed into
  7825. the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's
  7826. default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl
  7827. calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called
  7828. for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is
  7829. the ID of the parameter atom.
  7830. }
  7831. {
  7832. pdActionCustomNewControlControl is called by application to create a new custom control or set of controls
  7833. for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any
  7834. basic allocation it needs for storage and return the result in storage. The options parameter tells
  7835. the control if the application wishes to support interpolated, optionally interpolated, or a single
  7836. value parameter.
  7837. Since pdActionCustomNewControlControl may be called upon your effect for other items within the
  7838. dialog, it is recommended that your effect have an easy way to determine which controls it implements:
  7839. a) by having storage be a pointer with an OSType at the begining to mark controls
  7840. implemented by your code.
  7841. - or -
  7842. b) keeping track in your component globals those custom controls which you have created.
  7843. When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition,
  7844. pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample.
  7845. Controls which implement type in fields typically need to commit any final user edits at this time.
  7846. }
  7847. type
  7848. QTCustomControlNewRecordPtr = ^QTCustomControlNewRecord;
  7849. QTCustomControlNewRecord = record
  7850. storage: UnivPtr; { storage allocated/disposed by the control}
  7851. options: QTParameterDialogOptions; { options used to control interpolation/not}
  7852. sample: QTAtomContainer; { sample that holds the data to be edited}
  7853. customType: SIGNEDLONG; { custom type and ID specified by effect for creation of this control}
  7854. customID: SIGNEDLONG;
  7855. end;
  7856. type
  7857. QTCustomControlNewPtr = QTCustomControlNewRecordPtr;
  7858. {
  7859. pdActionCustomPositionControl is called by the application to position the control within a window or dialog.
  7860. The control should determine if it will fit in the alloted area and position itself there. It should also
  7861. return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon
  7862. which parameter you are editing. You need not scale your control to the requested size. If the area presented to your
  7863. control is too small, set didFit to false. You should still return in used the size you would have liked to use for
  7864. the control. The application will then try again with a new size. Note that all
  7865. controls must be able to fit within a minimum of 300 by 250 pixels.
  7866. Custom controls that draw text should make note of the text font, size, and style at this time in order
  7867. to properly display within application windows.
  7868. Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl
  7869. in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl.
  7870. }
  7871. type
  7872. QTCustomControlPositionControlRecordPtr = ^QTCustomControlPositionControlRecord;
  7873. QTCustomControlPositionControlRecord = record
  7874. storage: UnivPtr; { storage for the control}
  7875. window: WindowPtr; { window to be used by the control}
  7876. location: Rect; { location within the window the control may use}
  7877. used: Rect; { returned by the control to indicate size it actually used}
  7878. didFit: Boolean; { did the control fit in the specified area?}
  7879. pad: array [0..2] of Boolean;
  7880. end;
  7881. type
  7882. QTCustomControlPositionControlPtr = QTCustomControlPositionControlRecordPtr;
  7883. {
  7884. pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or
  7885. completely disable drawing of the control
  7886. Your control should make note of the new state (if different from the last) and perform an InvalRect()
  7887. on your drawing area, or you may draw your control's initial state in the case of show. You should not
  7888. attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application
  7889. to process the resulting event as appropriate.
  7890. }
  7891. type
  7892. QTCustomControlShowHideControlRecordPtr = ^QTCustomControlShowHideControlRecord;
  7893. QTCustomControlShowHideControlRecord = record
  7894. storage: UnivPtr; { storage for the control}
  7895. show: Boolean; { display the control?}
  7896. enable: Boolean; { enable the control (ie, black vs gray display)}
  7897. pad: array [0..1] of Boolean;
  7898. end;
  7899. type
  7900. QTCustomControlShowHideControlPtr = QTCustomControlShowHideControlRecordPtr;
  7901. {
  7902. pdActionCustomHandleEvent is called to allow your custom control to process events.
  7903. Typical controls handle the following events:
  7904. - activate - to draw your control in normal/gray mode
  7905. - update - to draw your control
  7906. - mouseDown - to handle clicks
  7907. - keyDown - to handle typing when you have focus
  7908. - idle - to perform idle drawing (if applicable)
  7909. If your control handles the entire event, set didProcess to true. If
  7910. you handled the event, but other controls still need the event, set didProcess to false.
  7911. If your control supports the concept of focus for the purposes of typing (such as by having
  7912. a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing
  7913. of the event. It is assumed that your control will draw the appropriate focus UI as a result, and
  7914. the calling application will disable any focus drawing within the remainder of the UI.
  7915. By default, custom controls are not given idle time. If you need idle time, set needIdle to true
  7916. in response to the even that causes you to need idle (typically the taking of focus, or the first draw).
  7917. Your control will continue to be given idle events until you set needIdle to false in response to
  7918. a nullEvent.
  7919. }
  7920. type
  7921. QTCustomControlHandleEventRecordPtr = ^QTCustomControlHandleEventRecord;
  7922. QTCustomControlHandleEventRecord = record
  7923. storage: UnivPtr; { storage for the control}
  7924. pEvent: EventRecordPtr; { event to process}
  7925. didProcess: Boolean; { did we process entire event?}
  7926. tookFocus: Boolean; { did we take focus as a result of this event (typically mouseDowns)}
  7927. needIdle: Boolean; { does this control need idle events?}
  7928. didEdit: Boolean; { did we edit the samples?}
  7929. end;
  7930. type
  7931. QTCustomControlHandleEventPtr = QTCustomControlHandleEventRecordPtr;
  7932. {
  7933. pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically
  7934. because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by
  7935. your control.
  7936. Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your
  7937. control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle
  7938. focus within your control (if your control has multiple focus). If your control does not support focus,
  7939. or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in
  7940. the focus parameter. Otherwise, return the focus that you set.
  7941. Controls which have no focus would always set focus to be pdActionFocusOff.
  7942. Controls with a single focus would set pdActionFocusFirst when requsted to set either
  7943. pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either
  7944. pdActionFocusForward or pdActionFocusBackward.
  7945. }
  7946. const
  7947. pdActionFocusOff = 0; { no focus }
  7948. pdActionFocusFirst = 1; { focus on first element }
  7949. pdActionFocusLast = 2; { focus on last element }
  7950. pdActionFocusForward = 3; { focus on next element }
  7951. pdActionFocusBackward = 4; { focus on previous element }
  7952. type
  7953. QTCustomControlSetFocusRecordPtr = ^QTCustomControlSetFocusRecord;
  7954. QTCustomControlSetFocusRecord = record
  7955. storage: UnivPtr; { storage for the control}
  7956. focus: SIGNEDLONG; { focus to set, return resulting focus}
  7957. end;
  7958. type
  7959. QTCustomControlSetFocusPtr = QTCustomControlSetFocusRecordPtr;
  7960. {
  7961. pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu.
  7962. If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations
  7963. when focus is on one of these boxes.
  7964. }
  7965. type
  7966. QTCustomControlSetEditMenuRecordPtr = ^QTCustomControlSetEditMenuRecord;
  7967. QTCustomControlSetEditMenuRecord = record
  7968. storage: UnivPtr; { storage for the control}
  7969. editMenu: MenuHandle; { edit menu, or NIL}
  7970. end;
  7971. type
  7972. QTCustomControlSetEditMenuPtr = QTCustomControlSetEditMenuRecordPtr;
  7973. {
  7974. pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you
  7975. may wish to use in the drawing of your user interface.
  7976. }
  7977. type
  7978. QTCustomControlSetPreviewPictureRecordPtr = ^QTCustomControlSetPreviewPictureRecord;
  7979. QTCustomControlSetPreviewPictureRecord = record
  7980. storage: UnivPtr; { storage for the control}
  7981. preview: QTParamPreviewPtr; { preview to set}
  7982. end;
  7983. type
  7984. QTCustomControlSetPreviewPicturePtr = QTCustomControlSetPreviewPictureRecordPtr;
  7985. {
  7986. pdActionCustomSetEditCallout tells your control of the need by the application to be informed of
  7987. changes to the parameter values (typically for the purposes of updating previews).
  7988. If a callout is available, your custom control should call it whenever a change has been
  7989. made to the parameter(s) that your control is editing (as a result of user actions, most typically).
  7990. If you choose not to implement this, live dragging or updating of values will not work.
  7991. }
  7992. type
  7993. QTCustomControlSetEditCalloutRecordPtr = ^QTCustomControlSetEditCalloutRecord;
  7994. QTCustomControlSetEditCalloutRecord = record
  7995. storage: UnivPtr; { storage for the control}
  7996. callout: QTParamPreviewCalloutPtr; { requested callout, or NIL to disable}
  7997. end;
  7998. type
  7999. QTCustomControlSetEditCalloutPtr = QTCustomControlSetEditCalloutRecordPtr;
  8000. {
  8001. pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling
  8002. other controls.
  8003. Most custom controls do not need to implement this call.
  8004. If your control is able to control the enabling and disabling of other parameter controls (such as is done
  8005. by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than
  8006. types of comparisons.
  8007. }
  8008. type
  8009. QTCustomControlGetEnableValueRecordPtr = ^QTCustomControlGetEnableValueRecord;
  8010. QTCustomControlGetEnableValueRecord = record
  8011. storage: UnivPtr; { storage for the control}
  8012. currentValue: SIGNEDLONG; { value to compare against for enable/disable purposes}
  8013. end;
  8014. type
  8015. QTCustomControlGetEnableValuePtr = QTCustomControlGetEnableValueRecordPtr;
  8016. {
  8017. pdActionCustomSetSampleTime tells your control information from the application about the duration
  8018. and start time for the sample being edited.
  8019. Most controls do not need this information, but some may choose to use it in the interface
  8020. they present the user. However, this call need not be made by applications, so the custom
  8021. control should be prepared to run when the sample time information is not available.
  8022. }
  8023. type
  8024. QTCustomControlSetSampleTimeRecordPtr = ^QTCustomControlSetSampleTimeRecord;
  8025. QTCustomControlSetSampleTimeRecord = record
  8026. storage: UnivPtr; { storage for the control}
  8027. sampleTime: QTParamSampleTimePtr; { sample time information or NIL}
  8028. end;
  8029. type
  8030. QTCustomControlSetSampleTimePtr = QTCustomControlSetSampleTimeRecordPtr;
  8031. {
  8032. pdActionCustomGetValue tells your control to store any value(s) into the specified atom container.
  8033. All custom controls must implement this call
  8034. }
  8035. type
  8036. QTCustomControlGetValueRecordPtr = ^QTCustomControlGetValueRecord;
  8037. QTCustomControlGetValueRecord = record
  8038. storage: UnivPtr; { storage for the control}
  8039. sample: QTAtomContainer; { sample to store into}
  8040. end;
  8041. type
  8042. QTCustomControlGetValuePtr = QTCustomControlGetValueRecordPtr;
  8043. {
  8044. pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes.
  8045. All custom controls must implement this call if they support edit boxes
  8046. }
  8047. type
  8048. QTCustomControlDoEditCommandRecordPtr = ^QTCustomControlDoEditCommandRecord;
  8049. QTCustomControlDoEditCommandRecord = record
  8050. storage: UnivPtr; { storage for the control}
  8051. command: SIGNEDLONG; { command to execute, return 0 here if processed}
  8052. end;
  8053. type
  8054. QTCustomControlDoEditCommandPtr = QTCustomControlDoEditCommandRecordPtr;
  8055. QTParameterDialog = SIGNEDLONG;
  8056. const
  8057. elOptionsIncludeNoneInList = $00000001; { "None" effect is included in list }
  8058. type
  8059. QTEffectListOptions = SIGNEDLONG;
  8060. const
  8061. effectIsRealtime = 0; { effect can be rendered in real time }
  8062. {
  8063. QTGetEffectsListExtended is a call that provides for
  8064. more advanced filtering of effects to be placed into the
  8065. effect list. Applications can filter on:
  8066. 1) number of input sources
  8067. 2) effect major or minor class
  8068. 3) custom filtering through a callback
  8069. The callback will be called for each effect which passes
  8070. the other criteria for inclusion. If the callback
  8071. returns a true result the effect will be included in the list.
  8072. Note that your filter proc may receive multiple effects from various
  8073. manufacturers. If you return true for multiple effects of a given type
  8074. only the one with the higher parameter version number will be included.
  8075. If you wish other filtering (such as effects from a given manufacturer, you
  8076. can do this by return false for the other effects and true for those
  8077. that you prefer.
  8078. }
  8079. type
  8080. QTEffectListFilterProcPtr = function( effect: Component; effectMinSource: SIGNEDLONG; effectMaxSource: SIGNEDLONG; majorClass: OSType; minorClass: OSType; refcon: UnivPtr ): Boolean;
  8081. QTEffectListFilterUPP = QTEffectListFilterProcPtr;
  8082. {
  8083. * QTGetEffectsList()
  8084. *
  8085. * Availability:
  8086. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8087. * CarbonLib: in CarbonLib 1.0 and later
  8088. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8089. * Windows: in qtmlClient.lib 3.0 and later
  8090. }
  8091. function QTGetEffectsList( var returnedList: QTAtomContainer; minSources: SIGNEDLONG; maxSources: SIGNEDLONG; getOptions: QTEffectListOptions ): OSErr; external name '_QTGetEffectsList';
  8092. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8093. {
  8094. * QTGetEffectsListExtended()
  8095. *
  8096. * Availability:
  8097. * Mac OS X: in version 10.2 and later in QuickTime.framework
  8098. * CarbonLib: in CarbonLib 1.6 and later
  8099. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  8100. * Windows: in qtmlClient.lib 6.0 and later
  8101. }
  8102. function QTGetEffectsListExtended( var returnedList: QTAtomContainer; minSources: SIGNEDLONG; maxSources: SIGNEDLONG; getOptions: QTEffectListOptions; majorClass: OSType; minorClass: OSType; filterProc: QTEffectListFilterUPP; filterRefCon: UnivPtr ): OSErr; external name '_QTGetEffectsListExtended';
  8103. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  8104. {
  8105. * QTCreateStandardParameterDialog()
  8106. *
  8107. * Availability:
  8108. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8109. * CarbonLib: in CarbonLib 1.0 and later
  8110. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8111. * Windows: in qtmlClient.lib 3.0 and later
  8112. }
  8113. function QTCreateStandardParameterDialog( effectList: QTAtomContainer; parameters: QTAtomContainer; dialogOptions: QTParameterDialogOptions; var createdDialog: QTParameterDialog ): OSErr; external name '_QTCreateStandardParameterDialog';
  8114. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8115. {
  8116. * QTIsStandardParameterDialogEvent()
  8117. *
  8118. * Availability:
  8119. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8120. * CarbonLib: in CarbonLib 1.0 and later
  8121. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8122. * Windows: in qtmlClient.lib 3.0 and later
  8123. }
  8124. function QTIsStandardParameterDialogEvent( var pEvent: EventRecord; createdDialog: QTParameterDialog ): OSErr; external name '_QTIsStandardParameterDialogEvent';
  8125. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8126. {
  8127. * QTDismissStandardParameterDialog()
  8128. *
  8129. * Availability:
  8130. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8131. * CarbonLib: in CarbonLib 1.0 and later
  8132. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8133. * Windows: in qtmlClient.lib 3.0 and later
  8134. }
  8135. function QTDismissStandardParameterDialog( createdDialog: QTParameterDialog ): OSErr; external name '_QTDismissStandardParameterDialog';
  8136. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8137. {
  8138. * QTStandardParameterDialogDoAction()
  8139. *
  8140. * Availability:
  8141. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8142. * CarbonLib: in CarbonLib 1.0 and later
  8143. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8144. * Windows: in qtmlClient.lib 3.0 and later
  8145. }
  8146. function QTStandardParameterDialogDoAction( createdDialog: QTParameterDialog; action: SIGNEDLONG; params: UnivPtr ): OSErr; external name '_QTStandardParameterDialogDoAction';
  8147. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8148. {
  8149. * QTGetEffectSpeed()
  8150. *
  8151. * Availability:
  8152. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8153. * CarbonLib: in CarbonLib 1.0 and later
  8154. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8155. * Windows: in qtmlClient.lib 3.0 and later
  8156. }
  8157. function QTGetEffectSpeed( parameters: QTAtomContainer; var pFPS: Fixed ): OSErr; external name '_QTGetEffectSpeed';
  8158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8159. { Movie Audio/Sound APIs}
  8160. {
  8161. SetMovieAudioGain:
  8162. This API sets the audio gain level for the mixed audio output of a movie. This alters the
  8163. perceived volume of the movie's playback. The gain level is multiplicative; eg. 0.0
  8164. is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the movie is not
  8165. modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
  8166. to allow quiet movies to be boosted in volume. Settings higher than 1.0 may result in
  8167. audio clipping, of course. The setting is not stored in the movie. It is only used until
  8168. the movie is closed, at which time it is not saved.
  8169. }
  8170. {
  8171. * SetMovieAudioGain()
  8172. *
  8173. * Availability:
  8174. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8175. * CarbonLib: not available
  8176. * Non-Carbon CFM: not available
  8177. }
  8178. function SetMovieAudioGain( m: Movie; gain: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieAudioGain';
  8179. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8180. {
  8181. * GetMovieAudioGain()
  8182. *
  8183. * Availability:
  8184. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8185. * CarbonLib: not available
  8186. * Non-Carbon CFM: not available
  8187. }
  8188. function GetMovieAudioGain( m: Movie; var gain: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieAudioGain';
  8189. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8190. {
  8191. SetTrackAudioGain:
  8192. This API sets the audio gain level for the audio output of a track. This alters the
  8193. perceived volume of the track's playback. The gain level is multiplicative; eg. 0.0
  8194. is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the track is not
  8195. modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
  8196. to allow quiet tracks to be boosted in volume. Settings higher than 1.0 may result in
  8197. audio clipping, of course. The setting is not stored in the movie. It is only used until
  8198. the movie is closed, at which time it is not saved.
  8199. }
  8200. {
  8201. * SetTrackAudioGain()
  8202. *
  8203. * Availability:
  8204. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8205. * CarbonLib: not available
  8206. * Non-Carbon CFM: not available
  8207. }
  8208. function SetTrackAudioGain( t: Track; gain: Float32; flags: UInt32 ): OSStatus; external name '_SetTrackAudioGain';
  8209. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8210. {
  8211. * GetTrackAudioGain()
  8212. *
  8213. * Availability:
  8214. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8215. * CarbonLib: not available
  8216. * Non-Carbon CFM: not available
  8217. }
  8218. function GetTrackAudioGain( t: Track; var gain: Float32; flags: UInt32 ): OSStatus; external name '_GetTrackAudioGain';
  8219. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8220. {
  8221. SetMovieAudioBalance:
  8222. This API sets the audio balance level for the mixed audio output of a movie. -1.0
  8223. means full left, 0.0 means centered, and 1.0 means full right. The setting is not
  8224. stored in the movie. It is only used until the movie is closed, at which time it
  8225. is not saved.
  8226. }
  8227. {
  8228. * SetMovieAudioBalance()
  8229. *
  8230. * Availability:
  8231. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8232. * CarbonLib: not available
  8233. * Non-Carbon CFM: not available
  8234. }
  8235. function SetMovieAudioBalance( m: Movie; leftRight: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieAudioBalance';
  8236. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8237. {
  8238. * GetMovieAudioBalance()
  8239. *
  8240. * Availability:
  8241. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8242. * CarbonLib: not available
  8243. * Non-Carbon CFM: not available
  8244. }
  8245. function GetMovieAudioBalance( m: Movie; var leftRight: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieAudioBalance';
  8246. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8247. {
  8248. SetMovieAudioMute:
  8249. This API mutes or unmutes the mixed audio output from a movie.
  8250. }
  8251. {
  8252. * SetMovieAudioMute()
  8253. *
  8254. * Availability:
  8255. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8256. * CarbonLib: not available
  8257. * Non-Carbon CFM: not available
  8258. }
  8259. function SetMovieAudioMute( m: Movie; muted: Boolean; flags: UInt32 ): OSStatus; external name '_SetMovieAudioMute';
  8260. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8261. {
  8262. * GetMovieAudioMute()
  8263. *
  8264. * Availability:
  8265. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8266. * CarbonLib: not available
  8267. * Non-Carbon CFM: not available
  8268. }
  8269. function GetMovieAudioMute( m: Movie; var muted: Boolean; flags: UInt32 ): OSStatus; external name '_GetMovieAudioMute';
  8270. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8271. {
  8272. SetTrackAudioMute:
  8273. This API mutes or unmutes the audio output from a track.
  8274. }
  8275. {
  8276. * SetTrackAudioMute()
  8277. *
  8278. * Availability:
  8279. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8280. * CarbonLib: not available
  8281. * Non-Carbon CFM: not available
  8282. }
  8283. function SetTrackAudioMute( t: Track; muted: Boolean; flags: UInt32 ): OSStatus; external name '_SetTrackAudioMute';
  8284. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8285. {
  8286. * GetTrackAudioMute()
  8287. *
  8288. * Availability:
  8289. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8290. * CarbonLib: not available
  8291. * Non-Carbon CFM: not available
  8292. }
  8293. function GetTrackAudioMute( t: Track; var muted: Boolean; flags: UInt32 ): OSStatus; external name '_GetTrackAudioMute';
  8294. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8295. const
  8296. {
  8297. * Properties of an audio presentation (eg. a movie's audio)
  8298. }
  8299. kQTPropertyClass_Audio = FourCharCode('audi');
  8300. const
  8301. {
  8302. * kQTAudioPropertyID_Gain: Value is Float32. Get/Set/Listenable
  8303. * The audio gain of a movie or track. The gain level is
  8304. * multiplicative; eg. 0.0 is silent, 0.5 is -6dB, 1.0 is 0dB (ie.
  8305. * the audio from the movie is not modified), 2.0 is +6dB, etc. The
  8306. * gain level can be set higher than 1.0 in order to allow quiet
  8307. * movies/tracks to be boosted in volume. Settings higher than 1.0
  8308. * may result in audio clipping, of course. The setting is not stored
  8309. * in the movie/track. It is only used until the movie/track is
  8310. * disposed.
  8311. }
  8312. kQTAudioPropertyID_Gain = FourCharCode('gain'); { value is Float32. Gettable/Settable.}
  8313. {
  8314. * kQTAudioPropertyID_Mute: Value is Boolean. Get/Set/Listenable
  8315. * The audio mute state of a movie or track. If true, the
  8316. * movie/track is muted. The setting is not stored in the
  8317. * movie/track. It is only used until the movie/track is disposed.
  8318. }
  8319. kQTAudioPropertyID_Mute = FourCharCode('mute'); { value is Boolean. Gettable/Settable.}
  8320. {
  8321. * kQTAudioPropertyID_Balance: Value is Float32. Get/Set/Listenable
  8322. * The audio balance of a movie. -1.0 means full left, 0.0 means
  8323. * centered, and 1.0 means full right. The setting is not stored in
  8324. * the movie. It is only used until the movie is disposed. This is
  8325. * only supported for movies, not tracks.
  8326. }
  8327. kQTAudioPropertyID_Balance = FourCharCode('bala'); { value is Float32. Gettable/Settable.}
  8328. {
  8329. * kQTAudioPropertyID_RateChangesPreservePitch: Value is Boolean.
  8330. * Get/Set When the playback rate is not unity, audio must be
  8331. * resampled in order to play at the new rate. The default
  8332. * resampling affects the pitch of the audio (eg, playing at 2x speed
  8333. * raises the pitch by an octave, 1/2x lowers an octave). If this
  8334. * property is set on the Movie, an alternative algorithm may be
  8335. * used, which alters the speed without changing the pitch. As this
  8336. * is more computationally expensive, this property may be silently
  8337. * ignored on some slow CPUs. Media handlers may query this movie
  8338. * property and honor it when performing Scaled Edits. This property
  8339. * can be specified as a property to the NewMovieFromProperties()
  8340. * API. Currently, it has no effect when set on an open movie.
  8341. }
  8342. kQTAudioPropertyID_RateChangesPreservePitch = FourCharCode('aucp'); { value is Boolean. Gettable/Settable.}
  8343. {
  8344. * kQTAudioPropertyID_Pitch: Value is Float32. Get/Set/Listenable
  8345. * Movie pitch adjustment. Adjusts the pitch of all audio tracks
  8346. * that contribute to the AudioContext mix. Pitch control takes
  8347. * effect only if kQTAudioPropertyID_RateChangesPreservePitch is in
  8348. * effect, otherwise returns kQTMessageNotHandledErr. The Float32
  8349. * value is specified in cents: 0.0 == no change, 1.0 == one cent up,
  8350. * 100.0 == one semi-tone up, -1.0 == one cent down. The most useful
  8351. * ranges for pitch are +/- 1200. (ie, one octave)
  8352. }
  8353. kQTAudioPropertyID_Pitch = FourCharCode('pitc'); { value is Float32. Get/Set/Listenable.}
  8354. {
  8355. * kQTAudioPropertyID_RenderQuality: Value is UInt32. Get/Set
  8356. * Movie audio render quality takes effect for movie playback. UInt32
  8357. * values vary from 0x00 (kQTAudioRenderQuality_Min) to 0x7F
  8358. * (kQTAudioRenderQuality_Max). We also define a special value
  8359. * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
  8360. * settings of the playback processing chain to values that are
  8361. * chosen to be an optimal balance of performance and quality.
  8362. }
  8363. kQTAudioPropertyID_RenderQuality = FourCharCode('qual'); { value is UInt32. Gettable/Settable.}
  8364. {
  8365. * kQTAudioPropertyID_ChannelLayout: Value is AudioChannelLayout.
  8366. * Get/Set The AudioChannelLayout of a track, or other audio stream.
  8367. * Currently only settable/gettable for tracks. (See
  8368. * kQTAudioPropertyID_SummaryChannelLayout if you want to get the
  8369. * summary AudioChannelLayout of a movie.) Note that this is a
  8370. * variable sized property (since it may contain an array of
  8371. * ChannelDescriptions; see CoreAudioTypes.h). You must get the size
  8372. * first (by calling QTGetTrackPropertyInfo), allocate a struct of
  8373. * that size, and then get the property.
  8374. }
  8375. kQTAudioPropertyID_ChannelLayout = FourCharCode('tlay'); { value is AudioChannelLayout. Gettable/Settable.}
  8376. {
  8377. * kQTAudioPropertyID_SummaryChannelLayout: Value is
  8378. * AudioChannelLayout. Get-only The summary AudioChannelLayout of a
  8379. * movie, or other grouping of audio streams. All like-labelled
  8380. * channels are combined, so there are no duplicates. For example,
  8381. * if there is a stereo (L/R) track, 5 single-channel tracks marked
  8382. * Left, Right, Left Surround, Right Surround and Center, and a 4
  8383. * channel track marked L/R/Ls/Rs, then the summary
  8384. * AudioChannelLayout will be L/R/Ls/Rs/C. It will _not_ be
  8385. * L/R/L/R/Ls/Rs/C/L/R/Ls/Rs. Note that this is a variable sized
  8386. * property (since it may contain an array of ChannelDescriptions;
  8387. * see CoreAudioTypes.h). You must get the size first (by calling,
  8388. * for example, QTGetMoviePropertyInfo) allocate a struct of that
  8389. * size, and then get the property.
  8390. }
  8391. kQTAudioPropertyID_SummaryChannelLayout = FourCharCode('clay'); { value is AudioChannelLayout. Gettable.}
  8392. {
  8393. * kQTAudioPropertyID_DeviceChannelLayout: Value is
  8394. * AudioChannelLayout. Get-only The AudioChannelLayout of the device
  8395. * this movie is playing to. Note that this is a variable sized
  8396. * property (since it may contain an array of ChannelDescriptions;
  8397. * see CoreAudioTypes.h). You must get the size first (by calling,
  8398. * for example, QTGetMoviePropertyInfo) allocate a struct of that
  8399. * size, and then get the property.
  8400. }
  8401. kQTAudioPropertyID_DeviceChannelLayout = FourCharCode('dcly'); { value is AudioChannelLayout. Gettable.}
  8402. {
  8403. * kQTAudioPropertyID_DeviceASBD: Value is
  8404. * AudioStreamBasicDescription. Get-only Returns the
  8405. * AudioStreamBasicDescription of the device this movie is playing
  8406. * to. The interesting fields are the sample rate, which reflects
  8407. * device's current state, and the number of channels, which matches
  8408. * what is reported by kQTAudioPropertyID_DeviceChannelLayout.
  8409. }
  8410. kQTAudioPropertyID_DeviceASBD = FourCharCode('dasd'); { value is AudioStreamBasicDescription. Gettable.}
  8411. {
  8412. * kQTAudioPropertyID_SummaryASBD: Value is
  8413. * AudioStreamBasicDescription. Get-only Returns the
  8414. * AudioStreamBasicDescription corresponding to the Summary Mix of a
  8415. * movie. This will describe non-interleaved, Float32 linear PCM
  8416. * data, with a sample rate equal to the highest audio sample rate
  8417. * found among the sound tracks contributing to the AudioContext mix,
  8418. * and a number of channels that matches what is reported by
  8419. * kQTAudioPropertyID_SummaryChannelLayout.
  8420. }
  8421. kQTAudioPropertyID_SummaryASBD = FourCharCode('sasd'); { value is AudioStreamBasicDescription. Gettable.}
  8422. {
  8423. * kQTAudioPropertyID_FormatString: Value is CFStringRef. Get-only
  8424. * kQTAudioPropertyID_FormatString returns a localized, human
  8425. * readable string describing the audio format as a CFStringRef, i.e.
  8426. * "MPEG Layer 3". You may get this property from a SoundDescription
  8427. * Handle by calling QTSoundDescriptionGetProperty(), or from a
  8428. * StandardAudioCompression (scdi/audi) component instance by calling
  8429. * QTGetComponentProperty().
  8430. }
  8431. kQTAudioPropertyID_FormatString = FourCharCode('fstr'); { value is CFStringRef. Gettable.}
  8432. {
  8433. * kQTAudioPropertyID_ChannelLayoutString: Value is CFStringRef.
  8434. * Get-only kQTAudioPropertyID_ChannelLayoutString returns a
  8435. * localized, human readable string describing the audio channel
  8436. * layout as a CFStringRef, i.e. "5.0 (L R C Ls Rs)". You may get
  8437. * this property from a SoundDescription Handle by calling
  8438. * QTSoundDescriptionGetProperty(), or from a
  8439. * StandardAudioCompression (scdi/audi) component instance by calling
  8440. * QTGetComponentProperty().
  8441. }
  8442. kQTAudioPropertyID_ChannelLayoutString = FourCharCode('lstr'); { value is CFStringRef. Gettable.}
  8443. {
  8444. * kQTAudioPropertyID_SampleRateString: Value is CFStringRef.
  8445. * Get-only kQTAudioPropertyID_SampleRateString returns a localized,
  8446. * human readable string describing the audio sample rate as a
  8447. * CFStringRef, i.e. "44.100 kHz". You may get this property from a
  8448. * SoundDescription Handle by calling
  8449. * QTSoundDescriptionGetProperty(), or from a
  8450. * StandardAudioCompression (scdi/audi) component instance by calling
  8451. * QTGetComponentProperty().
  8452. }
  8453. kQTAudioPropertyID_SampleRateString = FourCharCode('rstr'); { value is CFStringRef. Gettable.}
  8454. {
  8455. * kQTAudioPropertyID_SampleSizeString: Value is CFStringRef.
  8456. * Get-only kQTAudioPropertyID_SampleSizeString returns a localized,
  8457. * human readable string describing the audio sample size as a
  8458. * CFStringRef, i.e. "24-bit". Note, this property will only return a
  8459. * valid string if the format is uncompressed (LPCM) audio. You may
  8460. * get this property from a SoundDescription Handle by calling
  8461. * QTSoundDescriptionGetProperty(), or from a
  8462. * StandardAudioCompression (scdi/audi) component instance by calling
  8463. * QTGetComponentProperty().
  8464. }
  8465. kQTAudioPropertyID_SampleSizeString = FourCharCode('sstr'); { value is CFStringRef. Gettable.}
  8466. {
  8467. * kQTAudioPropertyID_BitRateString: Value is CFStringRef. Get-only
  8468. * kQTAudioPropertyID_BitRateString returns a localized, human
  8469. * readable string describing the audio bit rate as a CFStringRef,
  8470. * i.e. "12 kbps". You may get this property from a SoundDescription
  8471. * Handle by calling QTSoundDescriptionGetProperty(), or from a
  8472. * StandardAudioCompression (scdi/audi) component instance by calling
  8473. * QTGetComponentProperty().
  8474. }
  8475. kQTAudioPropertyID_BitRateString = FourCharCode('bstr'); { value is CFStringRef. Gettable.}
  8476. {
  8477. * kQTAudioPropertyID_SummaryString: Value is CFStringRef. Get-only
  8478. * kQTAudioPropertyID_SummaryString returns a localized, human
  8479. * readable string summarizing the audio as a CFStringRef, i.e.
  8480. * "16-bit Integer (Big Endian), Stereo (L R), 48.000 kHz". You may
  8481. * get this property from a SoundDescription Handle calling
  8482. * QTSoundDescriptionGetProperty(), or from a
  8483. * StandardAudioCompression (scdi/audi) component instance by calling
  8484. * QTGetComponentProperty().
  8485. }
  8486. kQTAudioPropertyID_SummaryString = FourCharCode('asum'); { value is CFStringRef. Gettable.}
  8487. {
  8488. * Audio Render Quality constants
  8489. *
  8490. * Summary:
  8491. * Render quality is an integer that ranges from
  8492. * kQTAudioRenderQuality_Min to kQTAudioRenderQuality_Max.
  8493. * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Medium, and
  8494. * kQTAudioRenderQuality_High are the preferred values.
  8495. }
  8496. const
  8497. {
  8498. * The maximum value.
  8499. }
  8500. kQTAudioRenderQuality_Max = $7F;
  8501. {
  8502. * A value that increases quality but requires more computational
  8503. * resources.
  8504. }
  8505. kQTAudioRenderQuality_High = $60;
  8506. {
  8507. * A value that represents a good quality/performance tradeoff.
  8508. }
  8509. kQTAudioRenderQuality_Medium = $40;
  8510. {
  8511. * A value that reduces quality for better performance.
  8512. }
  8513. kQTAudioRenderQuality_Low = $20;
  8514. {
  8515. * The minimum value.
  8516. }
  8517. kQTAudioRenderQuality_Min = $00;
  8518. {
  8519. * A QuickTime-specific value that selects optimal settings for
  8520. * playback.
  8521. }
  8522. kQTAudioRenderQuality_PlaybackDefault = $8000;
  8523. { whatMixToMeter constants}
  8524. const
  8525. {
  8526. * kQTAudioMeter_DeviceMix: Meter the movie's mix to the device
  8527. * channel layout. To determine the channel layout of this mix, call
  8528. * QTGetMovieProperty(..., kQTAudioPropertyID_DeviceChannelLayout,
  8529. * ...).
  8530. }
  8531. kQTAudioMeter_DeviceMix = kQTAudioPropertyID_DeviceChannelLayout;
  8532. {
  8533. * kQTAudioMeter_StereoMix: Meter a stereo (two-channel) mix of the
  8534. * enabled sound tracks in the movie. This option is offered only for
  8535. * MovieAudioFrequencyMetering.
  8536. }
  8537. kQTAudioMeter_StereoMix = FourCharCode('stmx');
  8538. {
  8539. * kQTAudioMeter_MonoMix: Meter a monarual (one-channel) mix of the
  8540. * enabled sound tracks in the movie. This option is offered only for
  8541. * MovieAudioFrequencyMetering.
  8542. }
  8543. kQTAudioMeter_MonoMix = FourCharCode('momx');
  8544. {
  8545. SetMovieAudioVolumeMeteringEnabled:
  8546. This API enables or disables volume metering of a particular mix of this movie. The only possible
  8547. mix to meter is currently kQTAudioMeter_DeviceMix. See kQTAudioMeter_DeviceMix above to see
  8548. how to determine the channel layout of the movie's device mix.
  8549. }
  8550. {
  8551. * SetMovieAudioVolumeMeteringEnabled()
  8552. *
  8553. * Availability:
  8554. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8555. * CarbonLib: not available
  8556. * Non-Carbon CFM: not available
  8557. }
  8558. function SetMovieAudioVolumeMeteringEnabled( m: Movie; whatMixToMeter: FourCharCode; enabled: Boolean ): OSStatus; external name '_SetMovieAudioVolumeMeteringEnabled';
  8559. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8560. {
  8561. * GetMovieAudioVolumeMeteringEnabled()
  8562. *
  8563. * Availability:
  8564. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8565. * CarbonLib: not available
  8566. * Non-Carbon CFM: not available
  8567. }
  8568. function GetMovieAudioVolumeMeteringEnabled( m: Movie; whatMixToMeter: FourCharCode; var enabled: Boolean ): OSStatus; external name '_GetMovieAudioVolumeMeteringEnabled';
  8569. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8570. {
  8571. GetMovieAudioVolumeLevels:
  8572. This API returns the current volume meter levels of the movie. It can return both average power
  8573. levels and peak hold levels. whatMixToMeter must be set to kQTAudioMeter_DeviceMix. Either
  8574. QTAudioVolumeLevels parameter may be nil. If non-nil, each must have its numChannels field set to
  8575. the number of channels in the movie's device mix, and must be allocated large enough to hold levels
  8576. for all those channels. See kQTAudioMeter_DeviceMix above to see how to determine the channel
  8577. layout of the device mix. The levels returned are measured in decibels, where 0.0 means full volume,
  8578. -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
  8579. }
  8580. type
  8581. QTAudioVolumeLevelsPtr = ^QTAudioVolumeLevels;
  8582. QTAudioVolumeLevels = record
  8583. numChannels: UInt32;
  8584. level: array [0..0] of Float32; { numChannels entries}
  8585. end;
  8586. {
  8587. * GetMovieAudioVolumeLevels()
  8588. *
  8589. * Availability:
  8590. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8591. * CarbonLib: not available
  8592. * Non-Carbon CFM: not available
  8593. }
  8594. function GetMovieAudioVolumeLevels( m: Movie; whatMixToMeter: FourCharCode; var pAveragePowerLevels: QTAudioVolumeLevels; var pPeakHoldLevels: QTAudioVolumeLevels ): OSStatus; external name '_GetMovieAudioVolumeLevels';
  8595. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8596. {
  8597. SetTrackAudioVolumeMeteringEnabled:
  8598. This API enables or disables volume metering of a particular track of this movie.
  8599. This API should be used in preference to the legacy SoundMedia interface, but
  8600. may interfere with its operation if both are in use at the same time.
  8601. }
  8602. {
  8603. * SetTrackAudioVolumeMeteringEnabled()
  8604. *
  8605. * Availability:
  8606. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8607. * CarbonLib: not available
  8608. * Non-Carbon CFM: not available
  8609. }
  8610. function SetTrackAudioVolumeMeteringEnabled( t: Track; enabled: Boolean ): OSStatus; external name '_SetTrackAudioVolumeMeteringEnabled';
  8611. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8612. {
  8613. * GetTrackAudioVolumeMeteringEnabled()
  8614. *
  8615. * Availability:
  8616. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8617. * CarbonLib: not available
  8618. * Non-Carbon CFM: not available
  8619. }
  8620. function GetTrackAudioVolumeMeteringEnabled( t: Track; var enabled: Boolean ): OSStatus; external name '_GetTrackAudioVolumeMeteringEnabled';
  8621. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8622. {
  8623. GetTrackAudioVolumeLevels:
  8624. This API returns the current volume meter levels of the track. It can return both average power
  8625. levels and peak hold levels. Either QTAudioVolumeLevels parameter may be nil. If non-nil,
  8626. each must have its numChannels field set to the number of channels of interest, and must be
  8627. allocated large enough to hold levels for all those channels.
  8628. The levels returned are measured in decibels, where 0.0 means full volume,
  8629. -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
  8630. }
  8631. {
  8632. * GetTrackAudioVolumeLevels()
  8633. *
  8634. * Availability:
  8635. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8636. * CarbonLib: not available
  8637. * Non-Carbon CFM: not available
  8638. }
  8639. function GetTrackAudioVolumeLevels( t: Track; var pAveragePowerLevels: QTAudioVolumeLevels; var pPeakHoldLevels: QTAudioVolumeLevels ): OSStatus; external name '_GetTrackAudioVolumeLevels';
  8640. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8641. {
  8642. SetMovieAudioFrequencyMeteringNumBands:
  8643. This API configures and enables (or disables) frequency metering for a movie.
  8644. Note that ioNumBands is an in/out parameter. You specify the number of frequency bands you
  8645. want to meter, and if that number is higher than is possible (determined by, among other things,
  8646. the sample rate of the audio being metered), this API will return the number of bands it is
  8647. actually going to meter. ioNumBands can be nil or a pointer to 0 to disable metering.
  8648. whatMixToMeter must be set to kQTAudioMeter_StereoMix, kQTAudioMeter_MonoMix, or
  8649. kQTAudioMeter_DeviceMix. When metering movies playing to audio devices that offer a
  8650. large number of channels, it may be prohibitively expensive to perform spectral analysis
  8651. on every channel; in these cases, stereo or mono mix metering may be preferable.
  8652. }
  8653. {
  8654. * SetMovieAudioFrequencyMeteringNumBands()
  8655. *
  8656. * Availability:
  8657. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8658. * CarbonLib: not available
  8659. * Non-Carbon CFM: not available
  8660. }
  8661. function SetMovieAudioFrequencyMeteringNumBands( m: Movie; whatMixToMeter: FourCharCode; var ioNumBands: UInt32 ): OSStatus; external name '_SetMovieAudioFrequencyMeteringNumBands';
  8662. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8663. {
  8664. * GetMovieAudioFrequencyMeteringNumBands()
  8665. *
  8666. * Availability:
  8667. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8668. * CarbonLib: not available
  8669. * Non-Carbon CFM: not available
  8670. }
  8671. function GetMovieAudioFrequencyMeteringNumBands( m: Movie; whatMixToMeter: FourCharCode; var outNumBands: UInt32 ): OSStatus; external name '_GetMovieAudioFrequencyMeteringNumBands';
  8672. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8673. {
  8674. GetMovieAudioFrequencyMeteringBandFrequencies:
  8675. This API returns the actual chosen middle frequency for each band in the configured
  8676. frequency metering of a movie. This is useful for labeling visual meters
  8677. in a user interface. Frequencies are returned in Hz. whatMixToMeter must be set
  8678. to the same value that was passed most recently to SetMovieAudioFrequencyMeteringNumBands().
  8679. }
  8680. {
  8681. * GetMovieAudioFrequencyMeteringBandFrequencies()
  8682. *
  8683. * Availability:
  8684. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8685. * CarbonLib: not available
  8686. * Non-Carbon CFM: not available
  8687. }
  8688. function GetMovieAudioFrequencyMeteringBandFrequencies( m: Movie; whatMixToMeter: FourCharCode; numBands: UInt32; var outBandFrequencies: Float32 ): OSStatus; external name '_GetMovieAudioFrequencyMeteringBandFrequencies';
  8689. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8690. {
  8691. GetMovieAudioFrequencyLevels:
  8692. This API returns the current frequency meter levels of the movie. pAveragePowerLevels should
  8693. have its numChannels field set to the number of channels being metered, and its numBands field
  8694. set to the number of bands being metered (as previously configured). pAveragePowerLevels must be
  8695. allocated large enough to hold levels for all bands in all channels. The levels are returned with
  8696. all the band levels for the first channel first, then all the band levels for the second channel, etc.
  8697. whatMixToMeter must be set to the same value that was passed most recently to
  8698. SetMovieAudioFrequencyMeteringNumBands().
  8699. }
  8700. type
  8701. QTAudioFrequencyLevels = record
  8702. numChannels: UInt32;
  8703. numFrequencyBands: UInt32;
  8704. { numChannels * numFrequencyBands entries, with the frequency bands for a single channel stored contiguously.}
  8705. level: array [0..0] of Float32;
  8706. end;
  8707. {
  8708. * GetMovieAudioFrequencyLevels()
  8709. *
  8710. * Availability:
  8711. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8712. * CarbonLib: not available
  8713. * Non-Carbon CFM: not available
  8714. }
  8715. function GetMovieAudioFrequencyLevels( m: Movie; whatMixToMeter: FourCharCode; var pAveragePowerLevels: QTAudioFrequencyLevels ): OSStatus; external name '_GetMovieAudioFrequencyLevels';
  8716. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8717. { Movie Audio Extraction}
  8718. {
  8719. MovieAudioExtractionBegin:
  8720. This API must be called before doing any movie audio extraction. The returned session
  8721. object is to be passed to the other movie audio extraction APIs. Note that the extracted
  8722. format defaults to the aggregate channel layout of the movie (eg. all Rights mixed together,
  8723. all Left Surrounds mixed together, etc), 32-bit float, de-interleaved, with the sample rate
  8724. set to the highest sample rate found in the movie. You can get this info, and you can also
  8725. set the format to be something else (as long as it is uncompressed, and you do it before
  8726. the first call to MovieAudioExtractionFillBuffer).
  8727. }
  8728. type
  8729. MovieAudioExtractionRef = ^OpaqueMovieAudioExtractionRef; { an opaque type }
  8730. OpaqueMovieAudioExtractionRef = record end;
  8731. {
  8732. * MovieAudioExtractionBegin()
  8733. *
  8734. * Availability:
  8735. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8736. * CarbonLib: not available
  8737. * Non-Carbon CFM: not available
  8738. }
  8739. function MovieAudioExtractionBegin( m: Movie; flags: UInt32; var outSession: MovieAudioExtractionRef ): OSStatus; external name '_MovieAudioExtractionBegin';
  8740. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8741. {
  8742. MovieAudioExtractionEnd:
  8743. This API must be called when movie audio extraction is complete.
  8744. }
  8745. {
  8746. * MovieAudioExtractionEnd()
  8747. *
  8748. * Availability:
  8749. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8750. * CarbonLib: not available
  8751. * Non-Carbon CFM: not available
  8752. }
  8753. function MovieAudioExtractionEnd( session: MovieAudioExtractionRef ): OSStatus; external name '_MovieAudioExtractionEnd';
  8754. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8755. { Movie audio extraction property classes}
  8756. const
  8757. {
  8758. * Properties of the movie being extracted from
  8759. }
  8760. kQTPropertyClass_MovieAudioExtraction_Movie = FourCharCode('xmov');
  8761. {
  8762. * Properties of the output audio
  8763. }
  8764. kQTPropertyClass_MovieAudioExtraction_Audio = FourCharCode('xaud');
  8765. { "Movie class" property IDs}
  8766. const
  8767. {
  8768. * kQTMovieAudioExtractionMoviePropertyID_CurrentTime: Value is
  8769. * TimeRecord (set & get) When setting, set the timescale to anything
  8770. * you want (output audio sample rate, movie timescale) When getting,
  8771. * the timescale will be output audio sample rate for best accuracy.
  8772. }
  8773. kQTMovieAudioExtractionMoviePropertyID_CurrentTime = FourCharCode('time'); { value is TimeRecord. Get/Set.}
  8774. {
  8775. * kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete: Value
  8776. * is Boolean (set & get) Set to implement export of all audio
  8777. * channels without mixing. When this is set and the extraction asbd
  8778. * or channel layout are read back, you will get information relating
  8779. * to the re-mapped movie.
  8780. }
  8781. kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete = FourCharCode('disc'); { value is Boolean. Get/Set.}
  8782. {
  8783. * kQTMovieAudioExtractionAudioPropertyID_RenderQuality: Value is
  8784. * UInt32 (set & get) Set the render quality to be used for this
  8785. * audio extraction session. UInt32 values vary from 0x00
  8786. * (kQTAudioRenderQuality_Min) to 0x7F (kQTAudioRenderQuality_Max).
  8787. * We also define a special value
  8788. * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
  8789. * settings to the same values that were chosen by default for
  8790. * playback.
  8791. }
  8792. kQTMovieAudioExtractionAudioPropertyID_RenderQuality = FourCharCode('qual'); { value is UInt32. Get/Set.}
  8793. { "Output Audio class" property IDs}
  8794. const
  8795. { kQTPropertyClass_MovieAudioExtraction_Audio}
  8796. {
  8797. *
  8798. * QTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription:
  8799. * Value is AudioStreamBasicDescription. Get/Set. (get any time, set
  8800. * before first MovieAudioExtractionFillBuffer call) If you get this
  8801. * property immediately after beginning an audio extraction session,
  8802. * it will tell you the default extraction format for the movie.
  8803. * This will include the number of channels in the default movie mix.
  8804. * If you set the output AudioStreamBasicDescription, it is
  8805. * recommended that you also set the output channel layout. If your
  8806. * output ASBD has a different number of channels that the default
  8807. * extraction mix, you _must_ set the output channel layout. You can
  8808. * only set PCM output formats. Setting a compressed output format
  8809. * will fail.
  8810. }
  8811. kQTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription = FourCharCode('asbd'); { value is AudioStreamBasicDescription. Get/Set.}
  8812. {
  8813. * kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout: Value
  8814. * is AudioChannelLayout. Get/Set. (get any time, set before first
  8815. * MovieAudioExtractionFillBuffer call) If you get this property
  8816. * immediately after beginning an audio extraction session, it will
  8817. * tell you what the channel layout is for the default extraction mix.
  8818. }
  8819. kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout = FourCharCode('clay'); { value is AudioChannelLayout. Get/Set.}
  8820. {
  8821. * kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration:
  8822. * Value is TimeRecord. Get only. Returns the total duration of audio
  8823. * data that can be expected from the audio extraction session as
  8824. * currently configured. This is computed by examining all tracks
  8825. * that contribute to the audio mix, finding the highest end time
  8826. * among them, adding in all relevant tail times from any Audio
  8827. * Context Inserts that have been registered, and subtracting any
  8828. * extraction start time that has been set. If this property is
  8829. * queried once extraction has started, it will return the remaining
  8830. * duration, or zero once extraction has advanced to the end of all
  8831. * contributing audio tracks.
  8832. }
  8833. kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration = FourCharCode('dura'); { value is TimeRecord. Get only.}
  8834. {
  8835. * MovieAudioExtractionGetPropertyInfo()
  8836. *
  8837. * Availability:
  8838. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8839. * CarbonLib: not available
  8840. * Non-Carbon CFM: not available
  8841. }
  8842. function MovieAudioExtractionGetPropertyInfo( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropertyFlags: UInt32 ): OSStatus; external name '_MovieAudioExtractionGetPropertyInfo';
  8843. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8844. {
  8845. * MovieAudioExtractionGetProperty()
  8846. *
  8847. * Availability:
  8848. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8849. * CarbonLib: not available
  8850. * Non-Carbon CFM: not available
  8851. }
  8852. function MovieAudioExtractionGetProperty( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSStatus; external name '_MovieAudioExtractionGetProperty';
  8853. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8854. {
  8855. * MovieAudioExtractionSetProperty()
  8856. *
  8857. * Availability:
  8858. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8859. * CarbonLib: not available
  8860. * Non-Carbon CFM: not available
  8861. }
  8862. function MovieAudioExtractionSetProperty( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_MovieAudioExtractionSetProperty';
  8863. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8864. {
  8865. MovieAudioExtractionFillBuffer:
  8866. Each call to MovieAudioExtractionFillBuffer will continue where the last call left off.
  8867. It will extract as many of the requested PCM frames as it can, given the limits of the
  8868. buffer(s) supplied, and the limits of the input movie. ioNumFrames will be updated
  8869. with the exact number of valid frames being returned.
  8870. When there is no more audio to extract from the movie, MovieAudioExtractionFillBuffer
  8871. will continue to return noErr, but no audio data will be returned. outFlags will have
  8872. the kQTMovieAudioExtractionComplete bit set in this case. It is possible that the
  8873. kQTMovieAudioExtractionComplete bit will accompany the last buffer of valid data.
  8874. }
  8875. const
  8876. kQTMovieAudioExtractionComplete = 1 shl 0;
  8877. {
  8878. * MovieAudioExtractionFillBuffer()
  8879. *
  8880. * Availability:
  8881. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8882. * CarbonLib: not available
  8883. * Non-Carbon CFM: not available
  8884. }
  8885. function MovieAudioExtractionFillBuffer( session: MovieAudioExtractionRef; var ioNumFrames: UInt32; var ioData: AudioBufferList; var outFlags: UInt32 ): OSStatus; external name '_MovieAudioExtractionFillBuffer';
  8886. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8887. { Audio Context Insert properties for MovieAudioExtraction}
  8888. {
  8889. Theory of operations:
  8890. To register for a Movie Audio Context Insert during Movie Audio Extraction:
  8891. Set the kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
  8892. property on the extraction session, providing the same registry info structure
  8893. that is used for the QTAudioContextRegisterInsert call.
  8894. To register for a Track Audio Context Insert during Movie Audio Extraction:
  8895. Set the kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert
  8896. property on the extraction session, providing a QTAudioTrackInsertRegistryInfoRef,
  8897. described below.
  8898. Note: Once extraction has begun (ie, MovieAudioExtractionFillBuffer() has been
  8899. called), attempts to set these properties will return qtReadOnlyErr.
  8900. This is consistent with the behavior of most extraction properties.
  8901. }
  8902. {
  8903. * QTAudioTrackInsertRegistryInfo
  8904. *
  8905. * Summary:
  8906. * Parameters for registering an Audio Context Track Insert during
  8907. * Movie Audio Extraction
  8908. *
  8909. * Discussion:
  8910. * This is used with the
  8911. * kQTMovieAudioExtractionMoviePropertyID_RegisterTrackInsert
  8912. * property.
  8913. }
  8914. type
  8915. QTAudioTrackInsertRegistryInfoPtr = ^QTAudioTrackInsertRegistryInfo;
  8916. QTAudioTrackInsertRegistryInfo = record
  8917. {
  8918. * The track of the source movie on which to apply the insert.
  8919. }
  8920. track: Track_fix;
  8921. {
  8922. * The Audio Context Insert registration info (channel layouts,
  8923. * callbacks).
  8924. }
  8925. regInfo: QTAudioContextInsertRegistryInfo;
  8926. end;
  8927. type
  8928. QTAudioTrackInsertRegistryInfoRef = QTAudioTrackInsertRegistryInfoPtr;
  8929. { Movie and Track level audio context inserts for extraction (kQTPropertyClass_MovieAudioExtraction_Audio)}
  8930. const
  8931. {
  8932. * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert: Value
  8933. * is QTAudioContextInsertRegistryInfoRef (Get/Set) Set on an
  8934. * extraction session to register/unregister an Audio Context Insert
  8935. * for the movie summary mix. When this property is read back
  8936. * (MovieAudioExtractionGetProperty) the channel layout pointers will
  8937. * will be NULL. To unregister, supply a NULL processDataCallback (in
  8938. * which case the rest of the registry info will be ignored).
  8939. }
  8940. kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert = FourCharCode('regm'); { value is QTAudioContextInsertRegistryInfoRef. Get/Set.}
  8941. {
  8942. * kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert: Value
  8943. * is QTAudioTrackInsertRegistryInfoRef (Get/Set) Set on an
  8944. * extraction session to register/unregister an Audio Context Insert
  8945. * for a particular track of the movie. When this property is read
  8946. * back (MovieAudioExtractionGetProperty) the channel layout pointers
  8947. * will will be NULL. To unregister, supply a NULL
  8948. * processDataCallback (in which case the rest of the registry info
  8949. * will be ignored).
  8950. }
  8951. kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert = FourCharCode('regt'); { value is QTAudioTrackInsertRegistryInfoRef. Get/Set.}
  8952. //#define kQTMovieAudioExtractionMoviePropertyID_RegisterInsert Use kQTPropertyClass_MovieAudioExtraction_Audio / kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert instead!
  8953. { Legacy Audio/Sound APIs}
  8954. {
  8955. * GetMoviePreferredVolume()
  8956. *
  8957. * Availability:
  8958. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8959. * CarbonLib: in CarbonLib 1.0 and later
  8960. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8961. * Windows: in qtmlClient.lib 3.0 and later
  8962. }
  8963. function GetMoviePreferredVolume( theMovie: Movie ): SInt16; external name '_GetMoviePreferredVolume';
  8964. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8965. {
  8966. * SetMoviePreferredVolume()
  8967. *
  8968. * Availability:
  8969. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8970. * CarbonLib: in CarbonLib 1.0 and later
  8971. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8972. * Windows: in qtmlClient.lib 3.0 and later
  8973. }
  8974. procedure SetMoviePreferredVolume( theMovie: Movie; volume: SInt16 ); external name '_SetMoviePreferredVolume';
  8975. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8976. {
  8977. * GetMovieVolume()
  8978. *
  8979. * Availability:
  8980. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8981. * CarbonLib: in CarbonLib 1.0 and later
  8982. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8983. * Windows: in qtmlClient.lib 3.0 and later
  8984. }
  8985. function GetMovieVolume( theMovie: Movie ): SInt16; external name '_GetMovieVolume';
  8986. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8987. {
  8988. * SetMovieVolume()
  8989. *
  8990. * Availability:
  8991. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8992. * CarbonLib: in CarbonLib 1.0 and later
  8993. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8994. * Windows: in qtmlClient.lib 3.0 and later
  8995. }
  8996. procedure SetMovieVolume( theMovie: Movie; volume: SInt16 ); external name '_SetMovieVolume';
  8997. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8998. {
  8999. * GetTrackVolume()
  9000. *
  9001. * Availability:
  9002. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9003. * CarbonLib: in CarbonLib 1.0 and later
  9004. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  9005. * Windows: in qtmlClient.lib 3.0 and later
  9006. }
  9007. function GetTrackVolume( theTrack: Track ): SInt16; external name '_GetTrackVolume';
  9008. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9009. {
  9010. * SetTrackVolume()
  9011. *
  9012. * Availability:
  9013. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9014. * CarbonLib: in CarbonLib 1.0 and later
  9015. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  9016. * Windows: in qtmlClient.lib 3.0 and later
  9017. }
  9018. procedure SetTrackVolume( theTrack: Track; volume: SInt16 ); external name '_SetTrackVolume';
  9019. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9020. {
  9021. * GetTrackSoundLocalizationSettings()
  9022. *
  9023. * Availability:
  9024. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9025. * CarbonLib: in CarbonLib 1.0 and later
  9026. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  9027. * Windows: in qtmlClient.lib 3.0 and later
  9028. }
  9029. function GetTrackSoundLocalizationSettings( theTrack: Track; var settings: Handle ): OSErr; external name '_GetTrackSoundLocalizationSettings';
  9030. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9031. {
  9032. * SetTrackSoundLocalizationSettings()
  9033. *
  9034. * Availability:
  9035. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9036. * CarbonLib: in CarbonLib 1.0 and later
  9037. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  9038. * Windows: in qtmlClient.lib 3.0 and later
  9039. }
  9040. function SetTrackSoundLocalizationSettings( theTrack: Track; settings: Handle ): OSErr; external name '_SetTrackSoundLocalizationSettings';
  9041. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9042. { Performance properties}
  9043. const
  9044. kQTPropertyClass_Performance = FourCharCode('perf');
  9045. {
  9046. * kQTPerformancePropertyID_MediaStallCount: Value is UInt32.
  9047. * Get/Set/Listenable Media stalls occur when a media handler is
  9048. * unable to provide its media data at the time required for seamless
  9049. * playback. The exact interpretation of a track's MediaStallCount
  9050. * property is media-handler dependent, but may indicate conditions
  9051. * such as a video frame not decoded in time, the sound queue runs
  9052. * dry, etc. When requested on a specific track, this property
  9053. * returns the current stall count of that track. When requested on
  9054. * a movie, it returns the accumulated MediaStallCounts for all the
  9055. * tracks in the movie. The track property may be set to zero to
  9056. * reset it. Setting the movie property to zero resets all the track
  9057. * counts. Setting the value to anything other than zero yields
  9058. * paramErr. The movie toolbox defers property-changed notifications
  9059. * to any property listeners until the next time the movie is idled.
  9060. }
  9061. kQTPerformancePropertyID_MediaStallCount = FourCharCode('stal'); { UInt32, Get/Set/Listenable }
  9062. {
  9063. * kQTPerformancePropertyID_AudioIOOverloadCount: Value is UInt32.
  9064. * Get/Set/Listenable Audio I/O overloads occur when the
  9065. * high-priority audio processing thread does not provide the
  9066. * requested buffer of data in time to ensure seamless playback.
  9067. * This movie property accumulates the number of Audio Device I/O
  9068. * overloads that are detected during playback of a movie. I/O
  9069. * overloads that are detected when the movie is not playing (but
  9070. * other movies may be playing), are not counted. This property may
  9071. * be set to zero to reset the counter. Setting the value to
  9072. * anything other than zero yields paramErr. The movie toolbox defers
  9073. * property-changed notifications to any property listeners until the
  9074. * next time the movie is idled.
  9075. }
  9076. kQTPerformancePropertyID_AudioIOOverloadCount = FourCharCode('ovct'); { UInt32, Get/Set/Listenable}
  9077. { Movie Visual Adjustment APIs}
  9078. {
  9079. * Summary:
  9080. * Visual movie properties.
  9081. }
  9082. const
  9083. {
  9084. * Class for visual properties.
  9085. }
  9086. kQTPropertyClass_Visual = FourCharCode('visu');
  9087. {
  9088. * The hue adjustment for the movie. The value is a Float32 between
  9089. * -1.0 and 1.0, with 0.0 meaning no adjustment. This adjustment
  9090. * wraps around, such that -1.0 and 1.0 yield the same result.
  9091. }
  9092. kQTVisualPropertyID_Hue = FourCharCode('vhue'); { Float32, Read/Write }
  9093. {
  9094. * The color saturation adjustment for the movie. The value is a
  9095. * Float32 percentage (1.0f = 100%), such that 0.0 gives grayscale.
  9096. }
  9097. kQTVisualPropertyID_Saturation = FourCharCode('vsat'); { Float32, Read/Write }
  9098. {
  9099. * The brightness adjustment for the movie. The value is a Float32
  9100. * for which -1.0 means full black, 0.0 means no adjustment, and 1.0
  9101. * means full white.
  9102. }
  9103. kQTVisualPropertyID_Brightness = FourCharCode('vbrt'); { Float32, Read/Write }
  9104. {
  9105. * The contrast adjustment for the movie. The value is a Float32
  9106. * percentage (1.0f = 100%), such that 0.0 gives solid grey.
  9107. }
  9108. kQTVisualPropertyID_Contrast = FourCharCode('vcon'); { Float32, Read/Write }
  9109. {
  9110. * SetMovieVisualHue()
  9111. *
  9112. * Summary:
  9113. * This API sets the hue adjustment for the movie.
  9114. *
  9115. * Discussion:
  9116. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
  9117. * The setting is not stored in the movie. It is only used until
  9118. * the movie is closed, at which time it is not saved.
  9119. *
  9120. * Parameters:
  9121. *
  9122. * movie:
  9123. * [in] The movie.
  9124. *
  9125. * hue:
  9126. * [in] New hue adjustment.
  9127. *
  9128. * flags:
  9129. * [in] Reserved. Pass 0.
  9130. *
  9131. * Availability:
  9132. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9133. * CarbonLib: not available
  9134. * Non-Carbon CFM: not available
  9135. }
  9136. function SetMovieVisualHue( movie_: Movie; hue: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualHue';
  9137. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9138. {
  9139. * GetMovieVisualHue()
  9140. *
  9141. * Summary:
  9142. * This API gets the hue adjustment for the movie.
  9143. *
  9144. * Discussion:
  9145. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
  9146. *
  9147. * Parameters:
  9148. *
  9149. * movie:
  9150. * [in] The movie.
  9151. *
  9152. * hueOut:
  9153. * [out] Current hue adjustment.
  9154. *
  9155. * flags:
  9156. * [in] Reserved. Pass 0.
  9157. *
  9158. * Availability:
  9159. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9160. * CarbonLib: not available
  9161. * Non-Carbon CFM: not available
  9162. }
  9163. function GetMovieVisualHue( movie_: Movie; var hueOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualHue';
  9164. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9165. {
  9166. * SetMovieVisualSaturation()
  9167. *
  9168. * Summary:
  9169. * This API sets the color saturation adjustment for the movie.
  9170. *
  9171. * Discussion:
  9172. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
  9173. * details. The setting is not stored in the movie. It is only used
  9174. * until the movie is closed, at which time it is not saved.
  9175. *
  9176. * Parameters:
  9177. *
  9178. * movie:
  9179. * [in] The movie.
  9180. *
  9181. * saturation:
  9182. * [in] New saturation adjustment.
  9183. *
  9184. * flags:
  9185. * [in] Reserved. Pass 0.
  9186. *
  9187. * Availability:
  9188. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9189. * CarbonLib: not available
  9190. * Non-Carbon CFM: not available
  9191. }
  9192. function SetMovieVisualSaturation( movie_: Movie; saturation: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualSaturation';
  9193. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9194. {
  9195. * GetMovieVisualSaturation()
  9196. *
  9197. * Summary:
  9198. * This API gets the color saturation adjustment for the movie.
  9199. *
  9200. * Discussion:
  9201. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
  9202. * details.
  9203. *
  9204. * Parameters:
  9205. *
  9206. * movie:
  9207. * [in] The movie.
  9208. *
  9209. * saturationOut:
  9210. * [out] Current saturation adjustment.
  9211. *
  9212. * flags:
  9213. * [in] Reserved. Pass 0.
  9214. *
  9215. * Availability:
  9216. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9217. * CarbonLib: not available
  9218. * Non-Carbon CFM: not available
  9219. }
  9220. function GetMovieVisualSaturation( movie_: Movie; var saturationOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualSaturation';
  9221. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9222. {
  9223. * SetMovieVisualBrightness()
  9224. *
  9225. * Summary:
  9226. * This API sets the brightness adjustment for the movie.
  9227. *
  9228. * Discussion:
  9229. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
  9230. * details. The setting is not stored in the movie. It is only used
  9231. * until the movie is closed, at which time it is not saved.
  9232. *
  9233. * Parameters:
  9234. *
  9235. * movie:
  9236. * [in] The movie.
  9237. *
  9238. * brightness:
  9239. * [in] New brightness adjustment.
  9240. *
  9241. * flags:
  9242. * [in] Reserved. Pass 0.
  9243. *
  9244. * Availability:
  9245. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9246. * CarbonLib: not available
  9247. * Non-Carbon CFM: not available
  9248. }
  9249. function SetMovieVisualBrightness( movie_: Movie; brightness: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualBrightness';
  9250. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9251. {
  9252. * GetMovieVisualBrightness()
  9253. *
  9254. * Summary:
  9255. * This API gets the brightness adjustment for the movie.
  9256. *
  9257. * Discussion:
  9258. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
  9259. * details.
  9260. *
  9261. * Parameters:
  9262. *
  9263. * movie:
  9264. * [in] The movie.
  9265. *
  9266. * brightnessOut:
  9267. * [out] Current brightness adjustment.
  9268. *
  9269. * flags:
  9270. * [in] Reserved. Pass 0.
  9271. *
  9272. * Availability:
  9273. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9274. * CarbonLib: not available
  9275. * Non-Carbon CFM: not available
  9276. }
  9277. function GetMovieVisualBrightness( movie_: Movie; var brightnessOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualBrightness';
  9278. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9279. {
  9280. * SetMovieVisualContrast()
  9281. *
  9282. * Summary:
  9283. * This API sets the contrast adjustment for the movie.
  9284. *
  9285. * Discussion:
  9286. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
  9287. * details. The setting is not stored in the movie. It is only used
  9288. * until the movie is closed, at which time it is not saved.
  9289. *
  9290. * Parameters:
  9291. *
  9292. * movie:
  9293. * [in] The movie.
  9294. *
  9295. * contrast:
  9296. * [in] New contrast adjustment.
  9297. *
  9298. * flags:
  9299. * [in] Reserved. Pass 0.
  9300. *
  9301. * Availability:
  9302. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9303. * CarbonLib: not available
  9304. * Non-Carbon CFM: not available
  9305. }
  9306. function SetMovieVisualContrast( movie_: Movie; contrast: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualContrast';
  9307. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9308. {
  9309. * GetMovieVisualContrast()
  9310. *
  9311. * Summary:
  9312. * This API gets the contrast adjustment for the movie.
  9313. *
  9314. * Discussion:
  9315. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
  9316. * details.
  9317. *
  9318. * Parameters:
  9319. *
  9320. * movie:
  9321. * [in] The movie.
  9322. *
  9323. * contrastOut:
  9324. * [out] Current contrast adjustment.
  9325. *
  9326. * flags:
  9327. * [in] Reserved. Pass 0.
  9328. *
  9329. * Availability:
  9330. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9331. * CarbonLib: not available
  9332. * Non-Carbon CFM: not available
  9333. }
  9334. function GetMovieVisualContrast( movie_: Movie; var contrastOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualContrast';
  9335. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9336. { Movie Aperture APIs}
  9337. {
  9338. * Summary:
  9339. * Visual properties of movies for aperture modes.
  9340. }
  9341. const
  9342. {
  9343. * You can set the aperture mode property on a movie to indicate
  9344. * whether aspect ratio and clean aperture correction should be
  9345. * performed. The values for this property have the prefix
  9346. * kQTApertureMode_ and are in ImageCompression.h.
  9347. * When a movie is in clean, production or encoded pixels aperture
  9348. * mode, each track's dimensions are overriden by special dimensions
  9349. * for that mode. The original track dimensions are preserved and can
  9350. * be restored by setting the movie into classic aperture mode.
  9351. }
  9352. kQTVisualPropertyID_ApertureMode = FourCharCode('apmd'); { OSType, Read/Write/Listen }
  9353. {
  9354. * Summary:
  9355. * Visual properties of tracks for aperture modes
  9356. *
  9357. * Discussion:
  9358. * A track's dimensions may vary depending on the movie's aperture
  9359. * mode. The dimensions for a given aperture mode may be accessed
  9360. * using these properties.
  9361. }
  9362. const
  9363. {
  9364. * The track dimensions used in QuickTime 7.0.x and earlier. Setting
  9365. * this property is equivalent to calling SetTrackDimensions, except
  9366. * that SetTrackDimensions also changes the aperture mode to
  9367. * kQTApertureMode_Classic, and setting this property does not.
  9368. }
  9369. kQTVisualPropertyID_ClassicDimensions = FourCharCode('cldi'); { FixedPoint, Read/Write }
  9370. {
  9371. * The track dimensions to use in clean aperture mode.
  9372. }
  9373. kQTVisualPropertyID_CleanApertureDimensions = FourCharCode('cadi'); { FixedPoint, Read/Write }
  9374. {
  9375. * The track dimensions to use in production aperture mode.
  9376. }
  9377. kQTVisualPropertyID_ProductionApertureDimensions = FourCharCode('prdi'); { FixedPoint, Read/Write }
  9378. {
  9379. * The track dimensions to use in encoded pixels aperture mode.
  9380. }
  9381. kQTVisualPropertyID_EncodedPixelsDimensions = FourCharCode('endi'); { FixedPoint, Read/Write }
  9382. {
  9383. * True if aperture mode dimensions have been set on this movie, even
  9384. * if they are all identical to the classic dimensions (as is the
  9385. * case for content with square pixels and no edge processing
  9386. * region).
  9387. * This property can also be tested on a movie, where it is true if
  9388. * any track has aperture mode dimensions.
  9389. }
  9390. kQTVisualPropertyID_HasApertureModeDimensions = FourCharCode('hamd'); { Boolean, Read }
  9391. {
  9392. * Summary:
  9393. * Media Characteristics
  9394. }
  9395. const
  9396. {
  9397. * Indicates that a media handler supports aperture modes, which
  9398. * enable video to be automatically scaled and cropped to compensate
  9399. * for non-square pixel aspect ratios and to trim possibly-dirty edge
  9400. * processing regions. The dimensions of such a track may change when
  9401. * the movie's aperture mode is changed.
  9402. }
  9403. kCharacteristicSupportsApertureModes = FourCharCode('apmd');
  9404. {
  9405. * SetTrackApertureModeDimensionsUsingSampleDescription()
  9406. *
  9407. * Summary:
  9408. * Sets a track's aperture mode dimensions using values calculated
  9409. * using a sample description.
  9410. *
  9411. * Discussion:
  9412. * This function should be used to add information needed to support
  9413. * aperture modes to newly created tracks. This information is
  9414. * calculated using the given sample description. If sampleDesc is
  9415. * NULL, the track's first sample description is used.
  9416. *
  9417. * Parameters:
  9418. *
  9419. * track:
  9420. * [in] The track.
  9421. *
  9422. * sampleDesc:
  9423. * [in] The sample description handle.
  9424. *
  9425. * Availability:
  9426. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9427. * CarbonLib: not available
  9428. * Non-Carbon CFM: not available
  9429. }
  9430. function SetTrackApertureModeDimensionsUsingSampleDescription( track_: Track; sampleDesc: SampleDescriptionHandle { can be NULL } ): OSErr; external name '_SetTrackApertureModeDimensionsUsingSampleDescription';
  9431. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9432. {
  9433. * GenerateMovieApertureModeDimensions()
  9434. *
  9435. * Summary:
  9436. * Examines a movie and sets up track aperture mode dimensions.
  9437. *
  9438. * Discussion:
  9439. * This function can be used to add information needed to support
  9440. * aperture modes to movies created with applications and/or
  9441. * versions of QuickTime that did not support aperture mode
  9442. * dimensions. If the image descriptions in video tracks lack tags
  9443. * describing clean aperture and pixel aspect ratio information, the
  9444. * media data may be scanned to see if the correct values can be
  9445. * divined and attached. Then the aperture mode dimensions are
  9446. * calculated and set for each track. Afterwards, the
  9447. * kQTVisualPropertyID_HasApertureModeDimensions property will be
  9448. * set to true for these tracks. Tracks which do not support
  9449. * aperture modes are not changed.
  9450. *
  9451. * Parameters:
  9452. *
  9453. * movie:
  9454. * [in] The movie.
  9455. *
  9456. * Availability:
  9457. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9458. * CarbonLib: not available
  9459. * Non-Carbon CFM: not available
  9460. }
  9461. function GenerateMovieApertureModeDimensions( movie_: Movie ): OSErr; external name '_GenerateMovieApertureModeDimensions';
  9462. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9463. {
  9464. * GenerateTrackApertureModeDimensions()
  9465. *
  9466. * Summary:
  9467. * Examines a track and sets up aperture mode dimensions.
  9468. *
  9469. * Discussion:
  9470. * This function can be used to add information needed to support
  9471. * aperture modes to tracks created with applications and/or
  9472. * versions of QuickTime that did not support aperture mode
  9473. * dimensions. If the image descriptions in video tracks lack tags
  9474. * describing clean aperture and pixel aspect ratio information, the
  9475. * media data may be scanned to see if the correct values can be
  9476. * divined and attached. Then the aperture mode dimensions are
  9477. * calculated and set. Afterwards, the
  9478. * kQTVisualPropertyID_HasApertureModeDimensions property will be
  9479. * set to true for these tracks. Tracks which do not support
  9480. * aperture modes are not changed.
  9481. *
  9482. * Parameters:
  9483. *
  9484. * track:
  9485. * [in] The track.
  9486. *
  9487. * Availability:
  9488. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9489. * CarbonLib: not available
  9490. * Non-Carbon CFM: not available
  9491. }
  9492. function GenerateTrackApertureModeDimensions( track_: Track ): OSErr; external name '_GenerateTrackApertureModeDimensions';
  9493. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9494. {
  9495. * RemoveMovieApertureModeDimensions()
  9496. *
  9497. * Summary:
  9498. * Removes aperture mode dimension information from a movie.
  9499. *
  9500. * Discussion:
  9501. * This function removes aperture mode dimension information from a
  9502. * movie's tracks. It does not attempt to modify sample
  9503. * descriptions, so it may not completely reverse the effect of
  9504. * GenerateMovieApertureModeDimensions. It sets the
  9505. * kQTVisualPropertyID_HasApertureModeDimensions property to false.
  9506. *
  9507. * Parameters:
  9508. *
  9509. * movie:
  9510. * [in] The movie.
  9511. *
  9512. * Availability:
  9513. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9514. * CarbonLib: not available
  9515. * Non-Carbon CFM: not available
  9516. }
  9517. function RemoveMovieApertureModeDimensions( movie_: Movie ): OSErr; external name '_RemoveMovieApertureModeDimensions';
  9518. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9519. {
  9520. * RemoveTrackApertureModeDimensions()
  9521. *
  9522. * Summary:
  9523. * Removes aperture mode dimension information from a track.
  9524. *
  9525. * Discussion:
  9526. * This function removes aperture mode dimension information from a
  9527. * track. It does not attempt to modify sample descriptions, so it
  9528. * may not completely reverse the effect of
  9529. * GenerateTrackApertureModeDimensions. It sets the
  9530. * kQTVisualPropertyID_HasApertureModeDimensions property to false.
  9531. *
  9532. * Parameters:
  9533. *
  9534. * track:
  9535. * [in] The track.
  9536. *
  9537. * Availability:
  9538. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9539. * CarbonLib: not available
  9540. * Non-Carbon CFM: not available
  9541. }
  9542. function RemoveTrackApertureModeDimensions( track_: Track ): OSErr; external name '_RemoveTrackApertureModeDimensions';
  9543. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9544. {****
  9545. Error reporting
  9546. ****}
  9547. type
  9548. QTErrorReplacementRecordPtr = ^QTErrorReplacementRecord;
  9549. QTErrorReplacementRecord = record
  9550. numEntries: SIGNEDLONG;
  9551. replacementString: array [0..1] of StringPtr; { array of numEntries StringPtrs (each String is allocated separately).}
  9552. end;
  9553. type
  9554. QTErrorReplacementPtr = QTErrorReplacementRecordPtr;
  9555. {
  9556. QTAddMovieError is used to add orthogonal errors to a list of errors that will
  9557. later be reported (at the end of an import or playback, for example). Errors are stored
  9558. in 'qter' resources within the component.
  9559. QTAddMovieError(Movie addTo, // in: movie to add error to
  9560. Component adder, // in: component which is adding the error
  9561. long errorCode, // in: error code being added
  9562. QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc
  9563. }
  9564. {
  9565. * QTAddMovieError()
  9566. *
  9567. * Availability:
  9568. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9569. * CarbonLib: in CarbonLib 1.6 and later
  9570. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9571. * Windows: in qtmlClient.lib 6.0 and later
  9572. }
  9573. function QTAddMovieError( movieH: Movie; c: Component; errorCode: SIGNEDLONG; stringReplacements: QTErrorReplacementPtr ): OSErr; external name '_QTAddMovieError';
  9574. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9575. {****
  9576. Access Keys
  9577. ****}
  9578. const
  9579. kAccessKeyAtomType = FourCharCode('acky');
  9580. const
  9581. kAccessKeySystemFlag = 1 shl 0;
  9582. {
  9583. * QTGetAccessKeys()
  9584. *
  9585. * Availability:
  9586. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9587. * CarbonLib: in CarbonLib 1.0 and later
  9588. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9589. * Windows: in qtmlClient.lib 3.0 and later
  9590. }
  9591. function QTGetAccessKeys( var accessKeyType: Str255; flags: SIGNEDLONG; var keys: QTAtomContainer ): OSErr; external name '_QTGetAccessKeys';
  9592. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9593. {
  9594. * QTRegisterAccessKey()
  9595. *
  9596. * Availability:
  9597. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9598. * CarbonLib: in CarbonLib 1.0 and later
  9599. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9600. * Windows: in qtmlClient.lib 3.0 and later
  9601. }
  9602. function QTRegisterAccessKey( var accessKeyType: Str255; flags: SIGNEDLONG; accessKey: Handle ): OSErr; external name '_QTRegisterAccessKey';
  9603. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9604. {
  9605. * QTUnregisterAccessKey()
  9606. *
  9607. * Availability:
  9608. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9609. * CarbonLib: in CarbonLib 1.0 and later
  9610. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9611. * Windows: in qtmlClient.lib 3.0 and later
  9612. }
  9613. function QTUnregisterAccessKey( var accessKeyType: Str255; flags: SIGNEDLONG; accessKey: Handle ): OSErr; external name '_QTUnregisterAccessKey';
  9614. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9615. {****
  9616. Content Restrictions
  9617. ****}
  9618. {
  9619. * QTGetMovieRestrictions()
  9620. *
  9621. * Availability:
  9622. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9623. * CarbonLib: in CarbonLib 1.6 and later
  9624. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9625. * Windows: in qtmlClient.lib 6.0 and later
  9626. }
  9627. function QTGetMovieRestrictions( theMovie: Movie; var outRestrictionSet: QTRestrictionSet; var outSeed: UInt32 ): OSErr; external name '_QTGetMovieRestrictions';
  9628. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9629. {
  9630. * QTRestrictionsGetInfo()
  9631. *
  9632. * Availability:
  9633. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9634. * CarbonLib: in CarbonLib 1.6 and later
  9635. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9636. * Windows: in qtmlClient.lib 6.0 and later
  9637. }
  9638. function QTRestrictionsGetInfo( inRestrictionSet: QTRestrictionSet; var outRestrictionClassCount: SIGNEDLONG; var outSeed: SIGNEDLONG ): OSErr; external name '_QTRestrictionsGetInfo';
  9639. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9640. {
  9641. * QTRestrictionsGetIndClass()
  9642. *
  9643. * Availability:
  9644. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9645. * CarbonLib: in CarbonLib 1.6 and later
  9646. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9647. * Windows: in qtmlClient.lib 6.0 and later
  9648. }
  9649. function QTRestrictionsGetIndClass( inRestrictionSet: QTRestrictionSet; inIndex: SIGNEDLONG; var outClass: OSType ): OSErr; external name '_QTRestrictionsGetIndClass';
  9650. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9651. {
  9652. * QTRestrictionsGetItem()
  9653. *
  9654. * Availability:
  9655. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9656. * CarbonLib: in CarbonLib 1.6 and later
  9657. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9658. * Windows: in qtmlClient.lib 6.0 and later
  9659. }
  9660. function QTRestrictionsGetItem( inRestrictionSet: QTRestrictionSet; inRestrictionClass: OSType; var outRestrictions: UInt32 ): OSErr; external name '_QTRestrictionsGetItem';
  9661. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9662. {
  9663. * QTGetSupportedRestrictions()
  9664. *
  9665. * Availability:
  9666. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9667. * CarbonLib: in CarbonLib 1.6 and later
  9668. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9669. * Windows: in qtmlClient.lib 6.0 and later
  9670. }
  9671. function QTGetSupportedRestrictions( inRestrictionClass: OSType; var outRestrictionIDs: UInt32 ): OSErr; external name '_QTGetSupportedRestrictions';
  9672. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9673. {
  9674. * QTCreateUUID()
  9675. *
  9676. * Availability:
  9677. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9678. * CarbonLib: in CarbonLib 1.6 and later
  9679. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9680. * Windows: in qtmlClient.lib 6.0 and later
  9681. }
  9682. function QTCreateUUID( var outUUID: QTUUID; creationFlags: SIGNEDLONG ): OSErr; external name '_QTCreateUUID';
  9683. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9684. {
  9685. * QTEqualUUIDs()
  9686. *
  9687. * Availability:
  9688. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9689. * CarbonLib: in CarbonLib 1.6 and later
  9690. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9691. * Windows: in qtmlClient.lib 6.0 and later
  9692. }
  9693. function QTEqualUUIDs( const (*var*) uuid1: QTUUID; const (*var*) uuid2: QTUUID ): Boolean; external name '_QTEqualUUIDs';
  9694. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9695. {****
  9696. Time table
  9697. ****}
  9698. {
  9699. * MakeTrackTimeTable()
  9700. *
  9701. * Availability:
  9702. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9703. * CarbonLib: in CarbonLib 1.0 and later
  9704. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9705. * Windows: in qtmlClient.lib 3.0 and later
  9706. }
  9707. function MakeTrackTimeTable( trackH: Track; var offsets: SIGNEDLONGPtr; startTime: TimeValue; endTime: TimeValue; timeIncrement: TimeValue; firstDataRefIndex: SInt16; lastDataRefIndex: SInt16; var retdataRefSkew: SIGNEDLONG ): OSErr; external name '_MakeTrackTimeTable';
  9708. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9709. {
  9710. * MakeMediaTimeTable()
  9711. *
  9712. * Availability:
  9713. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9714. * CarbonLib: in CarbonLib 1.0 and later
  9715. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9716. * Windows: in qtmlClient.lib 3.0 and later
  9717. }
  9718. function MakeMediaTimeTable( theMedia: Media; var offsets: SIGNEDLONGPtr; startTime: TimeValue; endTime: TimeValue; timeIncrement: TimeValue; firstDataRefIndex: SInt16; lastDataRefIndex: SInt16; var retdataRefSkew: SIGNEDLONG ): OSErr; external name '_MakeMediaTimeTable';
  9719. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9720. {
  9721. * GetMaxLoadedTimeInMovie()
  9722. *
  9723. * Availability:
  9724. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9725. * CarbonLib: in CarbonLib 1.0 and later
  9726. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9727. * Windows: in qtmlClient.lib 3.0 and later
  9728. }
  9729. function GetMaxLoadedTimeInMovie( theMovie: Movie; var time: TimeValue ): OSErr; external name '_GetMaxLoadedTimeInMovie';
  9730. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9731. {
  9732. * QTMovieNeedsTimeTable()
  9733. *
  9734. * Availability:
  9735. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9736. * CarbonLib: in CarbonLib 1.0 and later
  9737. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9738. * Windows: in qtmlClient.lib 3.0 and later
  9739. }
  9740. function QTMovieNeedsTimeTable( theMovie: Movie; var needsTimeTable: Boolean ): OSErr; external name '_QTMovieNeedsTimeTable';
  9741. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9742. {
  9743. * QTGetDataRefMaxFileOffset()
  9744. *
  9745. * Availability:
  9746. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9747. * CarbonLib: in CarbonLib 1.0 and later
  9748. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9749. * Windows: in qtmlClient.lib 3.0 and later
  9750. }
  9751. function QTGetDataRefMaxFileOffset( movieH: Movie; dataRefType: OSType; dataRef: Handle; var offset: SIGNEDLONG ): OSErr; external name '_QTGetDataRefMaxFileOffset';
  9752. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9753. const
  9754. kQTIdlePriority = 10;
  9755. kQTNonRealTimePriority = 20;
  9756. kQTRealTimeSharedPriority = 25;
  9757. kQTRealTimePriority = 30;
  9758. {
  9759. * NewQTCallBackUPP()
  9760. *
  9761. * Availability:
  9762. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9763. * CarbonLib: in CarbonLib 1.0 and later
  9764. * Non-Carbon CFM: available as macro/inline
  9765. }
  9766. function NewQTCallBackUPP( userRoutine: QTCallBackProcPtr ): QTCallBackUPP; external name '_NewQTCallBackUPP';
  9767. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9768. {
  9769. * NewQTSyncTaskUPP()
  9770. *
  9771. * Availability:
  9772. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9773. * CarbonLib: in CarbonLib 1.0 and later
  9774. * Non-Carbon CFM: available as macro/inline
  9775. }
  9776. function NewQTSyncTaskUPP( userRoutine: QTSyncTaskProcPtr ): QTSyncTaskUPP; external name '_NewQTSyncTaskUPP';
  9777. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9778. {
  9779. * NewMovieRgnCoverUPP()
  9780. *
  9781. * Availability:
  9782. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9783. * CarbonLib: in CarbonLib 1.0 and later
  9784. * Non-Carbon CFM: available as macro/inline
  9785. }
  9786. function NewMovieRgnCoverUPP( userRoutine: MovieRgnCoverProcPtr ): MovieRgnCoverUPP; external name '_NewMovieRgnCoverUPP';
  9787. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9788. {
  9789. * NewMovieProgressUPP()
  9790. *
  9791. * Availability:
  9792. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9793. * CarbonLib: in CarbonLib 1.0 and later
  9794. * Non-Carbon CFM: available as macro/inline
  9795. }
  9796. function NewMovieProgressUPP( userRoutine: MovieProgressProcPtr ): MovieProgressUPP; external name '_NewMovieProgressUPP';
  9797. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9798. {
  9799. * NewMovieDrawingCompleteUPP()
  9800. *
  9801. * Availability:
  9802. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9803. * CarbonLib: in CarbonLib 1.0 and later
  9804. * Non-Carbon CFM: available as macro/inline
  9805. }
  9806. function NewMovieDrawingCompleteUPP( userRoutine: MovieDrawingCompleteProcPtr ): MovieDrawingCompleteUPP; external name '_NewMovieDrawingCompleteUPP';
  9807. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9808. {
  9809. * NewTrackTransferUPP()
  9810. *
  9811. * Availability:
  9812. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9813. * CarbonLib: in CarbonLib 1.0 and later
  9814. * Non-Carbon CFM: available as macro/inline
  9815. }
  9816. function NewTrackTransferUPP( userRoutine: TrackTransferProcPtr ): TrackTransferUPP; external name '_NewTrackTransferUPP';
  9817. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9818. {
  9819. * NewGetMovieUPP()
  9820. *
  9821. * Availability:
  9822. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9823. * CarbonLib: in CarbonLib 1.0 and later
  9824. * Non-Carbon CFM: available as macro/inline
  9825. }
  9826. function NewGetMovieUPP( userRoutine: GetMovieProcPtr ): GetMovieUPP; external name '_NewGetMovieUPP';
  9827. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9828. {
  9829. * NewMoviePreviewCallOutUPP()
  9830. *
  9831. * Availability:
  9832. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9833. * CarbonLib: in CarbonLib 1.0 and later
  9834. * Non-Carbon CFM: available as macro/inline
  9835. }
  9836. function NewMoviePreviewCallOutUPP( userRoutine: MoviePreviewCallOutProcPtr ): MoviePreviewCallOutUPP; external name '_NewMoviePreviewCallOutUPP';
  9837. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9838. {
  9839. * NewTextMediaUPP()
  9840. *
  9841. * Availability:
  9842. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9843. * CarbonLib: in CarbonLib 1.0 and later
  9844. * Non-Carbon CFM: available as macro/inline
  9845. }
  9846. function NewTextMediaUPP( userRoutine: TextMediaProcPtr ): TextMediaUPP; external name '_NewTextMediaUPP';
  9847. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9848. {
  9849. * NewActionsUPP()
  9850. *
  9851. * Availability:
  9852. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9853. * CarbonLib: in CarbonLib 1.0 and later
  9854. * Non-Carbon CFM: available as macro/inline
  9855. }
  9856. function NewActionsUPP( userRoutine: ActionsProcPtr ): ActionsUPP; external name '_NewActionsUPP';
  9857. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9858. {
  9859. * NewDoMCActionUPP()
  9860. *
  9861. * Availability:
  9862. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9863. * CarbonLib: in CarbonLib 1.0.2 and later
  9864. * Non-Carbon CFM: available as macro/inline
  9865. }
  9866. function NewDoMCActionUPP( userRoutine: DoMCActionProcPtr ): DoMCActionUPP; external name '_NewDoMCActionUPP';
  9867. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9868. {
  9869. * NewMovieExecuteWiredActionsUPP()
  9870. *
  9871. * Availability:
  9872. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9873. * CarbonLib: in CarbonLib 1.0.2 and later
  9874. * Non-Carbon CFM: available as macro/inline
  9875. }
  9876. function NewMovieExecuteWiredActionsUPP( userRoutine: MovieExecuteWiredActionsProcPtr ): MovieExecuteWiredActionsUPP; external name '_NewMovieExecuteWiredActionsUPP';
  9877. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9878. {
  9879. * NewMoviePrePrerollCompleteUPP()
  9880. *
  9881. * Availability:
  9882. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9883. * CarbonLib: in CarbonLib 1.0.2 and later
  9884. * Non-Carbon CFM: available as macro/inline
  9885. }
  9886. function NewMoviePrePrerollCompleteUPP( userRoutine: MoviePrePrerollCompleteProcPtr ): MoviePrePrerollCompleteUPP; external name '_NewMoviePrePrerollCompleteUPP';
  9887. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9888. {
  9889. * NewQTNextTaskNeededSoonerCallbackUPP()
  9890. *
  9891. * Availability:
  9892. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9893. * CarbonLib: in CarbonLib 1.6 and later
  9894. * Non-Carbon CFM: available as macro/inline
  9895. }
  9896. function NewQTNextTaskNeededSoonerCallbackUPP( userRoutine: QTNextTaskNeededSoonerCallbackProcPtr ): QTNextTaskNeededSoonerCallbackUPP; external name '_NewQTNextTaskNeededSoonerCallbackUPP';
  9897. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9898. {
  9899. * NewMoviesErrorUPP()
  9900. *
  9901. * Availability:
  9902. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9903. * CarbonLib: in CarbonLib 1.0 and later
  9904. * Non-Carbon CFM: available as macro/inline
  9905. }
  9906. function NewMoviesErrorUPP( userRoutine: MoviesErrorProcPtr ): MoviesErrorUPP; external name '_NewMoviesErrorUPP';
  9907. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9908. {
  9909. * NewTweenerDataUPP()
  9910. *
  9911. * Availability:
  9912. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9913. * CarbonLib: in CarbonLib 1.0 and later
  9914. * Non-Carbon CFM: available as macro/inline
  9915. }
  9916. function NewTweenerDataUPP( userRoutine: TweenerDataProcPtr ): TweenerDataUPP; external name '_NewTweenerDataUPP';
  9917. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9918. {
  9919. * NewQTEffectListFilterUPP()
  9920. *
  9921. * Availability:
  9922. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9923. * CarbonLib: in CarbonLib 1.6 and later
  9924. * Non-Carbon CFM: available as macro/inline
  9925. }
  9926. function NewQTEffectListFilterUPP( userRoutine: QTEffectListFilterProcPtr ): QTEffectListFilterUPP; external name '_NewQTEffectListFilterUPP';
  9927. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9928. {
  9929. * DisposeQTCallBackUPP()
  9930. *
  9931. * Availability:
  9932. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9933. * CarbonLib: in CarbonLib 1.0 and later
  9934. * Non-Carbon CFM: available as macro/inline
  9935. }
  9936. procedure DisposeQTCallBackUPP( userUPP: QTCallBackUPP ); external name '_DisposeQTCallBackUPP';
  9937. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9938. {
  9939. * DisposeQTSyncTaskUPP()
  9940. *
  9941. * Availability:
  9942. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9943. * CarbonLib: in CarbonLib 1.0 and later
  9944. * Non-Carbon CFM: available as macro/inline
  9945. }
  9946. procedure DisposeQTSyncTaskUPP( userUPP: QTSyncTaskUPP ); external name '_DisposeQTSyncTaskUPP';
  9947. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9948. {
  9949. * DisposeMovieRgnCoverUPP()
  9950. *
  9951. * Availability:
  9952. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9953. * CarbonLib: in CarbonLib 1.0 and later
  9954. * Non-Carbon CFM: available as macro/inline
  9955. }
  9956. procedure DisposeMovieRgnCoverUPP( userUPP: MovieRgnCoverUPP ); external name '_DisposeMovieRgnCoverUPP';
  9957. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9958. {
  9959. * DisposeMovieProgressUPP()
  9960. *
  9961. * Availability:
  9962. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9963. * CarbonLib: in CarbonLib 1.0 and later
  9964. * Non-Carbon CFM: available as macro/inline
  9965. }
  9966. procedure DisposeMovieProgressUPP( userUPP: MovieProgressUPP ); external name '_DisposeMovieProgressUPP';
  9967. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9968. {
  9969. * DisposeMovieDrawingCompleteUPP()
  9970. *
  9971. * Availability:
  9972. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9973. * CarbonLib: in CarbonLib 1.0 and later
  9974. * Non-Carbon CFM: available as macro/inline
  9975. }
  9976. procedure DisposeMovieDrawingCompleteUPP( userUPP: MovieDrawingCompleteUPP ); external name '_DisposeMovieDrawingCompleteUPP';
  9977. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9978. {
  9979. * DisposeTrackTransferUPP()
  9980. *
  9981. * Availability:
  9982. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9983. * CarbonLib: in CarbonLib 1.0 and later
  9984. * Non-Carbon CFM: available as macro/inline
  9985. }
  9986. procedure DisposeTrackTransferUPP( userUPP: TrackTransferUPP ); external name '_DisposeTrackTransferUPP';
  9987. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9988. {
  9989. * DisposeGetMovieUPP()
  9990. *
  9991. * Availability:
  9992. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9993. * CarbonLib: in CarbonLib 1.0 and later
  9994. * Non-Carbon CFM: available as macro/inline
  9995. }
  9996. procedure DisposeGetMovieUPP( userUPP: GetMovieUPP ); external name '_DisposeGetMovieUPP';
  9997. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9998. {
  9999. * DisposeMoviePreviewCallOutUPP()
  10000. *
  10001. * Availability:
  10002. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10003. * CarbonLib: in CarbonLib 1.0 and later
  10004. * Non-Carbon CFM: available as macro/inline
  10005. }
  10006. procedure DisposeMoviePreviewCallOutUPP( userUPP: MoviePreviewCallOutUPP ); external name '_DisposeMoviePreviewCallOutUPP';
  10007. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10008. {
  10009. * DisposeTextMediaUPP()
  10010. *
  10011. * Availability:
  10012. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10013. * CarbonLib: in CarbonLib 1.0 and later
  10014. * Non-Carbon CFM: available as macro/inline
  10015. }
  10016. procedure DisposeTextMediaUPP( userUPP: TextMediaUPP ); external name '_DisposeTextMediaUPP';
  10017. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10018. {
  10019. * DisposeActionsUPP()
  10020. *
  10021. * Availability:
  10022. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10023. * CarbonLib: in CarbonLib 1.0 and later
  10024. * Non-Carbon CFM: available as macro/inline
  10025. }
  10026. procedure DisposeActionsUPP( userUPP: ActionsUPP ); external name '_DisposeActionsUPP';
  10027. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10028. {
  10029. * DisposeDoMCActionUPP()
  10030. *
  10031. * Availability:
  10032. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10033. * CarbonLib: in CarbonLib 1.0.2 and later
  10034. * Non-Carbon CFM: available as macro/inline
  10035. }
  10036. procedure DisposeDoMCActionUPP( userUPP: DoMCActionUPP ); external name '_DisposeDoMCActionUPP';
  10037. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10038. {
  10039. * DisposeMovieExecuteWiredActionsUPP()
  10040. *
  10041. * Availability:
  10042. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10043. * CarbonLib: in CarbonLib 1.0.2 and later
  10044. * Non-Carbon CFM: available as macro/inline
  10045. }
  10046. procedure DisposeMovieExecuteWiredActionsUPP( userUPP: MovieExecuteWiredActionsUPP ); external name '_DisposeMovieExecuteWiredActionsUPP';
  10047. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10048. {
  10049. * DisposeMoviePrePrerollCompleteUPP()
  10050. *
  10051. * Availability:
  10052. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10053. * CarbonLib: in CarbonLib 1.0.2 and later
  10054. * Non-Carbon CFM: available as macro/inline
  10055. }
  10056. procedure DisposeMoviePrePrerollCompleteUPP( userUPP: MoviePrePrerollCompleteUPP ); external name '_DisposeMoviePrePrerollCompleteUPP';
  10057. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10058. {
  10059. * DisposeQTNextTaskNeededSoonerCallbackUPP()
  10060. *
  10061. * Availability:
  10062. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10063. * CarbonLib: in CarbonLib 1.6 and later
  10064. * Non-Carbon CFM: available as macro/inline
  10065. }
  10066. procedure DisposeQTNextTaskNeededSoonerCallbackUPP( userUPP: QTNextTaskNeededSoonerCallbackUPP ); external name '_DisposeQTNextTaskNeededSoonerCallbackUPP';
  10067. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10068. {
  10069. * DisposeMoviesErrorUPP()
  10070. *
  10071. * Availability:
  10072. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10073. * CarbonLib: in CarbonLib 1.0 and later
  10074. * Non-Carbon CFM: available as macro/inline
  10075. }
  10076. procedure DisposeMoviesErrorUPP( userUPP: MoviesErrorUPP ); external name '_DisposeMoviesErrorUPP';
  10077. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10078. {
  10079. * DisposeTweenerDataUPP()
  10080. *
  10081. * Availability:
  10082. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10083. * CarbonLib: in CarbonLib 1.0 and later
  10084. * Non-Carbon CFM: available as macro/inline
  10085. }
  10086. procedure DisposeTweenerDataUPP( userUPP: TweenerDataUPP ); external name '_DisposeTweenerDataUPP';
  10087. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10088. {
  10089. * DisposeQTEffectListFilterUPP()
  10090. *
  10091. * Availability:
  10092. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10093. * CarbonLib: in CarbonLib 1.6 and later
  10094. * Non-Carbon CFM: available as macro/inline
  10095. }
  10096. procedure DisposeQTEffectListFilterUPP( userUPP: QTEffectListFilterUPP ); external name '_DisposeQTEffectListFilterUPP';
  10097. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10098. {
  10099. * InvokeQTCallBackUPP()
  10100. *
  10101. * Availability:
  10102. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10103. * CarbonLib: in CarbonLib 1.0 and later
  10104. * Non-Carbon CFM: available as macro/inline
  10105. }
  10106. procedure InvokeQTCallBackUPP( cb: QTCallBack; refCon: SIGNEDLONG; userUPP: QTCallBackUPP ); external name '_InvokeQTCallBackUPP';
  10107. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10108. {
  10109. * InvokeQTSyncTaskUPP()
  10110. *
  10111. * Availability:
  10112. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10113. * CarbonLib: in CarbonLib 1.0 and later
  10114. * Non-Carbon CFM: available as macro/inline
  10115. }
  10116. procedure InvokeQTSyncTaskUPP( task: UnivPtr; userUPP: QTSyncTaskUPP ); external name '_InvokeQTSyncTaskUPP';
  10117. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10118. {
  10119. * InvokeMovieRgnCoverUPP()
  10120. *
  10121. * Availability:
  10122. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10123. * CarbonLib: in CarbonLib 1.0 and later
  10124. * Non-Carbon CFM: available as macro/inline
  10125. }
  10126. function InvokeMovieRgnCoverUPP( theMovie: Movie; changedRgn: RgnHandle; refcon: SIGNEDLONG; userUPP: MovieRgnCoverUPP ): OSErr; external name '_InvokeMovieRgnCoverUPP';
  10127. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10128. {
  10129. * InvokeMovieProgressUPP()
  10130. *
  10131. * Availability:
  10132. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10133. * CarbonLib: in CarbonLib 1.0 and later
  10134. * Non-Carbon CFM: available as macro/inline
  10135. }
  10136. function InvokeMovieProgressUPP( theMovie: Movie; message: SInt16; whatOperation: SInt16; percentDone: Fixed; refcon: SIGNEDLONG; userUPP: MovieProgressUPP ): OSErr; external name '_InvokeMovieProgressUPP';
  10137. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10138. {
  10139. * InvokeMovieDrawingCompleteUPP()
  10140. *
  10141. * Availability:
  10142. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10143. * CarbonLib: in CarbonLib 1.0 and later
  10144. * Non-Carbon CFM: available as macro/inline
  10145. }
  10146. function InvokeMovieDrawingCompleteUPP( theMovie: Movie; refCon: SIGNEDLONG; userUPP: MovieDrawingCompleteUPP ): OSErr; external name '_InvokeMovieDrawingCompleteUPP';
  10147. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10148. {
  10149. * InvokeTrackTransferUPP()
  10150. *
  10151. * Availability:
  10152. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10153. * CarbonLib: in CarbonLib 1.0 and later
  10154. * Non-Carbon CFM: available as macro/inline
  10155. }
  10156. function InvokeTrackTransferUPP( t: Track; refCon: SIGNEDLONG; userUPP: TrackTransferUPP ): OSErr; external name '_InvokeTrackTransferUPP';
  10157. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10158. {
  10159. * InvokeGetMovieUPP()
  10160. *
  10161. * Availability:
  10162. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10163. * CarbonLib: in CarbonLib 1.0 and later
  10164. * Non-Carbon CFM: available as macro/inline
  10165. }
  10166. function InvokeGetMovieUPP( offset: SIGNEDLONG; size: SIGNEDLONG; dataPtr: UnivPtr; refCon: UnivPtr; userUPP: GetMovieUPP ): OSErr; external name '_InvokeGetMovieUPP';
  10167. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10168. {
  10169. * InvokeMoviePreviewCallOutUPP()
  10170. *
  10171. * Availability:
  10172. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10173. * CarbonLib: in CarbonLib 1.0 and later
  10174. * Non-Carbon CFM: available as macro/inline
  10175. }
  10176. function InvokeMoviePreviewCallOutUPP( refcon: SIGNEDLONG; userUPP: MoviePreviewCallOutUPP ): Boolean; external name '_InvokeMoviePreviewCallOutUPP';
  10177. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10178. {
  10179. * InvokeTextMediaUPP()
  10180. *
  10181. * Availability:
  10182. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10183. * CarbonLib: in CarbonLib 1.0 and later
  10184. * Non-Carbon CFM: available as macro/inline
  10185. }
  10186. function InvokeTextMediaUPP( theText: Handle; theMovie: Movie; var displayFlag: SInt16; refcon: SIGNEDLONG; userUPP: TextMediaUPP ): OSErr; external name '_InvokeTextMediaUPP';
  10187. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10188. {
  10189. * InvokeActionsUPP()
  10190. *
  10191. * Availability:
  10192. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10193. * CarbonLib: in CarbonLib 1.0 and later
  10194. * Non-Carbon CFM: available as macro/inline
  10195. }
  10196. function InvokeActionsUPP( refcon: UnivPtr; targetTrack: Track; targetRefCon: SIGNEDLONG; theEvent: QTEventRecordPtr; userUPP: ActionsUPP ): OSErr; external name '_InvokeActionsUPP';
  10197. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10198. {
  10199. * InvokeDoMCActionUPP()
  10200. *
  10201. * Availability:
  10202. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10203. * CarbonLib: in CarbonLib 1.0.2 and later
  10204. * Non-Carbon CFM: available as macro/inline
  10205. }
  10206. function InvokeDoMCActionUPP( refcon: UnivPtr; action: SInt16; params: UnivPtr; var handled: Boolean; userUPP: DoMCActionUPP ): OSErr; external name '_InvokeDoMCActionUPP';
  10207. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10208. {
  10209. * InvokeMovieExecuteWiredActionsUPP()
  10210. *
  10211. * Availability:
  10212. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10213. * CarbonLib: in CarbonLib 1.0.2 and later
  10214. * Non-Carbon CFM: available as macro/inline
  10215. }
  10216. function InvokeMovieExecuteWiredActionsUPP( theMovie: Movie; refcon: UnivPtr; flags: SIGNEDLONG; wiredActions: QTAtomContainer; userUPP: MovieExecuteWiredActionsUPP ): OSErr; external name '_InvokeMovieExecuteWiredActionsUPP';
  10217. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10218. {
  10219. * InvokeMoviePrePrerollCompleteUPP()
  10220. *
  10221. * Availability:
  10222. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10223. * CarbonLib: in CarbonLib 1.0.2 and later
  10224. * Non-Carbon CFM: available as macro/inline
  10225. }
  10226. procedure InvokeMoviePrePrerollCompleteUPP( theMovie: Movie; prerollErr: OSErr; refcon: UnivPtr; userUPP: MoviePrePrerollCompleteUPP ); external name '_InvokeMoviePrePrerollCompleteUPP';
  10227. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10228. {
  10229. * InvokeQTNextTaskNeededSoonerCallbackUPP()
  10230. *
  10231. * Availability:
  10232. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10233. * CarbonLib: in CarbonLib 1.6 and later
  10234. * Non-Carbon CFM: available as macro/inline
  10235. }
  10236. procedure InvokeQTNextTaskNeededSoonerCallbackUPP( duration: TimeValue; flags: UNSIGNEDLONG; refcon: UnivPtr; userUPP: QTNextTaskNeededSoonerCallbackUPP ); external name '_InvokeQTNextTaskNeededSoonerCallbackUPP';
  10237. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10238. {
  10239. * InvokeMoviesErrorUPP()
  10240. *
  10241. * Availability:
  10242. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10243. * CarbonLib: in CarbonLib 1.0 and later
  10244. * Non-Carbon CFM: available as macro/inline
  10245. }
  10246. procedure InvokeMoviesErrorUPP( theErr: OSErr; refcon: SIGNEDLONG; userUPP: MoviesErrorUPP ); external name '_InvokeMoviesErrorUPP';
  10247. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10248. {
  10249. * InvokeTweenerDataUPP()
  10250. *
  10251. * Availability:
  10252. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10253. * CarbonLib: in CarbonLib 1.0 and later
  10254. * Non-Carbon CFM: available as macro/inline
  10255. }
  10256. function InvokeTweenerDataUPP( tr: TweenRecordPtr; tweenData: UnivPtr; tweenDataSize: SIGNEDLONG; dataDescriptionSeed: SIGNEDLONG; dataDescription: Handle; asyncCompletionProc: ICMCompletionProcRecordPtr; transferProc: UniversalProcPtr; refCon: UnivPtr; userUPP: TweenerDataUPP ): ComponentResult; external name '_InvokeTweenerDataUPP';
  10257. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10258. {
  10259. * InvokeQTEffectListFilterUPP()
  10260. *
  10261. * Availability:
  10262. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10263. * CarbonLib: in CarbonLib 1.6 and later
  10264. * Non-Carbon CFM: available as macro/inline
  10265. }
  10266. function InvokeQTEffectListFilterUPP( effect: Component; effectMinSource: SIGNEDLONG; effectMaxSource: SIGNEDLONG; majorClass: OSType; minorClass: OSType; refcon: UnivPtr; userUPP: QTEffectListFilterUPP ): Boolean; external name '_InvokeQTEffectListFilterUPP';
  10267. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10268. {****
  10269. Connection Speed
  10270. ****}
  10271. const
  10272. ConnectionSpeedPrefsType = FourCharCode('cspd');
  10273. ConnectionSpeedIsValidPrefsType = FourCharCode('vspd');
  10274. type
  10275. ConnectionSpeedPrefsRecordPtr = ^ConnectionSpeedPrefsRecord;
  10276. ConnectionSpeedPrefsRecord = record
  10277. connectionSpeed: SIGNEDLONG;
  10278. end;
  10279. type
  10280. ConnectionSpeedPrefsPtr = ^ConnectionSpeedPrefsRecord;
  10281. ConnectionSpeedPrefsHandle = ^ConnectionSpeedPrefsPtr;
  10282. {
  10283. * QTGetConnectionSpeedFromPrefs()
  10284. *
  10285. * Availability:
  10286. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  10287. * CarbonLib: not available
  10288. * Non-Carbon CFM: not available
  10289. * Windows: in qtmlClient.lib 6.5 and later
  10290. }
  10291. function QTGetConnectionSpeedFromPrefs( var pConnectionSpeed: SIGNEDLONG ): OSErr; external name '_QTGetConnectionSpeedFromPrefs';
  10292. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  10293. {****
  10294. QT International Text Atom Support
  10295. ****}
  10296. const
  10297. kITextRemoveEverythingBut = 0 shl 1;
  10298. kITextRemoveLeaveSuggestedAlternate = 1 shl 1;
  10299. const
  10300. kITextAtomType = FourCharCode('itxt');
  10301. kITextStringAtomType = FourCharCode('text');
  10302. {
  10303. * ITextAddString()
  10304. *
  10305. * Availability:
  10306. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10307. * CarbonLib: in CarbonLib 1.0 and later
  10308. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10309. * Windows: in qtmlClient.lib 3.0 and later
  10310. }
  10311. function ITextAddString( container: QTAtomContainer; parentAtom: QTAtom; theRegionCode: RegionCode; const (*var*) theString: Str255 ): OSErr; external name '_ITextAddString';
  10312. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10313. {
  10314. * ITextRemoveString()
  10315. *
  10316. * Availability:
  10317. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10318. * CarbonLib: in CarbonLib 1.0 and later
  10319. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10320. * Windows: in qtmlClient.lib 3.0 and later
  10321. }
  10322. function ITextRemoveString( container: QTAtomContainer; parentAtom: QTAtom; theRegionCode: RegionCode; flags: SIGNEDLONG ): OSErr; external name '_ITextRemoveString';
  10323. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10324. {
  10325. * ITextGetString()
  10326. *
  10327. * Availability:
  10328. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10329. * CarbonLib: in CarbonLib 1.0 and later
  10330. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10331. * Windows: in qtmlClient.lib 3.0 and later
  10332. }
  10333. function ITextGetString( container: QTAtomContainer; parentAtom: QTAtom; requestedRegion: RegionCode; var foundRegion: RegionCode; theString: StringPtr ): OSErr; external name '_ITextGetString';
  10334. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10335. {
  10336. * QTTextToNativeText()
  10337. *
  10338. * Availability:
  10339. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10340. * CarbonLib: in CarbonLib 1.0 and later
  10341. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10342. * Windows: in qtmlClient.lib 3.0 and later
  10343. }
  10344. function QTTextToNativeText( theText: Handle; encoding: SIGNEDLONG; flags: SIGNEDLONG ): OSErr; external name '_QTTextToNativeText';
  10345. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10346. { QTParseTextHREF inContainer atoms}
  10347. const
  10348. kQTParseTextHREFText = FourCharCode('text'); { string}
  10349. kQTParseTextHREFBaseURL = FourCharCode('burl'); { string}
  10350. kQTParseTextHREFClickPoint = FourCharCode('clik'); { Point; if present, QTParseTextHREF will expand URLs to support server-side image maps}
  10351. kQTParseTextHREFUseAltDelim = FourCharCode('altd'); { boolean; if no kQTParseTextHREFDelimiter, delim is ':'}
  10352. kQTParseTextHREFDelimiter = FourCharCode('delm'); { character}
  10353. kQTParseTextHREFRecomposeHREF = FourCharCode('rhrf'); { Boolean; if true, QTParseTextHREF returns recomposed HREF with URL expanded as appropriate}
  10354. { QTParseTextHREF outContainer atoms}
  10355. const
  10356. kQTParseTextHREFURL = FourCharCode('url '); { string}
  10357. kQTParseTextHREFTarget = FourCharCode('targ'); { string}
  10358. kQTParseTextHREFChapter = FourCharCode('chap'); { string}
  10359. kQTParseTextHREFIsAutoHREF = FourCharCode('auto'); { Boolean}
  10360. kQTParseTextHREFIsServerMap = FourCharCode('smap'); { Boolean}
  10361. kQTParseTextHREFHREF = FourCharCode('href'); { string; recomposed HREF with URL expanded as appropriate, suitable for mcActionLinkToURL}
  10362. kQTParseTextHREFEMBEDArgs = FourCharCode('mbed'); { string; text between 'E<' and '>' to be used as new movie's embed tags}
  10363. {
  10364. * QTParseTextHREF()
  10365. *
  10366. * Availability:
  10367. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10368. * CarbonLib: in CarbonLib 1.1 and later
  10369. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  10370. * Windows: in qtmlClient.lib 4.1 and later
  10371. }
  10372. function QTParseTextHREF( href: CStringPtr; hrefLen: SInt32; inContainer: QTAtomContainer; var outContainer: QTAtomContainer ): OSErr; external name '_QTParseTextHREF';
  10373. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10374. {************************
  10375. * track reference types
  10376. *************************}
  10377. const
  10378. kTrackReferenceChapterList = FourCharCode('chap');
  10379. kTrackReferenceTimeCode = FourCharCode('tmcd');
  10380. kTrackReferenceModifier = FourCharCode('ssrc');
  10381. {************************
  10382. * modifier track types
  10383. *************************}
  10384. const
  10385. kTrackModifierInput = $696E; { is really 'in'}
  10386. kTrackModifierType = $7479; { is really 'ty'}
  10387. kTrackModifierReference = FourCharCode('ssrc');
  10388. kTrackModifierObjectID = FourCharCode('obid');
  10389. kTrackModifierInputName = FourCharCode('name');
  10390. const
  10391. kInputMapSubInputID = FourCharCode('subi');
  10392. const
  10393. kTrackModifierTypeMatrix = 1;
  10394. kTrackModifierTypeClip = 2;
  10395. kTrackModifierTypeGraphicsMode = 5;
  10396. kTrackModifierTypeVolume = 3;
  10397. kTrackModifierTypeBalance = 4;
  10398. kTrackModifierTypeImage = FourCharCode('vide'); { was kTrackModifierTypeSpriteImage}
  10399. kTrackModifierObjectMatrix = 6;
  10400. kTrackModifierObjectGraphicsMode = 7;
  10401. kTrackModifierType3d4x4Matrix = 8;
  10402. kTrackModifierCameraData = 9;
  10403. kTrackModifierSoundLocalizationData = 10;
  10404. kTrackModifierObjectImageIndex = 11;
  10405. kTrackModifierObjectLayer = 12;
  10406. kTrackModifierObjectVisible = 13;
  10407. kTrackModifierAngleAspectCamera = 14;
  10408. kTrackModifierPanAngle = FourCharCode('pan ');
  10409. kTrackModifierTiltAngle = FourCharCode('tilt');
  10410. kTrackModifierVerticalFieldOfViewAngle = FourCharCode('fov ');
  10411. kTrackModifierObjectQTEventSend = FourCharCode('evnt');
  10412. kTrackModifierObjectCanBeHitTested = 15;
  10413. type
  10414. ModifierTrackGraphicsModeRecordPtr = ^ModifierTrackGraphicsModeRecord;
  10415. ModifierTrackGraphicsModeRecord = record
  10416. graphicsMode: SIGNEDLONG;
  10417. opColor: RGBColor;
  10418. end;
  10419. {************************
  10420. * tween track types
  10421. *************************}
  10422. const
  10423. kTweenTypeShort = 1;
  10424. kTweenTypeLong = 2;
  10425. kTweenTypeFixed = 3;
  10426. kTweenTypePoint = 4;
  10427. kTweenTypeQDRect = 5;
  10428. kTweenTypeQDRegion = 6;
  10429. kTweenTypeMatrix = 7;
  10430. kTweenTypeRGBColor = 8;
  10431. kTweenTypeGraphicsModeWithRGBColor = 9;
  10432. kTweenTypeQTFloatSingle = 10;
  10433. kTweenTypeQTFloatDouble = 11;
  10434. kTweenTypeFixedPoint = 12;
  10435. kTweenType3dScale = FourCharCode('3sca');
  10436. kTweenType3dTranslate = FourCharCode('3tra');
  10437. kTweenType3dRotate = FourCharCode('3rot');
  10438. kTweenType3dRotateAboutPoint = FourCharCode('3rap');
  10439. kTweenType3dRotateAboutAxis = FourCharCode('3rax');
  10440. kTweenType3dRotateAboutVector = FourCharCode('3rvc');
  10441. kTweenType3dQuaternion = FourCharCode('3qua');
  10442. kTweenType3dMatrix = FourCharCode('3mat');
  10443. kTweenType3dCameraData = FourCharCode('3cam');
  10444. kTweenType3dAngleAspectCameraData = FourCharCode('3caa');
  10445. kTweenType3dSoundLocalizationData = FourCharCode('3slc');
  10446. kTweenTypePathToMatrixTranslation = FourCharCode('gxmt');
  10447. kTweenTypePathToMatrixRotation = FourCharCode('gxpr');
  10448. kTweenTypePathToMatrixTranslationAndRotation = FourCharCode('gxmr');
  10449. kTweenTypePathToFixedPoint = FourCharCode('gxfp');
  10450. kTweenTypePathXtoY = FourCharCode('gxxy');
  10451. kTweenTypePathYtoX = FourCharCode('gxyx');
  10452. kTweenTypeAtomList = FourCharCode('atom');
  10453. kTweenTypePolygon = FourCharCode('poly');
  10454. kTweenTypeMultiMatrix = FourCharCode('mulm');
  10455. kTweenTypeSpin = FourCharCode('spin');
  10456. kTweenType3dMatrixNonLinear = FourCharCode('3nlr');
  10457. kTweenType3dVRObject = FourCharCode('3vro');
  10458. const
  10459. kTweenEntry = FourCharCode('twen');
  10460. kTweenData = FourCharCode('data');
  10461. kTweenType = FourCharCode('twnt');
  10462. kTweenStartOffset = FourCharCode('twst');
  10463. kTweenDuration = FourCharCode('twdu');
  10464. kTweenFlags = FourCharCode('flag');
  10465. kTweenOutputMin = FourCharCode('omin');
  10466. kTweenOutputMax = FourCharCode('omax');
  10467. kTweenSequenceElement = FourCharCode('seqe');
  10468. kTween3dInitialCondition = FourCharCode('icnd');
  10469. kTweenInterpolationID = FourCharCode('intr');
  10470. kTweenRegionData = FourCharCode('qdrg');
  10471. kTweenPictureData = FourCharCode('PICT');
  10472. kListElementType = FourCharCode('type');
  10473. kListElementDataType = FourCharCode('daty');
  10474. kNameAtom = FourCharCode('name');
  10475. kInitialRotationAtom = FourCharCode('inro');
  10476. kNonLinearTweenHeader = FourCharCode('nlth');
  10477. { kTweenFlags}
  10478. const
  10479. kTweenReturnDelta = 1 shl 0;
  10480. type
  10481. TweenSequenceEntryRecord = record
  10482. endPercent: Fixed;
  10483. tweenAtomID: QTAtomID;
  10484. dataAtomID: QTAtomID;
  10485. end;
  10486. (* #ifdef __QD3D__
  10487. type
  10488. ThreeDeeVRObjectSample = record
  10489. rows: SIGNEDLONG;
  10490. columns: SIGNEDLONG;
  10491. calib1: TQ3Matrix4x4;
  10492. calib2: TQ3Matrix4x4;
  10493. reserved1: SIGNEDLONG;
  10494. reserved2: SIGNEDLONG;
  10495. end;
  10496. type
  10497. ThreeDeeNonLinearSample = record
  10498. DurFromLastSample: Float32; { 0 to 1 }
  10499. matrix: TQ3Matrix4x4;
  10500. end;
  10501. type
  10502. ThreeDeeNonLinearTweenHeaderAtom = record
  10503. number: SIGNEDLONG;
  10504. dataSize: SIGNEDLONG;
  10505. tensionFactor: Float32; { default is 0 }
  10506. reserved1: SIGNEDLONG;
  10507. reserved2: SIGNEDLONG;
  10508. end;
  10509. #endif
  10510. *)
  10511. (* #if OLDROUTINENAMES
  10512. {************************
  10513. * Video Media routines
  10514. *************************}
  10515. #define GetVideoMediaGraphicsMode MediaGetGraphicsMode
  10516. #define SetVideoMediaGraphicsMode MediaSetGraphicsMode
  10517. { use these two routines at your own peril }
  10518. #define ResetVideoMediaStatistics VideoMediaResetStatistics
  10519. #define GetVideoMediaStatistics VideoMediaGetStatistics
  10520. {************************
  10521. * Sound Media routines
  10522. *************************}
  10523. #define GetSoundMediaBalance MediaGetSoundBalance
  10524. #define SetSoundMediaBalance MediaSetSoundBalance
  10525. {************************
  10526. * Text Media routines
  10527. *************************}
  10528. #define SetTextProc TextMediaSetTextProc
  10529. #define AddTextSample TextMediaAddTextSample
  10530. #define AddTESample TextMediaAddTESample
  10531. #define AddHiliteSample TextMediaAddHiliteSample
  10532. #define FindNextText TextMediaFindNextText
  10533. #define HiliteTextSample TextMediaHiliteTextSample
  10534. #define SetTextSampleData TextMediaSetTextSampleData
  10535. #define DrawRaw TextMediaDrawRaw
  10536. #define RawSetup TextMediaRawSetup
  10537. #define RawIdle TextMediaRawIdle
  10538. #define SetTextProperty TextMediaSetTextProperty
  10539. {************************
  10540. * Sprite Media routines
  10541. *************************}
  10542. #define SetSpriteMediaSpriteProperty SpriteMediaSetProperty
  10543. #define GetSpriteMediaSpriteProperty SpriteMediaGetProperty
  10544. #define HitTestSpriteMedia SpriteMediaHitTestSprites
  10545. #define CountSpriteMediaSprites SpriteMediaCountSprites
  10546. #define CountSpriteMediaImages SpriteMediaCountImages
  10547. #define GetSpriteMediaIndImageDescription SpriteMediaGetIndImageDescription
  10548. #define GetDisplayedSampleNumber SpriteMediaGetDisplayedSampleNumber
  10549. #endif { OLDROUTINENAMES }
  10550. *)
  10551. {****
  10552. Content Restrictions
  10553. ****}
  10554. const
  10555. kQTRestrictionClassSave = FourCharCode('save');
  10556. kQTRestrictionSaveDontAddMovieResource = 1 shl 0;
  10557. kQTRestrictionSaveDontFlatten = 1 shl 1;
  10558. kQTRestrictionSaveDontExport = 1 shl 2;
  10559. kQTRestrictionSaveDontExtract = 1 shl 3; { don't allow any form of extraction of content}
  10560. kQTRestrictionClassEdit = FourCharCode('edit');
  10561. kQTRestrictionEditDontCopy = 1 shl 0; { disable copy }
  10562. kQTRestrictionEditDontCut = 1 shl 1; { disable cut }
  10563. kQTRestrictionEditDontPaste = 1 shl 2; { disable paste }
  10564. kQTRestrictionEditDontClear = 1 shl 3; { disable clear}
  10565. kQTRestrictionEditDontModify = 1 shl 4; { don't allow modification of content}
  10566. kQTRestrictionEditDontExtract = 1 shl 5; { don't allow any form of extraction of content}
  10567. kQTRestrictionClassPlay = FourCharCode('play');
  10568. kQTRestrictionPlayDontPlay = 1 shl 0; { disable playback }
  10569. {************************
  10570. * Video Media routines
  10571. *************************}
  10572. const
  10573. videoFlagDontLeanAhead = 1 shl 0;
  10574. { use these five routines at your own peril}
  10575. {
  10576. * VideoMediaResetStatistics()
  10577. *
  10578. * Availability:
  10579. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10580. * CarbonLib: in CarbonLib 1.0 and later
  10581. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10582. * Windows: in qtmlClient.lib 3.0 and later
  10583. }
  10584. function VideoMediaResetStatistics( mh: MediaHandler ): ComponentResult; external name '_VideoMediaResetStatistics';
  10585. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10586. {
  10587. * VideoMediaGetStatistics()
  10588. *
  10589. * Availability:
  10590. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10591. * CarbonLib: in CarbonLib 1.0 and later
  10592. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10593. * Windows: in qtmlClient.lib 3.0 and later
  10594. }
  10595. function VideoMediaGetStatistics( mh: MediaHandler ): ComponentResult; external name '_VideoMediaGetStatistics';
  10596. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10597. {
  10598. * VideoMediaGetStallCount()
  10599. *
  10600. * Availability:
  10601. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10602. * CarbonLib: in CarbonLib 1.0.2 and later
  10603. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10604. * Windows: in qtmlClient.lib 3.0 and later
  10605. }
  10606. function VideoMediaGetStallCount( mh: MediaHandler; var stalls: UNSIGNEDLONG ): ComponentResult; external name '_VideoMediaGetStallCount';
  10607. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10608. {
  10609. * VideoMediaSetCodecParameter()
  10610. *
  10611. * Availability:
  10612. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10613. * CarbonLib: in CarbonLib 1.0.2 and later
  10614. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10615. * Windows: in qtmlClient.lib 4.0 and later
  10616. }
  10617. function VideoMediaSetCodecParameter( mh: MediaHandler; cType: CodecType; parameterID: OSType; parameterChangeSeed: SIGNEDLONG; dataPtr: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_VideoMediaSetCodecParameter';
  10618. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10619. {
  10620. * VideoMediaGetCodecParameter()
  10621. *
  10622. * Availability:
  10623. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10624. * CarbonLib: in CarbonLib 1.0.2 and later
  10625. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10626. * Windows: in qtmlClient.lib 4.0 and later
  10627. }
  10628. function VideoMediaGetCodecParameter( mh: MediaHandler; cType: CodecType; parameterID: OSType; outParameterData: Handle ): ComponentResult; external name '_VideoMediaGetCodecParameter';
  10629. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10630. {************************
  10631. * Text Media routines
  10632. *************************}
  10633. { Return displayFlags for TextProc }
  10634. const
  10635. txtProcDefaultDisplay = 0; { Use the media's default}
  10636. txtProcDontDisplay = 1; { Don't display the text}
  10637. txtProcDoDisplay = 2; { Do display the text}
  10638. {
  10639. * TextMediaSetTextProc()
  10640. *
  10641. * Availability:
  10642. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10643. * CarbonLib: in CarbonLib 1.0 and later
  10644. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10645. * Windows: in qtmlClient.lib 3.0 and later
  10646. }
  10647. function TextMediaSetTextProc( mh: MediaHandler; TextProc: TextMediaUPP; refcon: SIGNEDLONG ): ComponentResult; external name '_TextMediaSetTextProc';
  10648. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10649. {
  10650. * TextMediaAddTextSample()
  10651. *
  10652. * Availability:
  10653. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10654. * CarbonLib: in CarbonLib 1.0 and later
  10655. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10656. * Windows: in qtmlClient.lib 3.0 and later
  10657. }
  10658. function TextMediaAddTextSample( mh: MediaHandler; text: Ptr; size: UNSIGNEDLONG; fontNumber: SInt16; fontSize: SInt16; txtFace: ByteParameter; var textColor: RGBColor; var backColor: RGBColor; textJustification: SInt16; var textBox: Rect; displayFlags: SIGNEDLONG; scrollDelay: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddTextSample';
  10659. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10660. {
  10661. * TextMediaAddTESample()
  10662. *
  10663. * Availability:
  10664. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10665. * CarbonLib: in CarbonLib 1.0 and later
  10666. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10667. * Windows: in qtmlClient.lib 3.0 and later
  10668. }
  10669. function TextMediaAddTESample( mh: MediaHandler; hTE: TEHandle; var backColor: RGBColor; textJustification: SInt16; var textBox: Rect; displayFlags: SIGNEDLONG; scrollDelay: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddTESample';
  10670. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10671. {
  10672. * TextMediaAddHiliteSample()
  10673. *
  10674. * Availability:
  10675. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10676. * CarbonLib: in CarbonLib 1.0 and later
  10677. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10678. * Windows: in qtmlClient.lib 3.0 and later
  10679. }
  10680. function TextMediaAddHiliteSample( mh: MediaHandler; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddHiliteSample';
  10681. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10682. {
  10683. * TextMediaDrawRaw()
  10684. *
  10685. * Availability:
  10686. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10687. * CarbonLib: in CarbonLib 1.0.2 and later
  10688. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10689. * Windows: in qtmlClient.lib 4.0 and later
  10690. }
  10691. function TextMediaDrawRaw( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; data: UnivPtr; dataSize: SIGNEDLONG; tdh: TextDescriptionHandle ): ComponentResult; external name '_TextMediaDrawRaw';
  10692. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10693. {
  10694. * TextMediaSetTextProperty()
  10695. *
  10696. * Availability:
  10697. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10698. * CarbonLib: in CarbonLib 1.0.2 and later
  10699. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10700. * Windows: in qtmlClient.lib 4.0 and later
  10701. }
  10702. function TextMediaSetTextProperty( mh: MediaHandler; atMediaTime: TimeValue; propertyType: SIGNEDLONG; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_TextMediaSetTextProperty';
  10703. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10704. {
  10705. * TextMediaRawSetup()
  10706. *
  10707. * Availability:
  10708. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10709. * CarbonLib: in CarbonLib 1.0.2 and later
  10710. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10711. * Windows: in qtmlClient.lib 4.0 and later
  10712. }
  10713. function TextMediaRawSetup( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; data: UnivPtr; dataSize: SIGNEDLONG; tdh: TextDescriptionHandle; sampleDuration: TimeValue ): ComponentResult; external name '_TextMediaRawSetup';
  10714. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10715. {
  10716. * TextMediaRawIdle()
  10717. *
  10718. * Availability:
  10719. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10720. * CarbonLib: in CarbonLib 1.0.2 and later
  10721. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10722. * Windows: in qtmlClient.lib 4.0 and later
  10723. }
  10724. function TextMediaRawIdle( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; sampleTime: TimeValue; flagsIn: SIGNEDLONG; var flagsOut: SIGNEDLONG ): ComponentResult; external name '_TextMediaRawIdle';
  10725. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10726. {
  10727. * TextMediaGetTextProperty()
  10728. *
  10729. * Availability:
  10730. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10731. * CarbonLib: in CarbonLib 1.3 and later
  10732. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  10733. * Windows: in qtmlClient.lib 5.0 and later
  10734. }
  10735. function TextMediaGetTextProperty( mh: MediaHandler; atMediaTime: TimeValue; propertyType: SIGNEDLONG; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_TextMediaGetTextProperty';
  10736. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10737. const
  10738. findTextEdgeOK = 1 shl 0; { Okay to find text at specified sample time}
  10739. findTextCaseSensitive = 1 shl 1; { Case sensitive search}
  10740. findTextReverseSearch = 1 shl 2; { Search from sampleTime backwards}
  10741. findTextWrapAround = 1 shl 3; { Wrap search when beginning or end of movie is hit}
  10742. findTextUseOffset = 1 shl 4; { Begin search at the given character offset into sample rather than edge}
  10743. {
  10744. * TextMediaFindNextText()
  10745. *
  10746. * Availability:
  10747. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10748. * CarbonLib: in CarbonLib 1.0 and later
  10749. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10750. * Windows: in qtmlClient.lib 3.0 and later
  10751. }
  10752. function TextMediaFindNextText( mh: MediaHandler; text: Ptr; size: SIGNEDLONG; findFlags: SInt16; startTime: TimeValue; var foundTime: TimeValue; var foundDuration: TimeValue; var offset: SIGNEDLONG ): ComponentResult; external name '_TextMediaFindNextText';
  10753. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10754. {
  10755. * TextMediaHiliteTextSample()
  10756. *
  10757. * Availability:
  10758. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10759. * CarbonLib: in CarbonLib 1.0 and later
  10760. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10761. * Windows: in qtmlClient.lib 3.0 and later
  10762. }
  10763. function TextMediaHiliteTextSample( mh: MediaHandler; sampleTime: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor ): ComponentResult; external name '_TextMediaHiliteTextSample';
  10764. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10765. const
  10766. dropShadowOffsetType = FourCharCode('drpo');
  10767. dropShadowTranslucencyType = FourCharCode('drpt');
  10768. {
  10769. * TextMediaSetTextSampleData()
  10770. *
  10771. * Availability:
  10772. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10773. * CarbonLib: in CarbonLib 1.0 and later
  10774. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10775. * Windows: in qtmlClient.lib 3.0 and later
  10776. }
  10777. function TextMediaSetTextSampleData( mh: MediaHandler; data: UnivPtr; dataType: OSType ): ComponentResult; external name '_TextMediaSetTextSampleData';
  10778. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10779. {************************
  10780. * Sprite Media routines
  10781. *************************}
  10782. { flags for sprite hit test routines }
  10783. const
  10784. spriteHitTestBounds = 1 shl 0; { point must only be within sprite's bounding box}
  10785. spriteHitTestImage = 1 shl 1; { point must be within the shape of the sprite's image}
  10786. spriteHitTestInvisibleSprites = 1 shl 2; { invisible sprites may be hit tested}
  10787. spriteHitTestIsClick = 1 shl 3; { for codecs that want mouse events}
  10788. spriteHitTestLocInDisplayCoordinates = 1 shl 4; { set if you want to pass a display coordiate point to SpriteHitTest}
  10789. spriteHitTestTreatAllSpritesAsHitTestable = 1 shl 5; { set if you want to override each sprites hittestable property as true}
  10790. { atom types for sprite media }
  10791. const
  10792. kSpriteAtomType = FourCharCode('sprt');
  10793. kSpriteImagesContainerAtomType = FourCharCode('imct');
  10794. kSpriteImageAtomType = FourCharCode('imag');
  10795. kSpriteImageDataAtomType = FourCharCode('imda');
  10796. kSpriteImageDataRefAtomType = FourCharCode('imre');
  10797. kSpriteImageDataRefTypeAtomType = FourCharCode('imrt');
  10798. kSpriteImageGroupIDAtomType = FourCharCode('imgr');
  10799. kSpriteImageRegistrationAtomType = FourCharCode('imrg');
  10800. kSpriteImageDefaultImageIndexAtomType = FourCharCode('defi');
  10801. kSpriteSharedDataAtomType = FourCharCode('dflt');
  10802. kSpriteNameAtomType = FourCharCode('name');
  10803. kSpriteImageNameAtomType = FourCharCode('name');
  10804. kSpriteUsesImageIDsAtomType = FourCharCode('uses'); { leaf data is an array of QTAtomID's, one per image used}
  10805. kSpriteBehaviorsAtomType = FourCharCode('beha');
  10806. kSpriteImageBehaviorAtomType = FourCharCode('imag');
  10807. kSpriteCursorBehaviorAtomType = FourCharCode('crsr');
  10808. kSpriteStatusStringsBehaviorAtomType = FourCharCode('sstr');
  10809. kSpriteVariablesContainerAtomType = FourCharCode('vars');
  10810. kSpriteStringVariableAtomType = FourCharCode('strv');
  10811. kSpriteFloatingPointVariableAtomType = FourCharCode('flov');
  10812. type
  10813. QTRuntimeSpriteDescStructPtr = ^QTRuntimeSpriteDescStruct;
  10814. QTRuntimeSpriteDescStruct = record
  10815. version: SIGNEDLONG; { set to zero}
  10816. spriteID: QTAtomID;
  10817. imageIndex: SInt16;
  10818. matrix: MatrixRecord;
  10819. visible: SInt16;
  10820. layer: SInt16;
  10821. graphicsMode: ModifierTrackGraphicsModeRecord;
  10822. actionHandlingSpriteID: QTAtomID;
  10823. end;
  10824. type
  10825. QTRuntimeSpriteDescPtr = QTRuntimeSpriteDescStructPtr;
  10826. {
  10827. when filling in QTSpriteButtonBehaviorStruct values -1 may be used to indicate that
  10828. the state transition does not change the property
  10829. }
  10830. type
  10831. QTSpriteButtonBehaviorStructPtr = ^QTSpriteButtonBehaviorStruct;
  10832. QTSpriteButtonBehaviorStruct = record
  10833. notOverNotPressedStateID: QTAtomID;
  10834. overNotPressedStateID: QTAtomID;
  10835. overPressedStateID: QTAtomID;
  10836. notOverPressedStateID: QTAtomID;
  10837. end;
  10838. type
  10839. QTSpriteButtonBehaviorPtr = QTSpriteButtonBehaviorStructPtr;
  10840. {
  10841. * SpriteMediaSetProperty()
  10842. *
  10843. * Availability:
  10844. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10845. * CarbonLib: in CarbonLib 1.0 and later
  10846. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10847. * Windows: in qtmlClient.lib 3.0 and later
  10848. }
  10849. function SpriteMediaSetProperty( mh: MediaHandler; spriteIndex: SInt16; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaSetProperty';
  10850. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10851. {
  10852. * SpriteMediaGetProperty()
  10853. *
  10854. * Availability:
  10855. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10856. * CarbonLib: in CarbonLib 1.0 and later
  10857. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10858. * Windows: in qtmlClient.lib 3.0 and later
  10859. }
  10860. function SpriteMediaGetProperty( mh: MediaHandler; spriteIndex: SInt16; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetProperty';
  10861. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10862. {
  10863. * SpriteMediaHitTestSprites()
  10864. *
  10865. * Availability:
  10866. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10867. * CarbonLib: in CarbonLib 1.0 and later
  10868. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10869. * Windows: in qtmlClient.lib 3.0 and later
  10870. }
  10871. function SpriteMediaHitTestSprites( mh: MediaHandler; flags: SIGNEDLONG; loc: Point; var spriteHitIndex: SInt16 ): ComponentResult; external name '_SpriteMediaHitTestSprites';
  10872. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10873. {
  10874. * SpriteMediaCountSprites()
  10875. *
  10876. * Availability:
  10877. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10878. * CarbonLib: in CarbonLib 1.0 and later
  10879. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10880. * Windows: in qtmlClient.lib 3.0 and later
  10881. }
  10882. function SpriteMediaCountSprites( mh: MediaHandler; var numSprites: SInt16 ): ComponentResult; external name '_SpriteMediaCountSprites';
  10883. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10884. {
  10885. * SpriteMediaCountImages()
  10886. *
  10887. * Availability:
  10888. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10889. * CarbonLib: in CarbonLib 1.0 and later
  10890. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10891. * Windows: in qtmlClient.lib 3.0 and later
  10892. }
  10893. function SpriteMediaCountImages( mh: MediaHandler; var numImages: SInt16 ): ComponentResult; external name '_SpriteMediaCountImages';
  10894. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10895. {
  10896. * SpriteMediaGetIndImageDescription()
  10897. *
  10898. * Availability:
  10899. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10900. * CarbonLib: in CarbonLib 1.0 and later
  10901. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10902. * Windows: in qtmlClient.lib 3.0 and later
  10903. }
  10904. function SpriteMediaGetIndImageDescription( mh: MediaHandler; imageIndex: SInt16; imageDescription: ImageDescriptionHandle ): ComponentResult; external name '_SpriteMediaGetIndImageDescription';
  10905. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10906. {
  10907. * SpriteMediaGetDisplayedSampleNumber()
  10908. *
  10909. * Availability:
  10910. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10911. * CarbonLib: in CarbonLib 1.0 and later
  10912. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10913. * Windows: in qtmlClient.lib 3.0 and later
  10914. }
  10915. function SpriteMediaGetDisplayedSampleNumber( mh: MediaHandler; var sampleNum: SIGNEDLONG ): ComponentResult; external name '_SpriteMediaGetDisplayedSampleNumber';
  10916. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10917. {
  10918. * SpriteMediaGetSpriteName()
  10919. *
  10920. * Availability:
  10921. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10922. * CarbonLib: in CarbonLib 1.0 and later
  10923. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10924. * Windows: in qtmlClient.lib 3.0 and later
  10925. }
  10926. function SpriteMediaGetSpriteName( mh: MediaHandler; spriteID: QTAtomID; var spriteName: Str255 ): ComponentResult; external name '_SpriteMediaGetSpriteName';
  10927. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10928. {
  10929. * SpriteMediaGetImageName()
  10930. *
  10931. * Availability:
  10932. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10933. * CarbonLib: in CarbonLib 1.0 and later
  10934. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10935. * Windows: in qtmlClient.lib 3.0 and later
  10936. }
  10937. function SpriteMediaGetImageName( mh: MediaHandler; imageIndex: SInt16; var imageName: Str255 ): ComponentResult; external name '_SpriteMediaGetImageName';
  10938. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10939. {
  10940. * SpriteMediaSetSpriteProperty()
  10941. *
  10942. * Availability:
  10943. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10944. * CarbonLib: in CarbonLib 1.0 and later
  10945. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10946. * Windows: in qtmlClient.lib 3.0 and later
  10947. }
  10948. function SpriteMediaSetSpriteProperty( mh: MediaHandler; spriteID: QTAtomID; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaSetSpriteProperty';
  10949. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10950. {
  10951. * SpriteMediaGetSpriteProperty()
  10952. *
  10953. * Availability:
  10954. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10955. * CarbonLib: in CarbonLib 1.0 and later
  10956. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10957. * Windows: in qtmlClient.lib 3.0 and later
  10958. }
  10959. function SpriteMediaGetSpriteProperty( mh: MediaHandler; spriteID: QTAtomID; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetSpriteProperty';
  10960. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10961. {
  10962. * SpriteMediaHitTestAllSprites()
  10963. *
  10964. * Availability:
  10965. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10966. * CarbonLib: in CarbonLib 1.0 and later
  10967. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10968. * Windows: in qtmlClient.lib 3.0 and later
  10969. }
  10970. function SpriteMediaHitTestAllSprites( mh: MediaHandler; flags: SIGNEDLONG; loc: Point; var spriteHitID: QTAtomID ): ComponentResult; external name '_SpriteMediaHitTestAllSprites';
  10971. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10972. {
  10973. * SpriteMediaHitTestOneSprite()
  10974. *
  10975. * Availability:
  10976. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10977. * CarbonLib: in CarbonLib 1.0 and later
  10978. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10979. * Windows: in qtmlClient.lib 3.0 and later
  10980. }
  10981. function SpriteMediaHitTestOneSprite( mh: MediaHandler; spriteID: QTAtomID; flags: SIGNEDLONG; loc: Point; var wasHit: Boolean ): ComponentResult; external name '_SpriteMediaHitTestOneSprite';
  10982. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10983. {
  10984. * SpriteMediaSpriteIndexToID()
  10985. *
  10986. * Availability:
  10987. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10988. * CarbonLib: in CarbonLib 1.0 and later
  10989. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10990. * Windows: in qtmlClient.lib 3.0 and later
  10991. }
  10992. function SpriteMediaSpriteIndexToID( mh: MediaHandler; spriteIndex: SInt16; var spriteID: QTAtomID ): ComponentResult; external name '_SpriteMediaSpriteIndexToID';
  10993. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10994. {
  10995. * SpriteMediaSpriteIDToIndex()
  10996. *
  10997. * Availability:
  10998. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10999. * CarbonLib: in CarbonLib 1.0 and later
  11000. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11001. * Windows: in qtmlClient.lib 3.0 and later
  11002. }
  11003. function SpriteMediaSpriteIDToIndex( mh: MediaHandler; spriteID: QTAtomID; var spriteIndex: SInt16 ): ComponentResult; external name '_SpriteMediaSpriteIDToIndex';
  11004. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11005. {
  11006. * SpriteMediaGetSpriteActionsForQTEvent()
  11007. *
  11008. * Availability:
  11009. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11010. * CarbonLib: in CarbonLib 1.0 and later
  11011. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11012. * Windows: in qtmlClient.lib 3.0 and later
  11013. }
  11014. function SpriteMediaGetSpriteActionsForQTEvent( mh: MediaHandler; event: QTEventRecordPtr; spriteID: QTAtomID; var container: QTAtomContainer; var atom: QTAtom ): ComponentResult; external name '_SpriteMediaGetSpriteActionsForQTEvent';
  11015. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11016. {
  11017. * SpriteMediaSetActionVariable()
  11018. *
  11019. * Availability:
  11020. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11021. * CarbonLib: in CarbonLib 1.0 and later
  11022. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11023. * Windows: in qtmlClient.lib 3.0 and later
  11024. }
  11025. function SpriteMediaSetActionVariable( mh: MediaHandler; variableID: QTAtomID; value: Float32Ptr ): ComponentResult; external name '_SpriteMediaSetActionVariable';
  11026. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11027. {
  11028. * SpriteMediaGetActionVariable()
  11029. *
  11030. * Availability:
  11031. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11032. * CarbonLib: in CarbonLib 1.0 and later
  11033. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11034. * Windows: in qtmlClient.lib 3.0 and later
  11035. }
  11036. function SpriteMediaGetActionVariable( mh: MediaHandler; variableID: QTAtomID; var value: Float32 ): ComponentResult; external name '_SpriteMediaGetActionVariable';
  11037. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11038. {
  11039. * SpriteMediaGetIndImageProperty()
  11040. *
  11041. * Availability:
  11042. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11043. * CarbonLib: in CarbonLib 1.1 and later
  11044. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11045. * Windows: in qtmlClient.lib 3.0 and later
  11046. }
  11047. function SpriteMediaGetIndImageProperty( mh: MediaHandler; imageIndex: SInt16; imagePropertyType: SIGNEDLONG; imagePropertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetIndImageProperty';
  11048. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11049. {
  11050. * SpriteMediaNewSprite()
  11051. *
  11052. * Availability:
  11053. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11054. * CarbonLib: in CarbonLib 1.0.2 and later
  11055. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11056. * Windows: in qtmlClient.lib 4.0 and later
  11057. }
  11058. function SpriteMediaNewSprite( mh: MediaHandler; newSpriteDesc: QTRuntimeSpriteDescPtr ): ComponentResult; external name '_SpriteMediaNewSprite';
  11059. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11060. {
  11061. * SpriteMediaDisposeSprite()
  11062. *
  11063. * Availability:
  11064. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11065. * CarbonLib: in CarbonLib 1.0.2 and later
  11066. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11067. * Windows: in qtmlClient.lib 4.0 and later
  11068. }
  11069. function SpriteMediaDisposeSprite( mh: MediaHandler; spriteID: QTAtomID ): ComponentResult; external name '_SpriteMediaDisposeSprite';
  11070. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11071. {
  11072. * SpriteMediaSetActionVariableToString()
  11073. *
  11074. * Availability:
  11075. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11076. * CarbonLib: in CarbonLib 1.0.2 and later
  11077. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11078. * Windows: in qtmlClient.lib 4.0 and later
  11079. }
  11080. function SpriteMediaSetActionVariableToString( mh: MediaHandler; variableID: QTAtomID; theCString: Ptr ): ComponentResult; external name '_SpriteMediaSetActionVariableToString';
  11081. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11082. {
  11083. * SpriteMediaGetActionVariableAsString()
  11084. *
  11085. * Availability:
  11086. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11087. * CarbonLib: in CarbonLib 1.0.2 and later
  11088. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11089. * Windows: in qtmlClient.lib 4.0 and later
  11090. }
  11091. function SpriteMediaGetActionVariableAsString( mh: MediaHandler; variableID: QTAtomID; var theCString: Handle ): ComponentResult; external name '_SpriteMediaGetActionVariableAsString';
  11092. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11093. {
  11094. * SpriteMediaNewImage()
  11095. *
  11096. * Availability:
  11097. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11098. * CarbonLib: in CarbonLib 1.6 and later
  11099. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11100. * Windows: in qtmlClient.lib 6.0 and later
  11101. }
  11102. function SpriteMediaNewImage( mh: MediaHandler; dataRef: Handle; dataRefType: OSType; desiredID: QTAtomID ): ComponentResult; external name '_SpriteMediaNewImage';
  11103. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11104. {
  11105. * SpriteMediaDisposeImage()
  11106. *
  11107. * Availability:
  11108. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11109. * CarbonLib: in CarbonLib 1.6 and later
  11110. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11111. * Windows: in qtmlClient.lib 6.0 and later
  11112. }
  11113. function SpriteMediaDisposeImage( mh: MediaHandler; imageIndex: SInt16 ): ComponentResult; external name '_SpriteMediaDisposeImage';
  11114. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11115. {
  11116. * SpriteMediaImageIndexToID()
  11117. *
  11118. * Availability:
  11119. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11120. * CarbonLib: in CarbonLib 1.6 and later
  11121. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11122. * Windows: in qtmlClient.lib 6.0 and later
  11123. }
  11124. function SpriteMediaImageIndexToID( mh: MediaHandler; imageIndex: SInt16; var imageID: QTAtomID ): ComponentResult; external name '_SpriteMediaImageIndexToID';
  11125. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11126. {
  11127. * SpriteMediaImageIDToIndex()
  11128. *
  11129. * Availability:
  11130. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11131. * CarbonLib: in CarbonLib 1.6 and later
  11132. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11133. * Windows: in qtmlClient.lib 6.0 and later
  11134. }
  11135. function SpriteMediaImageIDToIndex( mh: MediaHandler; imageID: QTAtomID; var imageIndex: SInt16 ): ComponentResult; external name '_SpriteMediaImageIDToIndex';
  11136. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11137. {************************
  11138. * Flash Media routines
  11139. *************************}
  11140. {
  11141. * FlashMediaSetPan()
  11142. *
  11143. * Availability:
  11144. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11145. * CarbonLib: in CarbonLib 1.0.2 and later
  11146. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11147. * Windows: in qtmlClient.lib 4.0 and later
  11148. }
  11149. function FlashMediaSetPan( mh: MediaHandler; xPercent: SInt16; yPercent: SInt16 ): ComponentResult; external name '_FlashMediaSetPan';
  11150. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11151. {
  11152. * FlashMediaSetZoom()
  11153. *
  11154. * Availability:
  11155. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11156. * CarbonLib: in CarbonLib 1.0.2 and later
  11157. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11158. * Windows: in qtmlClient.lib 4.0 and later
  11159. }
  11160. function FlashMediaSetZoom( mh: MediaHandler; factor: SInt16 ): ComponentResult; external name '_FlashMediaSetZoom';
  11161. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11162. {
  11163. * FlashMediaSetZoomRect()
  11164. *
  11165. * Availability:
  11166. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11167. * CarbonLib: in CarbonLib 1.0.2 and later
  11168. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11169. * Windows: in qtmlClient.lib 4.0 and later
  11170. }
  11171. function FlashMediaSetZoomRect( mh: MediaHandler; left: SIGNEDLONG; top: SIGNEDLONG; right: SIGNEDLONG; bottom: SIGNEDLONG ): ComponentResult; external name '_FlashMediaSetZoomRect';
  11172. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11173. {
  11174. * FlashMediaGetRefConBounds()
  11175. *
  11176. * Availability:
  11177. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11178. * CarbonLib: in CarbonLib 1.0.2 and later
  11179. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11180. * Windows: in qtmlClient.lib 4.0 and later
  11181. }
  11182. function FlashMediaGetRefConBounds( mh: MediaHandler; refCon: SIGNEDLONG; var left: SIGNEDLONG; var top: SIGNEDLONG; var right: SIGNEDLONG; var bottom: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetRefConBounds';
  11183. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11184. {
  11185. * FlashMediaGetRefConID()
  11186. *
  11187. * Availability:
  11188. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11189. * CarbonLib: in CarbonLib 1.0.2 and later
  11190. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11191. * Windows: in qtmlClient.lib 4.0 and later
  11192. }
  11193. function FlashMediaGetRefConID( mh: MediaHandler; refCon: SIGNEDLONG; var refConID: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetRefConID';
  11194. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11195. {
  11196. * FlashMediaIDToRefCon()
  11197. *
  11198. * Availability:
  11199. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11200. * CarbonLib: in CarbonLib 1.0.2 and later
  11201. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11202. * Windows: in qtmlClient.lib 4.0 and later
  11203. }
  11204. function FlashMediaIDToRefCon( mh: MediaHandler; refConID: SIGNEDLONG; var refCon: SIGNEDLONG ): ComponentResult; external name '_FlashMediaIDToRefCon';
  11205. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11206. {
  11207. * FlashMediaGetDisplayedFrameNumber()
  11208. *
  11209. * Availability:
  11210. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11211. * CarbonLib: in CarbonLib 1.0.2 and later
  11212. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11213. * Windows: in qtmlClient.lib 4.0 and later
  11214. }
  11215. function FlashMediaGetDisplayedFrameNumber( mh: MediaHandler; var flashFrameNumber: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetDisplayedFrameNumber';
  11216. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11217. {
  11218. * FlashMediaFrameNumberToMovieTime()
  11219. *
  11220. * Availability:
  11221. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11222. * CarbonLib: in CarbonLib 1.0.2 and later
  11223. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11224. * Windows: in qtmlClient.lib 4.0 and later
  11225. }
  11226. function FlashMediaFrameNumberToMovieTime( mh: MediaHandler; flashFrameNumber: SIGNEDLONG; var movieTime: TimeValue ): ComponentResult; external name '_FlashMediaFrameNumberToMovieTime';
  11227. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11228. {
  11229. * FlashMediaFrameLabelToMovieTime()
  11230. *
  11231. * Availability:
  11232. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11233. * CarbonLib: in CarbonLib 1.0.2 and later
  11234. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11235. * Windows: in qtmlClient.lib 4.0 and later
  11236. }
  11237. function FlashMediaFrameLabelToMovieTime( mh: MediaHandler; theLabel: Ptr; var movieTime: TimeValue ): ComponentResult; external name '_FlashMediaFrameLabelToMovieTime';
  11238. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11239. {
  11240. * FlashMediaGetFlashVariable()
  11241. *
  11242. * Availability:
  11243. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11244. * CarbonLib: in CarbonLib 1.3 and later
  11245. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11246. * Windows: in qtmlClient.lib 5.0 and later
  11247. }
  11248. function FlashMediaGetFlashVariable( mh: MediaHandler; path: CStringPtr; name: CStringPtr; var theVariableCStringOut: Handle ): ComponentResult; external name '_FlashMediaGetFlashVariable';
  11249. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11250. {
  11251. * FlashMediaSetFlashVariable()
  11252. *
  11253. * Availability:
  11254. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11255. * CarbonLib: in CarbonLib 1.3 and later
  11256. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11257. * Windows: in qtmlClient.lib 5.0 and later
  11258. }
  11259. function FlashMediaSetFlashVariable( mh: MediaHandler; path: CStringPtr; name: CStringPtr; value: CStringPtr; updateFocus: Boolean ): ComponentResult; external name '_FlashMediaSetFlashVariable';
  11260. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11261. {
  11262. * FlashMediaDoButtonActions()
  11263. *
  11264. * Availability:
  11265. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11266. * CarbonLib: in CarbonLib 1.3 and later
  11267. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11268. * Windows: in qtmlClient.lib 5.0 and later
  11269. }
  11270. function FlashMediaDoButtonActions( mh: MediaHandler; path: CStringPtr; buttonID: SIGNEDLONG; transition: SIGNEDLONG ): ComponentResult; external name '_FlashMediaDoButtonActions';
  11271. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11272. {
  11273. * FlashMediaGetSupportedSwfVersion()
  11274. *
  11275. * Availability:
  11276. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11277. * CarbonLib: in CarbonLib 1.3 and later
  11278. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11279. * Windows: in qtmlClient.lib 5.0 and later
  11280. }
  11281. function FlashMediaGetSupportedSwfVersion( mh: MediaHandler; var swfVersion: UInt8 ): ComponentResult; external name '_FlashMediaGetSupportedSwfVersion';
  11282. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11283. { sample format atoms}
  11284. const
  11285. kMovieMediaDataReference = FourCharCode('mmdr'); { data reference}
  11286. kMovieMediaDefaultDataReferenceID = FourCharCode('ddri'); { atom id}
  11287. kMovieMediaSlaveTime = FourCharCode('slti'); { boolean}
  11288. kMovieMediaSlaveAudio = FourCharCode('slau'); { boolean}
  11289. kMovieMediaSlaveGraphicsMode = FourCharCode('slgr'); { boolean}
  11290. kMovieMediaAutoPlay = FourCharCode('play'); { boolean}
  11291. kMovieMediaLoop = FourCharCode('loop'); { UInt8 (0=no loop, 1=loop, 2=palindrome loop)}
  11292. kMovieMediaUseMIMEType = FourCharCode('mime'); { string indicating the MIME type to use for the dataref (usually not required)}
  11293. kMovieMediaTitle = FourCharCode('titl'); { string of the media's title (tooltips)}
  11294. kMovieMediaAltText = FourCharCode('altt'); { string of alternate text if media isn't loaded}
  11295. kMovieMediaClipBegin = FourCharCode('clpb'); { MovieMediaTimeRecord of start time of embedded media}
  11296. kMovieMediaClipDuration = FourCharCode('clpd'); { MovieMediaTimeRecord of duration of embedded media}
  11297. kMovieMediaRegionAtom = FourCharCode('regi'); { contains subatoms that describe layout}
  11298. kMovieMediaSlaveTrackDuration = FourCharCode('sltr'); { Boolean indicating that media handler should adjust track and media based on actual embedded movie duration}
  11299. kMovieMediaEnableFrameStepping = FourCharCode('enfs'); { boolean. if true stepping on external movie steps frames within embedded movie.}
  11300. kMovieMediaBackgroundColor = FourCharCode('bkcl'); { RGBColor.}
  11301. kMovieMediaPrerollTime = FourCharCode('prer'); { SInt32 indicating preroll time}
  11302. { fit types}
  11303. const
  11304. kMovieMediaFitNone = 0;
  11305. kMovieMediaFitScroll = FourCharCode('scro');
  11306. kMovieMediaFitClipIfNecessary = FourCharCode('hidd');
  11307. kMovieMediaFitFill = FourCharCode('fill');
  11308. kMovieMediaFitMeet = FourCharCode('meet');
  11309. kMovieMediaFitSlice = FourCharCode('slic');
  11310. { sub atoms for region atom}
  11311. const
  11312. kMovieMediaSpatialAdjustment = FourCharCode('fit '); { OSType from kMovieMediaFit*}
  11313. kMovieMediaRectangleAtom = FourCharCode('rect');
  11314. kMovieMediaTop = FourCharCode('top ');
  11315. kMovieMediaLeft = FourCharCode('left');
  11316. kMovieMediaWidth = FourCharCode('wd ');
  11317. kMovieMediaHeight = FourCharCode('ht ');
  11318. { contained movie properties}
  11319. const
  11320. kMoviePropertyDuration = FourCharCode('dura'); { TimeValue *}
  11321. kMoviePropertyTimeScale = FourCharCode('tims'); { TimeValue *}
  11322. kMoviePropertyTime = FourCharCode('timv'); { TimeValue *}
  11323. kMoviePropertyNaturalBounds = FourCharCode('natb'); { Rect *}
  11324. kMoviePropertyMatrix = FourCharCode('mtrx'); { Matrix *}
  11325. kMoviePropertyTrackList = FourCharCode('tlst'); { long ***}
  11326. const
  11327. kTrackPropertyMediaType = FourCharCode('mtyp'); { OSType}
  11328. kTrackPropertyInstantiation = FourCharCode('inst'); { MovieMediaInstantiationInfoRecord}
  11329. type
  11330. MovieMediaTimeRecordPtr = ^MovieMediaTimeRecord;
  11331. MovieMediaTimeRecord = record
  11332. time: wide;
  11333. scale: TimeScale;
  11334. end;
  11335. type
  11336. MovieMediaInstantiationInfoRecordPtr = ^MovieMediaInstantiationInfoRecord;
  11337. MovieMediaInstantiationInfoRecord = record
  11338. immediately: Boolean;
  11339. pad: Boolean;
  11340. bitRate: SInt32;
  11341. end;
  11342. {************************
  11343. * Movie Media routines
  11344. *************************}
  11345. {
  11346. * MovieMediaGetChildDoMCActionCallback()
  11347. *
  11348. * Availability:
  11349. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11350. * CarbonLib: in CarbonLib 1.1 and later
  11351. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11352. * Windows: in qtmlClient.lib 4.1 and later
  11353. }
  11354. function MovieMediaGetChildDoMCActionCallback( mh: MediaHandler; var doMCActionCallbackProc: DoMCActionUPP; var refcon: SIGNEDLONG ): ComponentResult; external name '_MovieMediaGetChildDoMCActionCallback';
  11355. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11356. {
  11357. * MovieMediaGetDoMCActionCallback()
  11358. *
  11359. * Availability:
  11360. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11361. * CarbonLib: in CarbonLib 1.1 and later
  11362. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11363. * Windows: in qtmlClient.lib 4.1 and later
  11364. }
  11365. function MovieMediaGetDoMCActionCallback( mh: MediaHandler; var doMCActionCallbackProc: DoMCActionUPP; var refcon: SIGNEDLONG ): ComponentResult; external name '_MovieMediaGetDoMCActionCallback';
  11366. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11367. {
  11368. * MovieMediaGetCurrentMovieProperty()
  11369. *
  11370. * Availability:
  11371. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11372. * CarbonLib: in CarbonLib 1.1 and later
  11373. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11374. * Windows: in qtmlClient.lib 4.1 and later
  11375. }
  11376. function MovieMediaGetCurrentMovieProperty( mh: MediaHandler; whichProperty: OSType; value: UnivPtr ): ComponentResult; external name '_MovieMediaGetCurrentMovieProperty';
  11377. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11378. {
  11379. * MovieMediaGetCurrentTrackProperty()
  11380. *
  11381. * Availability:
  11382. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11383. * CarbonLib: in CarbonLib 1.1 and later
  11384. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11385. * Windows: in qtmlClient.lib 4.1 and later
  11386. }
  11387. function MovieMediaGetCurrentTrackProperty( mh: MediaHandler; trackID: SIGNEDLONG; whichProperty: OSType; value: UnivPtr ): ComponentResult; external name '_MovieMediaGetCurrentTrackProperty';
  11388. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11389. {
  11390. * MovieMediaGetChildMovieDataReference()
  11391. *
  11392. * Availability:
  11393. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11394. * CarbonLib: in CarbonLib 1.1 and later
  11395. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11396. * Windows: in qtmlClient.lib 4.1 and later
  11397. }
  11398. function MovieMediaGetChildMovieDataReference( mh: MediaHandler; dataRefID: QTAtomID; dataRefIndex: SInt16; var dataRefType: OSType; var dataRef: Handle; var dataRefIDOut: QTAtomID; var dataRefIndexOut: SInt16 ): ComponentResult; external name '_MovieMediaGetChildMovieDataReference';
  11399. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11400. {
  11401. * MovieMediaSetChildMovieDataReference()
  11402. *
  11403. * Availability:
  11404. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11405. * CarbonLib: in CarbonLib 1.1 and later
  11406. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11407. * Windows: in qtmlClient.lib 4.1 and later
  11408. }
  11409. function MovieMediaSetChildMovieDataReference( mh: MediaHandler; dataRefID: QTAtomID; dataRefType: OSType; dataRef: Handle ): ComponentResult; external name '_MovieMediaSetChildMovieDataReference';
  11410. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11411. {
  11412. * MovieMediaLoadChildMovieFromDataReference()
  11413. *
  11414. * Availability:
  11415. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11416. * CarbonLib: in CarbonLib 1.1 and later
  11417. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11418. * Windows: in qtmlClient.lib 4.1 and later
  11419. }
  11420. function MovieMediaLoadChildMovieFromDataReference( mh: MediaHandler; dataRefID: QTAtomID ): ComponentResult; external name '_MovieMediaLoadChildMovieFromDataReference';
  11421. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11422. {************************
  11423. * 3D Media routines
  11424. *************************}
  11425. {
  11426. * Media3DGetNamedObjectList()
  11427. *
  11428. * Availability:
  11429. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11430. * CarbonLib: in CarbonLib 1.0 and later
  11431. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11432. * Windows: in qtmlClient.lib 3.0 and later
  11433. }
  11434. function Media3DGetNamedObjectList( mh: MediaHandler; var objectList: QTAtomContainer ): ComponentResult; external name '_Media3DGetNamedObjectList';
  11435. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11436. {
  11437. * Media3DGetRendererList()
  11438. *
  11439. * Availability:
  11440. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11441. * CarbonLib: in CarbonLib 1.0 and later
  11442. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11443. * Windows: in qtmlClient.lib 3.0 and later
  11444. }
  11445. function Media3DGetRendererList( mh: MediaHandler; var rendererList: QTAtomContainer ): ComponentResult; external name '_Media3DGetRendererList';
  11446. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11447. {
  11448. * Media3DGetCurrentGroup()
  11449. *
  11450. * Availability:
  11451. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11452. * CarbonLib: in CarbonLib 1.0.2 and later
  11453. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11454. * Windows: in qtmlClient.lib 4.0 and later
  11455. }
  11456. function Media3DGetCurrentGroup( mh: MediaHandler; group: UnivPtr ): ComponentResult; external name '_Media3DGetCurrentGroup';
  11457. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11458. {
  11459. * Media3DTranslateNamedObjectTo()
  11460. *
  11461. * Availability:
  11462. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11463. * CarbonLib: in CarbonLib 1.0.2 and later
  11464. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11465. * Windows: in qtmlClient.lib 4.0 and later
  11466. }
  11467. function Media3DTranslateNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; x: Fixed; y: Fixed; z: Fixed ): ComponentResult; external name '_Media3DTranslateNamedObjectTo';
  11468. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11469. {
  11470. * Media3DScaleNamedObjectTo()
  11471. *
  11472. * Availability:
  11473. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11474. * CarbonLib: in CarbonLib 1.0.2 and later
  11475. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11476. * Windows: in qtmlClient.lib 4.0 and later
  11477. }
  11478. function Media3DScaleNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; xScale: Fixed; yScale: Fixed; zScale: Fixed ): ComponentResult; external name '_Media3DScaleNamedObjectTo';
  11479. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11480. {
  11481. * Media3DRotateNamedObjectTo()
  11482. *
  11483. * Availability:
  11484. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11485. * CarbonLib: in CarbonLib 1.0.2 and later
  11486. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11487. * Windows: in qtmlClient.lib 4.0 and later
  11488. }
  11489. function Media3DRotateNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; xDegrees: Fixed; yDegrees: Fixed; zDegrees: Fixed ): ComponentResult; external name '_Media3DRotateNamedObjectTo';
  11490. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11491. {
  11492. * Media3DSetCameraData()
  11493. *
  11494. * Availability:
  11495. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11496. * CarbonLib: in CarbonLib 1.0.2 and later
  11497. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11498. * Windows: in qtmlClient.lib 4.0 and later
  11499. }
  11500. function Media3DSetCameraData( mh: MediaHandler; cameraData: UnivPtr ): ComponentResult; external name '_Media3DSetCameraData';
  11501. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11502. {
  11503. * Media3DGetCameraData()
  11504. *
  11505. * Availability:
  11506. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11507. * CarbonLib: in CarbonLib 1.0.2 and later
  11508. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11509. * Windows: in qtmlClient.lib 4.0 and later
  11510. }
  11511. function Media3DGetCameraData( mh: MediaHandler; cameraData: UnivPtr ): ComponentResult; external name '_Media3DGetCameraData';
  11512. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11513. {
  11514. * Media3DSetCameraAngleAspect()
  11515. *
  11516. * Availability:
  11517. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11518. * CarbonLib: in CarbonLib 1.0.2 and later
  11519. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11520. * Windows: in qtmlClient.lib 4.0 and later
  11521. }
  11522. function Media3DSetCameraAngleAspect( mh: MediaHandler; fov: QTFloatSingle; aspectRatioXToY: QTFloatSingle ): ComponentResult; external name '_Media3DSetCameraAngleAspect';
  11523. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11524. {
  11525. * Media3DGetCameraAngleAspect()
  11526. *
  11527. * Availability:
  11528. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11529. * CarbonLib: in CarbonLib 1.0.2 and later
  11530. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11531. * Windows: in qtmlClient.lib 4.0 and later
  11532. }
  11533. function Media3DGetCameraAngleAspect( mh: MediaHandler; var fov: QTFloatSingle; var aspectRatioXToY: QTFloatSingle ): ComponentResult; external name '_Media3DGetCameraAngleAspect';
  11534. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11535. {
  11536. * Media3DSetCameraRange()
  11537. *
  11538. * Availability:
  11539. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11540. * CarbonLib: in CarbonLib 1.0.2 and later
  11541. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11542. * Windows: in qtmlClient.lib 4.0 and later
  11543. }
  11544. function Media3DSetCameraRange( mh: MediaHandler; tQ3CameraRange: UnivPtr ): ComponentResult; external name '_Media3DSetCameraRange';
  11545. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11546. {
  11547. * Media3DGetCameraRange()
  11548. *
  11549. * Availability:
  11550. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11551. * CarbonLib: in CarbonLib 1.0.2 and later
  11552. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11553. * Windows: in qtmlClient.lib 4.0 and later
  11554. }
  11555. function Media3DGetCameraRange( mh: MediaHandler; tQ3CameraRange: UnivPtr ): ComponentResult; external name '_Media3DGetCameraRange';
  11556. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11557. {
  11558. * Media3DGetViewObject()
  11559. *
  11560. * Availability:
  11561. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11562. * CarbonLib: in CarbonLib 1.1 and later
  11563. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11564. * Windows: in qtmlClient.lib 4.1 and later
  11565. }
  11566. function Media3DGetViewObject( mh: MediaHandler; tq3viewObject: UnivPtr ): ComponentResult; external name '_Media3DGetViewObject';
  11567. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11568. {***************************************
  11569. * *
  11570. * M O V I E C O N T R O L L E R *
  11571. * *
  11572. ***************************************}
  11573. const
  11574. MovieControllerComponentType = FourCharCode('play');
  11575. const
  11576. kMovieControllerQTVRFlag = 1 shl 0;
  11577. kMovieControllerDontDisplayToUser = 1 shl 1;
  11578. type
  11579. MovieController = ComponentInstance;
  11580. MovieControllerPtr = ^MovieController;
  11581. const
  11582. mcActionIdle = 1; { no param}
  11583. mcActionDraw = 2; { param is WindowRef}
  11584. mcActionActivate = 3; { no param}
  11585. mcActionDeactivate = 4; { no param}
  11586. mcActionMouseDown = 5; { param is pointer to EventRecord}
  11587. mcActionKey = 6; { param is pointer to EventRecord}
  11588. mcActionPlay = 8; { param is Fixed, play rate}
  11589. mcActionGoToTime = 12; { param is TimeRecord}
  11590. mcActionSetVolume = 14; { param is a short}
  11591. mcActionGetVolume = 15; { param is pointer to a short}
  11592. mcActionStep = 18; { param is number of steps (short)}
  11593. mcActionSetLooping = 21; { param is Boolean}
  11594. mcActionGetLooping = 22; { param is pointer to a Boolean}
  11595. mcActionSetLoopIsPalindrome = 23; { param is Boolean}
  11596. mcActionGetLoopIsPalindrome = 24; { param is pointer to a Boolean}
  11597. mcActionSetGrowBoxBounds = 25; { param is a Rect}
  11598. mcActionControllerSizeChanged = 26; { no param}
  11599. mcActionSetSelectionBegin = 29; { param is TimeRecord}
  11600. mcActionSetSelectionDuration = 30; { param is TimeRecord, action only taken on set-duration}
  11601. mcActionSetKeysEnabled = 32; { param is Boolean}
  11602. mcActionGetKeysEnabled = 33; { param is pointer to Boolean}
  11603. mcActionSetPlaySelection = 34; { param is Boolean}
  11604. mcActionGetPlaySelection = 35; { param is pointer to Boolean}
  11605. mcActionSetUseBadge = 36; { param is Boolean}
  11606. mcActionGetUseBadge = 37; { param is pointer to Boolean}
  11607. mcActionSetFlags = 38; { param is long of flags}
  11608. mcActionGetFlags = 39; { param is pointer to a long of flags}
  11609. mcActionSetPlayEveryFrame = 40; { param is Boolean}
  11610. mcActionGetPlayEveryFrame = 41; { param is pointer to Boolean}
  11611. mcActionGetPlayRate = 42; { param is pointer to Fixed}
  11612. mcActionShowBalloon = 43; { param is a pointer to a boolean. set to false to stop balloon}
  11613. mcActionBadgeClick = 44; { param is pointer to Boolean. set to false to ignore click}
  11614. mcActionMovieClick = 45; { param is pointer to event record. change "what" to nullEvt to kill click}
  11615. mcActionSuspend = 46; { no param}
  11616. mcActionResume = 47; { no param}
  11617. mcActionSetControllerKeysEnabled = 48; { param is Boolean}
  11618. mcActionGetTimeSliderRect = 49; { param is pointer to rect}
  11619. mcActionMovieEdited = 50; { no param}
  11620. mcActionGetDragEnabled = 51; { param is pointer to Boolean}
  11621. mcActionSetDragEnabled = 52; { param is Boolean}
  11622. mcActionGetSelectionBegin = 53; { param is TimeRecord}
  11623. mcActionGetSelectionDuration = 54; { param is TimeRecord}
  11624. mcActionPrerollAndPlay = 55; { param is Fixed, play rate}
  11625. mcActionGetCursorSettingEnabled = 56; { param is pointer to Boolean}
  11626. mcActionSetCursorSettingEnabled = 57; { param is Boolean}
  11627. mcActionSetColorTable = 58; { param is CTabHandle}
  11628. mcActionLinkToURL = 59; { param is Handle to URL}
  11629. mcActionCustomButtonClick = 60; { param is pointer to EventRecord}
  11630. mcActionForceTimeTableUpdate = 61; { no param}
  11631. mcActionSetControllerTimeLimits = 62; { param is pointer to 2 time values min/max. do no send this message to controller. used internally only.}
  11632. mcActionExecuteAllActionsForQTEvent = 63; { param is ResolvedQTEventSpecPtr}
  11633. mcActionExecuteOneActionForQTEvent = 64; { param is ResolvedQTEventSpecPtr}
  11634. mcActionAdjustCursor = 65; { param is pointer to EventRecord (WindowRef is in message parameter)}
  11635. mcActionUseTrackForTimeTable = 66; { param is pointer to (long trackID; Boolean useIt). do not send this message to controller. }
  11636. mcActionClickAndHoldPoint = 67; { param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)}
  11637. mcActionShowMessageString = 68; { param is a StringPtr}
  11638. mcActionShowStatusString = 69; { param is a QTStatusStringPtr}
  11639. mcActionGetExternalMovie = 70; { param is a QTGetExternalMoviePtr}
  11640. mcActionGetChapterTime = 71; { param is a QTGetChapterTimePtr}
  11641. mcActionPerformActionList = 72; { param is a QTAtomSpecPtr}
  11642. mcActionEvaluateExpression = 73; { param is a QTEvaluateExpressionPtr}
  11643. mcActionFetchParameterAs = 74; { param is a QTFetchParameterAsPtr}
  11644. mcActionGetCursorByID = 75; { param is a QTGetCursorByIDPtr}
  11645. mcActionGetNextURL = 76; { param is a Handle to URL}
  11646. mcActionMovieChanged = 77;
  11647. mcActionDoScript = 78; { param is QTDoScriptPtr}
  11648. mcActionRestartAtTime = 79; { param is QTResartAtTimePtr}
  11649. mcActionGetIndChapter = 80; { param is QTChapterInfoPtr}
  11650. mcActionLinkToURLExtended = 81; { param is QTAtomContainer as used by QTParseHREF}
  11651. mcActionSetVolumeStep = 82; { param is short containing amount to step volume via arrow keys - default = 64}
  11652. mcActionAutoPlay = 83; { param is Fixed, play rate}
  11653. mcActionPauseToBuffer = 84; { param is Fixed, play rate on restart}
  11654. mcActionAppMessageReceived = 85; { param is a long, application message}
  11655. mcActionMovieFinished = 86; { no param}
  11656. mcActionEvaluateExpressionWithType = 89; { param is a QTEvaluateExpressionWithTypePtr}
  11657. mcActionGetMovieName = 90; { param is a p String Handle}
  11658. mcActionGetMovieID = 91; { param is pointer to long}
  11659. mcActionGetMovieActive = 92; { param is pointer to Boolean}
  11660. mcActionGetKeyboardFocus = 93; { param is QTKeyboardFocusPtr}
  11661. mcActionSetKeyboardFocus = 94; { param is QTKeyboardFocusPtr}
  11662. mcActionAddActionNotification = 95; { param is QTMCActionNotificationPtr}
  11663. mcActionRemoveActionNotification = 96; { param is QTMCActionNotificationPtr}
  11664. mcActionKeyUp = 97; { param is pointer to EventRecord }
  11665. mcActionGetConnectionStatus = 98; { param is QTConnectionStatusPtr}
  11666. mcActionChapterListChanged = 99; { no param }
  11667. mcActionMovieLoadStateChanged = 100; { param is SInt32, new load state}
  11668. mcActionEditStateChanged = 101; { param is a Boolean, editing enabled?}
  11669. mcActionCurrentChapterChanged = 102; { param is a UInt32, new chapter index }
  11670. type
  11671. mcAction = SInt16;
  11672. const
  11673. mcFlagSuppressMovieFrame = 1 shl 0;
  11674. mcFlagSuppressStepButtons = 1 shl 1;
  11675. mcFlagSuppressSpeakerButton = 1 shl 2;
  11676. mcFlagsUseWindowPalette = 1 shl 3;
  11677. mcFlagsDontInvalidate = 1 shl 4;
  11678. mcFlagsUseCustomButton = 1 shl 5;
  11679. const
  11680. mcPositionDontInvalidate = 1 shl 5;
  11681. type
  11682. mcFlags = UNSIGNEDLONG;
  11683. const
  11684. kMCIEEnabledButtonPicture = 1;
  11685. kMCIEDisabledButtonPicture = 2;
  11686. kMCIEDepressedButtonPicture = 3;
  11687. kMCIEEnabledSizeBoxPicture = 4;
  11688. kMCIEDisabledSizeBoxPicture = 5;
  11689. kMCIEEnabledUnavailableButtonPicture = 6;
  11690. kMCIEDisabledUnavailableButtonPicture = 7;
  11691. kMCIESoundSlider = 128;
  11692. kMCIESoundThumb = 129;
  11693. kMCIEColorTable = 256;
  11694. kMCIEIsFlatAppearance = 257;
  11695. kMCIEDoButtonIconsDropOnDepress = 258;
  11696. type
  11697. MCInterfaceElement = UNSIGNEDLONG;
  11698. MCActionFilterProcPtr = function( mc: MovieController; var action: SInt16; params: UnivPtr ): Boolean;
  11699. MCActionFilterWithRefConProcPtr = function( mc: MovieController; action: SInt16; params: UnivPtr; refCon: SIGNEDLONG ): Boolean;
  11700. MCActionNotificationProcPtr = function( mc: MovieController; action: SInt16; params: UnivPtr; inFlags: UInt32; var outFlags: UInt32; refCon: UnivPtr ): Boolean;
  11701. MCActionFilterUPP = MCActionFilterProcPtr;
  11702. MCActionFilterWithRefConUPP = MCActionFilterWithRefConProcPtr;
  11703. MCActionNotificationUPP = MCActionNotificationProcPtr;
  11704. {
  11705. menu related stuff
  11706. }
  11707. const
  11708. mcInfoUndoAvailable = 1 shl 0;
  11709. mcInfoCutAvailable = 1 shl 1;
  11710. mcInfoCopyAvailable = 1 shl 2;
  11711. mcInfoPasteAvailable = 1 shl 3;
  11712. mcInfoClearAvailable = 1 shl 4;
  11713. mcInfoHasSound = 1 shl 5;
  11714. mcInfoIsPlaying = 1 shl 6;
  11715. mcInfoIsLooping = 1 shl 7;
  11716. mcInfoIsInPalindrome = 1 shl 8;
  11717. mcInfoEditingEnabled = 1 shl 9;
  11718. mcInfoMovieIsInteractive = 1 shl 10;
  11719. { menu item codes}
  11720. const
  11721. mcMenuUndo = 1;
  11722. mcMenuCut = 3;
  11723. mcMenuCopy = 4;
  11724. mcMenuPaste = 5;
  11725. mcMenuClear = 6;
  11726. { messages to the application via mcActionAppMessageReceived}
  11727. const
  11728. kQTAppMessageSoftwareChanged = 1; { notification to app that installed QuickTime software has been updated}
  11729. kQTAppMessageWindowCloseRequested = 3; { request for app to close window containing movie controller}
  11730. kQTAppMessageExitFullScreenRequested = 4; { request for app to turn off full screen mode if active}
  11731. kQTAppMessageDisplayChannels = 5; { request for app to display the channel UI}
  11732. kQTAppMessageEnterFullScreenRequested = 6; { request for app to turn on full screen mode}
  11733. { structures used as mcActionFilterProc params}
  11734. type
  11735. QTStatusStringRecordPtr = ^QTStatusStringRecord;
  11736. QTStatusStringRecord = record
  11737. stringTypeFlags: SIGNEDLONG;
  11738. statusString: CStringPtr;
  11739. end;
  11740. type
  11741. QTStatusStringPtr = QTStatusStringRecordPtr;
  11742. QTGetExternalMovieRecordPtr = ^QTGetExternalMovieRecord;
  11743. QTGetExternalMovieRecord = record
  11744. targetType: SIGNEDLONG; { set to kTargetMovieName or kTargetMovieID}
  11745. movieName: StringPtr;
  11746. movieID: SIGNEDLONG;
  11747. theMovie: PtrToMovie;
  11748. theController: MovieControllerPtr;
  11749. end;
  11750. type
  11751. QTGetChapterTimeRecordPtr = ^QTGetChapterTimeRecord;
  11752. QTGetExternalMoviePtr = QTGetExternalMovieRecordPtr;
  11753. QTGetChapterTimeRecord = record
  11754. chapterName: StringPtr;
  11755. chapterTime: TimeRecord;
  11756. end;
  11757. type
  11758. QTGetChapterTimePtr = QTGetChapterTimeRecordPtr;
  11759. QTChapterInfoRecordPtr = ^QTChapterInfoRecord;
  11760. QTChapterInfoRecord = record
  11761. index: SIGNEDLONG; { first chapter has index of 1}
  11762. time: TimeValue; { -1 if no more chapters available}
  11763. name: Str255;
  11764. end;
  11765. type
  11766. QTChapterInfoPtr = QTChapterInfoRecordPtr;
  11767. QTEvaluateExpressionRecordPtr = ^QTEvaluateExpressionRecord;
  11768. QTEvaluateExpressionRecord = record
  11769. expressionSpec: QTAtomSpec;
  11770. expressionResult: Float32Ptr;
  11771. end;
  11772. type
  11773. QTEvaluateExpressionPtr = QTEvaluateExpressionRecordPtr;
  11774. QTEvaluateExpressionWithTypeRecordPtr = ^QTEvaluateExpressionWithTypeRecord;
  11775. QTEvaluateExpressionWithTypeRecord = record
  11776. recordSize: SIGNEDLONG; { Size of structure (fill in at allocation) }
  11777. expressionSpec: QTAtomSpec;
  11778. expressionResult: Float32Ptr;
  11779. fetchAsType: SIGNEDLONG;
  11780. nonNumericResult: Handle;
  11781. { Current size is 24 }
  11782. end;
  11783. type
  11784. QTEvaluateExpressionWithTypePtr = QTEvaluateExpressionWithTypeRecordPtr;
  11785. QTFetchParameterAsRecordPtr = ^QTFetchParameterAsRecord;
  11786. QTFetchParameterAsRecord = record
  11787. paramListSpec: QTAtomSpec;
  11788. paramIndex: SIGNEDLONG;
  11789. paramType: SIGNEDLONG;
  11790. allowedFlags: SIGNEDLONG;
  11791. min: UnivPtr;
  11792. max: UnivPtr;
  11793. currentValue: UnivPtr;
  11794. newValue: UnivPtr;
  11795. isUnsignedValue: Boolean;
  11796. end;
  11797. type
  11798. QTFetchParameterAsPtr = QTFetchParameterAsRecordPtr;
  11799. QTGetCursorByIDRecordPtr = ^QTGetCursorByIDRecord;
  11800. QTGetCursorByIDRecord = record
  11801. cursorID: SInt16;
  11802. colorCursorData: Handle;
  11803. reserved1: SIGNEDLONG;
  11804. end;
  11805. type
  11806. QTGetCursorByIDPtr = QTGetCursorByIDRecordPtr;
  11807. QTDoScriptRecordPtr = ^QTDoScriptRecord;
  11808. QTDoScriptRecord = record
  11809. scriptTypeFlags: SIGNEDLONG;
  11810. command: CStringPtr;
  11811. arguments: CStringPtr;
  11812. end;
  11813. type
  11814. QTDoScriptPtr = QTDoScriptRecordPtr;
  11815. QTRestartAtTimeRecordPtr = ^QTRestartAtTimeRecord;
  11816. QTRestartAtTimeRecord = record
  11817. startTime: TimeValue; { time scale is the movie timescale}
  11818. rate: Fixed; { if rate is zero, the movie's current rate is maintained}
  11819. end;
  11820. type
  11821. QTRestartAtTimePtr = QTRestartAtTimeRecordPtr;
  11822. { values for paramType field of QTFetchParameterAsRecord}
  11823. const
  11824. kFetchAsBooleanPtr = 1;
  11825. kFetchAsShortPtr = 2;
  11826. kFetchAsLongPtr = 3;
  11827. kFetchAsMatrixRecordPtr = 4;
  11828. kFetchAsModifierTrackGraphicsModeRecord = 5;
  11829. kFetchAsHandle = 6;
  11830. kFetchAsStr255 = 7;
  11831. kFetchAsFloatPtr = 8;
  11832. kFetchAsPointPtr = 9;
  11833. kFetchAsNewAtomContainer = 10;
  11834. kFetchAsQTEventRecordPtr = 11;
  11835. kFetchAsFixedPtr = 12;
  11836. kFetchAsSetControllerValuePtr = 13;
  11837. kFetchAsRgnHandle = 14; { flipped to native}
  11838. kFetchAsComponentDescriptionPtr = 15;
  11839. kFetchAsCString = 16;
  11840. const
  11841. kQTCursorOpenHand = -19183;
  11842. kQTCursorClosedHand = -19182;
  11843. kQTCursorPointingHand = -19181;
  11844. kQTCursorRightArrow = -19180;
  11845. kQTCursorLeftArrow = -19179;
  11846. kQTCursorDownArrow = -19178;
  11847. kQTCursorUpArrow = -19177;
  11848. kQTCursorIBeam = -19176;
  11849. { keyboard focus items}
  11850. const
  11851. kKeyboardAllowFocus = 1;
  11852. kKeyboardHaveFocus = 2;
  11853. kKeyboardValidate = 4;
  11854. const
  11855. kRefConNavigateClick = FourCharCode('clik');
  11856. type
  11857. QTKeyboardFocusRecordPtr = ^QTKeyboardFocusRecord;
  11858. QTKeyboardFocusRecord = record
  11859. recordSize: SIGNEDLONG; { -> size of structure}
  11860. navigation: SIGNEDLONG; { -> same as in MediaNavigateTargetRefCon}
  11861. focusRefCon: SIGNEDLONG; { <-> refcon}
  11862. focusFlags: SInt16; { <-> flags from kKeyboard... enum }
  11863. end;
  11864. type
  11865. QTKeyboardFocusPtr = QTKeyboardFocusRecordPtr;
  11866. const
  11867. kQTMCActionNotifyBefore = 1 shl 0;
  11868. kQTMCActionNotifyAfter = 1 shl 1;
  11869. kQTMCActionNotifyParamChanged = 1 shl 8;
  11870. kQTMCActionNotifyCancelled = 1 shl 9;
  11871. kQTMCActionNotifyUserFilterCancelled = 1 shl 10;
  11872. kQTMCActionNotifySignature = FourCharCode('noti');
  11873. type
  11874. QTMCActionNotificationRecordPtr = ^QTMCActionNotificationRecord;
  11875. QTMCActionNotificationRecord = record
  11876. returnSignature: OSType; { Set to zero when passed to movieController, set to 'noti' if mcActionAddActionNotification is implemented}
  11877. notifyAction: MCActionNotificationUPP; { Function to be called at action time}
  11878. refcon: UnivPtr; { Something to pass to the action function}
  11879. flags: UInt32; { Option flags}
  11880. end;
  11881. type
  11882. QTMCActionNotificationPtr = QTMCActionNotificationRecordPtr;
  11883. QTConnectionStatusRecordPtr = ^QTConnectionStatusRecord;
  11884. QTConnectionStatusRecord = record
  11885. flags: SInt16;
  11886. error: SInt16;
  11887. message: Handle;
  11888. end;
  11889. type
  11890. QTConnectionStatusPtr = QTConnectionStatusRecordPtr;
  11891. { target management }
  11892. {
  11893. * MCSetMovie()
  11894. *
  11895. * Availability:
  11896. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11897. * CarbonLib: in CarbonLib 1.0 and later
  11898. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11899. * Windows: in qtmlClient.lib 3.0 and later
  11900. }
  11901. function MCSetMovie( mc: MovieController; theMovie: Movie; movieWindow: WindowRef; where: Point ): ComponentResult; external name '_MCSetMovie';
  11902. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11903. {
  11904. * MCGetIndMovie()
  11905. *
  11906. * Availability:
  11907. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11908. * CarbonLib: in CarbonLib 1.0 and later
  11909. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11910. * Windows: in qtmlClient.lib 3.0 and later
  11911. }
  11912. function MCGetIndMovie( mc: MovieController; index: SInt16 ): Movie; external name '_MCGetIndMovie';
  11913. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11914. {
  11915. * MCRemoveAllMovies()
  11916. *
  11917. * Availability:
  11918. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11919. * CarbonLib: in CarbonLib 1.0 and later
  11920. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11921. * Windows: in qtmlClient.lib 3.0 and later
  11922. }
  11923. function MCRemoveAllMovies( mc: MovieController ): ComponentResult; external name '_MCRemoveAllMovies';
  11924. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11925. {
  11926. * MCRemoveAMovie()
  11927. *
  11928. * Availability:
  11929. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11930. * CarbonLib: in CarbonLib 1.0 and later
  11931. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11932. * Windows: in qtmlClient.lib 3.0 and later
  11933. }
  11934. function MCRemoveAMovie( mc: MovieController; m: Movie ): ComponentResult; external name '_MCRemoveAMovie';
  11935. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11936. {
  11937. * MCRemoveMovie()
  11938. *
  11939. * Availability:
  11940. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11941. * CarbonLib: in CarbonLib 1.0 and later
  11942. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11943. * Windows: in qtmlClient.lib 3.0 and later
  11944. }
  11945. function MCRemoveMovie( mc: MovieController ): ComponentResult; external name '_MCRemoveMovie';
  11946. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11947. { event handling etc. }
  11948. {
  11949. * MCIsPlayerEvent()
  11950. *
  11951. * Availability:
  11952. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11953. * CarbonLib: in CarbonLib 1.0 and later
  11954. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11955. * Windows: in qtmlClient.lib 3.0 and later
  11956. }
  11957. function MCIsPlayerEvent( mc: MovieController; const (*var*) e: EventRecord ): ComponentResult; external name '_MCIsPlayerEvent';
  11958. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11959. { obsolete. use MCSetActionFilterWithRefCon instead. }
  11960. {
  11961. * MCSetActionFilter()
  11962. *
  11963. * Availability:
  11964. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11965. * CarbonLib: in CarbonLib 1.0 and later
  11966. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11967. * Windows: in qtmlClient.lib 3.0 and later
  11968. }
  11969. function MCSetActionFilter( mc: MovieController; blob: MCActionFilterUPP ): ComponentResult; external name '_MCSetActionFilter';
  11970. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11971. {
  11972. proc is of the form:
  11973. Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
  11974. proc returns TRUE if it handles the action, FALSE if not
  11975. action is passed as a VAR so that it could be changed by filter
  11976. this is consistent with the current dialog manager stuff
  11977. params is any potential parameters that go with the action
  11978. such as set playback rate to xxx.
  11979. }
  11980. {
  11981. * MCDoAction()
  11982. *
  11983. * Availability:
  11984. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11985. * CarbonLib: in CarbonLib 1.0 and later
  11986. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11987. * Windows: in qtmlClient.lib 3.0 and later
  11988. }
  11989. function MCDoAction( mc: MovieController; action: SInt16; params: UnivPtr ): ComponentResult; external name '_MCDoAction';
  11990. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11991. { state type things }
  11992. {
  11993. * MCSetControllerAttached()
  11994. *
  11995. * Availability:
  11996. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11997. * CarbonLib: in CarbonLib 1.0 and later
  11998. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11999. * Windows: in qtmlClient.lib 3.0 and later
  12000. }
  12001. function MCSetControllerAttached( mc: MovieController; attach: Boolean ): ComponentResult; external name '_MCSetControllerAttached';
  12002. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12003. {
  12004. * MCIsControllerAttached()
  12005. *
  12006. * Availability:
  12007. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12008. * CarbonLib: in CarbonLib 1.0 and later
  12009. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12010. * Windows: in qtmlClient.lib 3.0 and later
  12011. }
  12012. function MCIsControllerAttached( mc: MovieController ): ComponentResult; external name '_MCIsControllerAttached';
  12013. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12014. {
  12015. * MCSetControllerPort()
  12016. *
  12017. * Availability:
  12018. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12019. * CarbonLib: in CarbonLib 1.0 and later
  12020. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12021. * Windows: in qtmlClient.lib 3.0 and later
  12022. }
  12023. function MCSetControllerPort( mc: MovieController; gp: CGrafPtr ): ComponentResult; external name '_MCSetControllerPort';
  12024. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12025. {
  12026. * MCGetControllerPort()
  12027. *
  12028. * Availability:
  12029. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12030. * CarbonLib: in CarbonLib 1.0 and later
  12031. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12032. * Windows: in qtmlClient.lib 3.0 and later
  12033. }
  12034. function MCGetControllerPort( mc: MovieController ): CGrafPtr; external name '_MCGetControllerPort';
  12035. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12036. {
  12037. * MCSetVisible()
  12038. *
  12039. * Availability:
  12040. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12041. * CarbonLib: in CarbonLib 1.0 and later
  12042. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12043. * Windows: in qtmlClient.lib 3.0 and later
  12044. }
  12045. function MCSetVisible( mc: MovieController; visible: Boolean ): ComponentResult; external name '_MCSetVisible';
  12046. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12047. {
  12048. * MCGetVisible()
  12049. *
  12050. * Availability:
  12051. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12052. * CarbonLib: in CarbonLib 1.0 and later
  12053. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12054. * Windows: in qtmlClient.lib 3.0 and later
  12055. }
  12056. function MCGetVisible( mc: MovieController ): ComponentResult; external name '_MCGetVisible';
  12057. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12058. {
  12059. * MCGetControllerBoundsRect()
  12060. *
  12061. * Availability:
  12062. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12063. * CarbonLib: in CarbonLib 1.0 and later
  12064. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12065. * Windows: in qtmlClient.lib 3.0 and later
  12066. }
  12067. function MCGetControllerBoundsRect( mc: MovieController; var bounds: Rect ): ComponentResult; external name '_MCGetControllerBoundsRect';
  12068. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12069. {
  12070. * MCSetControllerBoundsRect()
  12071. *
  12072. * Availability:
  12073. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12074. * CarbonLib: in CarbonLib 1.0 and later
  12075. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12076. * Windows: in qtmlClient.lib 3.0 and later
  12077. }
  12078. function MCSetControllerBoundsRect( mc: MovieController; const (*var*) bounds: Rect ): ComponentResult; external name '_MCSetControllerBoundsRect';
  12079. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12080. {
  12081. * MCGetControllerBoundsRgn()
  12082. *
  12083. * Availability:
  12084. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12085. * CarbonLib: in CarbonLib 1.0 and later
  12086. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12087. * Windows: in qtmlClient.lib 3.0 and later
  12088. }
  12089. function MCGetControllerBoundsRgn( mc: MovieController ): RgnHandle; external name '_MCGetControllerBoundsRgn';
  12090. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12091. {
  12092. * MCGetWindowRgn()
  12093. *
  12094. * Availability:
  12095. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12096. * CarbonLib: in CarbonLib 1.0 and later
  12097. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12098. * Windows: in qtmlClient.lib 3.0 and later
  12099. }
  12100. function MCGetWindowRgn( mc: MovieController; w: WindowRef ): RgnHandle; external name '_MCGetWindowRgn';
  12101. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12102. { other stuff }
  12103. {
  12104. * MCMovieChanged()
  12105. *
  12106. * Availability:
  12107. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12108. * CarbonLib: in CarbonLib 1.0 and later
  12109. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12110. * Windows: in qtmlClient.lib 3.0 and later
  12111. }
  12112. function MCMovieChanged( mc: MovieController; m: Movie ): ComponentResult; external name '_MCMovieChanged';
  12113. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12114. {
  12115. called when the app has changed thing about the movie (like bounding rect) or rate. So that we
  12116. can update our graphical (and internal) state accordingly.
  12117. }
  12118. {
  12119. * MCSetDuration()
  12120. *
  12121. * Availability:
  12122. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12123. * CarbonLib: in CarbonLib 1.0 and later
  12124. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12125. * Windows: in qtmlClient.lib 3.0 and later
  12126. }
  12127. function MCSetDuration( mc: MovieController; duration: TimeValue ): ComponentResult; external name '_MCSetDuration';
  12128. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12129. {
  12130. duration to use for time slider -- will be reset next time MCMovieChanged is called
  12131. or MCSetMovie is called
  12132. }
  12133. {
  12134. * MCGetCurrentTime()
  12135. *
  12136. * Availability:
  12137. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12138. * CarbonLib: in CarbonLib 1.0 and later
  12139. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12140. * Windows: in qtmlClient.lib 3.0 and later
  12141. }
  12142. function MCGetCurrentTime( mc: MovieController; var scale: TimeScale ): TimeValue; external name '_MCGetCurrentTime';
  12143. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12144. {
  12145. returns the time value and the time scale it is on. if there are no movies, the
  12146. time scale is passed back as 0. scale is an optional parameter
  12147. }
  12148. {
  12149. * MCNewAttachedController()
  12150. *
  12151. * Availability:
  12152. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12153. * CarbonLib: in CarbonLib 1.0 and later
  12154. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12155. * Windows: in qtmlClient.lib 3.0 and later
  12156. }
  12157. function MCNewAttachedController( mc: MovieController; theMovie: Movie; w: WindowRef; where: Point ): ComponentResult; external name '_MCNewAttachedController';
  12158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12159. {
  12160. makes theMovie the only movie attached to the controller. makes the controller visible.
  12161. the window and where parameters are passed a long to MCSetMovie and behave as
  12162. described there
  12163. }
  12164. {
  12165. * MCDraw()
  12166. *
  12167. * Availability:
  12168. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12169. * CarbonLib: in CarbonLib 1.0 and later
  12170. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12171. * Windows: in qtmlClient.lib 3.0 and later
  12172. }
  12173. function MCDraw( mc: MovieController; w: WindowRef ): ComponentResult; external name '_MCDraw';
  12174. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12175. {
  12176. * MCActivate()
  12177. *
  12178. * Availability:
  12179. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12180. * CarbonLib: in CarbonLib 1.0 and later
  12181. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12182. * Windows: in qtmlClient.lib 3.0 and later
  12183. }
  12184. function MCActivate( mc: MovieController; w: WindowRef; activate: Boolean ): ComponentResult; external name '_MCActivate';
  12185. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12186. {
  12187. * MCIdle()
  12188. *
  12189. * Availability:
  12190. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12191. * CarbonLib: in CarbonLib 1.0 and later
  12192. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12193. * Windows: in qtmlClient.lib 3.0 and later
  12194. }
  12195. function MCIdle( mc: MovieController ): ComponentResult; external name '_MCIdle';
  12196. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12197. {
  12198. * MCKey()
  12199. *
  12200. * Availability:
  12201. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12202. * CarbonLib: in CarbonLib 1.0 and later
  12203. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12204. * Windows: in qtmlClient.lib 3.0 and later
  12205. }
  12206. function MCKey( mc: MovieController; key: SInt8; modifiers: SIGNEDLONG ): ComponentResult; external name '_MCKey';
  12207. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12208. {
  12209. * MCClick()
  12210. *
  12211. * Availability:
  12212. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12213. * CarbonLib: in CarbonLib 1.0 and later
  12214. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12215. * Windows: in qtmlClient.lib 3.0 and later
  12216. }
  12217. function MCClick( mc: MovieController; w: WindowRef; where: Point; when: SIGNEDLONG; modifiers: SIGNEDLONG ): ComponentResult; external name '_MCClick';
  12218. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12219. {
  12220. calls for editing
  12221. }
  12222. {
  12223. * MCEnableEditing()
  12224. *
  12225. * Availability:
  12226. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12227. * CarbonLib: in CarbonLib 1.0 and later
  12228. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12229. * Windows: in qtmlClient.lib 3.0 and later
  12230. }
  12231. function MCEnableEditing( mc: MovieController; enabled: Boolean ): ComponentResult; external name '_MCEnableEditing';
  12232. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12233. {
  12234. * MCIsEditingEnabled()
  12235. *
  12236. * Availability:
  12237. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12238. * CarbonLib: in CarbonLib 1.0 and later
  12239. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12240. * Windows: in qtmlClient.lib 3.0 and later
  12241. }
  12242. function MCIsEditingEnabled( mc: MovieController ): SIGNEDLONG; external name '_MCIsEditingEnabled';
  12243. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12244. {
  12245. * MCCopy()
  12246. *
  12247. * Availability:
  12248. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12249. * CarbonLib: in CarbonLib 1.0 and later
  12250. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12251. * Windows: in qtmlClient.lib 3.0 and later
  12252. }
  12253. function MCCopy( mc: MovieController ): Movie; external name '_MCCopy';
  12254. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12255. {
  12256. * MCCut()
  12257. *
  12258. * Availability:
  12259. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12260. * CarbonLib: in CarbonLib 1.0 and later
  12261. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12262. * Windows: in qtmlClient.lib 3.0 and later
  12263. }
  12264. function MCCut( mc: MovieController ): Movie; external name '_MCCut';
  12265. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12266. {
  12267. * MCPaste()
  12268. *
  12269. * Availability:
  12270. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12271. * CarbonLib: in CarbonLib 1.0 and later
  12272. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12273. * Windows: in qtmlClient.lib 3.0 and later
  12274. }
  12275. function MCPaste( mc: MovieController; srcMovie: Movie ): ComponentResult; external name '_MCPaste';
  12276. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12277. {
  12278. * MCClear()
  12279. *
  12280. * Availability:
  12281. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12282. * CarbonLib: in CarbonLib 1.0 and later
  12283. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12284. * Windows: in qtmlClient.lib 3.0 and later
  12285. }
  12286. function MCClear( mc: MovieController ): ComponentResult; external name '_MCClear';
  12287. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12288. {
  12289. * MCUndo()
  12290. *
  12291. * Availability:
  12292. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12293. * CarbonLib: in CarbonLib 1.0 and later
  12294. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12295. * Windows: in qtmlClient.lib 3.0 and later
  12296. }
  12297. function MCUndo( mc: MovieController ): ComponentResult; external name '_MCUndo';
  12298. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12299. {
  12300. * somewhat special stuff
  12301. }
  12302. {
  12303. * MCPositionController()
  12304. *
  12305. * Availability:
  12306. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12307. * CarbonLib: in CarbonLib 1.0 and later
  12308. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12309. * Windows: in qtmlClient.lib 3.0 and later
  12310. }
  12311. function MCPositionController( mc: MovieController; const (*var*) movieRect: Rect; const (*var*) controllerRect: Rect; someFlags: SIGNEDLONG ): ComponentResult; external name '_MCPositionController';
  12312. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12313. {
  12314. * MCGetControllerInfo()
  12315. *
  12316. * Availability:
  12317. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12318. * CarbonLib: in CarbonLib 1.0 and later
  12319. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12320. * Windows: in qtmlClient.lib 3.0 and later
  12321. }
  12322. function MCGetControllerInfo( mc: MovieController; var someFlags: SIGNEDLONG ): ComponentResult; external name '_MCGetControllerInfo';
  12323. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12324. {
  12325. * MCSetClip()
  12326. *
  12327. * Availability:
  12328. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12329. * CarbonLib: in CarbonLib 1.0 and later
  12330. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12331. * Windows: in qtmlClient.lib 3.0 and later
  12332. }
  12333. function MCSetClip( mc: MovieController; theClip: RgnHandle; movieClip: RgnHandle ): ComponentResult; external name '_MCSetClip';
  12334. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12335. {
  12336. * MCGetClip()
  12337. *
  12338. * Availability:
  12339. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12340. * CarbonLib: in CarbonLib 1.0 and later
  12341. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12342. * Windows: in qtmlClient.lib 3.0 and later
  12343. }
  12344. function MCGetClip( mc: MovieController; var theClip: RgnHandle; var movieClip: RgnHandle ): ComponentResult; external name '_MCGetClip';
  12345. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12346. {
  12347. * MCDrawBadge()
  12348. *
  12349. * Availability:
  12350. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12351. * CarbonLib: in CarbonLib 1.0 and later
  12352. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12353. * Windows: in qtmlClient.lib 3.0 and later
  12354. }
  12355. function MCDrawBadge( mc: MovieController; movieRgn: RgnHandle; var badgeRgn: RgnHandle ): ComponentResult; external name '_MCDrawBadge';
  12356. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12357. {
  12358. * MCSetUpEditMenu()
  12359. *
  12360. * Availability:
  12361. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12362. * CarbonLib: in CarbonLib 1.0 and later
  12363. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12364. * Windows: in qtmlClient.lib 3.0 and later
  12365. }
  12366. function MCSetUpEditMenu( mc: MovieController; modifiers: SIGNEDLONG; mh: MenuRef ): ComponentResult; external name '_MCSetUpEditMenu';
  12367. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12368. {
  12369. * MCGetMenuString()
  12370. *
  12371. * Availability:
  12372. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12373. * CarbonLib: in CarbonLib 1.0 and later
  12374. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12375. * Windows: in qtmlClient.lib 3.0 and later
  12376. }
  12377. function MCGetMenuString( mc: MovieController; modifiers: SIGNEDLONG; item: SInt16; var aString: Str255 ): ComponentResult; external name '_MCGetMenuString';
  12378. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12379. {
  12380. * MCSetActionFilterWithRefCon()
  12381. *
  12382. * Availability:
  12383. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12384. * CarbonLib: in CarbonLib 1.0 and later
  12385. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12386. * Windows: in qtmlClient.lib 3.0 and later
  12387. }
  12388. function MCSetActionFilterWithRefCon( mc: MovieController; blob: MCActionFilterWithRefConUPP; refCon: SIGNEDLONG ): ComponentResult; external name '_MCSetActionFilterWithRefCon';
  12389. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12390. {
  12391. * MCPtInController()
  12392. *
  12393. * Availability:
  12394. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12395. * CarbonLib: in CarbonLib 1.0 and later
  12396. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12397. * Windows: in qtmlClient.lib 3.0 and later
  12398. }
  12399. function MCPtInController( mc: MovieController; thePt: Point; var inController: Boolean ): ComponentResult; external name '_MCPtInController';
  12400. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12401. {
  12402. * MCInvalidate()
  12403. *
  12404. * Availability:
  12405. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12406. * CarbonLib: in CarbonLib 1.0 and later
  12407. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12408. * Windows: in qtmlClient.lib 3.0 and later
  12409. }
  12410. function MCInvalidate( mc: MovieController; w: WindowRef; invalidRgn: RgnHandle ): ComponentResult; external name '_MCInvalidate';
  12411. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12412. {
  12413. * MCAdjustCursor()
  12414. *
  12415. * Availability:
  12416. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12417. * CarbonLib: in CarbonLib 1.0 and later
  12418. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  12419. * Windows: in qtmlClient.lib 3.0 and later
  12420. }
  12421. function MCAdjustCursor( mc: MovieController; w: WindowRef; where: Point; modifiers: SIGNEDLONG ): ComponentResult; external name '_MCAdjustCursor';
  12422. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12423. {
  12424. * MCGetInterfaceElement()
  12425. *
  12426. * Availability:
  12427. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12428. * CarbonLib: in CarbonLib 1.0 and later
  12429. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  12430. * Windows: in qtmlClient.lib 3.0 and later
  12431. }
  12432. function MCGetInterfaceElement( mc: MovieController; whichElement: MCInterfaceElement; element: UnivPtr ): ComponentResult; external name '_MCGetInterfaceElement';
  12433. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12434. {
  12435. * MCGetDoActionsProc()
  12436. *
  12437. * Availability:
  12438. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12439. * CarbonLib: in CarbonLib 1.0.2 and later
  12440. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  12441. * Windows: in qtmlClient.lib 4.0 and later
  12442. }
  12443. function MCGetDoActionsProc( mc: MovieController; var doMCActionProc: DoMCActionUPP; var doMCActionRefCon: SIGNEDLONG ): ComponentResult; external name '_MCGetDoActionsProc';
  12444. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12445. {
  12446. * MCAddMovieSegment()
  12447. *
  12448. * Availability:
  12449. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12450. * CarbonLib: in CarbonLib 1.3 and later
  12451. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  12452. * Windows: in qtmlClient.lib 5.0 and later
  12453. }
  12454. function MCAddMovieSegment( mc: MovieController; srcMovie: Movie; scaled: Boolean ): ComponentResult; external name '_MCAddMovieSegment';
  12455. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12456. {
  12457. * MCTrimMovieSegment()
  12458. *
  12459. * Availability:
  12460. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12461. * CarbonLib: in CarbonLib 1.3 and later
  12462. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  12463. * Windows: in qtmlClient.lib 5.0 and later
  12464. }
  12465. function MCTrimMovieSegment( mc: MovieController ): ComponentResult; external name '_MCTrimMovieSegment';
  12466. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12467. {
  12468. * MCSetIdleManager()
  12469. *
  12470. * Availability:
  12471. * Mac OS X: in version 10.2 and later in QuickTime.framework
  12472. * CarbonLib: in CarbonLib 1.6 and later
  12473. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  12474. * Windows: in qtmlClient.lib 6.0 and later
  12475. }
  12476. function MCSetIdleManager( mc: MovieController; im: IdleManager ): ComponentResult; external name '_MCSetIdleManager';
  12477. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  12478. { Called (but not implemented) by controllers that derive from the standard movie controller.
  12479. All controllers except standard movie controller must delegate this call. }
  12480. const
  12481. kControllerUnderstandsIdleManagers = 1 shl 0;
  12482. {
  12483. * MCSetControllerCapabilities()
  12484. *
  12485. * Availability:
  12486. * Mac OS X: in version 10.2 and later in QuickTime.framework
  12487. * CarbonLib: in CarbonLib 1.6 and later
  12488. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  12489. * Windows: in qtmlClient.lib 6.0 and later
  12490. }
  12491. function MCSetControllerCapabilities( mc: MovieController; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ): ComponentResult; external name '_MCSetControllerCapabilities';
  12492. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  12493. {***************************************
  12494. * *
  12495. * T I M E B A S E *
  12496. * *
  12497. ***************************************}
  12498. {
  12499. * NewTimeBase()
  12500. *
  12501. * Availability:
  12502. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12503. * CarbonLib: in CarbonLib 1.0 and later
  12504. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12505. * Windows: in qtmlClient.lib 3.0 and later
  12506. }
  12507. function NewTimeBase: TimeBase; external name '_NewTimeBase';
  12508. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12509. {
  12510. * DisposeTimeBase()
  12511. *
  12512. * Availability:
  12513. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12514. * CarbonLib: in CarbonLib 1.0 and later
  12515. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12516. * Windows: in qtmlClient.lib 3.0 and later
  12517. }
  12518. procedure DisposeTimeBase( tb: TimeBase ); external name '_DisposeTimeBase';
  12519. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12520. {
  12521. * GetTimeBaseTime()
  12522. *
  12523. * Availability:
  12524. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12525. * CarbonLib: in CarbonLib 1.0 and later
  12526. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12527. * Windows: in qtmlClient.lib 3.0 and later
  12528. }
  12529. function GetTimeBaseTime( tb: TimeBase; s: TimeScale; var tr: TimeRecord ): TimeValue; external name '_GetTimeBaseTime';
  12530. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12531. {
  12532. * SetTimeBaseTime()
  12533. *
  12534. * Availability:
  12535. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12536. * CarbonLib: in CarbonLib 1.0 and later
  12537. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12538. * Windows: in qtmlClient.lib 3.0 and later
  12539. }
  12540. procedure SetTimeBaseTime( tb: TimeBase; const (*var*) tr: TimeRecord ); external name '_SetTimeBaseTime';
  12541. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12542. {
  12543. * SetTimeBaseValue()
  12544. *
  12545. * Availability:
  12546. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12547. * CarbonLib: in CarbonLib 1.0 and later
  12548. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12549. * Windows: in qtmlClient.lib 3.0 and later
  12550. }
  12551. procedure SetTimeBaseValue( tb: TimeBase; t: TimeValue; s: TimeScale ); external name '_SetTimeBaseValue';
  12552. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12553. {
  12554. * GetTimeBaseRate()
  12555. *
  12556. * Availability:
  12557. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12558. * CarbonLib: in CarbonLib 1.0 and later
  12559. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12560. * Windows: in qtmlClient.lib 3.0 and later
  12561. }
  12562. function GetTimeBaseRate( tb: TimeBase ): Fixed; external name '_GetTimeBaseRate';
  12563. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12564. {
  12565. * SetTimeBaseRate()
  12566. *
  12567. * Availability:
  12568. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12569. * CarbonLib: in CarbonLib 1.0 and later
  12570. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12571. * Windows: in qtmlClient.lib 3.0 and later
  12572. }
  12573. procedure SetTimeBaseRate( tb: TimeBase; r: Fixed ); external name '_SetTimeBaseRate';
  12574. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12575. {
  12576. * GetTimeBaseStartTime()
  12577. *
  12578. * Availability:
  12579. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12580. * CarbonLib: in CarbonLib 1.0 and later
  12581. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12582. * Windows: in qtmlClient.lib 3.0 and later
  12583. }
  12584. function GetTimeBaseStartTime( tb: TimeBase; s: TimeScale; var tr: TimeRecord ): TimeValue; external name '_GetTimeBaseStartTime';
  12585. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12586. {
  12587. * SetTimeBaseStartTime()
  12588. *
  12589. * Availability:
  12590. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12591. * CarbonLib: in CarbonLib 1.0 and later
  12592. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12593. * Windows: in qtmlClient.lib 3.0 and later
  12594. }
  12595. procedure SetTimeBaseStartTime( tb: TimeBase; const (*var*) tr: TimeRecord ); external name '_SetTimeBaseStartTime';
  12596. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12597. {
  12598. * GetTimeBaseStopTime()
  12599. *
  12600. * Availability:
  12601. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12602. * CarbonLib: in CarbonLib 1.0 and later
  12603. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12604. * Windows: in qtmlClient.lib 3.0 and later
  12605. }
  12606. function GetTimeBaseStopTime( tb: TimeBase; s: TimeScale; var tr: TimeRecord ): TimeValue; external name '_GetTimeBaseStopTime';
  12607. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12608. {
  12609. * SetTimeBaseStopTime()
  12610. *
  12611. * Availability:
  12612. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12613. * CarbonLib: in CarbonLib 1.0 and later
  12614. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12615. * Windows: in qtmlClient.lib 3.0 and later
  12616. }
  12617. procedure SetTimeBaseStopTime( tb: TimeBase; const (*var*) tr: TimeRecord ); external name '_SetTimeBaseStopTime';
  12618. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12619. {
  12620. * GetTimeBaseFlags()
  12621. *
  12622. * Availability:
  12623. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12624. * CarbonLib: in CarbonLib 1.0 and later
  12625. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12626. * Windows: in qtmlClient.lib 3.0 and later
  12627. }
  12628. function GetTimeBaseFlags( tb: TimeBase ): SIGNEDLONG; external name '_GetTimeBaseFlags';
  12629. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12630. {
  12631. * SetTimeBaseFlags()
  12632. *
  12633. * Availability:
  12634. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12635. * CarbonLib: in CarbonLib 1.0 and later
  12636. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12637. * Windows: in qtmlClient.lib 3.0 and later
  12638. }
  12639. procedure SetTimeBaseFlags( tb: TimeBase; timeBaseFlags: SIGNEDLONG ); external name '_SetTimeBaseFlags';
  12640. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12641. {
  12642. * SetTimeBaseMasterTimeBase()
  12643. *
  12644. * Availability:
  12645. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12646. * CarbonLib: in CarbonLib 1.0 and later
  12647. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12648. * Windows: in qtmlClient.lib 3.0 and later
  12649. }
  12650. procedure SetTimeBaseMasterTimeBase( slave: TimeBase; master: TimeBase; const (*var*) slaveZero: TimeRecord ); external name '_SetTimeBaseMasterTimeBase';
  12651. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12652. {
  12653. * GetTimeBaseMasterTimeBase()
  12654. *
  12655. * Availability:
  12656. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12657. * CarbonLib: in CarbonLib 1.0 and later
  12658. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12659. * Windows: in qtmlClient.lib 3.0 and later
  12660. }
  12661. function GetTimeBaseMasterTimeBase( tb: TimeBase ): TimeBase; external name '_GetTimeBaseMasterTimeBase';
  12662. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12663. {
  12664. * SetTimeBaseMasterClock()
  12665. *
  12666. * Availability:
  12667. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12668. * CarbonLib: in CarbonLib 1.0 and later
  12669. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12670. * Windows: in qtmlClient.lib 3.0 and later
  12671. }
  12672. procedure SetTimeBaseMasterClock( slave: TimeBase; clockMeister: Component; const (*var*) slaveZero: TimeRecord ); external name '_SetTimeBaseMasterClock';
  12673. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12674. {
  12675. * GetTimeBaseMasterClock()
  12676. *
  12677. * Availability:
  12678. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12679. * CarbonLib: in CarbonLib 1.0 and later
  12680. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12681. * Windows: in qtmlClient.lib 3.0 and later
  12682. }
  12683. function GetTimeBaseMasterClock( tb: TimeBase ): ComponentInstance; external name '_GetTimeBaseMasterClock';
  12684. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12685. {
  12686. * ConvertTime()
  12687. *
  12688. * Availability:
  12689. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12690. * CarbonLib: in CarbonLib 1.0 and later
  12691. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12692. * Windows: in qtmlClient.lib 3.0 and later
  12693. }
  12694. procedure ConvertTime( var theTime: TimeRecord; newBase: TimeBase ); external name '_ConvertTime';
  12695. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12696. {
  12697. * ConvertTimeScale()
  12698. *
  12699. * Availability:
  12700. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12701. * CarbonLib: in CarbonLib 1.0 and later
  12702. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12703. * Windows: in qtmlClient.lib 3.0 and later
  12704. }
  12705. procedure ConvertTimeScale( var theTime: TimeRecord; newScale: TimeScale ); external name '_ConvertTimeScale';
  12706. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12707. {
  12708. * AddTime()
  12709. *
  12710. * Availability:
  12711. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12712. * CarbonLib: in CarbonLib 1.0 and later
  12713. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12714. * Windows: in qtmlClient.lib 3.0 and later
  12715. }
  12716. procedure AddTime( var dst: TimeRecord; const (*var*) src: TimeRecord ); external name '_AddTime';
  12717. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12718. {
  12719. * SubtractTime()
  12720. *
  12721. * Availability:
  12722. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12723. * CarbonLib: in CarbonLib 1.0 and later
  12724. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12725. * Windows: in qtmlClient.lib 3.0 and later
  12726. }
  12727. procedure SubtractTime( var dst: TimeRecord; const (*var*) src: TimeRecord ); external name '_SubtractTime';
  12728. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12729. {
  12730. * GetTimeBaseStatus()
  12731. *
  12732. * Availability:
  12733. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12734. * CarbonLib: in CarbonLib 1.0 and later
  12735. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12736. * Windows: in qtmlClient.lib 3.0 and later
  12737. }
  12738. function GetTimeBaseStatus( tb: TimeBase; var unpinnedTime: TimeRecord ): SIGNEDLONG; external name '_GetTimeBaseStatus';
  12739. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12740. {
  12741. * SetTimeBaseZero()
  12742. *
  12743. * Availability:
  12744. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12745. * CarbonLib: in CarbonLib 1.0 and later
  12746. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12747. * Windows: in qtmlClient.lib 3.0 and later
  12748. }
  12749. procedure SetTimeBaseZero( tb: TimeBase; var zero: TimeRecord ); external name '_SetTimeBaseZero';
  12750. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12751. {
  12752. * GetTimeBaseEffectiveRate()
  12753. *
  12754. * Availability:
  12755. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12756. * CarbonLib: in CarbonLib 1.0 and later
  12757. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12758. * Windows: in qtmlClient.lib 3.0 and later
  12759. }
  12760. function GetTimeBaseEffectiveRate( tb: TimeBase ): Fixed; external name '_GetTimeBaseEffectiveRate';
  12761. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12762. {
  12763. * GetTimeBaseRateChangeStatus()
  12764. *
  12765. * Availability:
  12766. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12767. * CarbonLib: not available
  12768. * Non-Carbon CFM: not available
  12769. * Windows: in qtmlClient.lib 6.5 and later
  12770. }
  12771. function GetTimeBaseRateChangeStatus( tb: TimeBase; scale: TimeScale; var ratedChangedTo: Fixed; var flags: TimeBaseStatus; var rateChangeTimeBaseTime: TimeRecord; var rateChangeClockTime: TimeRecord; var currentClockTime: TimeRecord ): OSErr; external name '_GetTimeBaseRateChangeStatus';
  12772. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12773. {
  12774. * ConvertTimeToClockTime()
  12775. *
  12776. * Availability:
  12777. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12778. * CarbonLib: not available
  12779. * Non-Carbon CFM: not available
  12780. * Windows: in qtmlClient.lib 6.5 and later
  12781. }
  12782. procedure ConvertTimeToClockTime( var time: TimeRecord ); external name '_ConvertTimeToClockTime';
  12783. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12784. {
  12785. * GetTimeBaseMasterOffsetTimeBase()
  12786. *
  12787. * Availability:
  12788. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12789. * CarbonLib: not available
  12790. * Non-Carbon CFM: not available
  12791. * Windows: in qtmlClient.lib 6.5 and later
  12792. }
  12793. function GetTimeBaseMasterOffsetTimeBase( tb: TimeBase ): TimeBase; external name '_GetTimeBaseMasterOffsetTimeBase';
  12794. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12795. {
  12796. * SetTimeBaseOffsetTimeBase()
  12797. *
  12798. * Availability:
  12799. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12800. * CarbonLib: not available
  12801. * Non-Carbon CFM: not available
  12802. * Windows: in qtmlClient.lib 6.5 and later
  12803. }
  12804. function SetTimeBaseOffsetTimeBase( tb: TimeBase; offsettb: TimeBase; const (*var*) offsetZero: TimeRecord ): OSErr; external name '_SetTimeBaseOffsetTimeBase';
  12805. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12806. {
  12807. * AttachTimeBaseToCurrentThread()
  12808. *
  12809. * Availability:
  12810. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12811. * CarbonLib: not available
  12812. * Non-Carbon CFM: not available
  12813. }
  12814. function AttachTimeBaseToCurrentThread( tb: TimeBase ): OSErr; external name '_AttachTimeBaseToCurrentThread';
  12815. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12816. {
  12817. * DetachTimeBaseFromCurrentThread()
  12818. *
  12819. * Availability:
  12820. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12821. * CarbonLib: not available
  12822. * Non-Carbon CFM: not available
  12823. }
  12824. function DetachTimeBaseFromCurrentThread( tb: TimeBase ): OSErr; external name '_DetachTimeBaseFromCurrentThread';
  12825. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12826. {
  12827. * GetTimeBaseThreadAttachState()
  12828. *
  12829. * Availability:
  12830. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12831. * CarbonLib: not available
  12832. * Non-Carbon CFM: not available
  12833. }
  12834. function GetTimeBaseThreadAttachState( inTimeBase: TimeBase; var outAttachedToCurrentThread: Boolean; var outAttachedToAnyThread: Boolean ): OSErr; external name '_GetTimeBaseThreadAttachState';
  12835. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12836. {***************************************
  12837. * *
  12838. * C A L L B A C K *
  12839. * *
  12840. ***************************************}
  12841. {
  12842. * NewCallBack()
  12843. *
  12844. * Availability:
  12845. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12846. * CarbonLib: in CarbonLib 1.0 and later
  12847. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12848. * Windows: in qtmlClient.lib 3.0 and later
  12849. }
  12850. function NewCallBack( tb: TimeBase; cbType: SInt16 ): QTCallBack; external name '_NewCallBack';
  12851. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12852. {
  12853. * DisposeCallBack()
  12854. *
  12855. * Availability:
  12856. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12857. * CarbonLib: in CarbonLib 1.0 and later
  12858. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12859. * Windows: in qtmlClient.lib 3.0 and later
  12860. }
  12861. procedure DisposeCallBack( cb: QTCallBack ); external name '_DisposeCallBack';
  12862. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12863. {
  12864. * GetCallBackType()
  12865. *
  12866. * Availability:
  12867. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12868. * CarbonLib: in CarbonLib 1.0 and later
  12869. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12870. * Windows: in qtmlClient.lib 3.0 and later
  12871. }
  12872. function GetCallBackType( cb: QTCallBack ): SInt16; external name '_GetCallBackType';
  12873. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12874. {
  12875. * GetCallBackTimeBase()
  12876. *
  12877. * Availability:
  12878. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12879. * CarbonLib: in CarbonLib 1.0 and later
  12880. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12881. * Windows: in qtmlClient.lib 3.0 and later
  12882. }
  12883. function GetCallBackTimeBase( cb: QTCallBack ): TimeBase; external name '_GetCallBackTimeBase';
  12884. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12885. {
  12886. * CallMeWhen()
  12887. *
  12888. * Availability:
  12889. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12890. * CarbonLib: in CarbonLib 1.0 and later
  12891. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12892. * Windows: in qtmlClient.lib 3.0 and later
  12893. }
  12894. function CallMeWhen( cb: QTCallBack; callBackProc: QTCallBackUPP; refCon: SIGNEDLONG; param1: SIGNEDLONG; param2: SIGNEDLONG; param3: SIGNEDLONG ): OSErr; external name '_CallMeWhen';
  12895. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12896. {
  12897. * CancelCallBack()
  12898. *
  12899. * Availability:
  12900. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12901. * CarbonLib: in CarbonLib 1.0 and later
  12902. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12903. * Windows: in qtmlClient.lib 3.0 and later
  12904. }
  12905. procedure CancelCallBack( cb: QTCallBack ); external name '_CancelCallBack';
  12906. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12907. {***************************************
  12908. * *
  12909. * C L O C K C A L L B A C K *
  12910. * S U P P O R T *
  12911. * *
  12912. ***************************************}
  12913. {
  12914. * AddCallBackToTimeBase()
  12915. *
  12916. * Availability:
  12917. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12918. * CarbonLib: in CarbonLib 1.0 and later
  12919. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12920. * Windows: in qtmlClient.lib 3.0 and later
  12921. }
  12922. function AddCallBackToTimeBase( cb: QTCallBack ): OSErr; external name '_AddCallBackToTimeBase';
  12923. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12924. {
  12925. * RemoveCallBackFromTimeBase()
  12926. *
  12927. * Availability:
  12928. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12929. * CarbonLib: in CarbonLib 1.0 and later
  12930. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12931. * Windows: in qtmlClient.lib 3.0 and later
  12932. }
  12933. function RemoveCallBackFromTimeBase( cb: QTCallBack ): OSErr; external name '_RemoveCallBackFromTimeBase';
  12934. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12935. {
  12936. * GetFirstCallBack()
  12937. *
  12938. * Availability:
  12939. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12940. * CarbonLib: in CarbonLib 1.0 and later
  12941. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12942. * Windows: in qtmlClient.lib 3.0 and later
  12943. }
  12944. function GetFirstCallBack( tb: TimeBase ): QTCallBack; external name '_GetFirstCallBack';
  12945. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12946. {
  12947. * GetNextCallBack()
  12948. *
  12949. * Availability:
  12950. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12951. * CarbonLib: in CarbonLib 1.0 and later
  12952. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12953. * Windows: in qtmlClient.lib 3.0 and later
  12954. }
  12955. function GetNextCallBack( cb: QTCallBack ): QTCallBack; external name '_GetNextCallBack';
  12956. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12957. {
  12958. * ExecuteCallBack()
  12959. *
  12960. * Availability:
  12961. * Mac OS X: in version 10.0 and later in QuickTime.framework
  12962. * CarbonLib: in CarbonLib 1.0 and later
  12963. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  12964. * Windows: in qtmlClient.lib 3.0 and later
  12965. }
  12966. procedure ExecuteCallBack( cb: QTCallBack ); external name '_ExecuteCallBack';
  12967. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  12968. {***************************************
  12969. * *
  12970. * M O V I E P R O P E R T I E S *
  12971. * *
  12972. ***************************************}
  12973. type
  12974. QTMoviePropertyListenerProcPtr = procedure( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inUserData: UnivPtr );
  12975. QTMoviePropertyListenerUPP = QTMoviePropertyListenerProcPtr;
  12976. {
  12977. * QTGetMoviePropertyInfo()
  12978. *
  12979. * Availability:
  12980. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12981. * CarbonLib: not available
  12982. * Non-Carbon CFM: not available
  12983. }
  12984. function QTGetMoviePropertyInfo( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropertyFlags: UInt32 ): OSErr; external name '_QTGetMoviePropertyInfo';
  12985. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12986. {
  12987. * QTGetMovieProperty()
  12988. *
  12989. * Availability:
  12990. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  12991. * CarbonLib: not available
  12992. * Non-Carbon CFM: not available
  12993. }
  12994. function QTGetMovieProperty( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSErr; external name '_QTGetMovieProperty';
  12995. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  12996. {
  12997. * QTSetMovieProperty()
  12998. *
  12999. * Availability:
  13000. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  13001. * CarbonLib: not available
  13002. * Non-Carbon CFM: not available
  13003. }
  13004. function QTSetMovieProperty( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSErr; external name '_QTSetMovieProperty';
  13005. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  13006. {
  13007. * QTAddMoviePropertyListener()
  13008. *
  13009. * Availability:
  13010. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  13011. * CarbonLib: not available
  13012. * Non-Carbon CFM: not available
  13013. }
  13014. function QTAddMoviePropertyListener( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inListenerProc: QTMoviePropertyListenerUPP; inUserData: UnivPtr ): OSErr; external name '_QTAddMoviePropertyListener';
  13015. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  13016. {
  13017. * QTRemoveMoviePropertyListener()
  13018. *
  13019. * Availability:
  13020. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  13021. * CarbonLib: not available
  13022. * Non-Carbon CFM: not available
  13023. }
  13024. function QTRemoveMoviePropertyListener( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inListenerProc: QTMoviePropertyListenerUPP; inUserData: UnivPtr ): OSErr; external name '_QTRemoveMoviePropertyListener';
  13025. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  13026. {***************************************
  13027. * *
  13028. * T R A C K P R O P E R T I E S *
  13029. * *
  13030. ***************************************}
  13031. type
  13032. QTTrackPropertyListenerProcPtr = procedure( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inUserData: UnivPtr );
  13033. QTTrackPropertyListenerUPP = QTTrackPropertyListenerProcPtr;
  13034. {
  13035. * QTGetTrackPropertyInfo()
  13036. *
  13037. * Availability:
  13038. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13039. * CarbonLib: not available
  13040. * Non-Carbon CFM: not available
  13041. }
  13042. function QTGetTrackPropertyInfo( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropertyFlags: UInt32 ): OSErr; external name '_QTGetTrackPropertyInfo';
  13043. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13044. {
  13045. * QTGetTrackProperty()
  13046. *
  13047. * Availability:
  13048. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13049. * CarbonLib: not available
  13050. * Non-Carbon CFM: not available
  13051. }
  13052. function QTGetTrackProperty( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSErr; external name '_QTGetTrackProperty';
  13053. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13054. {
  13055. * QTSetTrackProperty()
  13056. *
  13057. * Availability:
  13058. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13059. * CarbonLib: not available
  13060. * Non-Carbon CFM: not available
  13061. }
  13062. function QTSetTrackProperty( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSErr; external name '_QTSetTrackProperty';
  13063. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13064. {
  13065. * QTAddTrackPropertyListener()
  13066. *
  13067. * Availability:
  13068. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13069. * CarbonLib: not available
  13070. * Non-Carbon CFM: not available
  13071. }
  13072. function QTAddTrackPropertyListener( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inListenerProc: QTTrackPropertyListenerUPP; inUserData: UnivPtr ): OSErr; external name '_QTAddTrackPropertyListener';
  13073. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13074. {
  13075. * QTRemoveTrackPropertyListener()
  13076. *
  13077. * Availability:
  13078. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13079. * CarbonLib: not available
  13080. * Non-Carbon CFM: not available
  13081. }
  13082. function QTRemoveTrackPropertyListener( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inListenerProc: QTTrackPropertyListenerUPP; inUserData: UnivPtr ): OSErr; external name '_QTRemoveTrackPropertyListener';
  13083. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13084. {***************************************
  13085. * *
  13086. * Q T S A M P L E T A B L E *
  13087. * *
  13088. ***************************************}
  13089. type
  13090. QTSampleDescriptionID = SIGNEDLONG;
  13091. {
  13092. * QTSampleTableCreateMutable()
  13093. *
  13094. * Summary:
  13095. * Creates a new empty sample table.
  13096. *
  13097. * Discussion:
  13098. * The newly created sample table will contain no sample references.
  13099. * When sample references are added, their durations and display
  13100. * offsets will be interpreted according to the sample table's
  13101. * current timescale.
  13102. *
  13103. * Parameters:
  13104. *
  13105. * allocator:
  13106. * The allocator to use for the new sample table.
  13107. *
  13108. * timescale:
  13109. * The timescale to use for durations and display offsets.
  13110. *
  13111. * hints:
  13112. * Reserved. Pass NULL.
  13113. *
  13114. * newSampleTable:
  13115. * Points to a variable to receive the new sample table.
  13116. *
  13117. * Availability:
  13118. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13119. * CarbonLib: not available
  13120. * Non-Carbon CFM: not available
  13121. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13122. }
  13123. function QTSampleTableCreateMutable( allocator: CFAllocatorRef; timescale_: TimeScale; hints: UnivPtr; var newSampleTable: QTMutableSampleTableRef ): OSStatus; external name '_QTSampleTableCreateMutable';
  13124. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13125. {
  13126. * QTSampleTableRetain()
  13127. *
  13128. * Summary:
  13129. * Increments the retain count of a sample table.
  13130. *
  13131. * Discussion:
  13132. * The same sample table is returned for convenience. If sampleTable
  13133. * is NULL, nothing happens.
  13134. *
  13135. * Parameters:
  13136. *
  13137. * sampleTable:
  13138. * The sample table.
  13139. *
  13140. * Availability:
  13141. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13142. * CarbonLib: not available
  13143. * Non-Carbon CFM: not available
  13144. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13145. }
  13146. function QTSampleTableRetain( sampleTable: QTSampleTableRef ): QTSampleTableRef; external name '_QTSampleTableRetain';
  13147. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13148. {
  13149. * QTSampleTableRelease()
  13150. *
  13151. * Summary:
  13152. * Decrements the retain count of a sample table.
  13153. *
  13154. * Discussion:
  13155. * If the retain count decreases to zero, the sample table is
  13156. * disposed. If sampleTable is NULL, nothing happens.
  13157. *
  13158. * Parameters:
  13159. *
  13160. * sampleTable:
  13161. * The sample table.
  13162. *
  13163. * Availability:
  13164. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13165. * CarbonLib: not available
  13166. * Non-Carbon CFM: not available
  13167. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13168. }
  13169. procedure QTSampleTableRelease( sampleTable: QTSampleTableRef ); external name '_QTSampleTableRelease';
  13170. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13171. {
  13172. * QTSampleTableCreateMutableCopy()
  13173. *
  13174. * Summary:
  13175. * Copies a sample table.
  13176. *
  13177. * Discussion:
  13178. * All the sample references and sample descriptions in the sample
  13179. * table are copied.
  13180. *
  13181. * Parameters:
  13182. *
  13183. * allocator:
  13184. * The allocator to use for the new sample table.
  13185. *
  13186. * sampleTable:
  13187. * The sample table to copy.
  13188. *
  13189. * hints:
  13190. * Reserved, set to NULL.
  13191. *
  13192. * newSampleTable:
  13193. * Points to a variable to receive the new sample table.
  13194. *
  13195. * Availability:
  13196. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13197. * CarbonLib: not available
  13198. * Non-Carbon CFM: not available
  13199. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13200. }
  13201. function QTSampleTableCreateMutableCopy( allocator: CFAllocatorRef; sampleTable: QTSampleTableRef; hints: UnivPtr; var newSampleTable: QTMutableSampleTableRef ): OSStatus; external name '_QTSampleTableCreateMutableCopy';
  13202. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13203. {
  13204. * QTSampleTableGetTypeID()
  13205. *
  13206. * Summary:
  13207. * Returns the CFTypeID for QTSampleTableRef.
  13208. *
  13209. * Discussion:
  13210. * You could use this to test whether a CFTypeRef that extracted
  13211. * from a CF container such as a CFArray was a QTSampleTableRef.
  13212. *
  13213. * Availability:
  13214. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13215. * CarbonLib: not available
  13216. * Non-Carbon CFM: not available
  13217. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13218. }
  13219. function QTSampleTableGetTypeID: CFTypeID; external name '_QTSampleTableGetTypeID';
  13220. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13221. {
  13222. * QTSampleTableSetTimeScale()
  13223. *
  13224. * Summary:
  13225. * Changes the timescale of a sample table.
  13226. *
  13227. * Discussion:
  13228. * The durations and display offsets of all the sample references in
  13229. * the sample table are scaled from the old timescale to the new
  13230. * timescale. No durations will be scaled to a value less than 1.
  13231. * Display offsets will be adjusted to avoid display time collisions.
  13232. *
  13233. * Parameters:
  13234. *
  13235. * sampleTable:
  13236. * The sample table.
  13237. *
  13238. * newTimeScale:
  13239. * The new timescale.
  13240. *
  13241. * Availability:
  13242. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13243. * CarbonLib: not available
  13244. * Non-Carbon CFM: not available
  13245. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13246. }
  13247. function QTSampleTableSetTimeScale( sampleTable: QTMutableSampleTableRef; newTimeScale: TimeScale ): OSStatus; external name '_QTSampleTableSetTimeScale';
  13248. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13249. {
  13250. * QTSampleTableGetTimeScale()
  13251. *
  13252. * Summary:
  13253. * Returns the timescale of a sample table.
  13254. *
  13255. * Discussion:
  13256. * Returns 0 if sampleTable is NULL.
  13257. *
  13258. * Parameters:
  13259. *
  13260. * sampleTable:
  13261. * The sample table.
  13262. *
  13263. * Availability:
  13264. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13265. * CarbonLib: not available
  13266. * Non-Carbon CFM: not available
  13267. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13268. }
  13269. function QTSampleTableGetTimeScale( sampleTable: QTSampleTableRef ): TimeScale; external name '_QTSampleTableGetTimeScale';
  13270. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13271. {
  13272. * Summary:
  13273. * Attribute flags for QTSampleTableGetNextAttributeChange
  13274. }
  13275. const
  13276. {
  13277. * Set this flag to find first num such that samples num-1 and num
  13278. * are not adjacent, ie, dataOffset of num-1 + dataSize of num-1 !=
  13279. * dataOffset of num
  13280. }
  13281. kQTSampleTableAttribute_DiscontiguousData = 1 shl 0;
  13282. {
  13283. * Set this flag to find the first sample with data size per sample
  13284. * different from that of the starting sample.
  13285. }
  13286. kQTSampleTableAttribute_DataSizePerSampleChange = 1 shl 1;
  13287. {
  13288. * Set this flag to find the first sample with decode duration
  13289. * different from that of the starting sample.
  13290. }
  13291. kQTSampleTableAttribute_DecodeDurationChange = 1 shl 2;
  13292. {
  13293. * Set this flag to find the first sample with display offset
  13294. * different from that of the starting sample.
  13295. }
  13296. kQTSampleTableAttribute_DisplayOffsetChange = 1 shl 3;
  13297. {
  13298. * Set this flag to find the first sample with sample description ID
  13299. * different from that of the starting sample.
  13300. }
  13301. kQTSampleTableAttribute_SampleDescriptionIDChange = 1 shl 4;
  13302. {
  13303. * Set this flag to find the first sample with any media sample flags
  13304. * different from those of the starting sample.
  13305. }
  13306. kQTSampleTableAttribute_SampleFlagsChange = 1 shl 5;
  13307. {
  13308. * If no flags are set, find the first sample with any attribute
  13309. * different from the starting sample.
  13310. }
  13311. kQTSampleTableAnyAttributeChange = 0;
  13312. type
  13313. QTSampleTableAttribute = UInt32;
  13314. {
  13315. * QTSampleTableGetNextAttributeChange()
  13316. *
  13317. * Summary:
  13318. * Finds the next sample number at which one or more of given sample
  13319. * attributes change.
  13320. *
  13321. * Parameters:
  13322. *
  13323. * sampleTable:
  13324. * The sample table.
  13325. *
  13326. * startSampleNum:
  13327. * A sample number.
  13328. *
  13329. * attributeMask:
  13330. * A collection of flags that indicates which kinds of attribute
  13331. * changes to search for.
  13332. *
  13333. * sampleNumOut:
  13334. * Points to a variable to receive the next sample number after
  13335. * startSampleNum at which any of the requested attributes
  13336. * changes. If no attribute changes are found, this variable is
  13337. * set to zero.
  13338. *
  13339. * Availability:
  13340. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13341. * CarbonLib: not available
  13342. * Non-Carbon CFM: not available
  13343. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13344. }
  13345. function QTSampleTableGetNextAttributeChange( sampleTable: QTSampleTableRef; startSampleNum: SInt64; attributeMask: QTSampleTableAttribute; var sampleNumOut: SInt64 ): OSStatus; external name '_QTSampleTableGetNextAttributeChange';
  13346. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13347. {
  13348. * QTSampleTableAddSampleDescription()
  13349. *
  13350. * Summary:
  13351. * Adds a sample description to a sample table, returning a sample
  13352. * description ID that can be used to refer to it.
  13353. *
  13354. * Discussion:
  13355. * You can use the returned sample description ID when adding
  13356. * samples to the sample table.
  13357. * Note: Sample description IDs are local to each sample table. The
  13358. * same sample description handle may have different IDs when
  13359. * referenced in different sample tables.
  13360. *
  13361. * Parameters:
  13362. *
  13363. * sampleTable:
  13364. * The sample table.
  13365. *
  13366. * sampleDescriptionH:
  13367. * The sample description handle. The QTSampleTable will make its
  13368. * own copy of this handle.
  13369. *
  13370. * mediaSampleDescriptionIndex:
  13371. * Indicates the sample description index of this sample
  13372. * description in a media. Pass zero for sample descriptions you
  13373. * add to sample tables, to indicate that this was not retrieved
  13374. * from a media.
  13375. *
  13376. * sampleDescriptionIDOut:
  13377. * Points to a variable to receive a sample description ID.
  13378. *
  13379. * Availability:
  13380. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13381. * CarbonLib: not available
  13382. * Non-Carbon CFM: not available
  13383. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13384. }
  13385. function QTSampleTableAddSampleDescription( sampleTable: QTMutableSampleTableRef; sampleDescriptionH: SampleDescriptionHandle; mediaSampleDescriptionIndex: SIGNEDLONG; var sampleDescriptionIDOut: QTSampleDescriptionID ): OSStatus; external name '_QTSampleTableAddSampleDescription';
  13386. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13387. {
  13388. * QTSampleTableCopySampleDescription()
  13389. *
  13390. * Summary:
  13391. * Retrieves a sample description from a sample table.
  13392. *
  13393. * Discussion:
  13394. * The caller is responsible for disposing the returned sampled
  13395. * description handle with DisposeHandle.
  13396. *
  13397. * Parameters:
  13398. *
  13399. * sampleTable:
  13400. * The sample table.
  13401. *
  13402. * sampleDescriptionID:
  13403. * The sample description ID.
  13404. *
  13405. * mediaSampleDescriptionIndexOut:
  13406. * Points to a variable to receive a media sample description
  13407. * index. If the sample description came from a media, this is the
  13408. * index that could be passed to GetMediaSampleDescription to
  13409. * retrieve the same sample description handle. The index will be
  13410. * zero if the sample description did not come directly from a
  13411. * media. Pass NULL if you do not want to receive this information.
  13412. *
  13413. * sampleDescriptionHOut:
  13414. * Points to a variable to receive a newly allocated sample
  13415. * description handle. Pass NULL if you do not want one.
  13416. *
  13417. * Availability:
  13418. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13419. * CarbonLib: not available
  13420. * Non-Carbon CFM: not available
  13421. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13422. }
  13423. function QTSampleTableCopySampleDescription( sampleTable: QTSampleTableRef; sampleDescriptionID: QTSampleDescriptionID; var mediaSampleDescriptionIndexOut: SIGNEDLONG; var sampleDescriptionHOut: SampleDescriptionHandle ): OSStatus; external name '_QTSampleTableCopySampleDescription';
  13424. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13425. {
  13426. * QTSampleTableAddSampleReferences()
  13427. *
  13428. * Summary:
  13429. * Adds sample references to a sample table.
  13430. *
  13431. * Discussion:
  13432. * Note that you must pass the data size per sample, not the total
  13433. * size of all the samples as with some other APIs.
  13434. *
  13435. * Parameters:
  13436. *
  13437. * sampleTable:
  13438. * The sample table.
  13439. *
  13440. * dataOffset:
  13441. * Specifies the offset at which the first sample begins.
  13442. *
  13443. * dataSizePerSample:
  13444. * Specifies the number of bytes of data per sample.
  13445. *
  13446. * decodeDurationPerSample:
  13447. * Specifies the decode duration of each sample.
  13448. *
  13449. * displayOffset:
  13450. * Specifies the offset from decode time to display time of each
  13451. * sample. If the decode times and display times will be the same,
  13452. * pass 0.
  13453. *
  13454. * numberOfSamples:
  13455. * Specifies the number of samples. Must be greater than zero.
  13456. *
  13457. * sampleFlags:
  13458. * Specifies the media sample flags for all samples.
  13459. *
  13460. * sampleDescriptionID:
  13461. * Specifies the ID of a sample description that has been added to
  13462. * the sample table with QTSampleTableAddSampleDescription.
  13463. *
  13464. * newSampleNumOut:
  13465. * Points to a variable to receive the sample number of the first
  13466. * sample that was added. Pass NULL if you don't want this
  13467. * information.
  13468. *
  13469. * Availability:
  13470. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13471. * CarbonLib: not available
  13472. * Non-Carbon CFM: not available
  13473. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13474. }
  13475. function QTSampleTableAddSampleReferences( sampleTable: QTMutableSampleTableRef; dataOffset: SInt64; dataSizePerSample: ByteCount; decodeDurationPerSample: TimeValue64; displayOffset: TimeValue64; numberOfSamples: SInt64; sampleFlags: MediaSampleFlags; sampleDescriptionID: QTSampleDescriptionID; var newSampleNumOut: SInt64 ): OSStatus; external name '_QTSampleTableAddSampleReferences';
  13476. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13477. {
  13478. * QTSampleTableGetNumberOfSamples()
  13479. *
  13480. * Summary:
  13481. * Returns the number of samples in a sample table.
  13482. *
  13483. * Discussion:
  13484. * Returns 0 if sampleTable is NULL.
  13485. *
  13486. * Parameters:
  13487. *
  13488. * sampleTable:
  13489. * The sample table.
  13490. *
  13491. * Availability:
  13492. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13493. * CarbonLib: not available
  13494. * Non-Carbon CFM: not available
  13495. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13496. }
  13497. function QTSampleTableGetNumberOfSamples( sampleTable: QTSampleTableRef ): SInt64; external name '_QTSampleTableGetNumberOfSamples';
  13498. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13499. {
  13500. * QTSampleTableReplaceRange()
  13501. *
  13502. * Summary:
  13503. * Replaces a range of samples in a sample table with a range of
  13504. * samples from another sample table. Can also be used to delete a
  13505. * range of samples, or to insert samples without removing any.
  13506. *
  13507. * Discussion:
  13508. * This function removes destSampleCount samples from
  13509. * destSampleTable starting with destStartingSampleNum, and then
  13510. * inserts sourceSampleCount samples from sourceSampleTable starting
  13511. * with sourceStartingSampleNum where the removed samples were.
  13512. * Sample descriptions will be copied if necessary and new sample
  13513. * description IDs defined.
  13514. *
  13515. * Parameters:
  13516. *
  13517. * destSampleTable:
  13518. * The sample table to be modified.
  13519. *
  13520. * destStartingSampleNum:
  13521. * The first sample number in destSampleTable to be replaced or
  13522. * deleted, or the sample number at which samples should be
  13523. * inserted.
  13524. *
  13525. * destSampleCount:
  13526. * The number of samples to be removed from destSampleTable. Pass
  13527. * 0 to insert without removing samples.
  13528. *
  13529. * sourceSampleTable:
  13530. * The sample table from which samples should be copied, or NULL
  13531. * to delete samples.
  13532. *
  13533. * sourceStartingSampleNum:
  13534. * The first sample number to be copied. Ignored when deleting
  13535. * samples.
  13536. *
  13537. * sourceSampleCount:
  13538. * The number of samples which should be copied. Pass 0 to delete
  13539. * samples.
  13540. *
  13541. * Availability:
  13542. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13543. * CarbonLib: not available
  13544. * Non-Carbon CFM: not available
  13545. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13546. }
  13547. function QTSampleTableReplaceRange( destSampleTable: QTMutableSampleTableRef; destStartingSampleNum: SInt64; destSampleCount: SInt64; sourceSampleTable: QTSampleTableRef; sourceStartingSampleNum: SInt64; sourceSampleCount: SInt64 ): OSStatus; external name '_QTSampleTableReplaceRange';
  13548. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13549. {
  13550. * QTSampleTableGetDataOffset()
  13551. *
  13552. * Summary:
  13553. * Returns the data offset of a sample.
  13554. *
  13555. * Discussion:
  13556. * Returns 0 if the sample table is NULL, or if the sample number is
  13557. * out of range.
  13558. *
  13559. * Parameters:
  13560. *
  13561. * sampleTable:
  13562. * The sample table.
  13563. *
  13564. * sampleNum:
  13565. * The sample number. The first sample's number is 1.
  13566. *
  13567. * Availability:
  13568. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13569. * CarbonLib: not available
  13570. * Non-Carbon CFM: not available
  13571. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13572. }
  13573. function QTSampleTableGetDataOffset( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): SInt64; external name '_QTSampleTableGetDataOffset';
  13574. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13575. {
  13576. * QTSampleTableGetDataSizePerSample()
  13577. *
  13578. * Summary:
  13579. * Returns the data size of a sample.
  13580. *
  13581. * Discussion:
  13582. * Returns 0 if the sample table is NULL, or if the sample number is
  13583. * out of range.
  13584. *
  13585. * Parameters:
  13586. *
  13587. * sampleTable:
  13588. * The sample table.
  13589. *
  13590. * sampleNum:
  13591. * The sample number. The first sample's number is 1.
  13592. *
  13593. * Availability:
  13594. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13595. * CarbonLib: not available
  13596. * Non-Carbon CFM: not available
  13597. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13598. }
  13599. function QTSampleTableGetDataSizePerSample( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): ByteCount; external name '_QTSampleTableGetDataSizePerSample';
  13600. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13601. {
  13602. * QTSampleTableGetDecodeDuration()
  13603. *
  13604. * Summary:
  13605. * Returns the decode duration of a sample.
  13606. *
  13607. * Discussion:
  13608. * Returns 0 if the sample table is NULL, or if the sample number is
  13609. * out of range.
  13610. *
  13611. * Parameters:
  13612. *
  13613. * sampleTable:
  13614. * The sample table.
  13615. *
  13616. * sampleNum:
  13617. * The sample number. The first sample's number is 1.
  13618. *
  13619. * Availability:
  13620. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13621. * CarbonLib: not available
  13622. * Non-Carbon CFM: not available
  13623. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13624. }
  13625. function QTSampleTableGetDecodeDuration( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): TimeValue64; external name '_QTSampleTableGetDecodeDuration';
  13626. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13627. {
  13628. * QTSampleTableGetDisplayOffset()
  13629. *
  13630. * Summary:
  13631. * Returns the offset from decode time to display time of a sample.
  13632. *
  13633. * Discussion:
  13634. * Returns 0 if the sample table is NULL, or if the sample number is
  13635. * out of range.
  13636. *
  13637. * Parameters:
  13638. *
  13639. * sampleTable:
  13640. * The sample table.
  13641. *
  13642. * sampleNum:
  13643. * The sample number. The first sample's number is 1.
  13644. *
  13645. * Availability:
  13646. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13647. * CarbonLib: not available
  13648. * Non-Carbon CFM: not available
  13649. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13650. }
  13651. function QTSampleTableGetDisplayOffset( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): TimeValue64; external name '_QTSampleTableGetDisplayOffset';
  13652. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13653. {
  13654. * QTSampleTableGetSampleDescriptionID()
  13655. *
  13656. * Summary:
  13657. * Returns the sample description ID of a sample.
  13658. *
  13659. * Discussion:
  13660. * Returns 0 if the sample table is NULL, or if the sample number is
  13661. * out of range.
  13662. *
  13663. * Parameters:
  13664. *
  13665. * sampleTable:
  13666. * The sample table.
  13667. *
  13668. * sampleNum:
  13669. * The sample number. The first sample's number is 1.
  13670. *
  13671. * Availability:
  13672. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13673. * CarbonLib: not available
  13674. * Non-Carbon CFM: not available
  13675. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13676. }
  13677. function QTSampleTableGetSampleDescriptionID( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): QTSampleDescriptionID; external name '_QTSampleTableGetSampleDescriptionID';
  13678. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13679. {
  13680. * QTSampleTableGetSampleFlags()
  13681. *
  13682. * Summary:
  13683. * Returns the media sample flags of a sample.
  13684. *
  13685. * Parameters:
  13686. *
  13687. * sampleTable:
  13688. * The sample table.
  13689. *
  13690. * sampleNum:
  13691. * The sample number. The first sample's number is 1.
  13692. *
  13693. * Availability:
  13694. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13695. * CarbonLib: not available
  13696. * Non-Carbon CFM: not available
  13697. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13698. }
  13699. function QTSampleTableGetSampleFlags( sampleTable: QTSampleTableRef; sampleNum: SInt64 ): MediaSampleFlags; external name '_QTSampleTableGetSampleFlags';
  13700. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13701. {
  13702. * Summary:
  13703. * Properties of sample tables
  13704. }
  13705. const
  13706. {
  13707. * Property class for sample tables.
  13708. }
  13709. kQTPropertyClass_SampleTable = FourCharCode('qtst');
  13710. {
  13711. * The total decode duration of all samples in the sample table.
  13712. * Read-only.
  13713. }
  13714. kQTSampleTablePropertyID_TotalDecodeDuration = FourCharCode('tded'); { TimeValue64, Read }
  13715. {
  13716. * The least display offset in the table. (-50 is a lesser offset
  13717. * than 20.) Read-only.
  13718. }
  13719. kQTSampleTablePropertyID_MinDisplayOffset = FourCharCode('<ddd'); { TimeValue64, Read }
  13720. {
  13721. * The greatest display offset in the table. (20 is a greater offset
  13722. * than -50.) Read-only.
  13723. }
  13724. kQTSampleTablePropertyID_MaxDisplayOffset = FourCharCode('>ddd'); { TimeValue64, Read }
  13725. {
  13726. * The least display time of all samples in the table, relative to
  13727. * the decode time of the first sample in the table. Read-only.
  13728. }
  13729. kQTSampleTablePropertyID_MinRelativeDisplayTime = FourCharCode('<dis'); { TimeValue64, Read }
  13730. {
  13731. * The greatest display time of all samples in the table, relative to
  13732. * the decode time of the first sample in the table. Read-only.
  13733. }
  13734. kQTSampleTablePropertyID_MaxRelativeDisplayTime = FourCharCode('>dis'); { TimeValue64, Read }
  13735. {
  13736. * QTSampleTableGetPropertyInfo()
  13737. *
  13738. * Summary:
  13739. * Returns information about the properties of a sample table.
  13740. *
  13741. * Parameters:
  13742. *
  13743. * sampleTable:
  13744. * The sample table.
  13745. *
  13746. * inPropClass:
  13747. * A property class.
  13748. *
  13749. * inPropID:
  13750. * A property ID.
  13751. *
  13752. * outPropType:
  13753. * A pointer to memory allocated to hold the property type on
  13754. * return. Pass NULL if you do not want this information.
  13755. *
  13756. * outPropValueSize:
  13757. * A pointer to memory allocated to hold the size of the property
  13758. * value on return. Pass NULL if you do not want this information.
  13759. *
  13760. * outPropertyFlags:
  13761. * A pointer to memory allocated to hold property flags on return.
  13762. * Pass NULL if you do not want this information.
  13763. *
  13764. * Availability:
  13765. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13766. * CarbonLib: not available
  13767. * Non-Carbon CFM: not available
  13768. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13769. }
  13770. function QTSampleTableGetPropertyInfo( sampleTable: QTSampleTableRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; outPropType: QTPropertyValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_QTSampleTableGetPropertyInfo';
  13771. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13772. {
  13773. * QTSampleTableGetProperty()
  13774. *
  13775. * Summary:
  13776. * Returns the value of a specific sample table property.
  13777. *
  13778. * Parameters:
  13779. *
  13780. * sampleTable:
  13781. * The sample table.
  13782. *
  13783. * inPropClass:
  13784. * A property class.
  13785. *
  13786. * inPropID:
  13787. * A property ID.
  13788. *
  13789. * inPropValueSize:
  13790. * The size of the buffer allocated to hold the property value.
  13791. *
  13792. * outPropValueAddress:
  13793. * A pointer to the buffer allocated to hold the property value.
  13794. *
  13795. * outPropValueSizeUsed:
  13796. * On return, the actual size of the value written to the buffer.
  13797. *
  13798. * Availability:
  13799. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13800. * CarbonLib: not available
  13801. * Non-Carbon CFM: not available
  13802. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13803. }
  13804. function QTSampleTableGetProperty( sampleTable: QTSampleTableRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_QTSampleTableGetProperty';
  13805. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13806. {
  13807. * QTSampleTableSetProperty()
  13808. *
  13809. * Summary:
  13810. * Sets the value of a specific sample table property.
  13811. *
  13812. * Parameters:
  13813. *
  13814. * sampleTable:
  13815. * The sample table.
  13816. *
  13817. * inPropClass:
  13818. * A property class.
  13819. *
  13820. * inPropID:
  13821. * A property ID.
  13822. *
  13823. * inPropValueSize:
  13824. * The size of the property value.
  13825. *
  13826. * inPropValueAddress:
  13827. * A pointer to the property value.
  13828. *
  13829. * Availability:
  13830. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  13831. * CarbonLib: not available
  13832. * Non-Carbon CFM: not available
  13833. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  13834. }
  13835. function QTSampleTableSetProperty( sampleTable: QTSampleTableRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_QTSampleTableSetProperty';
  13836. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  13837. {***************************************************************************
  13838. * *
  13839. * M E T A D A T A *
  13840. * *
  13841. * QUICKTIME METADATA API OVERVIEW *
  13842. * *
  13843. * A QTMetaDataRef represents a metadata repository consisting of one or *
  13844. * more native metadata containers. The QuickTime MetaData API supports *
  13845. * unified access to and management of these containers. *
  13846. * *
  13847. * Each container may be addressed by its storage format *
  13848. * (kQTMetaDataStorageFormat). Initially, there is support for classic *
  13849. * QuickTime UserData, iTunes metadata, and a richer QuickTime metadata *
  13850. * container format. A QTMetaDataRef may have one or all of these. No *
  13851. * direct access to the native storage containers is provided. *
  13852. * *
  13853. * Each container consists of some number of metadata items. Metadata items *
  13854. * correspond to individually labeled values with characteristics such as *
  13855. * keys, data types, locale information, etc. What are called items here *
  13856. * are sometimes referred to as attributes or properties in other metadata *
  13857. * systems. Here, the focus is on the management of the pieces of metadata *
  13858. * instead of the associations with objects. This parallels existing *
  13859. * management of the classic QuickTime UserData construct. *
  13860. * *
  13861. * QTMetaDataRefs may be associated with the Movie, Track and Media levels. *
  13862. * This parallels UserData placement today but provides access to other *
  13863. * kinds of metadata storage at those levels. *
  13864. * *
  13865. * A metadata item is assigned a runtime identifier (QTMetaDataItem) that *
  13866. * along with the QTMetaDataRef identifies the particular item (and value) *
  13867. * across all native containers managed by the QTMetaDataRef. *
  13868. * *
  13869. * Each item is addressed by a key (or label). The key is not necessarily *
  13870. * unique within its container as it is possible to have multiple items *
  13871. * with the same key (e.g., multiple author items). Operations exist to *
  13872. * enumerate all items or only items with a particular key. *
  13873. * *
  13874. * Because a QTMetaDataRef may provide access to different native metadata *
  13875. * containers with differing key structures (a four-AnsiChar-code for one, a *
  13876. * string for another, etc.), the key structure is also specified. A *
  13877. * QTMetaDataKeyFormat indicates the key structure in APIs accepting keys. *
  13878. * This is also done because some container formats allow multiple key *
  13879. * structures or multiple versions of key structures. *
  13880. * *
  13881. * To allow unified access across disparate containers, a wildcard storage *
  13882. * format can be specified. This will direct operations like searches *
  13883. * across container formats. A special key format called *
  13884. * kQTMetaDataKeyFormatCommon indicates one of a set of common keys that *
  13885. * can be handled by native containers (e.g., copyright). *
  13886. * *
  13887. * So, both of these modes of operation are possible: - access metadata *
  13888. * regardless of native container format through the use a common key - *
  13889. * access metadata natively using a native key format *
  13890. * *
  13891. ***************************************************************************}
  13892. { Opaque reference to a metadata object}
  13893. type
  13894. QTMetaDataRef = ^SInt32; { an opaque type }
  13895. { Opaque identifier for metadata item}
  13896. type
  13897. QTMetaDataItem = UInt64;
  13898. const
  13899. kQTMetaDataItemUninitialized = 0; { Uninitialized metadata item identifier}
  13900. {
  13901. Metadata Storage Format.
  13902. }
  13903. type
  13904. QTMetaDataStorageFormat = OSType;
  13905. const
  13906. kQTMetaDataStorageFormatWildcard = 0; { Wildcard storage format}
  13907. {
  13908. Metadata Key Format.
  13909. }
  13910. type
  13911. QTMetaDataKeyFormat = OSType;
  13912. const
  13913. kQTMetaDataKeyFormatWildcard = 0; { Match any key regardless of key format}
  13914. {***************************************
  13915. * Common Key Format *
  13916. **************************************}
  13917. const
  13918. kQTMetaDataKeyFormatCommon = FourCharCode('comn');
  13919. { Pre-defined meta keys}
  13920. const
  13921. kQTMetaDataCommonKeyAuthor = FourCharCode('auth');
  13922. kQTMetaDataCommonKeyComment = FourCharCode('cmmt');
  13923. kQTMetaDataCommonKeyCopyright = FourCharCode('cprt');
  13924. kQTMetaDataCommonKeyDirector = FourCharCode('dtor');
  13925. kQTMetaDataCommonKeyDisplayName = FourCharCode('name');
  13926. kQTMetaDataCommonKeyInformation = FourCharCode('info');
  13927. kQTMetaDataCommonKeyKeywords = FourCharCode('keyw');
  13928. kQTMetaDataCommonKeyProducer = FourCharCode('prod');
  13929. kQTMetaDataCommonKeyAlbum = FourCharCode('albm');
  13930. kQTMetaDataCommonKeyArtist = FourCharCode('arts');
  13931. kQTMetaDataCommonKeyArtwork = FourCharCode('artw');
  13932. kQTMetaDataCommonKeyChapterName = FourCharCode('chap');
  13933. kQTMetaDataCommonKeyComposer = FourCharCode('comp');
  13934. kQTMetaDataCommonKeyDescription = FourCharCode('desc');
  13935. kQTMetaDataCommonKeyGenre = FourCharCode('genr');
  13936. kQTMetaDataCommonKeyOriginalFormat = FourCharCode('orif');
  13937. kQTMetaDataCommonKeyOriginalSource = FourCharCode('oris');
  13938. kQTMetaDataCommonKeyPerformers = FourCharCode('perf');
  13939. kQTMetaDataCommonKeySoftware = FourCharCode('soft');
  13940. kQTMetaDataCommonKeyWriter = FourCharCode('wrtr');
  13941. {***************************************
  13942. * QuickTime Native Metadata Format *
  13943. **************************************}
  13944. { QTMetaDataStorageFormat type}
  13945. const
  13946. kQTMetaDataStorageFormatQuickTime = FourCharCode('mdta'); { QuickTime metadata storage format}
  13947. { QTMetaDataKeyFormat type}
  13948. const
  13949. kQTMetaDataKeyFormatQuickTime = FourCharCode('mdta'); { Reverse DNS format}
  13950. {***************************************
  13951. * iTunes Native Metadata Format *
  13952. **************************************}
  13953. { QTMetaDataStorageFormat type}
  13954. const
  13955. kQTMetaDataStorageFormatiTunes = FourCharCode('itms'); { iTunes metadata storage format}
  13956. { QTMetaDataKeyFormat type}
  13957. const
  13958. kQTMetaDataKeyFormatiTunesShortForm = FourCharCode('itsk'); { FourCharCode}
  13959. kQTMetaDataKeyFormatiTunesLongForm = FourCharCode('itlk'); { Reverse DNS format}
  13960. { The list of keys for iTunes metadata is TBA.}
  13961. {***************************************
  13962. * UserData Native Format *
  13963. **************************************}
  13964. { QTMetaDataStorageFormat type}
  13965. const
  13966. kQTMetaDataStorageFormatUserData = FourCharCode('udta'); { UserData storage format}
  13967. { QTMetaDataKeyFormat type}
  13968. const
  13969. kQTMetaDataKeyFormatUserData = FourCharCode('udta'); { FourCharCode}
  13970. { The list of keys are the User Data Identifiers (e.g. kUserDataTextAuthor, kUserDataTextCopyright, etc.)}
  13971. {
  13972. Mapping from common keys to user data identifiers:
  13973. kQTMetaDataCommonKeyAuthor -> kUserDataTextAuthor
  13974. kQTMetaDataCommonKeyComment -> kUserDataTextComment
  13975. kQTMetaDataCommonKeyCopyright -> kUserDataTextCopyright
  13976. kQTMetaDataCommonKeyDirector -> kUserDataTextDirector
  13977. kQTMetaDataCommonKeyDisplayName -> kUserDataTextFullName
  13978. kQTMetaDataCommonKeyInformation -> kUserDataTextInformation
  13979. kQTMetaDataCommonKeyKeywords -> kUserDataTextKeywords
  13980. kQTMetaDataCommonKeyProducer -> kUserDataTextProducer
  13981. kQTMetaDataCommonKeyAlbum -> kUserDataTextAlbum
  13982. kQTMetaDataCommonKeyArtist -> kUserDataTextArtist
  13983. kQTMetaDataCommonKeyChapterName -> kUserDataTextChapter
  13984. kQTMetaDataCommonKeyComposer -> kUserDataTextComposer
  13985. kQTMetaDataCommonKeyDescription -> kUserDataTextDescription
  13986. kQTMetaDataCommonKeyGenre -> kUserDataTextGenre
  13987. kQTMetaDataCommonKeyOriginalFormat -> kUserDataTextOriginalFormat
  13988. kQTMetaDataCommonKeyOriginalSource -> kUserDataTextOriginalSource
  13989. kQTMetaDataCommonKeyPerformers -> kUserDataTextPerformers
  13990. kQTMetaDataCommonKeySoftware -> kUserDataTextSoftware
  13991. kQTMetaDataCommonKeyWriter -> kUserDataTextWriter
  13992. }
  13993. {***************************************
  13994. * Metadata Property Class ID *
  13995. **************************************}
  13996. const
  13997. kPropertyClass_MetaData = FourCharCode('meta');
  13998. { Metadata Property ID }
  13999. const
  14000. {
  14001. * kQTMetaDataPropertyID_StorageFormats: The list of storage formats
  14002. * (QTMetaDataStorageFormat) associated with this QTMetaDataRef
  14003. * object. Return - C-style array of OSTypes, Read
  14004. }
  14005. kQTMetaDataPropertyID_StorageFormats = FourCharCode('fmts');
  14006. {
  14007. * kQTMetaDataPropertyID_OwnerType: The owner type associated with
  14008. * this QTMetaDataRef object. Return - OSType (QT_MOVIE_TYPE,
  14009. * QT_TRACK_TYPE, QT_MEDIA_TYPE), Read
  14010. }
  14011. kQTMetaDataPropertyID_OwnerType = FourCharCode('ownt');
  14012. {
  14013. * kQTMetaDataPropertyID_Owner: The owner associated with this
  14014. * QTMetaDataRef object. The QTMetaDataRef object does not
  14015. * necessarily need to have an owner. Return - Movie, Track, or
  14016. * Media, Read
  14017. }
  14018. kQTMetaDataPropertyID_Owner = FourCharCode('ownr');
  14019. {
  14020. Metadata Item Property Class ID
  14021. }
  14022. const
  14023. kPropertyClass_MetaDataItem = FourCharCode('mdit');
  14024. { Metadata Item Property ID }
  14025. const
  14026. {
  14027. * kQTMetaDataItemPropertyID_Value: The value of the metadata item.
  14028. * Return - C-style array of UInt8, Read
  14029. }
  14030. kQTMetaDataItemPropertyID_Value = FourCharCode('valu');
  14031. {
  14032. * kQTMetaDataItemPropertyID_DataType: The value type of the metadata
  14033. * item. Return - UInt32, Read/Write
  14034. }
  14035. kQTMetaDataItemPropertyID_DataType = FourCharCode('dtyp');
  14036. {
  14037. * kQTMetaDataItemPropertyID_StorageFormat: The storage format
  14038. * (QTMetaDataStorageFormat). Return - QTMetaDataStorageFormat, Read
  14039. }
  14040. kQTMetaDataItemPropertyID_StorageFormat = FourCharCode('sfmt');
  14041. {
  14042. * kQTMetaDataItemPropertyID_Key: The key associated with the
  14043. * metadata item. Return - C-style array of UInt8, Read/Write
  14044. }
  14045. kQTMetaDataItemPropertyID_Key = FourCharCode('key ');
  14046. {
  14047. * kQTMetaDataItemPropertyID_KeyFormat: The format of the key used.
  14048. * Return - OSType, Read/Write
  14049. }
  14050. kQTMetaDataItemPropertyID_KeyFormat = FourCharCode('keyf');
  14051. {
  14052. * kQTMetaDataItemPropertyID_Locale: The locale identifier based on
  14053. * the naming convention defined by the International Components for
  14054. * Unicode (ICU). The identifier consists of two pieces of ordered
  14055. * information: a language code and a region code. The language code
  14056. * is based on the ISO 639-1 standard, which defines two-character
  14057. * codes, such as "en" and "fr", for the world's most commonly used
  14058. * languages. If a two-letter code is not available, then ISO 639-2
  14059. * three-letter identifiers are accepted as well, for example "haw"
  14060. * for Hawaiian. The region code is defined by ISO 3166-1. The region
  14061. * code is in all caps and appended, after an underscore, after the
  14062. * language code, for example "en_US", "en_GB", and "fr_FR". Return -
  14063. * C-string, Read/Write
  14064. }
  14065. kQTMetaDataItemPropertyID_Locale = FourCharCode('loc ');
  14066. { Well-known data type code}
  14067. const
  14068. kQTMetaDataTypeBinary = 0;
  14069. kQTMetaDataTypeUTF8 = 1;
  14070. kQTMetaDataTypeUTF16BE = 2;
  14071. kQTMetaDataTypeMacEncodedText = 3;
  14072. kQTMetaDataTypeJPEGImage = 13;
  14073. kQTMetaDataTypePNGImage = 14;
  14074. kQTMetaDataTypeSignedIntegerBE = 21; { The size of the integer is defined by the value size}
  14075. kQTMetaDataTypeUnsignedIntegerBE = 22; { The size of the integer is defined by the value size}
  14076. kQTMetaDataTypeFloat32BE = 23;
  14077. kQTMetaDataTypeFloat64BE = 24;
  14078. kQTMetaDataTypeBMPImage = 27;
  14079. kQTMetaDataTypeQuickTimeMetaData = 28;
  14080. {***************************************
  14081. * QTMetaDataRef Access *
  14082. **************************************}
  14083. {
  14084. * QTCopyMovieMetaData()
  14085. *
  14086. * Availability:
  14087. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14088. * CarbonLib: not available
  14089. * Non-Carbon CFM: not available
  14090. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14091. }
  14092. function QTCopyMovieMetaData( inMovie: Movie; var outMetaData: QTMetaDataRef ): OSStatus; external name '_QTCopyMovieMetaData';
  14093. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14094. {
  14095. * QTCopyTrackMetaData()
  14096. *
  14097. * Availability:
  14098. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14099. * CarbonLib: not available
  14100. * Non-Carbon CFM: not available
  14101. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14102. }
  14103. function QTCopyTrackMetaData( inTrack: Track; var outMetaData: QTMetaDataRef ): OSStatus; external name '_QTCopyTrackMetaData';
  14104. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14105. {
  14106. * QTCopyMediaMetaData()
  14107. *
  14108. * Availability:
  14109. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14110. * CarbonLib: not available
  14111. * Non-Carbon CFM: not available
  14112. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14113. }
  14114. function QTCopyMediaMetaData( inMedia: Media; var outMetaData: QTMetaDataRef ): OSStatus; external name '_QTCopyMediaMetaData';
  14115. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14116. {
  14117. * QTMetaDataRetain()
  14118. *
  14119. * Availability:
  14120. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14121. * CarbonLib: not available
  14122. * Non-Carbon CFM: not available
  14123. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14124. }
  14125. function QTMetaDataRetain( inMetaData: QTMetaDataRef ): QTMetaDataRef; external name '_QTMetaDataRetain';
  14126. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14127. {
  14128. * QTMetaDataRelease()
  14129. *
  14130. * Availability:
  14131. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14132. * CarbonLib: not available
  14133. * Non-Carbon CFM: not available
  14134. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14135. }
  14136. procedure QTMetaDataRelease( inMetaData: QTMetaDataRef ); external name '_QTMetaDataRelease';
  14137. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14138. {
  14139. * QTMetaDataCreateFromBuffer()
  14140. *
  14141. * Availability:
  14142. * Mac OS X: in version 10.5 (or QuickTime 7.2) and later in QuickTime.framework
  14143. * CarbonLib: not available
  14144. * Non-Carbon CFM: not available
  14145. }
  14146. function QTMetaDataCreateFromBuffer( const (*var*) inBufferPtr: UInt8; inBufferSize: ByteCount; var outMetaData: QTMetaDataRef ): OSStatus; external name '_QTMetaDataCreateFromBuffer';
  14147. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  14148. {
  14149. * QTMetaDataGetBytes()
  14150. *
  14151. * Availability:
  14152. * Mac OS X: in version 10.5 (or QuickTime 7.2) and later in QuickTime.framework
  14153. * CarbonLib: not available
  14154. * Non-Carbon CFM: not available
  14155. }
  14156. function QTMetaDataGetBytes( inMetaData: QTMetaDataRef; inBufferSize: ByteCount; var inBufferPtr: UInt8; var outBufferSizeNeeded: ByteCount ): OSStatus; external name '_QTMetaDataGetBytes';
  14157. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  14158. {***************************************
  14159. * Metadata Item Routines *
  14160. **************************************}
  14161. {
  14162. * QTMetaDataGetPropertyInfo()
  14163. *
  14164. * Availability:
  14165. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14166. * CarbonLib: not available
  14167. * Non-Carbon CFM: not available
  14168. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14169. }
  14170. function QTMetaDataGetPropertyInfo( inMetaData: QTMetaDataRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropFlags: UInt32 ): OSStatus; external name '_QTMetaDataGetPropertyInfo';
  14171. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14172. {
  14173. * QTMetaDataGetProperty()
  14174. *
  14175. * Availability:
  14176. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14177. * CarbonLib: not available
  14178. * Non-Carbon CFM: not available
  14179. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14180. }
  14181. function QTMetaDataGetProperty( inMetaData: QTMetaDataRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSStatus; external name '_QTMetaDataGetProperty';
  14182. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14183. {
  14184. * QTMetaDataSetProperty()
  14185. *
  14186. * Availability:
  14187. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14188. * CarbonLib: not available
  14189. * Non-Carbon CFM: not available
  14190. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14191. }
  14192. function QTMetaDataSetProperty( inMetaData: QTMetaDataRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_QTMetaDataSetProperty';
  14193. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14194. {
  14195. * QTMetaDataGetItemValue()
  14196. *
  14197. * Availability:
  14198. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14199. * CarbonLib: not available
  14200. * Non-Carbon CFM: not available
  14201. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14202. }
  14203. function QTMetaDataGetItemValue( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem; var outValuePtr: UInt8; inValueSize: ByteCount; var outActualSize: ByteCount ): OSStatus; external name '_QTMetaDataGetItemValue';
  14204. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14205. {
  14206. * QTMetaDataGetNextItem()
  14207. *
  14208. * Availability:
  14209. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14210. * CarbonLib: not available
  14211. * Non-Carbon CFM: not available
  14212. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14213. }
  14214. function QTMetaDataGetNextItem( inMetaData: QTMetaDataRef; inMetaDataFormat: QTMetaDataStorageFormat; inCurrentItem: QTMetaDataItem; inKeyFormat: QTMetaDataKeyFormat; const (*var*) inKeyPtr: UInt8; inKeySize: ByteCount; var outNextItem: QTMetaDataItem ): OSStatus; external name '_QTMetaDataGetNextItem';
  14215. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14216. {
  14217. * QTMetaDataGetItemPropertyInfo()
  14218. *
  14219. * Availability:
  14220. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14221. * CarbonLib: not available
  14222. * Non-Carbon CFM: not available
  14223. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14224. }
  14225. function QTMetaDataGetItemPropertyInfo( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropFlags: UInt32 ): OSStatus; external name '_QTMetaDataGetItemPropertyInfo';
  14226. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14227. {
  14228. * QTMetaDataGetItemProperty()
  14229. *
  14230. * Availability:
  14231. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14232. * CarbonLib: not available
  14233. * Non-Carbon CFM: not available
  14234. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14235. }
  14236. function QTMetaDataGetItemProperty( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSStatus; external name '_QTMetaDataGetItemProperty';
  14237. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14238. {
  14239. * QTMetaDataSetItemProperty()
  14240. *
  14241. * Availability:
  14242. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14243. * CarbonLib: not available
  14244. * Non-Carbon CFM: not available
  14245. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14246. }
  14247. function QTMetaDataSetItemProperty( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_QTMetaDataSetItemProperty';
  14248. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14249. {
  14250. * QTMetaDataGetItemCountWithKey()
  14251. *
  14252. * Availability:
  14253. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14254. * CarbonLib: not available
  14255. * Non-Carbon CFM: not available
  14256. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14257. }
  14258. function QTMetaDataGetItemCountWithKey( inMetaData: QTMetaDataRef; inMetaDataFormat: QTMetaDataStorageFormat; inKeyFormat: QTMetaDataKeyFormat; const (*var*) inKeyPtr: UInt8; inKeySize: ByteCount; var outCount: ItemCount ): OSStatus; external name '_QTMetaDataGetItemCountWithKey';
  14259. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14260. {
  14261. * QTMetaDataAddItem()
  14262. *
  14263. * Availability:
  14264. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14265. * CarbonLib: not available
  14266. * Non-Carbon CFM: not available
  14267. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14268. }
  14269. function QTMetaDataAddItem( inMetaData: QTMetaDataRef; inMetaDataFormat: QTMetaDataStorageFormat; inKeyFormat: QTMetaDataKeyFormat; const (*var*) inKeyPtr: UInt8; inKeySize: ByteCount; const (*var*) inValuePtr: UInt8; inValueSize: ByteCount; inDataType: UInt32; var outItem: QTMetaDataItem ): OSStatus; external name '_QTMetaDataAddItem';
  14270. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14271. {
  14272. * QTMetaDataSetItem()
  14273. *
  14274. * Availability:
  14275. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14276. * CarbonLib: not available
  14277. * Non-Carbon CFM: not available
  14278. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14279. }
  14280. function QTMetaDataSetItem( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem; var inValuePtr: UInt8; inValueSize: ByteCount; inDataType: UInt32 ): OSStatus; external name '_QTMetaDataSetItem';
  14281. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14282. {
  14283. * QTMetaDataRemoveItem()
  14284. *
  14285. * Availability:
  14286. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14287. * CarbonLib: not available
  14288. * Non-Carbon CFM: not available
  14289. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14290. }
  14291. function QTMetaDataRemoveItem( inMetaData: QTMetaDataRef; inItem: QTMetaDataItem ): OSStatus; external name '_QTMetaDataRemoveItem';
  14292. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14293. {
  14294. * QTMetaDataRemoveItemsWithKey()
  14295. *
  14296. * Availability:
  14297. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14298. * CarbonLib: not available
  14299. * Non-Carbon CFM: not available
  14300. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  14301. }
  14302. function QTMetaDataRemoveItemsWithKey( inMetaData: QTMetaDataRef; inMetaDataFormat: QTMetaDataStorageFormat; inKeyFormat: QTMetaDataKeyFormat; const (*var*) inKeyPtr: UInt8; inKeySize: ByteCount ): OSStatus; external name '_QTMetaDataRemoveItemsWithKey';
  14303. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14304. {
  14305. * MusicMediaGetIndexedTunePlayer()
  14306. *
  14307. * Availability:
  14308. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14309. * CarbonLib: in CarbonLib 1.0 and later
  14310. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  14311. * Windows: in qtmlClient.lib 3.0 and later
  14312. }
  14313. function MusicMediaGetIndexedTunePlayer( ti: ComponentInstance; sampleDescIndex: SIGNEDLONG; var tp: ComponentInstance ): ComponentResult; external name '_MusicMediaGetIndexedTunePlayer';
  14314. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14315. type
  14316. QTBandwidthUsageRecordPtr = ^OpaqueQTBandwidthUsageRecordPtr; { an opaque type }
  14317. OpaqueQTBandwidthUsageRecordPtr = record end;
  14318. QTBandwidthReference = ^QTBandwidthUsageRecordPtr;
  14319. QTBandwidthReferencePtr = ^QTBandwidthReference; { when a var xx:QTBandwidthReference parameter can be nil, it is changed to xx: QTBandwidthReferencePtr }
  14320. QTScheduledBandwidthUsageRecordPtr = ^OpaqueQTScheduledBandwidthUsageRecordPtr; { an opaque type }
  14321. OpaqueQTScheduledBandwidthUsageRecordPtr = record end;
  14322. QTScheduledBandwidthReference = ^QTScheduledBandwidthUsageRecordPtr;
  14323. QTScheduledBandwidthReferencePtr = ^QTScheduledBandwidthReference; { when a var xx:QTScheduledBandwidthReference parameter can be nil, it is changed to xx: QTScheduledBandwidthReferencePtr }
  14324. const
  14325. BandwidthManagementPrefsType = FourCharCode('bwmg');
  14326. type
  14327. BandwidthManagementPrefsRecordPtr = ^BandwidthManagementPrefsRecord;
  14328. BandwidthManagementPrefsRecord = record
  14329. overrideConnectionSpeedForBandwidth: Boolean;
  14330. end;
  14331. type
  14332. BandwidthManagementPrefsPtr = BandwidthManagementPrefsRecordPtr;
  14333. BandwidthManagementPrefsHandle = ^BandwidthManagementPrefsPtr;
  14334. const
  14335. kQTBandwidthNotifyNeedToStop = 1 shl 0;
  14336. kQTBandwidthNotifyGoodToGo = 1 shl 1;
  14337. kQTBandwidthChangeRequest = 1 shl 2;
  14338. kQTBandwidthQueueRequest = 1 shl 3;
  14339. kQTBandwidthScheduledRequest = 1 shl 4;
  14340. kQTBandwidthVoluntaryRelease = 1 shl 5;
  14341. type
  14342. QTBandwidthNotificationProcPtr = function( flags: SIGNEDLONG; reserved: UnivPtr; refcon: UnivPtr ): OSErr;
  14343. QTScheduledBandwidthRecordPtr = ^QTScheduledBandwidthRecord;
  14344. QTScheduledBandwidthRecord = record
  14345. recordSize: SIGNEDLONG; { total number of bytes in QTScheduledBandwidthRecord}
  14346. priority: SIGNEDLONG;
  14347. dataRate: SIGNEDLONG;
  14348. startTime: CompTimeValue; { bandwidth usage start time}
  14349. duration: CompTimeValue; { duration of bandwidth usage (0 if unknown)}
  14350. prerollDuration: CompTimeValue; { time for negotiation before startTime (0 if unknown)}
  14351. scale: TimeScale; { timescale of value/duration/prerollDuration fields}
  14352. base: TimeBase; { timebase}
  14353. end;
  14354. type
  14355. QTScheduledBandwidthPtr = QTScheduledBandwidthRecordPtr;
  14356. QTScheduledBandwidthHandle = ^QTScheduledBandwidthPtr;
  14357. QTBandwidthNotificationUPP = QTBandwidthNotificationProcPtr;
  14358. {
  14359. * QTBandwidthRequest() *** DEPRECATED ***
  14360. *
  14361. * Deprecated:
  14362. * No longer need to call bandwidth management functions.
  14363. *
  14364. * Availability:
  14365. * Mac OS X: in version 10.0 and later in QuickTime.framework but deprecated in 10.4
  14366. * CarbonLib: in CarbonLib 1.0.2 and later
  14367. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  14368. * Windows: in qtmlClient.lib 4.0 and later
  14369. }
  14370. function QTBandwidthRequest( priority: SIGNEDLONG; callback: QTBandwidthNotificationUPP; refcon: {const} UnivPtr; var bwRef: QTBandwidthReference; flags: SIGNEDLONG ): OSErr; external name '_QTBandwidthRequest';
  14371. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14372. {
  14373. * QTBandwidthRequestForTimeBase() *** DEPRECATED ***
  14374. *
  14375. * Deprecated:
  14376. * No longer need to call bandwidth management functions.
  14377. *
  14378. * Availability:
  14379. * Mac OS X: in version 10.0 and later in QuickTime.framework but deprecated in 10.4
  14380. * CarbonLib: in CarbonLib 1.1 and later
  14381. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  14382. * Windows: in qtmlClient.lib 4.1 and later
  14383. }
  14384. function QTBandwidthRequestForTimeBase( tb: TimeBase; priority: SIGNEDLONG; callback: QTBandwidthNotificationUPP; refcon: {const} UnivPtr; var bwRef: QTBandwidthReference; flags: SIGNEDLONG ): OSErr; external name '_QTBandwidthRequestForTimeBase';
  14385. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14386. {
  14387. * QTBandwidthRelease() *** DEPRECATED ***
  14388. *
  14389. * Deprecated:
  14390. * No longer need to call bandwidth management functions.
  14391. *
  14392. * Availability:
  14393. * Mac OS X: in version 10.0 and later in QuickTime.framework but deprecated in 10.4
  14394. * CarbonLib: in CarbonLib 1.0.2 and later
  14395. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  14396. * Windows: in qtmlClient.lib 4.0 and later
  14397. }
  14398. function QTBandwidthRelease( bwRef: QTBandwidthReference; flags: SIGNEDLONG ): OSErr; external name '_QTBandwidthRelease';
  14399. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14400. {
  14401. * QTScheduledBandwidthRequest() *** DEPRECATED ***
  14402. *
  14403. * Deprecated:
  14404. * No longer need to call bandwidth management functions.
  14405. *
  14406. * Availability:
  14407. * Mac OS X: in version 10.0 and later in QuickTime.framework but deprecated in 10.4
  14408. * CarbonLib: in CarbonLib 1.1 and later
  14409. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  14410. * Windows: in qtmlClient.lib 4.1 and later
  14411. }
  14412. function QTScheduledBandwidthRequest( scheduleRec: QTScheduledBandwidthPtr; notificationCallback: QTBandwidthNotificationUPP; refcon: UnivPtr; var sbwRef: QTScheduledBandwidthReference; flags: SIGNEDLONG ): OSErr; external name '_QTScheduledBandwidthRequest';
  14413. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14414. {
  14415. * QTScheduledBandwidthRelease() *** DEPRECATED ***
  14416. *
  14417. * Deprecated:
  14418. * No longer need to call bandwidth management functions.
  14419. *
  14420. * Availability:
  14421. * Mac OS X: in version 10.0 and later in QuickTime.framework but deprecated in 10.4
  14422. * CarbonLib: in CarbonLib 1.1 and later
  14423. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  14424. * Windows: in qtmlClient.lib 4.1 and later
  14425. }
  14426. function QTScheduledBandwidthRelease( sbwRef: QTScheduledBandwidthReference; flags: SIGNEDLONG ): OSErr; external name '_QTScheduledBandwidthRelease';
  14427. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14428. {
  14429. * NewMCActionFilterUPP()
  14430. *
  14431. * Availability:
  14432. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14433. * CarbonLib: in CarbonLib 1.0 and later
  14434. * Non-Carbon CFM: available as macro/inline
  14435. }
  14436. function NewMCActionFilterUPP( userRoutine: MCActionFilterProcPtr ): MCActionFilterUPP; external name '_NewMCActionFilterUPP';
  14437. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14438. {
  14439. * NewMCActionFilterWithRefConUPP()
  14440. *
  14441. * Availability:
  14442. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14443. * CarbonLib: in CarbonLib 1.0 and later
  14444. * Non-Carbon CFM: available as macro/inline
  14445. }
  14446. function NewMCActionFilterWithRefConUPP( userRoutine: MCActionFilterWithRefConProcPtr ): MCActionFilterWithRefConUPP; external name '_NewMCActionFilterWithRefConUPP';
  14447. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14448. {
  14449. * NewMCActionNotificationUPP()
  14450. *
  14451. * Availability:
  14452. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14453. * CarbonLib: not available
  14454. * Non-Carbon CFM: available as macro/inline
  14455. }
  14456. function NewMCActionNotificationUPP( userRoutine: MCActionNotificationProcPtr ): MCActionNotificationUPP; external name '_NewMCActionNotificationUPP';
  14457. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14458. {
  14459. * NewQTMoviePropertyListenerUPP()
  14460. *
  14461. * Availability:
  14462. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14463. * CarbonLib: in CarbonLib 9.9 and later
  14464. * Non-Carbon CFM: available as macro/inline
  14465. }
  14466. function NewQTMoviePropertyListenerUPP( userRoutine: QTMoviePropertyListenerProcPtr ): QTMoviePropertyListenerUPP; external name '_NewQTMoviePropertyListenerUPP';
  14467. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14468. {
  14469. * NewQTTrackPropertyListenerUPP()
  14470. *
  14471. * Availability:
  14472. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14473. * CarbonLib: in CarbonLib 9.9 and later
  14474. * Non-Carbon CFM: available as macro/inline
  14475. }
  14476. function NewQTTrackPropertyListenerUPP( userRoutine: QTTrackPropertyListenerProcPtr ): QTTrackPropertyListenerUPP; external name '_NewQTTrackPropertyListenerUPP';
  14477. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14478. {
  14479. * NewQTBandwidthNotificationUPP()
  14480. *
  14481. * Availability:
  14482. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14483. * CarbonLib: in CarbonLib 1.0.2 and later
  14484. * Non-Carbon CFM: available as macro/inline
  14485. }
  14486. function NewQTBandwidthNotificationUPP( userRoutine: QTBandwidthNotificationProcPtr ): QTBandwidthNotificationUPP; external name '_NewQTBandwidthNotificationUPP';
  14487. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14488. {
  14489. * DisposeMCActionFilterUPP()
  14490. *
  14491. * Availability:
  14492. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14493. * CarbonLib: in CarbonLib 1.0 and later
  14494. * Non-Carbon CFM: available as macro/inline
  14495. }
  14496. procedure DisposeMCActionFilterUPP( userUPP: MCActionFilterUPP ); external name '_DisposeMCActionFilterUPP';
  14497. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14498. {
  14499. * DisposeMCActionFilterWithRefConUPP()
  14500. *
  14501. * Availability:
  14502. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14503. * CarbonLib: in CarbonLib 1.0 and later
  14504. * Non-Carbon CFM: available as macro/inline
  14505. }
  14506. procedure DisposeMCActionFilterWithRefConUPP( userUPP: MCActionFilterWithRefConUPP ); external name '_DisposeMCActionFilterWithRefConUPP';
  14507. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14508. {
  14509. * DisposeMCActionNotificationUPP()
  14510. *
  14511. * Availability:
  14512. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14513. * CarbonLib: not available
  14514. * Non-Carbon CFM: available as macro/inline
  14515. }
  14516. procedure DisposeMCActionNotificationUPP( userUPP: MCActionNotificationUPP ); external name '_DisposeMCActionNotificationUPP';
  14517. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14518. {
  14519. * DisposeQTMoviePropertyListenerUPP()
  14520. *
  14521. * Availability:
  14522. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14523. * CarbonLib: in CarbonLib 9.9 and later
  14524. * Non-Carbon CFM: available as macro/inline
  14525. }
  14526. procedure DisposeQTMoviePropertyListenerUPP( userUPP: QTMoviePropertyListenerUPP ); external name '_DisposeQTMoviePropertyListenerUPP';
  14527. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14528. {
  14529. * DisposeQTTrackPropertyListenerUPP()
  14530. *
  14531. * Availability:
  14532. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14533. * CarbonLib: in CarbonLib 9.9 and later
  14534. * Non-Carbon CFM: available as macro/inline
  14535. }
  14536. procedure DisposeQTTrackPropertyListenerUPP( userUPP: QTTrackPropertyListenerUPP ); external name '_DisposeQTTrackPropertyListenerUPP';
  14537. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14538. {
  14539. * DisposeQTBandwidthNotificationUPP()
  14540. *
  14541. * Availability:
  14542. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14543. * CarbonLib: in CarbonLib 1.0.2 and later
  14544. * Non-Carbon CFM: available as macro/inline
  14545. }
  14546. procedure DisposeQTBandwidthNotificationUPP( userUPP: QTBandwidthNotificationUPP ); external name '_DisposeQTBandwidthNotificationUPP';
  14547. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14548. {
  14549. * InvokeMCActionFilterUPP()
  14550. *
  14551. * Availability:
  14552. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14553. * CarbonLib: in CarbonLib 1.0 and later
  14554. * Non-Carbon CFM: available as macro/inline
  14555. }
  14556. function InvokeMCActionFilterUPP( mc: MovieController; var action: SInt16; params: UnivPtr; userUPP: MCActionFilterUPP ): Boolean; external name '_InvokeMCActionFilterUPP';
  14557. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14558. {
  14559. * InvokeMCActionFilterWithRefConUPP()
  14560. *
  14561. * Availability:
  14562. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14563. * CarbonLib: in CarbonLib 1.0 and later
  14564. * Non-Carbon CFM: available as macro/inline
  14565. }
  14566. function InvokeMCActionFilterWithRefConUPP( mc: MovieController; action: SInt16; params: UnivPtr; refCon: SIGNEDLONG; userUPP: MCActionFilterWithRefConUPP ): Boolean; external name '_InvokeMCActionFilterWithRefConUPP';
  14567. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  14568. {
  14569. * InvokeMCActionNotificationUPP()
  14570. *
  14571. * Availability:
  14572. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14573. * CarbonLib: not available
  14574. * Non-Carbon CFM: available as macro/inline
  14575. }
  14576. function InvokeMCActionNotificationUPP( mc: MovieController; action: SInt16; params: UnivPtr; inFlags: UInt32; var outFlags: UInt32; refCon: UnivPtr; userUPP: MCActionNotificationUPP ): Boolean; external name '_InvokeMCActionNotificationUPP';
  14577. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14578. {
  14579. * InvokeQTMoviePropertyListenerUPP()
  14580. *
  14581. * Availability:
  14582. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  14583. * CarbonLib: in CarbonLib 9.9 and later
  14584. * Non-Carbon CFM: available as macro/inline
  14585. }
  14586. procedure InvokeQTMoviePropertyListenerUPP( inMovie: Movie; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inUserData: UnivPtr; userUPP: QTMoviePropertyListenerUPP ); external name '_InvokeQTMoviePropertyListenerUPP';
  14587. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  14588. {
  14589. * InvokeQTTrackPropertyListenerUPP()
  14590. *
  14591. * Availability:
  14592. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  14593. * CarbonLib: in CarbonLib 9.9 and later
  14594. * Non-Carbon CFM: available as macro/inline
  14595. }
  14596. procedure InvokeQTTrackPropertyListenerUPP( inTrack: Track; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inUserData: UnivPtr; userUPP: QTTrackPropertyListenerUPP ); external name '_InvokeQTTrackPropertyListenerUPP';
  14597. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  14598. {
  14599. * InvokeQTBandwidthNotificationUPP()
  14600. *
  14601. * Availability:
  14602. * Mac OS X: in version 10.0 and later in QuickTime.framework
  14603. * CarbonLib: in CarbonLib 1.0.2 and later
  14604. * Non-Carbon CFM: available as macro/inline
  14605. }
  14606. function InvokeQTBandwidthNotificationUPP( flags: SIGNEDLONG; reserved: UnivPtr; refcon: UnivPtr; userUPP: QTBandwidthNotificationUPP ): OSErr; external name '_InvokeQTBandwidthNotificationUPP';
  14607. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  14608. { UPP call backs }
  14609. { selectors for component calls }
  14610. const
  14611. kVideoMediaResetStatisticsSelect = $0105;
  14612. kVideoMediaGetStatisticsSelect = $0106;
  14613. kVideoMediaGetStallCountSelect = $010E;
  14614. kVideoMediaSetCodecParameterSelect = $010F;
  14615. kVideoMediaGetCodecParameterSelect = $0110;
  14616. kTextMediaSetTextProcSelect = $0101;
  14617. kTextMediaAddTextSampleSelect = $0102;
  14618. kTextMediaAddTESampleSelect = $0103;
  14619. kTextMediaAddHiliteSampleSelect = $0104;
  14620. kTextMediaDrawRawSelect = $0109;
  14621. kTextMediaSetTextPropertySelect = $010A;
  14622. kTextMediaRawSetupSelect = $010B;
  14623. kTextMediaRawIdleSelect = $010C;
  14624. kTextMediaGetTextPropertySelect = $010D;
  14625. kTextMediaFindNextTextSelect = $0105;
  14626. kTextMediaHiliteTextSampleSelect = $0106;
  14627. kTextMediaSetTextSampleDataSelect = $0107;
  14628. kSpriteMediaSetPropertySelect = $0101;
  14629. kSpriteMediaGetPropertySelect = $0102;
  14630. kSpriteMediaHitTestSpritesSelect = $0103;
  14631. kSpriteMediaCountSpritesSelect = $0104;
  14632. kSpriteMediaCountImagesSelect = $0105;
  14633. kSpriteMediaGetIndImageDescriptionSelect = $0106;
  14634. kSpriteMediaGetDisplayedSampleNumberSelect = $0107;
  14635. kSpriteMediaGetSpriteNameSelect = $0108;
  14636. kSpriteMediaGetImageNameSelect = $0109;
  14637. kSpriteMediaSetSpritePropertySelect = $010A;
  14638. kSpriteMediaGetSpritePropertySelect = $010B;
  14639. kSpriteMediaHitTestAllSpritesSelect = $010C;
  14640. kSpriteMediaHitTestOneSpriteSelect = $010D;
  14641. kSpriteMediaSpriteIndexToIDSelect = $010E;
  14642. kSpriteMediaSpriteIDToIndexSelect = $010F;
  14643. kSpriteMediaGetSpriteActionsForQTEventSelect = $0110;
  14644. kSpriteMediaSetActionVariableSelect = $0111;
  14645. kSpriteMediaGetActionVariableSelect = $0112;
  14646. kSpriteMediaGetIndImagePropertySelect = $0113;
  14647. kSpriteMediaNewSpriteSelect = $0114;
  14648. kSpriteMediaDisposeSpriteSelect = $0115;
  14649. kSpriteMediaSetActionVariableToStringSelect = $0116;
  14650. kSpriteMediaGetActionVariableAsStringSelect = $0117;
  14651. kSpriteMediaNewImageSelect = $011B;
  14652. kSpriteMediaDisposeImageSelect = $011C;
  14653. kSpriteMediaImageIndexToIDSelect = $011D;
  14654. kSpriteMediaImageIDToIndexSelect = $011E;
  14655. kFlashMediaSetPanSelect = $0101;
  14656. kFlashMediaSetZoomSelect = $0102;
  14657. kFlashMediaSetZoomRectSelect = $0103;
  14658. kFlashMediaGetRefConBoundsSelect = $0104;
  14659. kFlashMediaGetRefConIDSelect = $0105;
  14660. kFlashMediaIDToRefConSelect = $0106;
  14661. kFlashMediaGetDisplayedFrameNumberSelect = $0107;
  14662. kFlashMediaFrameNumberToMovieTimeSelect = $0108;
  14663. kFlashMediaFrameLabelToMovieTimeSelect = $0109;
  14664. kFlashMediaGetFlashVariableSelect = $010A;
  14665. kFlashMediaSetFlashVariableSelect = $010B;
  14666. kFlashMediaDoButtonActionsSelect = $010C;
  14667. kFlashMediaGetSupportedSwfVersionSelect = $010D;
  14668. kMovieMediaGetChildDoMCActionCallbackSelect = $0102;
  14669. kMovieMediaGetDoMCActionCallbackSelect = $0103;
  14670. kMovieMediaGetCurrentMoviePropertySelect = $0104;
  14671. kMovieMediaGetCurrentTrackPropertySelect = $0105;
  14672. kMovieMediaGetChildMovieDataReferenceSelect = $0106;
  14673. kMovieMediaSetChildMovieDataReferenceSelect = $0107;
  14674. kMovieMediaLoadChildMovieFromDataReferenceSelect = $0108;
  14675. kMedia3DGetNamedObjectListSelect = $0101;
  14676. kMedia3DGetRendererListSelect = $0102;
  14677. kMedia3DGetCurrentGroupSelect = $0103;
  14678. kMedia3DTranslateNamedObjectToSelect = $0104;
  14679. kMedia3DScaleNamedObjectToSelect = $0105;
  14680. kMedia3DRotateNamedObjectToSelect = $0106;
  14681. kMedia3DSetCameraDataSelect = $0107;
  14682. kMedia3DGetCameraDataSelect = $0108;
  14683. kMedia3DSetCameraAngleAspectSelect = $0109;
  14684. kMedia3DGetCameraAngleAspectSelect = $010A;
  14685. kMedia3DSetCameraRangeSelect = $010D;
  14686. kMedia3DGetCameraRangeSelect = $010E;
  14687. kMedia3DGetViewObjectSelect = $010F;
  14688. kMCSetMovieSelect = $0002;
  14689. kMCGetIndMovieSelect = $0005;
  14690. kMCRemoveAllMoviesSelect = $0006;
  14691. kMCRemoveAMovieSelect = $0003;
  14692. kMCRemoveMovieSelect = $0006;
  14693. kMCIsPlayerEventSelect = $0007;
  14694. kMCSetActionFilterSelect = $0008;
  14695. kMCDoActionSelect = $0009;
  14696. kMCSetControllerAttachedSelect = $000A;
  14697. kMCIsControllerAttachedSelect = $000B;
  14698. kMCSetControllerPortSelect = $000C;
  14699. kMCGetControllerPortSelect = $000D;
  14700. kMCSetVisibleSelect = $000E;
  14701. kMCGetVisibleSelect = $000F;
  14702. kMCGetControllerBoundsRectSelect = $0010;
  14703. kMCSetControllerBoundsRectSelect = $0011;
  14704. kMCGetControllerBoundsRgnSelect = $0012;
  14705. kMCGetWindowRgnSelect = $0013;
  14706. kMCMovieChangedSelect = $0014;
  14707. kMCSetDurationSelect = $0015;
  14708. kMCGetCurrentTimeSelect = $0016;
  14709. kMCNewAttachedControllerSelect = $0017;
  14710. kMCDrawSelect = $0018;
  14711. kMCActivateSelect = $0019;
  14712. kMCIdleSelect = $001A;
  14713. kMCKeySelect = $001B;
  14714. kMCClickSelect = $001C;
  14715. kMCEnableEditingSelect = $001D;
  14716. kMCIsEditingEnabledSelect = $001E;
  14717. kMCCopySelect = $001F;
  14718. kMCCutSelect = $0020;
  14719. kMCPasteSelect = $0021;
  14720. kMCClearSelect = $0022;
  14721. kMCUndoSelect = $0023;
  14722. kMCPositionControllerSelect = $0024;
  14723. kMCGetControllerInfoSelect = $0025;
  14724. kMCSetClipSelect = $0028;
  14725. kMCGetClipSelect = $0029;
  14726. kMCDrawBadgeSelect = $002A;
  14727. kMCSetUpEditMenuSelect = $002B;
  14728. kMCGetMenuStringSelect = $002C;
  14729. kMCSetActionFilterWithRefConSelect = $002D;
  14730. kMCPtInControllerSelect = $002E;
  14731. kMCInvalidateSelect = $002F;
  14732. kMCAdjustCursorSelect = $0030;
  14733. kMCGetInterfaceElementSelect = $0031;
  14734. kMCGetDoActionsProcSelect = $0032;
  14735. kMCAddMovieSegmentSelect = $0033;
  14736. kMCTrimMovieSegmentSelect = $0034;
  14737. kMCSetIdleManagerSelect = $0035;
  14738. kMCSetControllerCapabilitiesSelect = $0036;
  14739. kMusicMediaGetIndexedTunePlayerSelect = $0101;
  14740. {$endc} {not TARGET_CPU_64}
  14741. {$endc} {TARGET_OS_MAC}
  14742. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  14743. end.
  14744. {$endc} {not MACOSALLINCLUDE}