Giter Club home page Giter Club logo

babe-qt's Introduction

Babe

Tiny Qt Babe Music Player

Babe is a tiny Qt music player to keep your favorite songs at hand

https://milohr.github.io/BabeIt/

Babe will handle your whole music collection, letting you create custom playlists to organize your music.

You can also filter your music by artist, title, album, genre, date and location. Babe let's you babe-mark your favorite YouTube music videos into your local collection by using the Chromium extension.

Think of Babe as the playlist where all your favorite tracks at the moment are. And when needed you also have an integrated collection manager.

(a previous unfinished gtk3 version is still in my repository and I plan to turn it into a simple version of Noise for the Pantheon desktop of elementaryOS)

you need to have [ taglib - knotification lib - ki18n lib - qt 5.8 libs ]installed in order to compile this app from source

any extra help to package this app is welcome and I'm willing to solve any doubts or questions about it.

To run:

qmake-qt5 && make && ./Babe

To try the Youtube Chromium extension

In Chrome/mium go to chrome://extensions/, then enable the Developer mode check box in the right upper corner, after that click on "Load unpacked extension..." and select the BabeExtension folder.
  • Planned Features :

    • [5%] youtube-dl streamming
    • [90%] babe chrome-chromium extension for youtube-dl supported sites
    • [0%] krunner integration
  • Expected Features :

    • [100%] simple music collection manager
    • [100%] artist and lyrics info

Features :

-Babe has three different view modes: 
* the mini mode keeps on top of the windows and its size is just 200x200 px ,just displaying the art and playback controls
* the playlist mode is unobtrusive and displays a list of your songs
* the collection view let's you browse your whole music collection by tracks, artists and albums, also let's you get information about the current song playing.

-search keys to filter the results: 

* location:  (example: to see all the tracks from the YouTube extension: "location:youtube")
* artist: (get all matching artists)
* album: (get all matching albums)    
* title: (get all matching titles)
* genre: (get all matching genres)

-quickly append search results, albums, artists and tracks to the main playlist or save them to a specific playlist

-create colored mood tags for tracks that modify the main playlist color

-use the chromium extension to babe your favorite youtube music videos and Babe will fetch the art and metadata of the track

-quickly move between albums/artists with the playAll button that shows on hover in all the artworks

-get native kde notifications for the plasma desktop

-add songs to a queued special playlist if you want to play some track next

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

babe-qt's People

Contributors

a17r avatar aleixpol avatar andreas-kainz avatar jriddell avatar krop avatar milohr 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

babe-qt's Issues

Crash importing library

Hope this is useful.

writting to db:  "Morfe" "Morfe"
Process 80412 stopped
* thread #1, stop reason = signal SIGSEGV: address access protected (fault address: 0x819e00000)
    frame #0: 0x000000080a482cb6 libc.so.7`memmove + 22
libc.so.7`memmove:
->  0x80a482cb6 <+22>: rep    
    0x80a482cb7 <+23>: movsq  (%rsi), %es:(%rdi)
    0x80a482cb9 <+25>: movq   %rdx, %rcx
    0x80a482cbc <+28>: andq   $0x7, %rcx

(lldb) bt all
error: Babe DWARF DW_TAG_array_type DIE at 0x0001c22e has a class/union/struct element type DIE 0x0001c23a that is a forward declaration, not a complete definition.
Try compiling the source file with -fno-limit-debug-info or disable -gmodule
* thread #1, stop reason = signal SIGSEGV: address access protected (fault address: 0x819e00000)
  * frame #0: 0x000000080a482cb6 libc.so.7`memmove + 22
    frame #1: 0x0000000808f08d38 libQt5Core.so.5`QListData::remove(int) + 104
    frame #2: 0x0000000832e072a8 libqsqlite.so`___lldb_unnamed_symbol17$$libqsqlite.so + 312
    frame #3: 0x0000000832e0732e libqsqlite.so`___lldb_unnamed_symbol18$$libqsqlite.so + 14
    frame #4: 0x0000000807f1cb9d libQt5Sql.so.5`QSqlQuery::~QSqlQuery(void) + 61
    frame #5: Babe`CollectionDB::insert(this=<unavailable>, tableName=<unavailable>, insertData=<unavailable>) at collectionDB.cpp:162
    frame #6: Babe`CollectionDB::addTrack(this=0x0000000815c25cc0, track=<unavailable>) at collectionDB.cpp:208
    frame #7: 0x000000080908a481 libQt5Core.so.5`QObject::event(QEvent*) + 657
    frame #8: 0x000000080176ff60 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
    frame #9: 0x0000000801771300 libQt5Widgets.so.5`QApplication::notify(QObject*, QEvent*) + 368
    frame #10: 0x0000000809061593 libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 147
    frame #11: 0x000000080906229a libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 810
    frame #12: 0x00000008090b1508 libQt5Core.so.5`___lldb_unnamed_symbol2447$$libQt5Core.so.5 + 24
    frame #13: 0x000000080be4d56b libglib-2.0.so.0`g_main_context_dispatch + 315
    frame #14: 0x000000080be4d89e libglib-2.0.so.0`___lldb_unnamed_symbol114$$libglib-2.0.so.0 + 430
    frame #15: 0x000000080be4d924 libglib-2.0.so.0`g_main_context_iteration + 100
    frame #16: 0x00000008090b0ffb libQt5Core.so.5`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 107
    frame #17: 0x000000080905d58e libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 414
    frame #18: 0x0000000809061c01 libQt5Core.so.5`QCoreApplication::exec(void) + 321
    frame #19: Babe`main(argc=<unavailable>, argv=0x00007fffffffe418) at main.cpp:41
    frame #20: 0x000000000042deff Babe`_start + 383

