summaryrefslogtreecommitdiff
path: root/lib/Ultramarine/Model/MusicFile.pm6
blob: c82d43356b6df9aea81b371a427b698f0b451e52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use v6.d.PREVIEW;
use JSON::Fast;
 
class Ultramarine::Model::MusicFile {
    has $.path is required;
 
    method metadata() {
        my $proc = run 'avprobe''-show_format','-of''json'$.path,
        :err,:out;
        CATCH { when X::Proc::Unsuccessful { .resume } }
        my $json-str = $proc.out.slurp(:close);
        $proc.err.close();
        return from-json $json-str;
    }
}