Giter Site home page Giter Site logo

ituneslibraryparser's Introduction

iTunesLibraryParser

Build status Coverage Status NuGet version Codacy Badge

The iTunes Library Parser is implemented in C# utilizing LINQ-To-XML. Given the location of a iTunes Music Library XML file it parses the PropertyList format, which is defined by the Document Type Declaration (DTD) defined here http://www.apple.com/DTDs/PropertyList-1.0.dtd. It supports parsing tracks, albums, and playlists. More features will be added periodically.

Nuget

The nuget package is available here

Usage

var library = new ITunesLibrary("iTunesLibrary.xml");

var tracks = library.Tracks 
// returns all tracks in the iTunes Library

var albums = library.Albums
// returns all albums in the iTunes Library

var playlists = library.Playlists
// returns all playlists in the iTunes Library

Versioning

iTunesLibaryParser will be maintained under the Semantic Versioning guidelines. Releases will follow this format:

<major>.<minor>.<build>
  • If a release breaks backward compatibility the major version will be bumped (resetting minor and build back to zero).
  • New features and updates without breaking backward compatibility will bump the minor version (resetting the build to zero)
  • Bug fixes and small miscellaneous changes increase the build number

Performance Testing

14,500 tracks -> 800ms
2400 albums -> 1.4s
100 playlists -> 2.2s

Coming Soon

Additional features will be coming soon like filtering tracks by track criteria.

Project Dependencies

coveralls.io 1.4.2
Moq 4.8.2
NUnit 3.10.1
NUnit.ConsoleRunner 3.8.0
OpenCover 4.6.519

Contact

Anthony Sciamanna
Web: https://anthonysciamanna.com
Twitter: @asciamanna

ituneslibraryparser's People

Contributors

asciamanna avatar davidegiacometti avatar mmedic avatar codacy-badger avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.