Finding similar songs not working

Hi there.

I have just added a large collection into babe.
After I have added a song or two to the main playlist, I tried out the various buttons. Clicking on calibrations removes all the songs from the main playlist, apart from the selected song, and nothing else that I can see. What's the point of this?

However, this is not the main issue. I had a previous version of Babe installed, and with that, when I clicked on "find similar" it would populate my main playlist with similar songs. Right now I just get a message that no similar songs were found. This is a bit hard to believe for a classic rock song in a collection of over 90k songs.

How can I troubleshoot this?

Kind regards,
-Evert-

Segfault - babe doesn't work on Manjaro?

I tried babe from manjaro repo, it crashes after 10-15s. I installed git version from AUR, the same. I get the window but it crashes quickly by itself. Deleting conf isn't helping.

In terminal I get this:

QMetaObject::connectSlotsByName: No matching signal for on_open_btn_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_mainList_clicked(BAE::DB_LIST)
QMetaObject::connectSlotsByName: No matching signal for on_seekBar_sliderMoved(int)
Getting collectionDB info from:  "/home/michaldybczak/.local/share/babe/"
Getting settings info from:  "/home/michaldybczak/.config/babe/"
Getting artwork files from:  "/home/michaldybczak/.cache/babe/"
Babe listening on port 8483
QMetaObject::connectSlotsByName: No matching signal for on_searchBtn_clicked()
duplicated paths in watcher removd:  0
reseting the interval brainz
getting missing album artworks
[lastfm service]:  "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Chevelle&album=Wonder What's Next %00"
ORDER TO CLEAN TABLE
POPULATING ALBUMS WAS CALLED
ORDER TO CLEAN TABLE
ORDER TO CLEAN TABLE
POPULATING ALBUMS WAS CALLED
ORDER TO CLEAN TABLE
ORDER TO CLEAN TABLE
ON POPULATE TABLEVIEW
GETTING TRACKS FROM BABETABLE THREAD
frameWidth: 2
frameWidth: 2
QNetworkReply::NetworkError(ProtocolInvalidOperationError)
error settingUp lastfm service
[spotify service]:  "https://api.spotify.com/v1/search?q=album:Wonder What's Next %00%20artist:Chevelle&type=album"
QNetworkReply::NetworkError(ProtocolInvalidOperationError)
error settingUp spotify service
error settingUp musicBrainz service
[lastfm service]:  "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Robert A. Monroe&album=H-plus %00 The Monroe Institute"
QNetworkReply::NetworkError(ProtocolInvalidOperationError)
error settingUp lastfm service
[spotify service]:  "https://api.spotify.com/v1/search?q=album:H-plus %00 The Monroe Institute%20artist:Robert A. Monroe&type=album"
QNetworkReply::NetworkError(ProtocolInvalidOperationError)
error settingUp spotify service
error settingUp musicBrainz service
getting missing album tags
[lastfm service]:  "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Strachy Na Lachy&album=!TO!"
error settingUp spotify service
[musicbrainz service]:  "http://musicbrainz.org/ws/2/release/?query=release:\"!TO!\"+artist:\"Strachy Na Lachy\"+primarytype:\"album\"&fmt=json&limit=5"
Trying to construct an instance of an invalid type, type id: 3801203
Trying to construct an instance of an invalid type, type id: 3801203
Segefault error

[flatpak] Impossible to add sources

Hi
I nstalled flatpak build from kdeapps repo on neon dev unstable.
It's impossible to add sources, nothing happens when I click "+" button.

SIGSEV when right-clicking in empty collections

The context menu in collection views should probably not open when right-clicking the list without selecting an entry. Since no row is selected, the actions do not make much sense. The Babe It action crashes the application with a SIGSEV.

GitHub release

Could you make a release here on GitHub and add the changelogs?

Volume Control?

Hi there.

Are there any plans on adding a volume control to this app?

I can of course use the mixer app, but it would have been nice to be able to control the volume from the app itself.

Kind regards,
-Evert-

Requesting AAC support

As far as I know, Babe doesn't .aac file. This project is cool. Kindly consider adding it.

Library adds all single folders instead of the main one

When I add my music folder to babe 1.2.1, then every single folder below the music folder is added. I would expect to see just the main folder in the library and not hundreds of single ones.

If I want to delete a music folder, I would have to delete every single folder manually instead of just removing the main folder.

