Coder Social home page Coder Social logo

gogglesmm / gogglesmm Goto Github PK

View Code? Open in Web Editor NEW
52.0 8.0 13.0 10.78 MB

Goggles Music Manager

Home Page: https://gogglesmm.dev

License: GNU General Public License v3.0

C++ 98.74% C 0.52% CMake 0.64% Roff 0.10%
c-plus-plus audio-player music-library matroska ogg-vorbis opus flac mp3 aac alac

gogglesmm's Introduction

Support and Feedback
--------------------

  For support or feedback, feel free to email at [email protected] or file an issue at http://gogglesmm.github.io

Installation
------------

  Read the INSTALL file on how to build and install Goggles Music Manager on your machine.


Contributing
------------

  See the CONTRIBUTING file on how to start contributing to the project.


Keyboard Shortcuts
------------------

    Ctrl-N  Reset default sorting order in current view.
    Ctrl-R  Shuffle track list.
    Ctrl-B  Toggles browse mode on or off.
    Ctrl-T  Toggles Tag list in browse mode.
    Ctrl-Q  Quit Goggles Music Manager.
    Ctrl-O  Import files from given directory.
    Ctrl-J  Jump to playing song in track list.
    Ctrl-F  Find
         /  Find
    Ctrl-S  Show source browser
    Ctrl-P  Start playback.
    Ctrl-\  Stop playback.
    Ctrl-[  Play previous track.
    Ctrl-]  Play next track.
    Ctrl-,  Repeat Off
    Ctrl-.  Repeat Track
    Ctrl-/  Repeat All
    Alt-R   Shuffle Play
    Ctrl-A  Select All in lists.
    Ctrl-W  Close Main Window
    F11
    Ctrl-M  Show Mini Player.
    F12     Show Full Screen.
    F2      Edit selected track, album, artist or genre.
    Del     Delete selected track, album, artist or genre.

gogglesmm's People

Contributors

gogglesguy avatar maronghappy avatar micrococo avatar sanderjansen avatar soongnoonien 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gogglesmm's Issues

Tag your project

I still want tag as version to package it for Fedora. Plus it's better to have tags of projects so we can track the update easily.

Thanks.

Add option to disable album grouping by audioformat

Some highly malformed mp3s may not give accurate audioformat information by taglib which messes up the album grouping based on the audioformat. A import option to disable this grouping should help those users with lots of crappy files. See issue #39

Playcount

Hello,

i did import my DB from banshee and everything looks fine, but they playcount does not work, how can i get additional debug information, i don't see any parameter or log file.

Cheers
xuedi

How is sorting on albums composed of multiple discs supposed to work?

This is a question or an enhancement request.

When I pick an album that is composed of multiple disks right now, if I sort by track I get this sequences of tracks:
Disc 1, Track 1
Disc 2, Track 1
Disc 1, Track 2
Disc 2, Track 2
etc...

If I sort by DIsc I get some seemingly random sequence within each disc;
Disc 1, Track 11
Disc 1, Track 1
...
Disc 2, Track 1
Disc 2, Track 3
etc...

What I would like is to get a sequence of the tracks on each disc as well so:
Disc 1, Track 1
Disc 1, Track 2
Disc 1, Track 3
...
Disc 2, Track 1
Disc 2, Track 2
Disc 2, Track 3

etc...

Is there a way to do this with the existing functionality?
If not, can you consider this an enhancement request?
You can either do it automatically or do something fancy where when you sort you account for the existing sequence so if you first sort by tracks and then by discs the tracks would stay in the same relative order within each disc.

http gzip compression support

The http client should support gzip compression. This could be useful for downloading (compressed) text files like rss feeds

Opus multichannel support

Opus files with more than 2 channels will crash the player. We should be using the opus multistream decoder api instead.

Random segfault after a song ends

I keep getting segfaults after gogglesmm ends playing a song and (i suppose) try to look for the next. It occurs at random not always. I really don't have any clue about what's causing this. I have 6 core dumps and counting if there are of any use. Is not happening too often to be a real issue but nevertheless it would be nice to left it running without supervision.
I was hoping you could tell me if there is a way to compile it with "debug" flags and have more info to put in here.
The version i'm using is gogglesmm-0.14.2 from archlinux x86_64

