blob: 7c3ccd12689ae88b87c18fbe4bb9430991563f62 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
use v6.d.PREVIEW; use JSON::Fast; class Ultramarine::Model::MusicFile { has $.path is required; submethod BUILD(IO() :$!path!) {} method metadata() { my $proc = run 'avprobe', '-show_format','-of', 'json', $.path.absolute, :err,:out; CATCH { when X::Proc::Unsuccessful { return %() } } my $json-str = $proc.out.slurp(:close); $proc.err.close(); return (from-json $json-str){'format'}; } }
|