The box containing the sources doesn't scale either and you need to scroll a lot to to see the full path.

Besides this babe crashes on Plasma-Wayland when scanning the library.:
ERROR OPENING DB "out of memory Error opening database" "{60899d3a-4899-4c2a-addb-f22c88739d43}"
ERROR OPENING DB "out of memory Error opening database" "{becf52ef-1051-4c90-bb00-764eb76b6b31}"
ERROR OPENING DB "out of memory Error opening database" "{7cf3b02c-8385-4c61-8e1a-4d580fa5b5f3}"
ERROR OPENING DB "out of memory Error opening database" "{4e85eec6-5765-4666-bf72-69ad700b9dd7}"
ERROR OPENING DB "out of memory Error opening database" "{61d9f077-2996-42cd-a49f-017e5a5eeb46}"
ERROR OPENING DB "out of memory Error opening database" "{cbfab363-850a-40c9-ad40-f79f88eee64b}"
ERROR OPENING DB "out of memory Error opening database" "{b5637377-9003-4166-97be-1716d098f037}"
ERROR OPENING DB "out of memory Error opening database" "{2deb0dc8-f886-4c4e-8f2a-8daaf04197b9}"
ERROR OPENING DB "out of memory Error opening database" "{50388616-6e5e-4759-887e-fffa3a4fe354}"
ERROR OPENING DB "out of memory Error opening database" "{ec3295c9-fcbf-48ff-9a16-572ad745789a}"
ERROR OPENING DB "out of memory Error opening database" "{af6dc772-c203-4f7c-ac7e-3041d02b15f7}"
ERROR OPENING DB "out of memory Error opening database" "{0eecbfdf-d1b3-40ba-bb52-1804b343def0}"
ERROR OPENING DB "out of memory Error opening database" "{e6b611c4-93fe-4005-a3f0-a6012122e84d}"
ERROR OPENING DB "out of memory Error opening database" "{4cd424ac-8a46-499b-a1fe-445d450f4efe}"
ERROR OPENING DB "out of memory Error opening database" "{5f5e50e7-e304-4046-becb-04e858bc4c2d}"
ERROR OPENING DB "out of memory Error opening database" "{08d392e3-c495-4f14-a20e-8718bce93f33}"
ERROR OPENING DB "out of memory Error opening database" "{8318b102-2fff-4380-a4d2-37c993255f6e}"
ERROR OPENING DB "out of memory Error opening database" "{84ad13a1-40ef-4da9-9297-3fd1ecedeb07}"
ERROR OPENING DB "out of memory Error opening database" "{2346115b-c5f9-4063-8183-a05a1d703881}"
[lastfm service]: "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Shaw Blades&album=Californication Season 2"

(babe:9951): GLib-ERROR **: 11:45:29.864: Creating pipes for GWakeup: Zu viele offene Dateien

Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)

option for a folder panel

now there are songs, albums, artists and playlists panels
would be nice to have a folder or directory panel, so we can play music just from the folder we like (just a click on the folder we would like to listen) (the music arrange different, or may have different labels)
thanks

Crash when adding new music sources

Babe crashes when I add a new music source folder, however the files are actually added with covers, pictures, lyrics and all.

(also a small issue: covers look a little pixelated)

  • Distro: Arch / Kernel 4.9.11
  • Libs: Qt5 5.8.0 / Plasma 5.9
  • Babe from master

Stuff in the terminal:

