GithubHelp home page GithubHelp logo

muriloventuroso / givemelyrics Goto Github PK

View Code? Open in Web Editor NEW
57.0 3.0 11.0 945 KB

See the lyrics of the song that is playing, from any application.

Vala 93.50% CSS 0.28% Meson 5.00% Python 1.22%
appcenter elementaryos gtk lyrics

givemelyrics's People

Contributors

albanobattistella avatar antonpaidoslalin avatar arturschoenfeld avatar asereze avatar ccppoo avatar comradekingu avatar danjelahoxha avatar eson57 avatar fitojb avatar iamamirhe avatar josprachi avatar kinnard avatar kolyfotis avatar micahilbery avatar muriloventuroso avatar nathanbnm avatar poipoipoipoipoipoipoipoipoi avatar ptitjano avatar raghavi20 avatar ryonakano avatar santossi avatar siigdev avatar sithu015 avatar swyknox avatar vachan-here avatar vistaus avatar web13234 avatar welaq avatar xendez avatar yarons 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

Watchers

 avatar  avatar  avatar

givemelyrics's Issues

Extra translations not displaying

The extra translations (like in appdata.xml) aren't implemented yet, or there is just something wrong and the translations aren't displaying in the AppCenter.

Sources

Hi Murilo, I saw you're looking for new sources. I have a python dbus service for this on my app Lyrics, the interesting part is that I scrapped that from osdlyrics, so I already have support for ViewLyrics, lrc123(which don't seems to work anymore), xiami, and netease lyric repositories. But the weird part is that it's very outdated code and I don't want to spend time on fixing anything there. I think in the long run the best thing that can be made is to setup a server ourselves(I had been flerting with the idea of a a P2P solution, which also leave me free of a legal problem, but IDK about the complexity of this), maybe joinning efforts with osdlyrics and provide a service for our three apps.

Their API aren't public I think so you will need to figure out by looking at the source.

The app crashes after a while

The application crashes after a while, I don't know exactly why, but it seems to happen when the application is not in the foreground (without focus).

"Loading..." not displaying

As previously referenced in #20 the "Loading..." message doesn't appear anymore between songs. It's just stuck like 5 seconds on the previous song (or ad), even if synchronized lyrics are disabled.

[Request] Implement fallback file tag lyrics

Hello.

You see, since sometimes Give Me Lyrics can't find the lyrics on the Internet, what I do is manually tag the lyrics into the mp3 file. So I would like to know if it's possible to implement that Give Me Lyrics can be able to read the lyrics from the file's metadata like Cantata does.

Thanks.

Application is transparent on GNOME

on GNOME, the application is transparent (see the screenshot below).

Changing $bg_color to $theme_bg_color in the css fixes the issue but I don't know if it would apply on elementary.

Capture d’écran de 2020-01-08 00-59-43

Verse Indicator

Depending on the lyrics provider, this might not be possible, however, I think it would be cool if you can add this feature :
Give Me Lyrics Verse
It doesn't have to be super sophisticated. Just need to show verse 1, 2, 3, and Chorus.

Crash after a while

Here is the output I have with a segmentation fault:

com.github.muriloventuroso.givemelyrics 

(com.github.muriloventuroso.givemelyrics:14937): Gtk-CRITICAL **: 13:19:03.393: gtk_widget_insert_action_group: assertion 'GTK_IS_WIDGET (widget)' failed
null:363: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:363: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:472: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:472: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:536: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:536: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:545: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:577: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:609: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:641: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:710: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:710: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:725: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:757: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:790: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:790: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:811: element svg: validity error : ID wds-icons-menu-control-tiny already defined
s="wds-icon wds-icon-tiny wds-dropdown-chevron" id="wds-icons-menu-control-tiny"
                                                                               ^
:845: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:845: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:938: element svg: validity error : ID wds-icons-dropdown-tiny already defined
ds-icon wds-icon-tiny wds-dropdown__toggle-chevron" id="wds-icons-dropdown-tiny"
                                                                               ^
:938: element path: validity error : ID dropdown-tiny-a already defined
9,8.56564348 C6.4097934,8.72164496 6.20499145,8.80004571 6.0001895,8.80004571 Z"
                                                                               ^