Stop playing after some time

It would be nice to have this functionality, for example, before going to sleep I would select to stop playing after 30 minutes. Or it could be another play button which would play for specified time and then stop. It would be nice to have this functionality by MPRIS, but I am not sure if it's possible.

compile warning

    Compiling src/GMPodcastSource.cpp ...
src/GMPodcastSource.cpp: In member function 'FX::FXbool GMDownloader::download(const FX::FXString&, const FX::FXString&, FX::FXbool)':
src/GMPodcastSource.cpp:615:128: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'FX::FXlong {aka long int}' [-Wformat=]
         headers = FXString::value("Range: bytes=%lld-\r\nIf-Range: %s\r\n",offset,gm_rfc1123(FXStat::modified(filename)).text());
                                                                                                                                ^

Make use of xdg-icon-resource for non-package installs if available.

I installed gogglesmm from source (github yesterday after the major update) on my wifes computer that had a clean installation of xubuntu14.04. When I say a clean installation, I mean one that never had the version of gogglesmm from the ubuntu repos.

After I installed it, I noticed that the gogglesmm icon does not get used for the app either in the menus or as desktop shortcut. Looking at the desktop shortcut, I did notice that it is referring to the gogglesmm icon. I looked at this on both my computer and hers and they are both the same.

On my wifes computer, when bringing up properties on the desktop shortcut and searching all icons for gogglesmm it can't find anything. On my computer, if I do the same it does find gogglemm.

I'll try and do some more research later. If you want me to try something let me know.

Album Artist

I have a file with an Artist ID3 tag, but empty Album Artist tag. gogglesmm displays
Album Artist as a previous directory name. Is it possible to use Artist tag in such case?
I deselected "Group albums by audio format", didn't help.

Menu "frame" size does not adapt to larger font sizes

While trying to make gogglesmm look more native on my xfce desktop I tried changing the fonts to "droid, sans 10" and the last menu entry (Quit) got cropped (see attached). I believe this used to work in the older versions of gmm (.7? era). If I increase the size to 11, the last menu entry is not at all visible.

gmm_menu_cropped

This problem occurs with the other menus as well.

KDE Connect

There is an Android app KDE Connect which connects to the Linux PC (which has kde-connect installed and running). When I open remote control in Android KDE Connect, it shows Goggles with an empty name and empty song. I attach an example of another app, where the info is visible.
screenshot_2015-03-04-13-10-40
screenshot_2015-03-04-13-10-49

Album grouping seems to depend on Artist

I'm not sure if this is a bug or a feature but it is confusing.

On some compilation albums that have different artists listed for each individual track, gmm creates a different album with the same title per artist as opposed to just creating one album. I would prefer the later. If I view the tags on gmm I see the individual artist on both the artist field and the album artist field. If I open the same file in easytag only the artist tag is present and the album artist tag is blank.

Is there a way for me to either merge the albums together or get gmm to do it when it syncs? I apologize if this has been addressed before.

Multimedia keys

Is there any support for multimedia keys or any kind of configuration for the keyboard shortcuts?

cross search doesn't work anymore

ie, I type: real atlas
"real estate" last album "atlas" doesn't show up anymore since I upgraded to 0.13
I deleted all prefs files to have a clean new installation
I'm on a fresh Arch, using the community package

Thanks, I love this soft

Search issue

Hi,
When I search something in the find bar, ie "joeband", I play a song from "joeband" and when I empty the find bar, only that band and album played remain in the tracklist, have to reset manually "all artists" and "all albums" to have my whole playlist visible.
Still impossible to keep the settings empty (a;an;the) in the sorting options bar in the preferences, even after erasing the prefs and reinstallation.
Thanks

Title tag in .flac files ripped with grip is "ignored". Tracks show up as "Untitled"

I've started re-ripping my favourites from my CD collection in flac using grip and I noticed that now all the track (song titles) in all my freshly ripped flac files show up as "Untitled". This is just the title tag... all the other tags (track, year, artist, album artist, album) in the same .flac file are read properly. The title tags in these same flac files are parsed correctly by easytag, Rhythmbox and Nightingale.