Collection dir added:  "/home/januz/music/Prog/Darkwater"
Function Name:  void settings::populateDB(QString) new path for database action:  "/home/januz/music/Prog/Darkwater"
started wrrting to database...
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 03 Again.mp3"
the album has a title
writting to db:  "Again"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 05 The Play - I.mp3"
the album has a title
writting to db:  "The Play - I"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 06 The Play - II.mp3"
the album has a title
writting to db:  "The Play - II"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 01 2534167.mp3"
the album has a title
writting to db:  "2534167"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 07 Shattered.mp3"
the album has a title
writting to db:  "Shattered"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 02 All Eyes On Me.mp3"
the album has a title
writting to db:  "All Eyes On Me"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 08 Tallest Tree.mp3"
the album has a title
writting to db:  "Tallest Tree"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 09 In My Dreams.mp3"
the album has a title
writting to db:  "In My Dreams"
"/home/januz/music/Prog/Darkwater/Calling The Earth To Witness/Darkwater - Calling the Earth to Witness - 04 Habit.mp3"
the album has a title
writting to db:  "Habit"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 03 Into the Cold.mp3"
the album has a title
writting to db:  "Into the Cold"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 04 A Folls Utopia.mp3"
the album has a title
writting to db:  "A Folls Utopia"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 06 In the Blind of an Eye.mp3"
the album has a title
writting to db:  "In the Blind of an Eye"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 02 Why I Bleed.mp3"
the album has a title
writting to db:  "Why I Bleed"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 07 Fields of Sorrow.mp3"
the album has a title
writting to db:  "Fields of Sorrow"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 08 Without a Sound.mp3"
the album has a title
writting to db:  "Without a Sound"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 09 Walls of Deception.mp3"
the album has a title
writting to db:  "Walls of Deception"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 05 Queen of the Night.mp3"
the album has a title
writting to db:  "Queen of the Night"
"/home/januz/music/Prog/Darkwater/Where stories end/Darkwater - Where Stories End - 01 Breathe.mp3"
the album has a title
writting to db:  "Breathe"
finished wrrting to database
now it i time to put the tracks in the table ;)
ON POPULATE: "SELECT * FROM tracks"
The Query is:  "SELECT * FROM tracks"
found the query
finished populating tables, now ordering them
ON POPULATE ALBUM VIEW:
ON POPULATE HEADS VIEW:
good to hear it finished yay! now going to fetch artwork
"Darkwater" "Calling the Earth to Witness"
fixing the title string in order to get album title: "Again"
Going to try and get the art cover for:  "Calling the Earth to Witness" by "Darkwater" "Again"
thealbum name is: "Calling the Earth to Witness"
on setDataCover: "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Darkwater&album=Calling the Earth to Witness"
the cover art url is "https://lastfm-img2.akamaized.net/i/u/300x300/548b9ef8736c4f0ea3f96fe078e30cea.png"
trying to save the array
Artwork[cover] inserted into DB "Calling the Earth to Witness" "Darkwater"
"Darkwater" "Where Stories End"
fixing the title string in order to get album title: "Into the Cold"
Going to try and get the art cover for:  "Where Stories End" by "Darkwater" "Into the Cold"
thealbum name is: "Where Stories End"
on setDataCover: "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Darkwater&album=Where Stories End"
the cover art url is "https://lastfm-img2.akamaized.net/i/u/300x300/dcc7e02d5685489e98078b5beaa0d94c.png"
trying to save the array
Artwork[cover] inserted into DB "Where Stories End" "Darkwater"
trying to save the array
Artwork[head] inerted into DB "Darkwater"
duplicated paths in watcher removd:  0
now it i time to put the tracks in the table ;)
ON POPULATE: "SELECT * FROM tracks"
The Query is:  "SELECT * FROM tracks"
found the query
finished populating tables, now ordering them
ON POPULATE ALBUM VIEW:
ON POPULATE HEADS VIEW:
QXcbConnection: XCB error: 3 (BadWindow), sequence: 55321, resource id: 48240557, major code: 4 (DestroyWindow), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 55327, resource id: 48240620, major code: 4 (DestroyWindow), minor code: 0
fish: “code/babe-qt/Babe” terminated by signal SIGSEGV (Address boundary error)

Issues with Plasma integration - lack of features

First, in system tray when I play media I get media player icon, where I can play/pause/forward music. Babe isn't showing there.

Second, I use global menus and Babe doesn't have them and I suspect there are some menus, because there should be toolbar and I don't see it, so I suspect it should be exported to menus.

System, Manjaro, Plasma 5.11.2, Babe installed today from AUR, git version.

option to play music directly from songs panel

now you can reproduce the album or artist music files just clicking on it one time
however, from songs panel you need to click twice, and the search the song on the other panel and click on it again twice
so here we use plasma kaos and one click option, maybe could be considered an easiest way to play it
thanks
ps, nice, the program have been enhanced

Fedora package

There should probably be an RPM build to make this easy to install on Fedora.

As it is right now, on Fedora 27 beta, your instructions don't appear to work for building.

qmake-qt5
Project ERROR: Unknown module(s) in QT: KConfigCore KNotifications KI18n

toolbar layout

toolbar

left the different views (of your local music collection) center the search and right playlist, information and youtube view (section of your collection or external stuff info, youtube)

what do you think?

QJson Qt5

Since this application uses all Qt 5 I presume, you will be using QJson Qt5 too, for that you need to use the qjson-qt5 setup, see:
https://github.com/flavio/qjson/blob/master/CMakeLists.txt#L54

To make current git status of babe-qt build with QJson Qt5 based, this sed line makes the build work:

sed -i -e 's|<qjson/parser.h>|<qjson-qt5/parser.h>|' artwork.cpp

scaling and layouting

screenshot_20170211_100108
when you have more than 4 tracks you can't read the track number in addition it would be nice it you get the "extended" height when you have more than 4 tracks licke in the artist selection. maybe you can show the artists from the album.

Large Collection feedback

Hi there.
I have a sizeable collection of around 90k songs.
When loading this collection, the UI of babe freezes.
Some sort of progress indication would be awesome.

Once the program did import my music collection, it for some reason does not show it, and connects to the internet for song information.
This is annoying on two counts

  1. I cant play my music
  2. What if I am offline?

One way around this would be to display the file information while the detailed information is being fetched. Then at least one can have tunes while you wait!

I have now pointed it at a much smaller part of my collection, and will play around with it for a while.
Regards,
Evert

left (bottom) menu bar missing

Hi,
compiled from source in KDE neon 5.10.2 to install but when i start the program the gui is different from photos in Your GitHub page: the left (bottom) side menu bar missing and the blur effect fill the whole area of the cover picture. I have to think about it as a compilation problem or is a change in the gui?
Thanks in advance for Your reply

