From 8fc6edc4033c04de3cdc6a400976a019a35694b7 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 26 Mar 2021 17:33:33 +0100 Subject: Soundcloud: autoplay next song in list --- plugins/Page.hpp | 3 +++ plugins/Soundcloud.hpp | 3 +++ 2 files changed, 6 insertions(+) (limited to 'plugins') diff --git a/plugins/Page.hpp b/plugins/Page.hpp index f1ef893..803b9e6 100644 --- a/plugins/Page.hpp +++ b/plugins/Page.hpp @@ -100,6 +100,7 @@ namespace QuickMedia { public: VideoPage(Program *program) : Page(program) {} virtual PageTypez get_type() const override { return PageTypez::VIDEO; } + virtual bool autoplay_next_item() { return false; } virtual BodyItems get_related_media(const std::string &url, std::string &channel_url) { (void)url; (void)channel_url; return {}; } virtual std::unique_ptr create_search_page(Program *program, int &search_delay) { (void)program; (void)search_delay; return nullptr; } virtual std::unique_ptr create_comments_page(Program *program) { (void)program; return nullptr; } @@ -108,5 +109,7 @@ namespace QuickMedia { // Return nullptr if the service doesn't support channels page virtual std::unique_ptr create_channels_page(Program *program, const std::string &channel_url) = 0; virtual std::string get_url() = 0; + virtual std::string url_get_playable_url(const std::string &url) { return url; } + virtual bool video_should_be_skipped(const std::string &url) { return false; } }; } \ No newline at end of file diff --git a/plugins/Soundcloud.hpp b/plugins/Soundcloud.hpp index 4962c04..0d73d36 100644 --- a/plugins/Soundcloud.hpp +++ b/plugins/Soundcloud.hpp @@ -47,9 +47,12 @@ namespace QuickMedia { public: SoundcloudAudioPage(Program *program, const std::string &url) : VideoPage(program), url(url) {} const char* get_title() const override { return ""; } + bool autoplay_next_item() override { return true; } std::unique_ptr create_related_videos_page(Program *, const std::string &, const std::string &) override { return nullptr; } std::unique_ptr create_channels_page(Program *, const std::string &) override { return nullptr; } std::string get_url() override { return url; } + std::string url_get_playable_url(const std::string &url) override; + bool video_should_be_skipped(const std::string &url) override { return url == "track"; } private: std::string url; }; -- cgit v1.2.3