songtube / songtube-app Goto Github PK
View Code? Open in Web Editor NEWSimple & Beautiful App (Tool) made in Flutter to Download Media from YouTube
Home Page: https://t.me/songtubechannel
License: GNU General Public License v3.0
Simple & Beautiful App (Tool) made in Flutter to Download Media from YouTube
Home Page: https://t.me/songtubechannel
License: GNU General Public License v3.0
2 files in ui folder - FadeIn.dart
& alertdialog.dart
should be in camelCase as it ends with import failure because of case sensitive imports.
Can we add pedantic
or effective_dart
for linting? It shows a lot of valid linting suggestions.
Please release ios version, for the flutter cross platform circle to be complete
Content of particular country is unique.
And there should be option to change the country and also the media content.
Your current implementation of in app update redirects the user to your Telegram channel. I'm suggesting a different method.
I already did some work on this concept but unfortunately, i wasn't able to recreate Play Store like update but i did create something.
Video 😩
What do you think ?
Audio might be a little bit loud.
It download's according to you phone architecture (Abi), my logic probably isn't fool proof but i know it works (on my device 😢)
Additional plugin
I upgraded to flutter 2 and it all failed :). Any plans for migration?
I've downloaded both audio and video files from songtube. But after the download is completed successfully, the files seems to be nowhere. I can't even set the download location.
Because the app allows you to listen to your music and you can edit the tag & artwork of any (supported) song on your device, a sort implementation by album artist, etc., it would be a nice feature for those who uses this app as their Music Player.
Add an feature for run app in background. Like youtube premium
It would be great if it were possible to convert/download audios in .wav with the highest possible quality.
The app would benefit a lot from using a video player as service by creating a new Flutter Plugin that implements almost everything from native.
This issue is not to create that package, but to implement it once it's done.
I do not know if this is possible (that's ok if it is not), but it would be amazing to have an option to normalize the audio before downloading.
Background Playback is needed, now that the app supports AutoPlay there are cases where anyone would want to stream all the playlist songs while doing any other thing.
There are crashes in the application, I cannot recompile. It gives an error because the libraries used are out of date. The comments section is not visible. Some songs and videos do not play. Download speed slowed down. It doesn't find all the songs or videos. Homepage content must be country specific.
I cloned the repository. When I run the App, it crashes just before the downloaded video and audio patches.
I get this error on navigationBar.dart
BottomNavigationBarItem( icon: Icon(EvaIcons.homeOutline), label: Languages.of(context).labelHome ), BottomNavigationBarItem( icon: Icon(EvaIcons.cloudDownloadOutline), label: Languages.of(context).labelDownloads ), BottomNavigationBarItem( icon: Icon(EvaIcons.musicOutline), label: Languages.of(context).labelMedia ), BottomNavigationBarItem( icon: Icon(EvaIcons.videoOutline), label: "YouTube" ), BottomNavigationBarItem( icon: Icon(MdiIcons.dotsHorizontal), label: Languages.of(context).labelMore ) ]
Google takeout can give us a set of data which could contain all the user subscriptions, watch history, watch later, playlists, etc.
Since this data is zipped into a single file, the appropriate method to implement this would be by extracting the zip (using a library) and check which information is present and let the user know which information to import.
Since extracting the data from Google Takeout might be a little complicated, we need to set up a few screens which contains screenshots explaining how the process is done (Like a guide).
Could you please update the packages to latest null safety or release new version of app. My build is getting fail when I try to run it.
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_html-0.9.6/lib/html_parser.dart:277:27: Error: The getter 'text' isn't defined for the class 'InlineSpan'.
- 'InlineSpan' is from 'package:flutter/src/painting/inline_span.dart' ('../../flutter/packages/flutter/lib/src/painting/inline_span.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'text'.
if ((w.child.text.text == null || w.child.text.text.isEmpty) &&
^^^^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_html-0.9.6/lib/html_parser.dart:277:56: Error: The getter 'text' isn't defined for the class 'InlineSpan'.
- 'InlineSpan' is from 'package:flutter/src/painting/inline_span.dart' ('../../flutter/packages/flutter/lib/src/painting/inline_span.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'text'.
if ((w.child.text.text == null || w.child.text.text.isEmpty) &&
^^^^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_html-0.9.6/lib/html_parser.dart:278:27: Error: The getter 'children' isn't defined for the class 'InlineSpan'.
- 'InlineSpan' is from 'package:flutter/src/painting/inline_span.dart' ('../../flutter/packages/flutter/lib/src/painting/inline_span.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'children'.
(w.child.text.children == null || w.child.text.children.isEmpty))
^^^^^^^^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_html-0.9.6/lib/html_parser.dart:278:60: Error: The getter 'children' isn't defined for the class 'InlineSpan'.
- 'InlineSpan' is from 'package:flutter/src/painting/inline_span.dart' ('../../flutter/packages/flutter/lib/src/painting/inline_span.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'children'.
(w.child.text.children == null || w.child.text.children.isEmpty))
^^^^^^^^
../../flutter/.pub-cache/git/autolist-a79d54fc65e2fc87e1233be953a75b52633e361a/lib/src/autolist/difference_set.dart:57:11: Error: Method 'compareTo' cannot be called on 'A' because it is potentially null.
Try calling using ?. instead.
if (x.compareTo(y) < 0) {
^^^^^^^^^
FAILURE: Build failed with an exception.
* Where:
Script '/home/sony/flutter-sdk/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1035
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/home/sony/flutter-sdk/flutter/bin/flutter'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 26s
Exception: Gradle task assembleDebug failed with exit code 1
It would be great if your project were added to some localization platform, such as Hosted WebLate or POEditor. These platforms have free plans and make the work of translators much easier.
set to download only on certain point of the video.
using YouTube url ?start=X&end=X
for example.
or implement something like Sponsor Block
Turning off AutoPlay does not work, videos always start automatically regardless of whether the "AutoPlay" option is on or off.
Is this supported fully ios storage file access?
This would also give you an option to enable/disable automatic Playlist creation on Playlist Download
There is no way to change the region of YouTube trending page and videos, please add a option to change the country.
Allow app to open youTube and youTube music playlist link in app.
I am facing 2 issues while downloading files. Though Scaffold is successful
with the starting message of 'download started...' I get this error log,
======== Exception caught by widgets library =======================================================
The following StateError was thrown building DefaultTextStyle(debugLabel: whiteMountainView subtitle1, inherit: true, color: Color(0xffffffff), family: Roboto, decoration: TextDecoration.none, softWrap: wrapping at box width, overflow: clip):
Bad state: Stream has already been listened to.
The relevant error-causing widget was:
Scaffold-[String <'this'>] .../screens/home.dart:23:12
When the exception was thrown, this was the stack:
#4 _StreamBuilderBaseState._subscribe (package:flutter/src/widgets/async.dart:138:38)
#5 _StreamBuilderBaseState.initState (package:flutter/src/widgets/async.dart:112:5)
#6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4845:57)
#7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4682:5)
#8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3660:14)
...
====================================================================================================
======== Exception caught by widgets library =======================================================
Bad state: Stream has already been listened to.
The relevant error-causing widget was:
Scaffold-[LabeledGlobalKey<ScaffoldState>#de07a] .../lib.dart:151:14
====================================================================================================
======== Exception caught by widgets library =======================================================
Bad state: Stream has already been listened to.
The relevant error-causing widget was:
Scaffold-[String <'this'>] .../screens/home.dart:23:12
====================================================================================================
Though this stack makes file moves to downloadable queue, it never gets completed. It always stuck at Clearing Existing Metadata...
Is this a bug or is there a way this can be adjusted in settings?
Please update the old dependencies to newer versions. It compiles with so many warnings!
If you want I can submit a PR?
pubspec.yaml
is missing in youtube_player_flutter
Running "flutter pub get" in SongTube-App...
Could not find a file named "pubspec.yaml" in git://github.com/SongTube/youtube_player_flutter.git 0384af2273d0e8d997f5d6e39e5f9e28a6bfae7e.
pub get failed (1; Could not find a file named "pubspec.yaml" in git://github.com/SongTube/youtube_player_flutter.git 0384af2273d0e8d997f5d6e39e5f9e28a6bfae7e.)
Process finished with exit code 1
It would be very helpful to have nicer looking Downloads screen with more details of each download and a downloads history
I saw the Songtube app on another phone. But unfortunately it doesn't support my phone. My phone is 5.0.1, I know it's old. Currently the minimum api for the app is 22. Can Api 21 be supported?
Thanks.
This re-work would introduce various things:
Just like official Youtube, it would be more comfortable to have the ability to expand/collapse the video page (This would let you navigate the app while a video is open)
On cold start, after sharing a youtube link to the app nothing will happen, after the app is already opened it will work as intended, this behavior needs to be fixed.
please guide me how can I solve these errors. I'm new in flutter.
It's my log
Launching lib\main.dart on IN2021 in debug mode...
Running Gradle task 'assembleDebug'...
lib/internal/ffmpeg/converter.dart:42:65: Error: The operator '[]' isn't defined for the class 'MediaInformation'.
- 'MediaInformation' is from 'package:flutter_ffmpeg/media_information.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_ffmpeg-0.3.1/lib/media_information.dart'). Try correcting the operator to an existing operator, or defining a '[]' operator. return (await flutterFFprobe.getMediaInformation(mediaFile))["duration"]; ^ lib/internal/ffmpeg/extractor.dart:234:16: Error: The operator '[]' isn't defined for the class 'MediaInformation'.
- 'MediaInformation' is from 'package:flutter_ffmpeg/media_information.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_ffmpeg-0.3.1/lib/media_information.dart'). Try correcting the operator to an existing operator, or defining a '[]' operator. return json['duration']; ^ lib/internal/ffmpeg/extractor.dart:240:19: Error: The operator '[]' isn't defined for the class 'MediaInformation'.
- 'MediaInformation' is from 'package:flutter_ffmpeg/media_information.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_ffmpeg-0.3.1/lib/media_information.dart'). Try correcting the operator to an existing operator, or defining a '[]' operator. return "${json["metadata"]["date"]}"; ^ lib/internal/ffmpeg/extractor.dart:246:19: Error: The operator '[]' isn't defined for the class 'MediaInformation'.
- 'MediaInformation' is from 'package:flutter_ffmpeg/media_information.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_ffmpeg-0.3.1/lib/media_information.dart'). Try correcting the operator to an existing operator, or defining a '[]' operator. return "${json["metadata"]["disc"]}"; ^ lib/internal/ffmpeg/extractor.dart:252:19: Error: The operator '[]' isn't defined for the class 'MediaInformation'.
- 'MediaInformation' is from 'package:flutter_ffmpeg/media_information.dart' ('/C:/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_ffmpeg-0.3.1/lib/media_information.dart'). Try correcting the operator to an existing operator, or defining a '[]' operator. return "${json["metadata"]["track"]}"; ^ lib/players/service/playerService.dart:291:28: Error: Getter not found: 'none'. case ProcessingState.none: ^^^^
App is showing black screen after showing splash screen.
I am using latest released apk.
I am facing this problem on android 8.1
App works fine on android 10
Add a option in setting to switch between video & audio only for YouTube music and use music player for listening to that audio
So songtube can be used as online music player
Many of us just wanna listen to audio and don't care about video so it will be a very useful and will save allot of data
One app already had done this :- ymusic
Here's the app link if u wanna see the app (ymusic.io)
So I don't think it's impossible to do
I hope u will add this feature
Thank you for your awesome app
In newpipeextractor streamsegmenrlt.dart directory is missing....please upload this directory.....
The current translation process can be much better and easier for translators if you put it on Crowdin which is free for open source apps anyway. By doing so it will be easier for everyone to translate, maintain and update as contrubutors get alerts when new strings are added/changed and it's really the user friendly localization platform with mobile view support for translating on the go.
The app is closing right after opening and this only occurs after you complete the initial setup.
I found few enhancements which were working prior to version v.6 but that's not working now.
Mozart
keyword. This time, no matter how much time I search, it loads abrupt suggestions on all the time.When segmentation is applied on long videos like(https://www.youtube.com/watch?v=xyOLf0j_40o). The process continues but gets stuck at converting. I will add the image and sample video in next comment. Logs are sent in pm on telegram to Artx from @mubashirrehman .
Edit: Video file is also sent on telegram in pm to Artx because video size exceeds the github file limit.
Please consider my request.
Few enhancements.
ListTile
tap always overrides, trailing icon tap. The same happens when playing media as well. WHatever is playing it always start with media which I tap for editting tag.We have feature to add audio tags, before media gets downloaded. It should be available afterwards that is to update audio-tags, when media download completes.
It would be nice feature to app, changing for audio-tags to all device media?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.