Git Product home page Git Product logo

youtubeplaylistmanager's People

Contributors

unople avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

youtubeplaylistmanager's Issues

More refresh options / buttons

Next to selected playlist (or Uncategorized etc) a refresh button that refreshes the selected thing in the combobox

Refresh above just the playlist part to refresh only the playlists and no items inside

Refresh above selected video to refresh just that one

Refresh options when clicking the big refresh button too?

  • Refresh all
  • Refresh only current playlists
  • etc?

Duplicate playlist names don't get handled

I have two programming playlists... for some reason. They both appear on the list. I can't select one over the other in the combobox.

For some videos as well, it looks like the videos aren't in either programming playlist.

Logs don't always display

Refresh.

Then close the window and refresh again.

Eventually, the window is cleared properly, and no more logs get appended.

  • Change the update window to more of a logs window (can show or hide it, and it doesn't clear logs over the normal clamp to 10K)
  • Make all of the logs go through the logs window
  • Make another way of cancelling active tasks (like the refresh from YouTube)
  • Show proper progress bar for things

Make progress bar better

  • Work out and store an average of how long running methods (like GetPlaylistData) takes
  • Use that average to set the step counts for each thing we want to do in a run
  • Exclude runs when calculating averages that did things like reauth, or runs that were cancelled

All dbcontext calls need to be on the same thread

With the change to async, basically everything is running in different threads now.

Need a better, more reliable way of ensuring multiple calls to the DB context are done in the same thread, especially with the DB context being thread static. This needs to be an architectural / code design change in the repository layer

  • Fix issue so videos get saved properly - done in commit 87e4dff
  • Research out how to properly thread out calls to the database in a multithreaded / async context. I think part of the reason why I made the DB layer ThreadStatic was because there was more than one thread accessing the DB Context, and queueing up changes - which errored.
  • Make changes to the DI layer / the provider to follow whatever the research says

Threading issue with search

Repro steps:
Type in a, then type in SDF before it tells you how many results there were from the search
You'll get more results than you should - it has cleared the list of videos, but kept populating it from the old search

Get larger thumbnails from YouTube

At the moment I'm only getting the smallest size, but I want to get larger size so the thumbnail displayed on the right isn't so blurry

Things that make this tricky:

  1. Need to store more than one thumbnail size, but don't want to have to load all of them all the time
  2. Need to populate the larger sized thumbnails for every video
  3. Only load the large sized thumbnails when selecting a video - but how to make that performant?
  4. Allow for larger sized thumbs not existing, fall back to tiny version

It's almost worth having some kind of 'update new data' method / abstraction for videos. Needs some thought though

todo:

  • Get thumbnail data for new videos from YouTube - done in 1d2b561
  • Get thumbnail data for old videos
  • Get actual thumbnail data
  • Load the larger thumbnail instead of the tiny version, but fall back to old version

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.