We're now ready to add the playlist widget to our music player.
We'll use new crates, so add the following to the main.rs
file:
extern crate gdk_pixbuf; extern crate id3;
The crate gdk_pixbuf
will be used to show and manipulate the cover and the id3
crate to get the metadata from MP3 files.
Also, add the following to Cargo.toml
:
gdk-pixbuf = "^0.3.0" id3 = "^0.2.0"
Next, we'll create a new module to contain this new widget:
mod playlist;
We'll start this module by adding a bunch of use
statements:
use std::path::Path; use gdk_pixbuf::{InterpType, Pixbuf, PixbufLoader}; use gtk::{ CellLayoutExt, CellRendererPixbuf, CellRendererText, ListStore, ListStoreExt, ListStoreExtManual, StaticType, ToValue, TreeIter, TreeModelExt, TreeSelectionExt, TreeView, TreeViewColumn, TreeViewColumnExt, TreeViewExt, Type, WidgetExt, }; use id3::Tag;
These will be followed by some constants:
const THUMBNAIL_COLUMN: u32 = 0; const TITLE_COLUMN...