	// create and add the input map - this tells the effect
	// which tracks in the movie are affected
	
		long				myRefIndex1, myRefIndex2;
		QTAtomContainer		myInputMap;
		QTAtom				myInputAtom;
		OSType				myInputType;
		long				myLong;

		QTNewAtomContainer(&myInputMap);

		// first input
		if (videoTracks[0]) {
		
			// setup a reference between our effect and the first input track
			AddTrackReference(videoTrackFX, videoTracks[0], kTrackModifierReference, &myRefIndex1);
			QTInsertChild(myInputMap, kParentAtomIsContainer, kTrackModifierInput, myRefIndex1, 0, 0, NULL, &myInputAtom);
	
			// add modifier track type ('vide')
			myInputType = EndianU32_NtoB(kTrackModifierTypeImage);
			QTInsertChild(myInputMap, myInputAtom, kTrackModifierType, 1, 0, sizeof(myInputType), &myInputType, NULL);
	
			// source name for first source - there is a corresponding
			// kEffectSourceName atom in the effect description to 
			// identify the source
			myLong = EndianU32_NtoB(kSourceOneName);
			QTInsertChild(myInputMap, myInputAtom, kEffectDataSourceType, 1, 0, sizeof(myLong), &myLong, NULL);
		}

		// second input
		if (videoTracks[1]) {

			// setup a reference between our effect and the second input track
			AddTrackReference(videoTrackFX, videoTracks[1], kTrackModifierReference, &myRefIndex2);
			QTInsertChild(myInputMap, kParentAtomIsContainer, kTrackModifierInput, myRefIndex2, 0, 0, NULL, &myInputAtom);
	
			//  modifier track type ('vide')
			myInputType = EndianU32_NtoB(kTrackModifierTypeImage);
			QTInsertChild(myInputMap, myInputAtom, kTrackModifierType, 1, 0, sizeof(myInputType), &myInputType, NULL);
	
			// source name for second source - there is a corresponding
			// kEffectSourceName atom in the effect description to
			// identify the source
			myLong = EndianU32_NtoB(kSourceTwoName);
			QTInsertChild(myInputMap, myInputAtom, kEffectDataSourceType, 1, 0, sizeof(myLong), &myLong, NULL);
		}
