### ----------------------------------------------------
### -- Audio::Playlist::JSPF
### -- Licenses: Artistic-2.0
### -- Authors: Jonathan Stowe <jns+gh@gellyfish.co.uk>
### -- File: README.md
### ----------------------------------------------------
# Audio::Playlist::JSPF

JSON representation of a 'playlist'

![Build Status](https://github.com/jonathanstowe/Audio-Playlist-JSPF/workflows/CI/badge.svg)

## Synopsis

```raku

use Audio::Playlist::JSPF;

my $playlist = Audio::Playlist::JSPF.from-json($some-json);

say "Playing from { $playlist.title }";

for $playlist.track -> $track {
    if $track.location.elems {
       say "Playing track { $track.title } by { $track.creator }";
       # TYpically if there is more than one location we might
       # choose the most suitable one.
       my $track-uri = $track.location.first; 
       # Do something with the track
    }
}

```

## Description

This is a JSON representation of [XSPF](http://xspf.org/) which is
a format for sharing media playlists.

Because this does the role L<JSON::Class> the objects can be created
directly from and serialised to JSON via the C<from-json> and C<to-json>
methods that role provides.

Currently there doesn't seem to be much software using this format for
playlists but JSON is convenient for a variety of reasons.

## Installation

Assuming you have a working Rakudo installation you should be able to install this with *zef* :

    # From the source directory
   
    zef install .

    # Remote installation

    zef install Audio::Playlist::JSPF

## Support

If you have any problems or suggestions with this module please report them at:

https://github.com/jonathanstowe/Audio-Playlist-JSPF/issues

And I'll see what I can do.


## Licence

This is free software.

Please see the [LICENCE](LICENCE) file in the distribution

© Jonathan Stowe 2016 - 2021