:1291: element svg: validity error : ID wds-company-logo-fandom-white already defined
r__header-logo" alt="Fandom powered by Wikia" id="wds-company-logo-fandom-white"
                                                                               ^

(com.github.muriloventuroso.givemelyrics:14937): Gtk-CRITICAL **: 13:19:06.063: _gtk_css_ident_value_get: assertion 'value->class == &GTK_CSS_VALUE_IDENT' failed

(com.github.muriloventuroso.givemelyrics:14937): Gtk-CRITICAL **: 13:19:06.063: _gtk_css_ident_value_get: assertion 'value->class == &GTK_CSS_VALUE_IDENT' failed

(com.github.muriloventuroso.givemelyrics:14937): GLib-CRITICAL **: 13:19:06.063: g_ascii_strcasecmp: assertion 's1 != NULL' failed

(com.github.muriloventuroso.givemelyrics:14937): GLib-CRITICAL **: 13:19:06.063: g_ascii_strcasecmp: assertion 's1 != NULL' failed
Erreur de segmentation

It happened after an advertisment when playing bad guy (with Justin Bieber) from Billie Eilish.

Synchronized lyrics is not so synchronized

I listen to spotify, the apps usually picked a different verse that has similar sentences (you know songs nowadays that repeats lyrics and only tweaking it for the next verse instead of writing a new one). Any possibility to fix that or is this just imperfection because spotify is closed source?

Add your stripe key to appdata

In the new version of AppCenter Dashboard, we're no longer modifying your appdata before publishing, so you'll need to add your stripe key to appdata.xml under the key x-appcenter-stripe to continue to monetize your app in elementary OS 6

For your convenience, your public stripe key is:
<value key="x-appcenter-stripe">pk_live_5jQXnM9vRslDM8gVpuV1S0b9</value>

Title of the Song on the Titlebar

Spotify does this on their apps, be it native, flatpak, or snaps. I don't know if you can do it, but it would be great if you can :)
Title Titlebar
Title Titlebar (2)

Add appdata.xml to translations files

It may help people to download the app if it's description on the AppCenter is translated too.
Just add com.github.muriloventuroso.givemelyrics.appdata.xml.in to translation files.

Sadly second rate.

Lyrics, I assume, are very difficult to find. I'd say the top inspiration on how it should be done comes from Guayadeque...though it's old and not maintained...

However, it does the best job of finding lyrics. I use 'Songrec' to get the title/album etc of tracks (regardless of gibberish tags).
Then in the Lyrics window, a search often works. If not, there's a friendly button to 'search' which opens 'Google Lyrics %taginfo' which mostly works - copy the lyrics and click to edit in Guayadeque and paste.

These lyrics are then embedded in the file. They still don't work with 'givemelyrics' sadly (or a great many other players).

Lyrics are sometimes wrong

Sometimes wrong lyrics are displayed instead of "No lyrics found". I think it's due to Letras.

For example if the song is "Control - Feder" the link is https://www.letras.mus.br/feder/control/

But Letras has no match with this one so it redirects to an other song of the same artist. In my example the link is changed to https://www.letras.mus.br/feder/breathe/ which is the song "Breathe - Feder"

Maybe you can try to check if the URL you send is the same as interpreted by Letras. If it's not the case, you can display "No lyrics found" instead of wrong lyrics.

Change requested for AppCenter: OARS data

Thanks for your submission to AppCenter! However, during review we noticed an inaccuracy in your OARS content rating metadata: social-info is set to none, but your app connects to an online API. This means the level should be at least mild, depending on the amount of data sent.

Please resolve this issue and then submit a new release to AppCenter.

lets make downloads work

I've used another lyrics app and what i enjoyed about it is the ability to download lyrics so you can access them even when offline i wish same it was with this one.
just a suggestion.

The app doesn't work at all.

It wouldn't open any windows. Several second later, it will show a window taht said the app hasn't respond. It will give us option to either wait or force quit.

Package as Flatpak for elementary OS 6

As you might have heard, AppCenter is going Flatpak! For elementary OS 6, we will not longer be accepting Debian packaging, so your app will need to be updated.

We have documentation on our developer guide for writing your Flatpak manifest here: https://docs.elementary.io/develop/writing-apps/our-first-app/packaging#flatpak-manifest

