Skip to content

quebin31/libmtp-rs

Repository files navigation

libmtp-rs

This crate aims to provide a flexible and high-level interface to the libmtp library, at its current state is alpha software and may not be used in production since some features are still missing, said this contributions are welcome.

Requirements

You need to have libmtp installed (minimum version 1.1.15), and have pkg-config properly configured (pkg-config --libs libmtp should output something reasonable).

Available APIs

  • Internals API
  • Device properties API
  • Object management API
    • Get properties/attributes
    • Set properties/attributes
    • Move, copy, delete object
    • Get/send partial object
    • Truncate object
  • Storage API
    • Format storage
    • File management
      • List files
      • Send files
      • Receive files
      • Rename files
      • Sample data
      • Events
      • Thumbnails
    • Folder management
      • List folders
      • Create folder
      • Rename folder
    • Track management
      • List tracks
      • Send tracks
      • Receive tracks
      • Rename track
      • Update metadata
    • Album management
      • List albums
      • Create album
      • Update album
      • Rename album
    • Playlist management
      • List playlists
      • Create playlist
      • Update playlist
      • Rename playlist
  • Custom operations API (c_variadic)

Contributing

libmtp-rs is an open source project! If you'd like to contribute, check any open issue or create one, current API design is open to discussion. Note that the code you submit in PRs is assumed to be licensed under the MIT License.

License

This crate is licensed under the terms of the MIT License.

See LICENSE to see the full text.

About

High-level interface for the libmtp C library.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published