+        self.PopulateList()
+
+        # Now that the list exists we can init the other base class,
+        # see wxPython/lib/mixins/listctrl.py
+        self.itemDataMap = musicdata
+        wxColumnSorterMixin.__init__(self, 3)
+        #self.SortListItems(0, True)
+
+        EVT_SIZE(self, self.OnSize)
+        EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected)
+        EVT_LIST_ITEM_DESELECTED(self, tID, self.OnItemDeselected)
+        EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemActivated)
+        EVT_LIST_DELETE_ITEM(self, tID, self.OnItemDelete)
+        EVT_LIST_COL_CLICK(self, tID, self.OnColClick)
+        EVT_LIST_COL_RIGHT_CLICK(self, tID, self.OnColRightClick)
+        EVT_LIST_COL_BEGIN_DRAG(self, tID, self.OnColBeginDrag)
+        EVT_LIST_COL_DRAGGING(self, tID, self.OnColDragging)
+        EVT_LIST_COL_END_DRAG(self, tID, self.OnColEndDrag)
+
+        EVT_LEFT_DCLICK(self.list, self.OnDoubleClick)
+        EVT_RIGHT_DOWN(self.list, self.OnRightDown)
+
+        # for wxMSW
+        EVT_COMMAND_RIGHT_CLICK(self.list, tID, self.OnRightClick)