All that being said on flac files that I downloaded from humblebundle, all tags, including the title tag, are parsed correctly by gmm.

Right now I'm using the gmm 1.08 from git yesterday although this happens with earlier versions as well.

older Vorbis Files

Older Vorbis Files do have a relatively big header, bigger than one packed of 8192 Bytes.

The vorbis plugin seems to expect to have all the required header information at the first process call. So for the older vorbis files you either need to increase the packet size to 16kBytes or you need to make the initialisation more flexible so that it can wait for multiple process calls and properly handle initialisation.

Changing volume when paused and using pulseaudio output unpauses the music

if using pulseaudio output, when one changes the volume (via the main window, but not when using the application specific volume from pulseaudio), the player enters a semi-paused state, the music resumes playing, and the time resumes counting, but the buttons (play,stop...) remains as if the music was paused
i tested with pulseaudio and alsa output, only happened with pulseaudio

system:
ArchLinux, kernel 3.15.5, kde 4.11, goggles 0.13.2, fox-devel 1.7.48

Empty tags makes gogglesm crash. Prevent empty tags from getting into the database.

When I press "Edit...":

terminate called after throwing an instance of 'FX::FXRangeException'

Program received signal SIGABRT, Aborted.
(gdb) bt
#0  0x0000003e79e35c39 in raise () from /lib64/libc.so.6
#1  0x0000003e79e37348 in abort () from /lib64/libc.so.6
#2  0x0000003e7da60f85 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3  0x0000003e7da5eee6 in ?? () from /lib64/libstdc++.so.6
#4  0x0000003e7da5ef13 in std::terminate() () from /lib64/libstdc++.so.6
#5  0x0000003e7da5f13f in __cxa_throw () from /lib64/libstdc++.so.6
#6  0x00000030ad38727a in FX::FXDictionary::find(char const*) const ()
   from /lib64/libFOX-1.7.so.0
#7  0x00000000004ffef8 in FX::FXDictionary::has (this=0x7fffffffcdf0, 
    ky=0x30ad4d39cc <FX::__string__empty__+4> "") at /usr/include/fox-1.7/FXDictionary.h:92
#8  0x00000000004fff53 in FX::FXDictionary::has (this=0x7fffffffcdf0, ky=...)
    at /usr/include/fox-1.7/FXDictionary.h:95
#9  0x000000000055a930 in GMTrackDatabase::listTags (this=0x89da50, list=0xdb47b0, 
    insert_default=true) at src/GMTrackDatabase.cpp:1578
#10 0x0000000000588f94 in GMStreamSource::onCmdEditStation (this=0x884410)
    at src/GMStreamSource.cpp:200
#11 0x0000000000586dae in GMStreamSource::handle (this=0x884410, sender=0x87e2b0, sel=2162710, 
    ptr=0x1) at src/GMStreamSource.cpp:45
#12 0x00000030ad410629 in FX::FXObject::tryHandle(FX::FXObject*, unsigned int, void*) ()
   from /lib64/libFOX-1.7.so.0
#13 0x00000030ad40b14a in FX::FXMenuCommand::onButtonRelease(FX::FXObject*, unsigned int, void*)
    () from /lib64/libFOX-1.7.so.0
#14 0x0000000000597cf9 in GMMenuCommand::handle (this=0x87e2b0, sender=0x8421d0, sel=262144, 
    ptr=0x8423b8) at src/fxext.cpp:448
#15 0x00000030ad35f044 in FX::FXApp::dispatchEvent(_XEvent&) () from /lib64/libFOX-1.7.so.0
#16 0x00000000004c2507 in GMApp::dispatchEvent (this=0x8421d0, ev=...) at src/GMApp.cpp:377
#17 0x00000030ad35ddda in FX::FXApp::runOneEvent(long) () from /lib64/libFOX-1.7.so.0
#18 0x00000030ad35e272 in FX::FXApp::runPopup(FX::FXWindow*) () from /lib64/libFOX-1.7.so.0
#19 0x00000000005a77c3 in gm_run_popup_menu (pane=0x7fffffffd580, rx=751, ry=194)
    at src/gmutils.cpp:184
