From ac3063e09241bd77eb0d105a444022bb2c26a10c Mon Sep 17 00:00:00 2001 From: Marcus Pasell <3690498+rickyrombo@users.noreply.github.com> Date: Wed, 10 Jul 2024 19:25:22 -0500 Subject: [PATCH] Add ability to change playlist/track visibility w/ audius-cmd (and change remix settings) --- packages/commands/src/edit-playlist.mjs | 4 +++- packages/commands/src/edit-track.mjs | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/commands/src/edit-playlist.mjs b/packages/commands/src/edit-playlist.mjs index c26b8cdc257..c60dbaf956d 100644 --- a/packages/commands/src/edit-playlist.mjs +++ b/packages/commands/src/edit-playlist.mjs @@ -9,7 +9,8 @@ program.command("edit-playlist") .option("-n, --name ", "Name of playlist") .option("-d, --description ", "Description of playlist") .option("-f, --from ", "The account to edit the track from") - .action(async (playlistId, { name, description, from }) => { + .option("-v, --visibility ", "Change visibility of the collection") + .action(async (playlistId, { name, description, from, visibility }) => { const audiusLibs = await initializeAudiusLibs(from); try { const playlist = (await audiusLibs.Playlist.getPlaylists(100, 0, [playlistId]))[0] @@ -21,6 +22,7 @@ program.command("edit-playlist") ...playlist, playlist_name: name || playlist.playlist_name, description: description || playlist.description, + is_private: visibility !== undefined ? visibility === 'hidden' : playlist.is_private } ); diff --git a/packages/commands/src/edit-track.mjs b/packages/commands/src/edit-track.mjs index e878224533f..d12e5503ce6 100644 --- a/packages/commands/src/edit-track.mjs +++ b/packages/commands/src/edit-track.mjs @@ -15,7 +15,9 @@ program.command("edit-track") .option("-l, --license ", "License of track") .option("-f, --from ", "The account to edit the track from") .option("-r, --stream-conditions ", "The stream conditions object; sets track as stream gated", "") - .action(async (trackId, { title, tags, description, mood, genre, previewStartSeconds, license, from, streamConditions }) => { + .option("-v, --visibility ", "Change track visibility") + .option("-x, --remixOf ", "Set the original track of this remix") + .action(async (trackId, { title, tags, description, mood, genre, previewStartSeconds, license, from, streamConditions, visibility, remixOf }) => { const audiusLibs = await initializeAudiusLibs(from); try { const track = (await audiusLibs.Track.getTracks(100, 0, [trackId]))[0] @@ -32,7 +34,9 @@ program.command("edit-track") license: license || track.license, is_stream_gated: streamConditions ? true : track.is_stream_gated, stream_conditions: streamConditions ? JSON.parse(streamConditions) : track.stream_conditions, - preview_start_seconds: previewStartSeconds ? parseInt(previewStartSeconds) : track.preview_start_seconds + preview_start_seconds: previewStartSeconds ? parseInt(previewStartSeconds) : track.preview_start_seconds, + is_unlisted: visibility ? visibility === 'hidden' : track.is_unlisted, + remix_of: remixOf !== undefined ? { tracks: [{ parent_track_id: parseInt(remixOf) }] } : track.remix_of } const transcodePreview = previewStartSeconds != null && track.preview_start_seconds != parseInt(previewStartSeconds)