a somewhat working system of video start and end times
This commit is contained in:
parent
76c669c5a5
commit
461d25a73d
4 changed files with 35 additions and 2 deletions
|
@ -531,8 +531,9 @@ void MpvObject::stepForward()
|
||||||
|
|
||||||
void MpvObject::seek(double pos)
|
void MpvObject::seek(double pos)
|
||||||
{
|
{
|
||||||
// qDebug() << "seek" << pos;
|
qDebug() << "seek" << pos << m_duration;
|
||||||
pos = qMax(0.0, qMin(pos, m_duration));
|
pos = qMax(0.0, qMin(pos, m_duration));
|
||||||
|
qDebug() << "seek" << pos;
|
||||||
command(QVariantList() << "seek" << pos << "absolute");
|
command(QVariantList() << "seek" << pos << "absolute");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import QtWebEngine 1.10
|
||||||
import QtGraphicalEffects 1.15
|
import QtGraphicalEffects 1.15
|
||||||
import org.kde.kirigami 2.13 as Kirigami
|
import org.kde.kirigami 2.13 as Kirigami
|
||||||
import "./" as Presenter
|
import "./" as Presenter
|
||||||
|
import org.presenter 1.0
|
||||||
import mpv 1.0
|
import mpv 1.0
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@ -69,6 +70,7 @@ Item {
|
||||||
mpv.setProperty("loop", "no");
|
mpv.setProperty("loop", "no");
|
||||||
/* showPassiveNotification(mpv.getProperty("loop")); */
|
/* showPassiveNotification(mpv.getProperty("loop")); */
|
||||||
mpv.setProperty("sid", "no");
|
mpv.setProperty("sid", "no");
|
||||||
|
|
||||||
}
|
}
|
||||||
/* onIsPlayingChanged: showPassiveNotification(mpv.getProperty("pause")) */
|
/* onIsPlayingChanged: showPassiveNotification(mpv.getProperty("pause")) */
|
||||||
|
|
||||||
|
@ -86,8 +88,19 @@ Item {
|
||||||
interval: 100
|
interval: 100
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
/* showPassiveNotification("YIPPEEE!") */
|
/* 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.loadFile(videoSource.toString());
|
||||||
mpv.seek(vidStartTime)
|
Utils.dbg("Setting position to: " + vidStartTime + " and end is " + vidEndTime);
|
||||||
if (editMode) {
|
if (editMode) {
|
||||||
console.log("WHY AREN'T YOU PASUING!");
|
console.log("WHY AREN'T YOU PASUING!");
|
||||||
pauseTimer.restart();
|
pauseTimer.restart();
|
||||||
|
|
|
@ -431,6 +431,7 @@ impl slide_model::SlideModel {
|
||||||
) {
|
) {
|
||||||
let mut slide = slide.clone();
|
let mut slide = slide.clone();
|
||||||
// slide.slide_index = index;
|
// slide.slide_index = index;
|
||||||
|
debug!(?slide);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
self.as_mut().begin_insert_rows(
|
self.as_mut().begin_insert_rows(
|
||||||
|
@ -553,6 +554,16 @@ impl slide_model::SlideModel {
|
||||||
.unwrap_or(QVariant::from(&1))
|
.unwrap_or(QVariant::from(&1))
|
||||||
.value()
|
.value()
|
||||||
.unwrap_or(1);
|
.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
|
slide.looping = service_item
|
||||||
.get(&QString::from("loop"))
|
.get(&QString::from("loop"))
|
||||||
.unwrap_or(QVariant::from(&false))
|
.unwrap_or(QVariant::from(&false))
|
||||||
|
|
|
@ -309,8 +309,16 @@ impl slide_object::SlideObject {
|
||||||
.get(&QString::from("videoStartTime"))
|
.get(&QString::from("videoStartTime"))
|
||||||
.unwrap_or(QVariant::from(&0.0));
|
.unwrap_or(QVariant::from(&0.0));
|
||||||
if let Some(int) = video_start_time.value::<f32>() {
|
if let Some(int) = video_start_time.value::<f32>() {
|
||||||
|
debug!(start_time = int);
|
||||||
self.as_mut().set_video_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 =
|
let html =
|
||||||
image_background.value_or_default::<QString>().ends_with(
|
image_background.value_or_default::<QString>().ends_with(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue