diff --git a/src/qml/presenter/Presentation.qml b/src/qml/presenter/Presentation.qml index ea1a701..fe82862 100644 --- a/src/qml/presenter/Presentation.qml +++ b/src/qml/presenter/Presentation.qml @@ -130,6 +130,8 @@ FocusScope { text: SlideObject.text pdfIndex: SlideObject.slideIndex vidLoop: SlideObject.looping + vidStartTime: SlideObject.videoStartTime + vidEndTime: SlideObject.videoEndTime preview: true } diff --git a/src/qml/presenter/PresentationWindow.qml b/src/qml/presenter/PresentationWindow.qml index 048f65d..2b2c386 100644 --- a/src/qml/presenter/PresentationWindow.qml +++ b/src/qml/presenter/PresentationWindow.qml @@ -59,6 +59,8 @@ Item { pdfIndex: SlideObj.slideIndex itemType: SlideObj.ty vidLoop: SlideObj.looping + vidStartTime: SlideObj.videoStartTime + vidEndTime: SlideObj.videoEndTime } Connections { diff --git a/src/qml/presenter/Slide.qml b/src/qml/presenter/Slide.qml index 11383c8..be79ff0 100644 --- a/src/qml/presenter/Slide.qml +++ b/src/qml/presenter/Slide.qml @@ -24,6 +24,8 @@ Item { property url videoSource property url audioSource property bool vidLoop + property real vidStartTime + property real vidEndTime property int pdfIndex property string chosenFont: "Quicksand" property string text @@ -85,6 +87,7 @@ Item { onTriggered: { /* showPassiveNotification("YIPPEEE!") */ mpv.loadFile(videoSource.toString()); + mpv.seek(vidStartTime) if (editMode) { console.log("WHY AREN'T YOU PASUING!"); pauseTimer.restart(); diff --git a/src/rust/slide_obj.rs b/src/rust/slide_obj.rs index 6137d20..b862bb3 100644 --- a/src/rust/slide_obj.rs +++ b/src/rust/slide_obj.rs @@ -211,6 +211,12 @@ mod slide_obj { self.as_mut().set_slide_size(slide_size); } } + let video_start_time = item + .get(&QString::from("videoStartTime")) + .unwrap_or(QVariant::from(&0.0)); + if let Some(int) = video_start_time.value::() { + self.as_mut().set_video_start_time(int) + } let icount = item .get(&QString::from("imageCount")) .unwrap_or(QVariant::from(&1));