aboutsummaryrefslogtreecommitdiff
path: root/backend/AudioControl.js
diff options
context:
space:
mode:
Diffstat (limited to 'backend/AudioControl.js')
-rw-r--r--backend/AudioControl.js92
1 files changed, 0 insertions, 92 deletions
diff --git a/backend/AudioControl.js b/backend/AudioControl.js
deleted file mode 100644
index 447e040..0000000
--- a/backend/AudioControl.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/**************************************************************************
- *
- * DLAP Bot: A Discord bot that plays local audio tracks.
- * (C) Copyright 2022
- * Programmed by Andrew Lee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- ***************************************************************************/
-import { readdirSync, readFileSync } from 'node:fs';
-import { shufflePlaylist, orderPlaylist } from './QueueSystem.js';
-import { playAudio, currentTrack, updatePlaylist } from './PlayAudio.js';
-import { player } from './VoiceInitialization.js';
-
-const { shuffle, repeat } = JSON.parse(readFileSync('./config.json', 'utf-8'));
-export const files = readdirSync('music');
-export let playerState;
-export let isAudioStatePaused;
-
-let totalTrack = files.length;
-
-async function repeatCheck(bot) {
- if (repeat) {
- console.log('All beats in the playlist has finished, repeating beats...');
- totalTrack = files.length;
- return (shuffle) ? await shufflePlaylist(bot) : await orderPlaylist(bot);
- } else {
- console.log('All beats in the playlist has finished.');
- updatePlaylist('stop');
- audioState(2);
- }
-}
-
-export async function nextAudio(bot) {
- if (currentTrack >= totalTrack - 1) {
- await repeatCheck(bot);
- } else {
- updatePlaylist('next');
- return await playAudio(bot);
- }
-}
-
-export async function previousAudio(bot, interaction) {
- if (currentTrack <= 0) {
- return await interaction.reply({ content: 'You are at the beginning of the playlist, cannot go further than this', ephemeral: true });
- } else {
- await interaction.reply({ content: 'Playing previous music', ephemeral: true });
- player.stop();
- updatePlaylist('back');
- return await playAudio(bot);
- }
-}
-
-export function toggleAudioState() {
- if (isAudioStatePaused) {
- audioState(0);
- } else {
- audioState(1);
- }
-}
-
-export function audioState(state) {
- switch (state) {
- case 0:
- playerState = 'Playing';
- isAudioStatePaused = false;
- player.unpause();
- break;
- case 1:
- playerState = 'Paused';
- isAudioStatePaused = true;
- player.pause();
- break;
- case 2:
- playerState = 'Stopped';
- totalTrack = files.length;
- isAudioStatePaused = true;
- player.stop();
- break;
- }
-}