diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2022-12-18 22:31:04 -0500 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2022-12-18 22:36:32 -0500 |
| commit | c55e480e4d8dbf9d3c11cb7a13c69f9f1ab730db (patch) | |
| tree | 848c4cdc3e1efb003cc7dacf3f3670ae62562fa0 /backend/AudioControl.js | |
| parent | 4c25284974a1575b942e3d07bf00afa2614cd376 (diff) | |
| download | DLAP-c55e480e4d8dbf9d3c11cb7a13c69f9f1ab730db.tar.gz DLAP-c55e480e4d8dbf9d3c11cb7a13c69f9f1ab730db.tar.bz2 DLAP-c55e480e4d8dbf9d3c11cb7a13c69f9f1ab730db.zip | |
Improved list command; Directory name change; Fixed ActivityType
Diffstat (limited to 'backend/AudioControl.js')
| -rw-r--r-- | backend/AudioControl.js | 92 |
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; - } -} |