Compilation errors

When compiling (latest release-1.2 from git://anongit.kde.org/babe) I get a ton of errors like this:

src/pulpo/services/../../utils/bae.h: In function 'QString BAE::fixString(const QString&)':
src/pulpo/services/../../utils/bae.h:323:38: error: call of overloaded 'contains(char)' is ambiguous
         title=title.contains('\u0000')?title.replace('\u0000',""):title;
                                      ^
In file included from /usr/x86_64-pc-linux-gnu/include/qt5/QtCore/qobject.h:47:0,
                 from /usr/x86_64-pc-linux-gnu/include/qt5/QtCore/QObject:1,
                 from src/pulpo/services/spotifyService.h:4,
                 from src/pulpo/services/spotifyService.cpp:1:
/usr/x86_64-pc-linux-gnu/include/qt5/QtCore/qstring.h:1137:13: note: candidate: bool QString::contains(QChar, Qt::CaseSensitivity) const
 inline bool QString::contains(QChar c, Qt::CaseSensitivity cs) const
             ^~~~~~~
/usr/x86_64-pc-linux-gnu/include/qt5/QtCore/qstring.h:1131:13: note: candidate: bool QString::contains(const QString&, Qt::CaseSensitivity) const
 inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const
             ^~~~~~~
/usr/x86_64-pc-linux-gnu/include/qt5/QtCore/qstring.h:1133:13: note: candidate: bool QString::contains(const QStringRef&, Qt::CaseSensitivity) const
 inline bool QString::contains(const QStringRef &s, Qt::CaseSensitivity cs) const

Did I miss something ?

Playlist Toolbar

playlist toolbar

an example of the playlist toolbar. I don't know what's the queue section is but maybe it can be integrated into the playlist view.

Build requirements

according to issue #10 I got the problem that I can't build it. Error

artwork.cpp:649:40: warning: unused parameter ‘info’ [-Wunused-parameter]
QString ArtWork::getAlbumTitle(QString info)
                                       ^
Makefile:838: recipe for target 'artwork.o' failed
make: *** [artwork.o] Error 1

older clones did work so can you list somewhere which packages do you need. I installed everything qmake asked for at the beginning but I got this error code (on two different PC's).

option to change unknown picture

to have more options regarding to the picture for unknown album
how could be changed the picture?
seems there is not option to delete or upload or change the picture

please add sort option Album-Artist

Often you have a song which is with 3 artists but it is on one album from one artist the Album-Artist. It makes much more sense to sort for Album-Artist than for Artist.
It would be wonderful if you could implement it like this, if there is no Album-Artist Tag the Artist Tag will be used.

File youtube.ui missing in master

On cmake run got error:

CMake Error in CMakeLists.txt:
  Cannot find source file:

    /home/nicklion/dev/extern/kde/babe-qt/youtube.ui

Branch: master.

cover and play now view

screenshot_20170211_103505

please change the mode/expand icon and from my point of view there are no different icons needed.

I would separate the shuffle, repeate and consecutive to the playlist and to separate icons cause you shuffle the playlist. In addition you get the same layout in the playlist toolbar than in the cover toolbar. the playlist icon in the active playlist is cause click on it will open the playlist and there you can save the active playlist or whatever you want (you have there way more posibilities to make the playlist stuff useable.)

next step would be to think on a global menu bar.

Document build system better

The build system is confusing right now. There seem to be at least two ways to build the project:

  • qmake
  • cmake

The documentation states:
To run: qmake-qt5 && make && ./Babe

This does indeed work, but the resulting artifacts (binaries, image resources, etc.) for oneself, which is bad for all of the distributions trying to package your software.

In order to get your software easily packaged in the major Linux distributions you should provide a simple way to build and install your software and document it appropriately. Usually this looks something like this for KDE projects:

cmake -d build
make
make install

Search on large collections slow.

Hi there.

Firstly, thanks for making this super software, it's really nice.
I have a large music collection with approximately 90000 songs.

When searching for anything in that collection, babe is extremely slow on the first keystrokes, and as the search term gets more specific it speeds up. I am guessing this is because a single character has a really large number of hits, and it takes a minute or two to load the entire list, then only does it insert the next character in the search, and so on.

When I type the text I am looking for in a text editor and cut 'n paste it into the search field, the search is almost instantaneous. (Probably because of the much smaller number of hits)

So, in order to support larger music collections, babe either has to wait until no more text is entered before it starts searching, or monitor keyboard input and abort any current search and start searching with the next input string.

I am using Arch linux, so I can test any fixes quite quickly.
Kind regards,
-Evert-

QtQuick

Any reason why not using QtQuick over QtWidgets?

click behavior

when you click (or double click) in the collection view on an track it was added to the current playlist, when you double click (or click on the symbol) in the artist or album view, the current playlist was cleaned and the album/artist tracks were added.

I would suggest always the same behavior.

Another crash importing library

Got another crash importing my library

(lldb) bt
* thread #1, name = 'Babe', stop reason = signal SIGILL
  * frame #0: Babe`genius::extractLyrics(this=0x00007fffdeff5188, array=0x00007fffdeff44f8) at geniusService.cpp:344
    frame #1: Babe`genius::parseTrack(this=0x00007fffdeff5188) at geniusService.cpp:254
    frame #2: Babe`Pulpo::parseArray(this=0x00007fffdeff5188) at pulpo.cpp:186
    frame #3: Babe`genius::setUpService(this=0x00007fffdeff5188, ontology=0x000000081cf78881, info=0x000000081cf78880) at geniusService.cpp:60
    frame #4: Babe`Pulpo::initServices(this=0x000000081cf78850) at pulpo.cpp:105
    frame #5: Babe`Pulpo::feed(this=0x000000081cf78850, song=0x00007fffdeff53f0, recursive=0x00007fffdeff541d) at pulpo.cpp:37
    frame #6: Babe`_ZN6Deamon5Brain7setInfoE5QListI4QMapIN3Bae3KEYE7QStringEEN5PULPO8ONTOLOGYES1_INS8_8SERVICESEENS8_4INFOENS8_9RECURSIVEEPFvS6_E(this=0x000000081cf78830, dataList=Bae::DB_LIST @ 0x00007fffdeff57d0, ontology=TRACK, services=<unavailable>, info=LYRICS, recursive=OFF, cb=(Babe`_ZZN6Deamon5Brain9trackInfoEvENUl4QMapIN3Bae3KEYE7QStringEE_8__invokeES5_ at brain.h:335)) at brain.h:88
    frame #7: Babe`Deamon::Brain::trackInfo(this=0x000000081cf78830) at brain.h:335
    frame #8: Babe`Deamon::Brain::synapse(this=0x000000081cf78830) at brain.h:104
    frame #9: Babe`Deamon::Brain::qt_static_metacall(_o=0x000000081cf78830, _c=InvokeMetaMethod, _id=3, _a=0x0000000838edfe08) at moc_brain.cpp:119
    frame #10: 0x0000000809a92e21 libQt5Core.so.5`QObject::event(QEvent*) + 657
    frame #11: 0x0000000801770b50 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
    frame #12: 0x0000000801771e8a libQt5Widgets.so.5`QApplication::notify(QObject*, QEvent*) + 362
    frame #13: 0x0000000809a69a83 libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 147
    frame #14: 0x0000000809a6a85a libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 810
    frame #15: 0x0000000809abb878 libQt5Core.so.5`___lldb_unnamed_symbol2575$$libQt5Core.so.5 + 24
    frame #16: 0x000000080c87656b libglib-2.0.so.0`g_main_context_dispatch + 315
    frame #17: 0x000000080c87689e libglib-2.0.so.0`___lldb_unnamed_symbol114$$libglib-2.0.so.0 + 430

Preceding log:

setting up genius service
[genius service]:  "https://api.genius.com/search?q=Mr Misfortune Hadouken!"
[genius service]:  "https://api.genius.com/songs/1671907"
LYRICS PATH "https://genius.com/Hadouken-mr-misfortune-lyrics"
"\n        <div class=\"lyrics\">\n          \n            <!--sse-->\n            <p>Come along mate<br>\nYou gotta cheer up<br>\nI know down on your luck but<br>\nDon't be down in the dumps<br>\nDon't be down in the dumps<br>\nYeah don't be down in the dumps<br>\nI know you're down on your luck but<br>\nYou got to listen up<br>\n<br>\nCoz real lads<br>\nThey don't sink<br>\nThey brush it off<br>\nThey hold up<br>\nThey take it on the chin<br>\nAnd nice girls<br>\nWon't leave you out of pocket<br>\nWon't make you buy their mates all their drinks<br>\nThen leave you there to sock it<br>\n<br>\nAnd OH OH OH OH!<br>\nHe's only gone and done it<br>\nShe's dumped him again<br>\nAnd OH OH OH OH!<br>\nHe's only gone and done it again<br>\n<br>\nSo tell it to me straight now<br>\nAre you one of those guys<br>\nWho always need the hassle and the stress in their lives?<br>\nAnd switches on and off from girlie to girl<br>\nMisfortune always turning your world<br>\n<br>\nMister Misfortune<br>\nWe need to sort you<br>\n(Check!)<br>\n<br>\nAnd all our friends agree<br>\nThat since the age of fourteen<br>\nYou've played to lose and took the blues<br>\nYou need a slap on the cheek<br>\nCoz now it's gone too far<br>\nYou need a swift reminder<br>\nSo lick your straightener scars<br>\nAnd dry your eyeliner<br>\n<br>\nAnd OH OH OH OH!<br>\nHe's only gone and done it<br>\nShe's dumped him again<br>\nAnd OH OH OH OH!<br>\nHe's only gone and done it again<br>\n<br>\nSo tell it to me straight now<br>\nAre you one of those guys<br>\nWho always need the hassle and the stress in their lives?<br>\nAnd switches on and off from girlie to girl<br>\nMisfortune always turning your world<br>\n<br>\nMister Misfortune<br>\nMister Misfortune<br>\nWe need to sort you<br>\nMister Misfortune<br>\n<br>\nDon't be down in the dumps<br>\nDon't be down in the dumps<br>\nI know you're down on your luck but<br>\n<br>\nDon't be down in the dumps<br>\nDon't be down in the dumps<br>\nI know you're down on your luck but<br>\nYou got to listen up<br>\n<br>\nYou got to listen up<br>\n<br>\nHe's only gone and done it again<br>\n<br>\nSo tell it to me straight now<br>\nAre you one of those guys<br>\nWho always need the hassle and the stress in their lives?<br>\nAnd switches on and off from girlie to girl<br>\nMisfortune always turning your world<br>\n<br>\nSo tell it to me straight now<br>\nAre you one of those guys<br>\nWho always need the hassle and the stress in their lives?<br>\nAnd switches on and off from girlie to girl<br>\nMisfortune always turning your world<br>\n<br>\nOH OH OH OH!<br>\nAnd OH OH OH OH!<br>\nYou go to listen up</p>\n\n\n            <!--/sse-->"
("<div class=\"lyrics\"> <!--sse--> <p>Come along mate<br> You gotta cheer up<br> I know down on your luck but<br> Don't be down in the dumps<br> Don't be down in the dumps<br> Yeah don't be down in the dumps<br> I know you're down on your luck but<br> You got to listen up<br> <br> Coz real lads<br> They don't sink<br> They brush it off<br> They hold up<br> They take it on the chin<br> And nice girls<br> Won't leave you out of pocket<br> Won't make you buy their mates all their drinks<br> Then leave you there to sock it<br> <br> And OH OH OH OH!<br> He's only gone and done it<br> She's dumped him again<br> And OH OH OH OH!<br> He's only gone and done it again<br> <br> So tell it to me straight now<br> Are you one of those guys<br> Who always need the hassle and the stress in their lives?<br> And switches on and off from girlie to girl<br> Misfortune always turning your world<br> <br> Mister Misfortune<br> We need to sort you<br> (Check!)<br> <br> And all our friends agree<br> That since the age of fourteen<br> You've played to lose and took the blues<br> You need a slap on the cheek<br> Coz now it's gone too far<br> You need a swift reminder<br> So lick your straightener scars<br> And dry your eyeliner<br> <br> And OH OH OH OH!<br> He's only gone and done it<br> She's dumped him again<br> And OH OH OH OH!<br> He's only gone and done it again<br> <br> So tell it to me straight now<br> Are you one of those guys<br> Who always need the hassle and the stress in their lives?<br> And switches on and off from girlie to girl<br> Misfortune always turning your world<br> <br> Mister Misfortune<br> Mister Misfortune<br> We need to sort you<br> Mister Misfortune<br> <br> Don't be down in the dumps<br> Don't be down in the dumps<br> I know you're down on your luck but<br> <br> Don't be down in the dumps<br> Don't be down in the dumps<br> I know you're down on your luck but<br> You got to listen up<br> <br> You got to listen up<br> <br> He's only gone and done it again<br> <br> So tell it to me straight now<br> Are you one of those guys<br> Who always need the hassle and the stress in their lives?<br> And switches on and off from girlie to girl<br> Misfortune always turning your world<br> <br> So tell it to me straight now<br> Are you one of those guys<br> Who always need the hassle and the stress in their lives?<br> And switches on and off from girlie to girl<br> Misfortune always turning your world<br> <br> OH OH OH OH!<br> And OH OH OH OH!<br> You go to listen up</p> <!--/sse-->")
Illegal instruction (core dumped)

Radio streams / Podcast feeds plugin [feature request]

Hi @milohr, as I mentioned on the G+ post, I think would be nice to have a very basic functionality for radio streams and podcasts as follow:

-Been able to find them like Radio > Search > "enter keyword"
-Been able to fetch/ to either listen or download (for later use) podcasts.

Thanks for giving it a thought : )

Can't synchronize library due to riching limit of opened file descriptors

When I'm trying to add my library folder after some time application crashes with

SAVING ARTWORK FOR:  "Worlds Apart"
[lastfm service]:  "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=ba6f0bd3c887da9101c10a50cf2af133&artist=Silent Force&album=Walk The Earth"
SAVING ARTWORK FOR:  "The Empire Of Future"
ERROR OPENING DB "out of memory Error opening database" "{1977a9d8-ecd7-47d7-bc01-ba33ab2867a7}"
ERROR OPENING DB "out of memory Error opening database" "{a0d92182-3a53-4a0a-ab3e-72d5ef126364}"
ERROR OPENING DB "out of memory Error opening database" "{90ebb3c4-7694-4b45-baa2-74f7731bb2c1}"
ERROR OPENING DB "out of memory Error opening database" "{67335ec6-cd43-4f7d-9a86-a7a44da94cf0}"
ERROR OPENING DB "out of memory Error opening database" "{314dcb22-ea7c-48c5-afd8-135df1a0aa87}"
QNetworkReply::NetworkError(SslHandshakeFailedError)
ERROR OPENING DB "out of memory Error opening database" "{85d9dda0-4882-4470-a7a7-b6158640d68d}"
ERROR OPENING DB "out of memory Error opening database" "{aad94610-ae1f-44a6-a5e9-62a828108899}"
ERROR OPENING DB "out of memory Error opening database" "{4eb511d6-1526-47f4-9928-aa8db4b6194f}"
ERROR OPENING DB "out of memory Error opening database" "{99ed76e3-65b0-4893-aaed-05ff66bbffbe}"
ERROR OPENING DB "out of memory Error opening database" "{a3f21a72-7c0b-46c0-8fa6-671232d87c7a}"
ERROR OPENING DB "out of memory Error opening database" "{eecf043c-24f3-4c0c-9ccf-ff8ebfbfb948}"
ERROR OPENING DB "out of memory Error opening database" "{18e662e3-3e03-413e-b53f-ac39300c2810}"
ERROR OPENING DB "out of memory Error opening database" "{fd6cbdae-5fdd-45b9-aabc-cb1988990bec}"
ERROR OPENING DB "out of memory Error opening database" "{cb4b8115-0d16-48da-8757-0bc365a90a2b}"
ERROR OPENING DB "out of memory Error opening database" "{0642947a-33ae-4fb2-b3c3-5bf24e85322c}"
ERROR OPENING DB "out of memory Error opening database" "{a5d38ed6-1e5c-404f-a49f-ac39b9a147f4}"
ERROR OPENING DB "out of memory Error opening database" "{51a8e9af-1411-4545-87a0-887b7c31e6f7}"
ERROR OPENING DB "out of memory Error opening database" "{c29efc71-9f12-49d5-930a-a0a5b8240943}"
ERROR OPENING DB "out of memory Error opening database" "{c58e3752-4e6c-42c9-a355-4e8990023cc3}"
ERROR OPENING DB "out of memory Error opening database" "{89ed47c2-489d-455b-ab3f-e7a1ba8ceb3b}"
ERROR OPENING DB "out of memory Error opening database" "{414b4fbc-1ad9-4b3f-b38c-639cf99ff9f1}"
ERROR OPENING DB "out of memory Error opening database" "{9a8e425c-3b8c-48e6-ae77-b813c2295ec5}"
ERROR OPENING DB "out of memory Error opening database" "{7404bc4f-8405-4591-a05f-f4183ecf84b9}"
ERROR OPENING DB "out of memory Error opening database" "{e7b306b5-1194-4f7e-bdc9-84dd8cbd8f98}"
ERROR OPENING DB "out of memory Error opening database" "{cfe8752f-e809-44cc-813f-f7d920165e1e}"
ERROR OPENING DB "out of memory Error opening database" "{be0afa3c-d5f5-44f0-bf15-5cfcc2c4af92}"
ERROR OPENING DB "out of memory Error opening database" "{cee24d9f-b014-4f16-8b58-4cd95893eeaf}"
ERROR OPENING DB "out of memory Error opening database" "{e797b0f4-5567-405f-9357-9a6b44aa6daa}"
ERROR OPENING DB "out of memory Error opening database" "{66e77385-31de-4076-be8e-29a637816ee0}"
ERROR OPENING DB "out of memory Error opening database" "{e28c0f08-b349-4ef5-9c6e-612289fc6a63}"
ERROR OPENING DB "out of memory Error opening database" "{eb6a97ec-bfd3-4ed5-b05b-2fe19046c9bf}"
ERROR OPENING DB "out of memory Error opening database" "{a8b03956-8622-4bdf-a737-2b897a3e3163}"
ERROR OPENING DB "out of memory Error opening database" "{23e8fb0a-c903-4653-9d7a-bfd24c87d5d8}"

Investigation showed that when you starting to synchronize some information about collection from internet you are opening a lot of new file descriptors to the same collection.db file and finally it reaches maximum limit of number of opened files(1024 - I think it is default on all linux systems) and finally crashes with the above error.

You can use ls -l /proc/$(pgrep babe)/fd | wc -l to see number of opened descriptors of babe process once you start it

window decoration

hi is there a reason babe-qt didn't use the window decoration from the system?

Make it localizable.

As title says, please make it localizable, then we can see translated version 😃

Delete database directory

Currently is it not possible, to delete a directory from the database, while the button already exist.

Provide an AppImage for Linux

any extra help to package this app is welcome and I'm willing to solve any doubts or questions about it.

Have you thought or would you be interested in providing an AppImage? Providing an AppImage would have, among others, these advantages:

  • Works for most Linux distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Can use the same AppImages when dual-booting multiple distributions

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

I'm happy to help to make this happen, if you are interested. AppImage developers are on #AppImage on irc.freenode.net.

you need to have [ taglib - knotification lib - ki18n lib - qt 5.8 libs ]installed in order to compile this app from source

Please give the exact apt-get command for Ubuntu 14.04 (trusty).

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.