mirror of
https://github.com/HappyTanuki/BumbleCee.git
synced 2025-10-26 09:55:14 +00:00
스트리밍 구현 끝
This commit is contained in:
36
include/Queue/MusicQueue.hpp
Normal file
36
include/Queue/MusicQueue.hpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#ifndef _MUSICQUEUE_HPP_
|
||||
#define _MUSICQUEUE_HPP_
|
||||
#include <memory>
|
||||
#include <functional>
|
||||
#include <condition_variable>
|
||||
#include <list>
|
||||
#include <dpp/dpp.h>
|
||||
#include <Queue/MusicQueueElement.hpp>
|
||||
|
||||
namespace bumbleBee {
|
||||
|
||||
class MusicQueue {
|
||||
public:
|
||||
MusicQueue() {
|
||||
queue = std::list<std::shared_ptr<MusicQueueElement>>();
|
||||
currentPlayingPosition = queue.begin();
|
||||
repeat = false;
|
||||
}
|
||||
void enqueue(std::shared_ptr<MusicQueueElement> Element);
|
||||
std::shared_ptr<MusicQueueElement> dequeue();
|
||||
std::list<std::shared_ptr<MusicQueueElement>>::iterator findById(std::string id);
|
||||
std::shared_ptr<MusicQueueElement> nowplaying();
|
||||
std::list<std::shared_ptr<MusicQueueElement>>::iterator next_music();
|
||||
std::shared_ptr<MusicQueueElement> jump_to_index(int idx);
|
||||
|
||||
bool repeat;
|
||||
|
||||
std::list<std::shared_ptr<MusicQueueElement>>::iterator currentPlayingPosition;
|
||||
std::list<std::shared_ptr<MusicQueueElement>> queue;
|
||||
private:
|
||||
std::mutex queueMutex;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
21
include/Queue/MusicQueueElement.hpp
Normal file
21
include/Queue/MusicQueueElement.hpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
#ifndef _MUSICQUEUEELEMENT_HPP_
|
||||
#define _MUSICQUEUEELEMENT_HPP_
|
||||
#include <dpp/dpp.h>
|
||||
|
||||
namespace bumbleBee {
|
||||
|
||||
class MusicQueueElement {
|
||||
public:
|
||||
MusicQueueElement(
|
||||
std::string id,
|
||||
std::string query,
|
||||
dpp::user issuingUser) :
|
||||
id(id), query(query), issuingUser(issuingUser) {}
|
||||
|
||||
const std::string id;
|
||||
const std::string query;
|
||||
const dpp::user issuingUser;
|
||||
};
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user