From 2494f2222052989f67dd2d9007fe0a2058797f50 Mon Sep 17 00:00:00 2001 From: schmidex Date: Sat, 12 Feb 2022 21:50:45 +0100 Subject: [PATCH 1/6] add duration() and hasDuration() --- src/Assets/Asset.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Assets/Asset.php b/src/Assets/Asset.php index 54085e194f9..bd21146be78 100644 --- a/src/Assets/Asset.php +++ b/src/Assets/Asset.php @@ -576,6 +576,20 @@ public function height() return $this->dimensions()[1]; } + /** + * Get the asset's duration. + * + * @return int|null + */ + public function duration() + { + if (! $this->hasDuration()) { + return null; + } + + return $this->meta('duration'); + } + /** * Get the asset's orientation. * @@ -790,4 +804,9 @@ private function hasDimensions() { return $this->isImage() || $this->isSvg() || $this->isVideo(); } + + private function hasDuration() + { + return $this->isAudio() || $this->isVideo(); + } } From 4b09ab1125ddfcac3db845e875a7bd19b56098ac Mon Sep 17 00:00:00 2001 From: schmidex Date: Sat, 12 Feb 2022 21:51:19 +0100 Subject: [PATCH 2/6] argument duration --- src/Assets/AugmentedAsset.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/Assets/AugmentedAsset.php b/src/Assets/AugmentedAsset.php index 8943c79d62b..b6e6d295503 100644 --- a/src/Assets/AugmentedAsset.php +++ b/src/Assets/AugmentedAsset.php @@ -54,6 +54,11 @@ public function keys() 'orientation', 'ratio', 'mime_type', + 'duration', + 'duration_seconds', + 'duration_minutes', + 'duration_sec', + 'duration_min', ]); } @@ -134,4 +139,33 @@ protected function focusCss() { return Modify::value($this->get('focus'))->backgroundPosition()->fetch(); } + + protected function duration() + { + return round($this->data->duration()); + } + + public function durationSeconds() + { + return $this->duration(); + } + + public function durationSec() + { + return $this->duration(); + } + + protected function durationMinutes() + { + if(!$seconds = $this->duration()) { + return null; + } + + return floor($seconds / 60) . ":" . $seconds % 60; + } + + protected function durationMin() + { + return $this->duration_minutes(); + } } From 878ae5c305566c8d43071639ca6b609e8c76e3a4 Mon Sep 17 00:00:00 2001 From: schmidex Date: Sat, 12 Feb 2022 22:04:41 +0100 Subject: [PATCH 3/6] StyleCI --- src/Assets/AugmentedAsset.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Assets/AugmentedAsset.php b/src/Assets/AugmentedAsset.php index b6e6d295503..eba6b0e7032 100644 --- a/src/Assets/AugmentedAsset.php +++ b/src/Assets/AugmentedAsset.php @@ -157,11 +157,11 @@ public function durationSec() protected function durationMinutes() { - if(!$seconds = $this->duration()) { + if (! $seconds = $this->duration()) { return null; } - return floor($seconds / 60) . ":" . $seconds % 60; + return floor($seconds / 60).':'.$seconds % 60; } protected function durationMin() From a3d015bad17d136f0e805e78c4348aedc509da7a Mon Sep 17 00:00:00 2001 From: schmidex Date: Sat, 12 Feb 2022 22:13:02 +0100 Subject: [PATCH 4/6] typo --- src/Assets/AugmentedAsset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Assets/AugmentedAsset.php b/src/Assets/AugmentedAsset.php index eba6b0e7032..eed5355aa6f 100644 --- a/src/Assets/AugmentedAsset.php +++ b/src/Assets/AugmentedAsset.php @@ -166,6 +166,6 @@ protected function durationMinutes() protected function durationMin() { - return $this->duration_minutes(); + return $this->durationMinutes(); } } From 6b09c55bc508ae83110198c6159ea9e44cd6b4fa Mon Sep 17 00:00:00 2001 From: schmidex Date: Sat, 12 Feb 2022 23:22:51 +0100 Subject: [PATCH 5/6] correct return type --- src/Assets/Asset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Assets/Asset.php b/src/Assets/Asset.php index bd21146be78..1a18bbb4869 100644 --- a/src/Assets/Asset.php +++ b/src/Assets/Asset.php @@ -579,7 +579,7 @@ public function height() /** * Get the asset's duration. * - * @return int|null + * @return float|null */ public function duration() { From ca0443f2e39bb465440239ce9eddb53bc2d259b0 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Mon, 28 Feb 2022 14:10:17 -0500 Subject: [PATCH 6/6] protected --- src/Assets/AugmentedAsset.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Assets/AugmentedAsset.php b/src/Assets/AugmentedAsset.php index eed5355aa6f..44fdc6b81de 100644 --- a/src/Assets/AugmentedAsset.php +++ b/src/Assets/AugmentedAsset.php @@ -145,12 +145,12 @@ protected function duration() return round($this->data->duration()); } - public function durationSeconds() + protected function durationSeconds() { return $this->duration(); } - public function durationSec() + protected function durationSec() { return $this->duration(); }