Also, in case you missed it, elementary OS 6 beta 2 is now available. This is a great time to get your app packaged up as Flatpak and test that everything is working before the final release. AppCenter submission for OS 6 will be open soon, so don't delay :)

"Nothing is playing"

I get the "Nothing is playing" warning every time I open the program when listening in Melody by Artem Anufrij (2.2.0).

I've tried with multiple songs, all well known.

Also I get this warning when opening in terminal: (com.github.muriloventuroso.givemelyrics:19382): Gtk-CRITICAL **: 23:56:55.557: gtk_box_pack: assertion '_gtk_widget_get_parent (child) == NULL' failed, it might not be related to the first problem.

ElementaryOS

Good morning! This app is not available in the ElementaryOS App Store... Please bring it to ElementaryOS. Why do we miss it!

The app is slower than before

Since last update the app takes more time to fetch the lyrics. This have an impact on synchronized lyrics which doesn't start at the beginning of the song.

Also "Loading..." doesn't appear anymore between songs. It's just stuck like 5 seconds on the previous song (or ad).

Appstream tests fail

AppCenter ran a bunch of tests on your appstream file. These are the results.

Warnings:

Most of these are fixed during the building process, but you should ensure they
are fixed in your code for future releases.

  • "id" field should be "com.github.muriloventuroso.givemelyrics"

For more information, see:

Build Information

Affects Architecture: amd64
Affects Distribution: juno
Built with the following references:

  • refs/tags/0.1.0

Incomplte songtitle with "-"

Here is the song:
image
And here is what is displayed on Give Me Lyrics:
image
However, it's correctly displayed in the sound panel:
image

I think this may be due to the "-"

[Suggestion] Adjust display

Maybe you should add a margin at the bottom on the window. It's looking a little strange that the scrolling bar is reaching the bottom of the screen I think.

Here is a screenshot:
image

Same for the lyrics:
image

[Suggestion] Source link text and position

I thought that the source link will add the copyright of the song source like:

© Artist label, year

And all of this as a link

Also I thought that it will not be always visible, but added at the end of the lyrics when scrolling, not at the bottom of the window.

"No lyrics found"

I think that fixing #19 was too strict. Because some songs have no lyrics displayed. But lyrics were here before, and they are on Letras. Maybe you have to review how you actually check the lyrics match with Letras.

I had this issue with the song "Heroes" from "Måns Zelmerlöw" (maybe due to the accents? Idk).

About Translation

Hi I've just finished translation to Korean, found this project left behind with out finished.

As I have a bit of translating experience, I've opened this issue to tell something before requesting translation from your script. This would apply to any other languages.

  1. Please add some annotations for few words or short sentences because in some case, words translating to other languages could make misunderstandings. Like similar words that have common meanings but used in other ways.

  2. For translating simple commands like yours 11th : Fix scroll window. It quite annoying because there's possibility that other words followed by. Like in this case : Fix scroll window (as ...
    ) and need to imagine what or how is this going to be used.

[Suggestion] Add advertissement detection

Maybe it might be useful to display "Advertising" instead of "No lyric found" when the application detects, for example for Spotify that the song title is "Spotify" or "Advertissement".

Where is the new icon ?

The new icon only appear on the app page in the AppCenter, not in the Application Menu and not in the Dock or everywhere else. Is it normal ?

could you make a flatpak for givemelyrics?

Hi, I really appreciate your work , is a very good application
but i don't use elementary OS
could you make a flatpak for givemelyrics?
in this way, users can install the application in any linux distribution

please.
thank you.

163 music requires verification

App log

$ com.github.muriloventuroso.givemelyrics
load settings
I guess something is not working...

Network capture

$ curl -H "Host: music.163.com" --compressed "http://music.163.com/api/search/pc?offset=0&limit=1&type=1&s=(mymusic)"
{
	"code": -462,
	"data": {
		"actionCode": "1056401",
		"verifyType": 50,
		"verifyId": 1008601,
		"verifyUrl": "",
		"blockText": "绑定手机后,可进行下一步操作哦~",
		"verifyToken": null,
		"btnText": "",
		"orpheusUrl": "",
		"params": {
			"event_id": "(some_dec_numbers)",
			"sign": "(some_hex_numbers)"
		},
		"url": null
	},
	"message": "请绑定手机后再试哦~"
}

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.