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

New API #1056

Closed
paddatrapper opened this issue May 27, 2020 · 4 comments · Fixed by #958
Closed

New API #1056

paddatrapper opened this issue May 27, 2020 · 4 comments · Fixed by #958
Labels
api This is affecting the api is: feature-request status: pinned This issue or pull request won't stale

Comments

@paddatrapper
Copy link
Contributor

If we define a solid API, implement it in some framework and then work on replacing parts of the UI as we the functionality is developed, we probably will have more success. This also ensures that people can upgrade their instances without much risk. This is something I think we could use the OpenCollective for, even if we are only providing a small amount to a developer each month.

We should plan out an API first before we start implementing anything. I see the following major areas of operation that LibreTime needs:

  • Library - this is a list of songs/podcasts/playlists (both smart and not) that forms the base of a show.
  • Item - a file on the disk that has metadata associated with it. This could be a music file, a podcast episode, or an advert source. These are uploaded to the server by users.
  • Podcast - an RSS feed of files that are downloaded regularly to the disk.
  • Playlist - a list of files that will be played sequentially.
  • Smartblock - a set of conditions that match 0 or more items that will create a playlist at some later point.
  • Show - a list of playlists and items that will be played at a specific time. These can be linked together to form repeating shows. A show can be connected to a live source which associates with a user's credentials.
  • Advert Block - a point in time of one or more shows where 0 or more adverts can play.
  • Advert Campaign - A list of advert sources that collectively have a start and end date and time. It also has an associated schedule of when which adverts should play. These are inserted into the relevant shows.
  • User - an account that can log into the system. There are various permission levels that will grant the user access to different things.
  • Live Source - a source of input that will be connected and streamed to.
  • Destination - a streaming output from the system

Am I missing anything?

Originally posted by @paddatrapper in #935 (comment)

@paddatrapper
Copy link
Contributor Author

@stale
Copy link

stale bot commented Oct 24, 2020

This issue has been automatically marked as stale because it has not had activity in the last 5 months. It will be closed if no activity occurs in the next month.
Please chat to us on discourse or ask for help on our chat if you have any questions or need further support with getting this issue resolved.
You may also label an issue as pinned if you would like to make sure that it does not get closed by this bot.

@stale stale bot added the status: stalled This issue or pull request is stalled label Oct 24, 2020
@paddatrapper paddatrapper added api This is affecting the api pinned labels Oct 24, 2020
@stale stale bot removed the status: stalled This issue or pull request is stalled label Oct 24, 2020
@zklosko
Copy link
Member

zklosko commented Nov 24, 2020

Could you add Play/Pause, Skip, and Stop after Next commands to the API so we can build a live assist feature down the road?

@paddatrapper
Copy link
Contributor Author

Sure. I am focusing on the DB at the moment, but will certainly add that once I get there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api This is affecting the api is: feature-request status: pinned This issue or pull request won't stale
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants