- Mass Storage support (i.e. Android phone)
- iPod support
- Transcoding, perhaps with ffmpeg.
There are abnormalities in the program but I can live with them, for now.
from PyQt4.QtCore import QDirModelSimply put the above creates a "new" QDirModel Class with some custom methods as the default ones don't allow for this behaviour. Just swap where you were going to QDirModel with MyQDirModel.
checked = 
def data(self, index, role = Qt.DisplayRole):
if index.isValid() and (index.column() == 0) and (role == Qt.CheckStateRole):
# the item is checked only if we have stored its path
if self.filePath(index) in MyQDirModel.checked:
return QDirModel.data(self, index, role)
def flags(self, index):
if index.column() == 0: # make the first column checkable
return QDirModel.flags(self, index) | Qt.ItemIsUserCheckable
return QDirModel.flags(self, index)
def setData(self, index, value, role = Qt.EditRole):
if index.isValid() and (index.column() == 0) and role == Qt.CheckStateRole:
# store checked paths, remove unchecked paths
if (value == Qt.Checked):
return QDirModel.setData(self, index, value, role);
Adding all tracks from all albums of an artist is possible. I wouldn't
suggest doing so as the sorting of the table is pretty poor. The inbuilt
sort of the table providid by PyQt4 is unaware of what else exists in thetable in different columns.
python setup.py buildDone.
sudo python setup.py install