remotion
Version:
Render videos in React
42 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.usePlayingState = exports.useTimelineSetFrame = exports.useTimelinePosition = exports.SetTimelineContext = exports.TimelineContext = void 0;
const react_1 = require("react");
exports.TimelineContext = (0, react_1.createContext)({
frame: 0,
playing: false,
playbackRate: 1,
rootId: '',
imperativePlaying: {
current: false,
},
setPlaybackRate: () => {
throw new Error('default');
},
audioAndVideoTags: { current: [] },
});
exports.SetTimelineContext = (0, react_1.createContext)({
setFrame: () => {
throw new Error('default');
},
setPlaying: () => {
throw new Error('default');
},
});
const useTimelinePosition = () => {
const state = (0, react_1.useContext)(exports.TimelineContext);
return state.frame;
};
exports.useTimelinePosition = useTimelinePosition;
const useTimelineSetFrame = () => {
const { setFrame } = (0, react_1.useContext)(exports.SetTimelineContext);
return setFrame;
};
exports.useTimelineSetFrame = useTimelineSetFrame;
const usePlayingState = () => {
const { playing, imperativePlaying } = (0, react_1.useContext)(exports.TimelineContext);
const { setPlaying } = (0, react_1.useContext)(exports.SetTimelineContext);
return (0, react_1.useMemo)(() => [playing, setPlaying, imperativePlaying], [imperativePlaying, playing, setPlaying]);
};
exports.usePlayingState = usePlayingState;
//# sourceMappingURL=timeline-position-state.js.map