diff --git a/LICENSE b/LICENSE index 204b93d..096be3b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -MIT License Copyright (c) +MIT License Copyright (c) 2020 kageru Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index c0ac7dc..a130187 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,27 @@ # mparsed -A serde parser for MPD responses. Includes mpd structs. \ No newline at end of file +A serde parser for MPD responses. Includes mpd structs. + +## Why? +Because there are lots of mpd client libraries for Rust, +but most (maybe all?) of them write the same awful deserialization code +that more or less looks like this: + +```rs +let mut track = Track::default(); +match key { + "title" => track.title = value, + "artist" => track.artist = value, + "album" => track.album = value, + ... +``` + +And I figured just having a small crate that has all the types and does the serde magic for you would be nice for other people as well. + +Oh, and it’s a good learning opportunity for me. +Serde seemed like a library I should learn more about. + +### You’re missing `MyFavoriteStruct`! +Feel free to submit a PR for it. +This is still very much work in progress, +but I think we should have most necessary helper functions so that you can just write the struct definition with some serde attributes and be done with it.