a somewhat working system of video start and end times

This commit is contained in:
Chris Cochrun 2024-04-07 21:34:31 -05:00
parent 76c669c5a5
commit 461d25a73d
4 changed files with 35 additions and 2 deletions

View file

@ -531,8 +531,9 @@ void MpvObject::stepForward()
void MpvObject::seek(double pos)
{
// qDebug() << "seek" << pos;
qDebug() << "seek" << pos << m_duration;
pos = qMax(0.0, qMin(pos, m_duration));
qDebug() << "seek" << pos;
command(QVariantList() << "seek" << pos << "absolute");
}

View file

@ -7,6 +7,7 @@ import QtWebEngine 1.10
import QtGraphicalEffects 1.15
import org.kde.kirigami 2.13 as Kirigami
import "./" as Presenter
import org.presenter 1.0
import mpv 1.0
Item {
@ -69,6 +70,7 @@ Item {
mpv.setProperty("loop", "no");
/* showPassiveNotification(mpv.getProperty("loop")); */
mpv.setProperty("sid", "no");
}
/* onIsPlayingChanged: showPassiveNotification(mpv.getProperty("pause")) */
@ -86,8 +88,19 @@ Item {
interval: 100
onTriggered: {
/* showPassiveNotification("YIPPEEE!") */
if (vidStartTime > 0 && vidStartTime < vidEndTime) {
/* mpv.seek(vidStartTime); */
let start = "+" + vidStartTime;
let end = "+" + vidEndTime;
mpv.setProperty("start", start);
mpv.setProperty("end", end);
Utils.dbg("Setting position to: " + mpv.position);
} else {
mpv.setProperty("start", "none");
mpv.setProperty("end", "none");
}
mpv.loadFile(videoSource.toString());
mpv.seek(vidStartTime)
Utils.dbg("Setting position to: " + vidStartTime + " and end is " + vidEndTime);
if (editMode) {
console.log("WHY AREN'T YOU PASUING!");
pauseTimer.restart();

View file

@ -431,6 +431,7 @@ impl slide_model::SlideModel {
) {
let mut slide = slide.clone();
// slide.slide_index = index;
debug!(?slide);
unsafe {
self.as_mut().begin_insert_rows(
@ -553,6 +554,16 @@ impl slide_model::SlideModel {
.unwrap_or(QVariant::from(&1))
.value()
.unwrap_or(1);
slide.video_start_time = service_item
.get(&QString::from("videoStartTime"))
.unwrap_or(QVariant::from(&0.0))
.value()
.unwrap_or(0.0);
slide.video_end_time = service_item
.get(&QString::from("videoEndTime"))
.unwrap_or(QVariant::from(&0.0))
.value()
.unwrap_or(0.0);
slide.looping = service_item
.get(&QString::from("loop"))
.unwrap_or(QVariant::from(&false))

View file

@ -309,8 +309,16 @@ impl slide_object::SlideObject {
.get(&QString::from("videoStartTime"))
.unwrap_or(QVariant::from(&0.0));
if let Some(int) = video_start_time.value::<f32>() {
debug!(start_time = int);
self.as_mut().set_video_start_time(int)
}
let video_end_time = item
.get(&QString::from("videoEndTime"))
.unwrap_or(QVariant::from(&0.0));
if let Some(int) = video_end_time.value::<f32>() {
debug!(end_time = int);
self.as_mut().set_video_end_time(int)
}
let html =
image_background.value_or_default::<QString>().ends_with(