Version 2.0.0 - update of everything

This commit is contained in:
raphix committed 2026-10-07 14:04:26 +02:00
1 parent 164a1da009
commit 6017e03eac
85 files changed
+13065 -2107

No files matched your search

+11 -7
View File
@@ -4,6 +4,7 @@ const {Song} = require('../player/Song');
const {Playlist} = require('../playlists/Playlist');
const {Soundcloud} = require('soundcloud.ts')
const {getReadableDuration} = require('../utils/TimeConverter');
const {toSafeDuration} = require('../utils/SafeMetric');
const soundcloud = new Soundcloud();
@@ -22,8 +23,9 @@ async function getTrack(url) {
song.url = info.permalink_url;
song.thumbnail = info.artwork_url;
song.id = info.id;
song.duration = info.duration / 1000;
song.readduration = getReadableDuration(info.duration / 1000);
// Durée SoundCloud en millisecondes ; absente ou invalide → 0 (inconnue)
song.duration = toSafeDuration(Number(info.duration) / 1000);
song.readduration = getReadableDuration(song.duration);
song.type = "soundcloud";
return song;
@@ -56,18 +58,20 @@ async function getPlaylist(url) {
playlist.songs = [];
playlist.type = "soundcloud";
for(const track of info.tracks) {
for(const track of info.tracks || []) {
// Piste incomplète (supprimée / privée) : on l'ignore au lieu de faire échouer toute la playlist
if(!track || !track.permalink_url) continue;
const song = new Song();
song.title = track.title;
song.author = track.user.username;
song.author = track.user?.username ?? song.author;
song.url = track.permalink_url;
song.thumbnail = track.artwork_url;
song.id = track.id;
song.duration = track.duration / 1000;
song.readduration = getReadableDuration(track.duration / 1000);
song.duration = toSafeDuration(Number(track.duration) / 1000);
song.readduration = getReadableDuration(song.duration);
song.type = "soundcloud";
playlist.duration += track.duration / 1000;
playlist.duration += song.duration;
playlist.songs.push(song);
}