#20 0x0000000000580c71 in GMTrackView::onTrackContextMenu (this=0xa4d9f0, ptr=0x8423b8)
    at src/GMTrackView.cpp:1862
#21 0x000000000057614c in GMTrackView::handle (this=0xa4d9f0, sender=0xa6c7b0, sel=524363, 
    ptr=0x8423b8) at src/GMTrackView.cpp:238
#22 0x00000030ad410629 in FX::FXObject::tryHandle(FX::FXObject*, unsigned int, void*) ()
   from /lib64/libFOX-1.7.so.0
#23 0x000000000056eb43 in GMTrackList::onRightBtnRelease (this=0xa6c7b0, ptr=0x8423b8)
    at src/GMTrackList.cpp:1631
#24 0x0000000000567c3c in GMTrackList::handle (this=0xa6c7b0, sender=0x8421d0, sel=524288, 
    ptr=0x8423b8) at src/GMTrackList.cpp:124
#25 0x00000030ad35ed60 in FX::FXApp::dispatchEvent(_XEvent&) () from /lib64/libFOX-1.7.so.0
#26 0x00000000004c2507 in GMApp::dispatchEvent (this=0x8421d0, ev=...) at src/GMApp.cpp:377
#27 0x00000030ad35ddda in FX::FXApp::runOneEvent(long) () from /lib64/libFOX-1.7.so.0
#28 0x00000030ad35de4a in FX::FXApp::run() () from /lib64/libFOX-1.7.so.0
#29 0x00000000005134f4 in GMPlayerManager::run (this=0x7fffffffdab0, argc=@0x7fffffffdaac: 1, 
    argv=0x7fffffffdd88) at src/GMPlayerManager.cpp:988
#30 0x0000000000595851 in main (argc=1, argv=0x7fffffffdd88) at src/main.cpp:92

Album grouping by directory (force)

Add a new import option to help importing compilation albums that don't have the ALBUM_ARTIST tag set and may have different ARTIST tags but still need to be grouped under the same album. See #39 discussion as well.

link error

Latest fox and gogglesmm, using cmake, fails when linking:

