Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Micro karaoke additions #263

Merged
merged 11 commits into from
Feb 27, 2024
Merged

Micro karaoke additions #263

merged 11 commits into from
Feb 27, 2024

Conversation

challfry
Copy link
Collaborator

Micro Karaoke lets users upload mp4 movie files of themselves singing short bits of a song, and then later download all the video pieces to assemble a music video. Swiftarr controls creation of songs (the playlist), dispensing offers to record parts of songs (effectively reservations for song slots), uploading video files, producing manifests of all the files need to assemble to make a song video, notifying users of completed songs, and content moderation.

API changes include:

  • new structs only used by Micro Karaoke
  • a new field in the Global Notification struct,
  • a new App Feature enum case,
  • new notification type; users get notified when a song they contributed to is ready for viewing.
  • new Report types (both Songs and Song Snippets are Reportable content),
  • new User Role, Micro Karaoke Ambassador. Ambassadors aren't limited to one slot per song; intent is that they go around getting others to sing using their phone.

This PR includes all of the song data files, which are mostly organized into numbered folders. There's a lot of them. Generally, for every folder there's a "listen.mp3" file which is a 3-10 sec song clip with vocals, a "record.mp3" file which is karaoke backing audio for the same portion of the song, and a "lyrics.txt" file which is the lyric being sung in the "listen" file.

Does not include song files; that will be separate commit.

Micro Karaoke lets users upload mp4 movie files of themselves singing short bits of a song, and then later download all the video pieces to assemble a music video. Swiftarr controls creation of songs (the playlist), dispensing offers to record parts of songs (effectively reservations for song slots), uploading video files, producing manifests of all the files need to assemble to make a song video, notifying users of completed songs, and content moderation.

API changes include:
 - new structs only used by Micro Karaoke
 - a new field in the Global Notification struct,
 - a new App Feature enum case,
 - new notification type,
 - new Report types (both Songs and Song Snippets are Reportable content),
 - new User Role,
Vocal and Karaoke audio, cut up into ~6 second clips, plus lyrics for each clip.
# Conflicts:
#	Sources/swiftarr/Site/SiteModController.swift
I do not understand why, for a song file with one audio track and no video, has 'songFile.duration > songFile.tracks[0].duration'. How is the duration of the media always about .05 secondslonger than the duration of its only track?

Anyway, snippet durations are fixed now.
challf and others added 7 commits February 26, 2024 17:01
@challfry challfry merged commit 68ea1ab into master Feb 27, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants