Author Topic: BeeDownloader: download audio tracks of youtube videos into your inbox  (Read 38901 times)

SirTobi

  • Guest
Hi,

I made a plugin, to download youtube videos, extract their audio tracks and add them to your MusicBee inbox. The plugin adds an additional menu entry in the tools submenu. It will open the BeeDownloader window. There you can enter a url to a valid youtube video. Before the download starts a tag editor opens and you can edit the title and the artist of the track, you want to download. The plugin will try to figure out both from the original title of the video. Now the plugin will download the video, extract the audio track and save it to a certain folder (your desktop by default). The audio file will then be added to your inbox.

Have fun downloading youtube sounds tracks,
SirTobi

Download
Download BeeDownloader
Source on GitHub

Installation
Like all plugins for MusicBee you must place the plugin's dlls into the plugins filder (MusicBee\Plugins). Simply download the archive from the download section and extract it's content into the plugin folder. It should be loaded at the next start of MusicBee.

Issues
At the moment BeeDownloader is not realy tested. If you have any problems please report them here.

License
BeeDownloader is licensed under the MIT license. See the README for informations about the licenses of the used libraries.

Todo
- Use the current MusicBee skin
- Extend the tag editor
- Make it possible to cancel pending downloads
- Make it possible to change the order of pending downloads
Last Edit: June 22, 2014, 04:55:35 PM by SirTobi


Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
This feature has been requested several times so i am sure people will appreciate it.
I had a play around and it worked well although the title was truncated in this example: http://www.youtube.com/v/EPhWR4d3FJQ.
There is a small period where it doesnt look like its doing anything before it pops up with the tag dialog so perhaps you could display the wait cursor or some message?

One minor suggestion would be to refresh the Inbox after the download is complete (using MB_RefreshPanels)
Last Edit: June 22, 2014, 10:35:16 AM by Steven

SirTobi

  • Guest
Ok i added a "i do something"-dialog^^ i also fixed the problem with "U.S.A.", but it is realy hard to make it work with every video title, because people use a lot of different formats. After the video is downloaded i call MB_RefreshPanels, but it seems, that it does not work every time... maybe because it is not called from a seperated thread?

There is also a problem with the hotkeys... for example: STRG+V will not work because it is set to "Paste copied tags". In the setttings window it works normaly... how are the hotkeys disabled there?
Last Edit: June 22, 2014, 05:18:28 PM by SirTobi

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
that hotkey might be hard-wired in MB.
For the panel refresh, are you using the latest v2.4 from the first topic in the forum as there have been a number of internal changes made since v2.3

SirTobi

  • Guest
Year ok I use the older version... but it works ok.
What do you mean with "that hotkey might be hard-wired"? STRG-V is a normal hotkey I can set in settings/hotkeys (by default it will paste copied tags). The Problem is, that this hotkey is also triggered while entering text into the tag editor or the url input-field. For example I set space as a hotkey for pause/resume. That leeds to the problem, that I can't enter spaces into the tag editor (the one of the plugin). Everywhere else in the program (settings, search field, etc) it works just fine.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
use this to have MB create a text box with in-built keyboard handling - but you need v2.4 for it to work.
If the user has MB 2.3 it will return a null, so in that case you will have to create the textbox yourself

// PluginPanelDock.TextBox = 3
// PluginPanelDock.ComboBox = 4
textbox =  (TextBox)MB_AddPanel(null,PluginPanelDock.TextBox)
if (textbox == null) create the textbox yourself

Pingaware

  • Sr. Member
  • ****
  • Posts: 1110
I get this error - Error: The remote server returned an error: (403) Forbidden - for this video - https://www.youtube.com/watch?v=cUYfaHJFZiw.
Bold words in my posts are links unless expressly stated otherwise.

psychoadept

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 10691
Just used this for the first time and it worked great!  Had a crash on the second try, but the audio came out just fine.

I don't suppose you've considered if there's a way to import a whole channel for downloading?  Hopefully even with the ability to check/uncheck which videos you want.
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

electro

  • Full Member
  • ***
  • Posts: 130
I tried to use this plugin. Unfortunately, it can't download videos from VEVO Youtube channels...

Code
Error: The remote server returned an error: (403) Forbidden.


lordlance

  • Jr. Member
  • **
  • Posts: 22
Sadly I tried to use the plugin too, but I get the aforementioned error.  :(

iamambuser

  • Jr. Member
  • **
  • Posts: 64
This is all i get when attempting to download a video, http://i.imgur.com/TDjsuCP.png

Just tried the plugin and I've got the same problem. Opened an issue at GitHub. Hopefully SirTobi still active and can take a look at it.

iamambuser

  • Jr. Member
  • **
  • Posts: 64
Got this from SirTobi on GitHub,

"...BeeDownloader uses a library, that downloads the music from youtube. This library has currently some problems with downloading audio files, because youtube seems to not offer the audio track anymore. flagbug/YoutubeExtractor#200

Currently I can not fix this easily..."

MusikHornet

  • Newbie
  • *
  • Posts: 2
  • Music is my life
I can not really imagine how this could work in the best way. Youtube does offer quite often various video resolutions and quite different coding quality of music is embedded in these video formats. Normaly the best video quality does contain also the best audio quality (bitrate). Only with special tools I can extract the original audio stream lossless in the original codec format. That is very often the aac-format. Any recoding to mp3 is for me a NoGo, because it is not lossless and would result in compression degradation. How please is BeeDownloader able to manage this quite complex topic of lossless audio extraction?