Switch to unified view

a/playlist/playlist.h b/playlist/playlist.h
...
...
83
    virtual void psl_add_tracks(const MetaDataList&);
83
    virtual void psl_add_tracks(const MetaDataList&);
84
    virtual void psl_sort_by_tno();
84
    virtual void psl_sort_by_tno();
85
    virtual void psl_load_playlist();
85
    virtual void psl_load_playlist();
86
    virtual void psl_save_playlist();
86
    virtual void psl_save_playlist();
87
87
88
    virtual void psl_change_track(int num) {
88
    virtual void psl_change_track(int num) final;
89
        m_insertion_point = -1;
89
    virtual void psl_change_track_impl(int) = 0;
90
        psl_change_track_impl(num);
90
91
    }
92
    virtual void psl_seek(int secs) = 0;
91
    virtual void psl_seek(int secs) = 0;
93
92
94
    virtual void psl_change_track_impl(int) = 0;
95
96
    // Information from the remote end
93
    // Information from the remote end
97
    virtual void onRemoteTpState(int, const char *);
94
    virtual void onRemoteTpState(int, const char *) final;
98
    // Maybe also tell the subclass about these
95
    // Maybe also tell the subclass about these
99
    virtual void onRemoteTpState_impl(int, const char *) {}
96
    virtual void onRemoteTpState_impl(int, const char *) {}
100
    void onRemoteSecsInSong(quint32 s) {
97
    virtual void onRemoteSecsInSong(quint32 s) final;
101
        onRemoteSecsInSong_impl(s);
102
    }
103
    virtual void onRemoteSecsInSong_impl(quint32) {}
98
    virtual void onRemoteSecsInSong_impl(quint32) {}
104
    
99
    
105
    // Mode change requested by UI
100
    // Mode change requested by UI
106
    virtual void psl_change_mode(const Playlist_Mode&);
101
    virtual void psl_change_mode(const Playlist_Mode&);
107
    virtual void psl_clear_playlist();
102
    virtual void psl_clear_playlist();
108
    virtual void psl_clear_playlist_impl() = 0;
103
    virtual void psl_clear_playlist_impl() = 0;
109
    virtual void psl_play() = 0;
104
    virtual void psl_play() = 0;
105
    virtual void psl_pause() final;
110
    virtual void psl_pause() = 0;
106
    virtual void psl_pause_impl() = 0;
111
    virtual void psl_stop() = 0;
107
    virtual void psl_stop() = 0;
112
    virtual void psl_forward() = 0;
108
    virtual void psl_forward() = 0;
113
    virtual void psl_backward() = 0;
109
    virtual void psl_backward() = 0;
114
110
115
    // Note: in openhome mode, drag-dropping a selection containing
111
    // Note: in openhome mode, drag-dropping a selection containing
...
...
134
130
135
    int m_play_idx;
131
    int m_play_idx;
136
    int m_selection_min_row;
132
    int m_selection_min_row;
137
    int m_insertion_point;
133
    int m_insertion_point;
138
    int m_tpstate;
134
    int m_tpstate;
139
135
    
140
    virtual void remove_row(int row);
136
    virtual void remove_row(int row);
141
    virtual bool valid_row(int row) {
137
    virtual bool valid_row(int row) {
142
        return row >= 0 && row < int(m_meta.size());
138
        return row >= 0 && row < int(m_meta.size());
143
    }
139
    }
144
};
140
};