Giter VIP home page Giter VIP logo

tuitube's People

Contributors

djt3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tuitube's Issues

Import Subscriptions from OPML

Youtube provides a method of exporting a playlist to an OPML file. You can then use this to import them into various applications including RSS aggregators and Newspipe. Wondering if this feature is already implemented for tuitube and I'm not seeing it or if this is a new suggestion that could be implemented. If it's a new feature, I can provide a OPML file to use if you'd like. I don't have any experience with C++ or else I'd give it a stab myself, but I am familiar with the OPML format and might be able to help with parsing it.

Feature request: view subscribed channels only

Hey,
I want to ask for a feature to have a list which holds the subscribed channels. Maybe just sorted by last updated.
I cant interpret this out of your to´do if this is already a planned.

missing invidious/instances.h but not listed in readme as external dependancy

$ make
[ 33%] Building CXX object CMakeFiles/tuitube.dir/src/main.cpp.o
In file included from /home/e/git/tuitube/src/tui/tui.h:19,
from /home/e/git/tuitube/src/main.cpp:1:
/home/e/git/tuitube/src/tui/tabs/settings.h:7:10: fatal error: ../../invidious/instances.h: No such file or directory
7 | #include "../../invidious/instances.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/tuitube.dir/build.make:83: CMakeFiles/tuitube.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/tuitube.dir/all] Error 2
make: *** [Makefile:150: all] Error 2

[Feature Request] Audio only mode

Would it be possible to add mode for playing only audio? Mpv has --no-video option but it'd be nice to have better option than editing mpv.conf only when using tuitube.

Edit: I realized it might also be done by adding --no-video to mpv in config.h but then the program would need to be rebuild to change that back.

Errors with Invidious & Sub List

Hey,

Having issues with the two invidious instances available. Not sure if this is a tuitube or invidious issue, but the snopyta instance doesn't show subbed videos in the sub tab (no videos found) nor allows me to view channels, meanwhile the inidiou.site instance just perpetually loads.

Works a dream otherwise when I'm searching for particular vids with the snopyta instance!

Feature request: Upload date and play duration

As the title says, are you planing to add date of upload and play duration?
Maybe through envoriment variables to keep the interface easy.
Also what about j and k for up and down?
Sry for issueing again (:

tuitube search: not finding last recent uploads

First of all good job with this nice programm!
Mainly I can find the right channels, but I encounterd an issue while searching for decino .
In tuitube I find the right channel but only the "top clicked videos" and also when I want to add the
supscription the most recent uploads are missing.
On invidous itself it´s no problem to find the channel.
Greetings.

Render with notcurses for higher picture quality

I mailed this to the address associated with @djt3 , but it's currently delayed. If you don't like this idea, feel free to close the issue. I'll write the code if you're down, though (or you can, just volunteering; I doubt it would take me more than a few hours).

hey there! i'm the author of notcurses, a powerful TUI library:
https://github.com/dankamongmen/notcurses
you might have seen it; if not, i invite you to check out the
demo here:
https://www.youtube.com/watch?v=b4lmMADP1lA
anyway, it would be trivial to add notcurses to tuitube, in
which case tuitube would:
(1) have an improved picture and performance relative to mpv,
(2) no longer have the external dependency on mpv, and
(3) not have to deal with the complexities of an external process.
there's basically a ready-made Notcurses solution to what you
want: ncvisual_from_file() followed by ncvisual_stream():
https://notcurses.com/notcurses_visual.3.html
the per-argv loop from notcurses-view could likely be lifted
into tuiterm wholesale. would you accept such a patch? thanks!

re new drawing system

hola!
After recent update the ui got a bit buggy. Tested with alacritty and wterm. Both similar.

  • After the cursor reached the lower end to start scrolling it takes a moment until scrolling starts.
    It also takes some time when you start scrolling up again.
  • After starting a video, the mpv info lines in the upper side doesnt get drawn properly.
    Mpv status is mixed with the channel supscriptions.
  • After the video is closed the ui is not properly redrawn -> rests of mpv info are seen.
  • Selecting a channels name does open the wrong channel after a video was played.

Screenshot

100% CPU usage

It looks like the main thread is constantly running, using 100% of CPU time.

It would be nice if instead of polling, the main thread blocked until a screen update is needed.

Some minor suggestions

Hey,
here are some thoughts that came to my mind while I was using your great little tool on a regular basis to satisfy my youtube needs. Please note that I have no real idea on what is going on under the hood, so my suggestions are based on what I see and what I believe can be aranged.

  • Subscriptions: Align upload date and duration on the right side of the screen for better overall view.

  • Sublist: There is space to print also the last date of update.(On the right side of the screen)
    Sort sublist by alphabet, since the subscriptions are already sorted by date. I personaly use the the sublist to look for a specific channel.
    I think to switch between sublist/subscriptions by a dedicated key is great!(Keep the functions on TAB small)

  • Search: In the upper statusline, there is space to display $SEARCHTERM

  • Lower statusline: Grouping of elements. There are many elements and unused space on the right. Move groups to the outer edges

    • play specific: play, audio only, display channel link(for download)
    • channel managment: un/subscribe, refresh, change tab.

    NOTE: "view channel" and "back" are already left out. See Key asigment below.
    NOTE2: Is "quit" really necessary? This could be assumed intuitive and improve overview.

  • Key asigment: c=view b=back => h=back l=view
    would make consistent vimkey usage. Less stuff to display in the status line since this is intuitive.
    At least for some folks. At the moment I want intuitively open an item from the sublist with enter which opens then a video from the subsciption view.

    It happened that I accidentially added or deleted subscriptions. Since this is a delicate action,
    a key combo or yes/no input might be worth it. (C-s / C-u)

  • Download link: Add a keybinding for "display link" which can be copied by hand. I guess specifying an interchangeable clipboardtool might be complicated and error prone.

  • Mpv has the bad behaviour to let the user wait until the video opens. Also when the video does not open at all, nothing just has happend but waiting. (:
    -> Add another view, when mpv is invoked with "video loading"(blinking or fancy moving stuff?) This is then over drawn from mpv like it is now. This new view would also "fix" the issue that the list is just over drawn in pieces and a lot of damaged output is leftover. So this might not be noticeable.
    NOTE: This is just a vague asumption!

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.