[ 47%] Linking CXX executable gogglesmm
cd /home/nerijus/rpmbuild/BUILD/gogglesmm-1.0.14/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/gogglesmm.dir/link.txt --verbose=1
/usr/lib64/ccache/c++ -Os -DNDEBUG -Wl,--export-dynamic CMakeFiles/gogglesmm.dir/GMAbout.cpp.o CMakeFiles/gogglesmm.dir/GMAnimImage.cpp.o CMakeFiles/gogglesmm.dir/GMApp.cpp.o CMakeFiles/gogglesmm.dir/GMAudioPlayer.cpp.o CMakeFiles/gogglesmm.dir/GMAudioScrobbler.cpp.o CMakeFiles/gogglesmm.dir/GMAlbumList.cpp.o CMakeFiles/gogglesmm.dir/GMClipboard.cpp.o CMakeFiles/gogglesmm.dir/GMColumnDialog.cpp.o CMakeFiles/gogglesmm.dir/GMCover.cpp.o CMakeFiles/gogglesmm.dir/GMCoverCache.cpp.o CMakeFiles/gogglesmm.dir/GMCoverManager.cpp.o CMakeFiles/gogglesmm.dir/GMDatabase.cpp.o CMakeFiles/gogglesmm.dir/GMDatabaseSource.cpp.o CMakeFiles/gogglesmm.dir/GMFilename.cpp.o CMakeFiles/gogglesmm.dir/GMFilter.cpp.o CMakeFiles/gogglesmm.dir/GMFilterEditor.cpp.o CMakeFiles/gogglesmm.dir/GMFilterSource.cpp.o CMakeFiles/gogglesmm.dir/GMFontDialog.cpp.o CMakeFiles/gogglesmm.dir/GMIconTheme.cpp.o CMakeFiles/gogglesmm.dir/GMImportDialog.cpp.o CMakeFiles/gogglesmm.dir/GMImageView.cpp.o CMakeFiles/gogglesmm.dir/GMList.cpp.o CMakeFiles/gogglesmm.dir/GMLocalSource.cpp.o CMakeFiles/gogglesmm.dir/GMPlayerManager.cpp.o CMakeFiles/gogglesmm.dir/GMPlayListSource.cpp.o CMakeFiles/gogglesmm.dir/GMPlayQueue.cpp.o CMakeFiles/gogglesmm.dir/GMPodcastSource.cpp.o CMakeFiles/gogglesmm.dir/GMPreferences.cpp.o CMakeFiles/gogglesmm.dir/GMPreferencesDialog.cpp.o CMakeFiles/gogglesmm.dir/GMPresenter.cpp.o CMakeFiles/gogglesmm.dir/GMRemote.cpp.o CMakeFiles/gogglesmm.dir/GMSession.cpp.o CMakeFiles/gogglesmm.dir/GMScanner.cpp.o CMakeFiles/gogglesmm.dir/GMSource.cpp.o CMakeFiles/gogglesmm.dir/GMSourceView.cpp.o CMakeFiles/gogglesmm.dir/GMTag.cpp.o CMakeFiles/gogglesmm.dir/GMTaskManager.cpp.o CMakeFiles/gogglesmm.dir/GMTrack.cpp.o CMakeFiles/gogglesmm.dir/GMTrackDatabase.cpp.o CMakeFiles/gogglesmm.dir/GMTrackEditor.cpp.o CMakeFiles/gogglesmm.dir/GMTrackList.cpp.o CMakeFiles/gogglesmm.dir/GMTrackItem.cpp.o CMakeFiles/gogglesmm.dir/GMTrackView.cpp.o CMakeFiles/gogglesmm.dir/GMTrayIcon.cpp.o CMakeFiles/gogglesmm.dir/GMStreamSource.cpp.o CMakeFiles/gogglesmm.dir/GMWindow.cpp.o CMakeFiles/gogglesmm.dir/main.cpp.o CMakeFiles/gogglesmm.dir/icons.cpp.o CMakeFiles/gogglesmm.dir/fxext.cpp.o CMakeFiles/gogglesmm.dir/gmutils.cpp.o CMakeFiles/gogglesmm.dir/GMDBus.cpp.o CMakeFiles/gogglesmm.dir/GMSettingsDaemon.cpp.o CMakeFiles/gogglesmm.dir/GMMediaPlayerService.cpp.o CMakeFiles/gogglesmm.dir/GMNotifyDaemon.cpp.o CMakeFiles/gogglesmm.dir/GMAppStatusNotify.cpp.o -o gogglesmm -flto gap/libgap.a -lFOX-1.7 -lsqlite3 -ltag -ldbus-1 -lGLU -lGL -lGLEW -lGLU -lGL -lX11 -lSM -lICE /usr/lib64/libgcrypt.so -flto /usr/lib64/libexpat.so -lFLAC -lvorbis -logg -lopus /usr/lib64/libmad.so /usr/lib64/libfaad.so -lGLEW -lX11 -lSM -lICE /usr/lib64/libgcrypt.so
/tmp/ccTRAlRN.ltrans0.ltrans.o: In function GMAudioPlayer::manufacture()': <artificial>:(.text+0xb02): undefined reference toap::AudioPlayer::AudioPlayer()'
/tmp/ccTRAlRN.ltrans0.ltrans.o: In function GMAudioScrobbler::run()': <artificial>:(.text+0x2627): undefined reference toap::ap_set_thread_name(char const_)'
:(.text+0x2893): undefined reference to ap::XmlParser::parse(FX::FXString const&, FX::FXString const&)' <artificial>:(.text+0x2c15): undefined reference toap::HttpClient::HttpClient(ap::ConnectionFactory_)'
:(.text+0x2c73): undefined reference to `ap::HttpClient::basic(char const_, FX::FXString, FX::FXString const&, FX::FXString const&, FX::FXString_)'

m4a files don't play

When you try to play them it keeps the CPU busy(all cpu threads :/) but don't play anything.
I just don't try much this. When i saw that the files in mp4 audio didn't play i just simply re-download all the music that i have in that format in flac and reencode it to opus(luckily there wasn't too many m4a files).

Wrong grouping of albums

Albums with the same name are grouped together. Examples are "The Very Best" from Nirvana and AC/DC, or "The Very Best Of" from Céline Dion and Janis Joplin.

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.