Skip to content
This repository
Fetching contributors…


Cannot retrieve contributors at this time

file 1080 lines (927 sloc) 43.014 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
Overview of changes between Pragha 1.3.0 and 1.2

Depends completely on Gtk+3 >= 3.2 and Glib >= 2.32, Gstreamer1 and libcdio_paranoia >= 0.90 [1]
Add support to plugins, depending on libpeas >= 1.2
- Port gnome-media-keys, keybinder, mpris2, notify, and song-info.
- Still pending rewrite the lastfm plugin.
- Add SOO-EXPERIMENTAL and INCOMPLET devices plugin.
Add a second sidebar on right.
- Just used by the plugin song-info to show lyrics.

Others Changes:
Continued with the cleaning, writing, and conversion to GObjects
- PraghaArtCache, PraghaSidebar, and and every plugins.
- PraghaApplication now is based on GtkApplication.
Fix many bugs in gtk+3 interface, and fixes deprecations prior 3.10

[0] Seems little, but 99% of the work in 1.2 was done here, and then backported.
[1] Support to Gtk+2 and libcdio_paranoia = 0.83 was removed completely.


Bugs fixed:
Fix thread safety when reading tags.
Explicitly specified use normal fonts in the library.
Fix seg fault when disable and enable again mpris2.

Updates Translations:
New Korean (Korea) translation thanks to Smallsnail.
New Vietnamese translation thanks to Ppanhh.
Many other updates. Thanks to all.

Highlight the headers on library view.
Disable all video features of playbin.
Add support for embedded album art when gstreamer >= 1.0
Add simple appdata.xml to gnome-software.

Others Changes:
Continued with the cleaning, writing, and conversion to GObjects
* PraghaToolbar, PraghaLibraryPane, PraghaPlaylist, etc.
* PraghaApplication is based on GApplication, controlling single instance, and dbus messages.
All preferences have been ported to PraghaPreferences
Better support to GTK3, and prepare wayland support
Require by default Gstreamer >= 1.0

Bugs fixed: (Sumary: The most relevant to the user.)
Fix unable to automatically play another song in pragha.
Art-cache: fix for case artist or album cointains slash
Fix regression on 1.1.2: Return to import playlists.
Fix save fuse_folders option when not set folder structure view.
No insensitive albumart_in_osd toggle button when change show sytray option.
Fix wrong min glib version. g_thread_unref need 2.31
Fix updating library view after rescan.
Dbus: fix crash on get current state.
Fix some coverity defects:
* Unused pointer value (UNUSED_VALUE)
* Uninitialized scalar variable (UNINIT)
* Division or modulo by zero (DIVIDE_BY_ZERO)
* Unchecked return value (CHECKED_RETURN)
* Unchecked return value from library (CHECKED_RETURN)
* Dereference before null check (REVERSE_INULL)
* Resource leak (RESOURCE_LEAK)
* Explicit null dereferenced (FORWARD_NULL)

Gstreamer >= 1.0 is needed by default.
* Set the previous version with: ./configure --with-gstreamer=0.10
Still depends on libcdio >= 0.83 by default.
* To compile with libcdio >= 0.90 use: ./configure CPPFLAGS="-DHAVE_PARANOIA_NEW_INCLUDES"
Remove dbus-1 and dbus-glib-1 requirements.

Improved indexing of the library. Also allows continue listening music while analyzing. [1]
The database uses prepared statements, improving the general performance of Pragha.

Others Changes:
A general cleaning of the code, but there is much to be done.
* First rewrites using GObjects as PraghaBackend, PraghaAlbumArt, PraghaMusicobject, PraghaPreferences, PraghaDatabase, and PraghaStatusbar.
* Many other rewrites as PraghaLibraryPane and PraghaPlaylist.
* Many changes to work with threads safes.
Now add, remove or rename playlist and radios is super fast.
Now select the content of the "Track No" and "Year" in "Edit tags" window after focusing or clicking into them.
Now you can drag songs from the library to any file manager to copy or burn with brasero.
Now you can add playlists using command line or file managers.
Save and restore menu accelerators edited.
Now whenever you add songs, select the first song added.
Translations: use intltool for desktop file

Bugs fixed: (Sumary: The most relevant to the user.)
Try to fix issue #46: Header moved location in libcdio-paranoia-0.90. [2]
Update Autotools, and fix a warning when use due to cdda.h
glyr-related.c: Use lang autodetection to get artist bio. See issue #39
mpris: fix problems with long tracks
translations: fix plural forms
gtk3: fix minor bugs
add workaround for crash in taglib
fix a deadlock on adding to current playlist

Updates Translations:
Update Czech translation thanks to anespor, and petr.simacek.
Update Dutch translation thanks to Vistaus.
Update German translation thanks to cwickert.
Update Hungarian translation thanks to Polesz.
Update Portuguese translation thanks to smarquespt.
Update Portuguese (Brazil) translation thanks to rafaelff1.
Update Russian translation thanks to Lazy_Kent, and 4glitch.
Update Turkish translation thanks to fatihmalakci, necdetyucel, and emfi.
Update Ukrainian translation thanks to paul.rufous.

[1] Sorry, but also adds a regression. Stop importing playlists.
[2] To compile, have to comment the line 23 of Pragha.h

Add a button to close the sidebar.
Use toolbar style to playback controls.
Better Gnome HIG complain in preferences, inspired on transmision code.
Adds an option to hide the icon in the notification area.

Others Changes:
Depend on gtk+2.24 and glib 2.28.
* Both was released a year and a half ago. Nobody should have problems.
Modularization/Refactoring/Cleanup of a lot of code thank to Pavel Vasin.
Always compile support to gnome-media-keys.
* First check gnome-settings-daemon and when not found, use keybinder.
Support global hotkeys with keybinder and gtk3 if detect keybinder-3.0.
Various improvements in gstreamer.
* Check if seeking is allowed and inform it in mpris2.
* No buffering live streams and get a new clock if lost it.
Enable MusicBrainz to download cover art.

Bugs fixed: (Sumary: The most relevant to the user.)
Sanitize artist and title when append from lastfm.
Fix equalizer dialog in gtk3 interface.
Fix tag dialog in gtk3 interface.
equalizer: fix GObject leak.
Not refresh the library view if the radio added is not saved.
Fix read after free. See Github issue #20.
Not forget the previous songs when queue songs.
Not forget the previous songs when play songs activating playlist.
Removes a lot of unused variables and functions. Thanks to Pavel Vasin.

Updates Translations:
Equalizer pressets now are translateable.

Bugs fixed:
Fix crash when try to crop playlist with accelerator!.
* And probably many other crashs.
gui: take ownership of images in the right way.
fix build on i586. See github issue #31
mpris: fix crash in Player.Seek
mpris: don't use constants from libdbus.

Updates Translations:
Update german translation thanks to cwickert.

Suggest import XDG_MUSIC_DIR to library on first start thanks to Pavel Vasin.
Merge playlist and radios on unique library view pane.
Add option to make aproximate searchs using a levenshtein distance.
Add a new menu option to copy tags of selection in current playlist.
mpris: partially implement AddTrack thanks to Pavel Vasin.
Add support for gstreamer 1.0 thanks to Pavel Vasin.
F9 to show/hide the sidepane.
Add --log-file/ -l command line option to log debug to a file.

Others Changes:
Depend on gtk 2.22 and glib 2.26
* Remove some hackings to prevent deprecations.
* This to remove dbus-glib-1 soon maked as obsolted.
* Until now: Only migrate utils to gdbus thanks to Pavel Vasin.
Follow fdo Icon Naming Specification thanks to Pavel Vasin.
Reorganization of the main menu (Love and hate here;).
* File menu change to Playback and adds the random and repeat options.
* Edit menu change to Playlist, and adds the options to add files, audio CD and locations.
* Preferences are now found in tools.
The initial window size and cols width is set dynamically according to the screen size.

Bugs fixed:
Don't use gnome media keys if keybinder available.
Remove unnecessary execution permissions.
Utils: remove another redundant cast.
Fix xdt-autogen warning.
Close the dialog "Open files"immediately, and do not block gui when adding many files.
Fix cmdline description.
mpris: fix setting Shuffle property.
mpris: fix setting LoopStatus property.
Don't store unused reference to GOptionContext.
Free some strings at exit.
backend: a bit simplify volume code.
Build: don't use deprecated AM_CONFIG_HEADER.
Now anything that you drop to the playlist remain where it was dropped.
Use more generic function to avoid duplicate code.
Unref notify osd when close it. Remove unnecessary g_strdup.
mpris: fix yet another memory leak.
mpris: save a few bytes.
tags: fix rarely crash in edit dialog.
menu: simplify show_controls_below_action().
librarytree: assert prefix found.
librarytree: Use the numerated node_type directly.
Also set bold the year label on tag edit dialog.
init: fix potential memory corruption.
menu: fix memory leak on opening files.
menu: don't delay add_recent_file.
menu: fix another memory leak on opening files.
Ensure some functions don't modify their args.
Fix passing libraries in wrong order to the linker. See issue #29
Free struct con_gst at exit.
backend: fix gobject runtime warning.
Center the main window if no have saved a potition.
Insensitive correctly some options of radio and playlists menus.
Fix disable libxfce4ui on

Updates Translations:
Update Rusian translation thanks to Lazy_Kent.
Update Czech translation thanks to anespor.
Update some others tranlations in transifex.
* Excuse the translators, who lost their names, but thank you very much!.

EXPERIMENTAL support to gtk3 thanks to Pavel Vasin.
Add support for gnome media keys thanks to Pavel Vasin.
Use totem-pl-parser to open playlists when is available.
* With this can open internet radios playlist.
* Support many more formats
Imports playlists when update the library

Others Changes:
Use the same minimum requeriemientos that Xfce 4.10. A tiny caprice. =)
* Need gtk+-2.0 >= 2.20, glib-2.0 >= 2.24, dbus-1 >= 1.1 and dbus-glib-1 >= 0.84.
Use libxfce4ui instad libexo-1 to session management.
* Better behavior and less dependence.
In/Sensitive menus acording playback and lastfm status.
Allow displaying length and progress of remote files
Many changes in the start of gtk, gstreamer and glib threads.
Use PRAGMA synchronous=OFF on db.
Remove old check dependency of libcurl.
Remove unused dependency on xlib.

Bugs fixed:
No close the notify when activate actions. Only update this.
Fix bad current track position in mpris2, and emit Player.Seeked signal. See github issue #12
Fix expand playlists and radios tree view when update it.
Fix compilation with libcdio 0.84 and bad pragha about dialog. See github issue #4.
Fix some issues in github opened by ssuominengentoo.
* Issue 8: Stop setting docdir= $(pkgdatadir)/doc in since it breaks --docdir switch.
* Issue 7: Stop forcing -O3 optimization.
* Issue 6: Release tarballs should not set -Werror.
* Issue 5: Multiple issues in the pragha.desktop file
D'Oh!. Add audio device in preferences.
Fixed many memory leaks and some optimizations thanks to Pavel Vasin.
Use g_object_set to set audio device. Fix select of audio device.

Updates Translations:
Update Rusian translation thanks to lazy.kent.suse.
Update some tranlations in transifex.
* Excuse the translators, who lost their names, but thank you very much!.

Add Get lyrics, Get artist info to the selection on current playlist.
Add Love, Unlove, and Get similar options to the selection on current playlist.
Add an icon in the panel to suggest tag corrections of lastfm when update now_playing. [1]

Others Changes:
Add tootips to show equalizer bands values.
Select last track when append new songs.
Also append radios when restore session.
Append Hz, kbps, and Channels string to file properties dialog.
Check status of network manager when launch pragha. If is online, init lastfm, otherwise wait 30 seconds.
Remove search album art option in menu. Any objection..? I never use it.
Only search covers art in lastfm temporarily. Returns better results.

Bugs fixed:
Fix search album art option is always enabled.
Not jump to the next song when have selected several songs.
Grab focus on entry name when save playlist and save when press enter.
D'Oh!. Use mpris:artUrl instead xesam:art, and emit a full uri format.
Add a playlist_change flag to avoid errors when remove the model to gain speed.
Also set busy cursor when add similar song, clear/crop current playlist, or import/export playlist.
Always show "Custom" presset on equalizer on error.
Fix frizee when buffering internet radios.
Inform stop playback to mpris2 when close pragha.
Save preferences changes when pressing enter.
Update some years copyright.
Never add duplicate songs.
D'Oh!. Fix never add songs of the lasts page of favorites songs.
Fix some warnings when first init.
Set disable when first usage of equlizaser.
Better function to search song on db with only the artist and title info.
Use more generic functions to remove some duplicate code.
Romove some unused code.

Updates Translations:
Fix Bad space on message of error playback dialog.
Update German translation thanks to Cwickert.
Update Portuguese translation thanks to smarquespt.
Update Italian translation thanks to bersil.
Update Rusian translation thanks to lazy.kent.suse.

[1] Note: For this, depend now on libclastfm >= 0.5. Sorry packagers.

V1.0 "Good news, or aberration?."
Add a classic 10-band software equalizer.

Others Changes:
Save the m3u playlists with relative paths when stored in the same directory that the audio files.
Add basic Static Quicklist entries on desktop file to control pragha on unity.

Bugs fixed:
Emit album art url on mpris2 when is available.
Emit new metadata when edit tag of current track.
Fix try to edit some tags of radio stream with taglib.
Add playlists mime on desktop file.
Use autoaudiosink as default audiosink.
Update notifications instead of show one for each song change.
Set Next as default button when show a playback error.
Do not allow change song from mpris/keybinder/systray when show a playback error.
Can open playlists with relative paths.
Save radio stream when press enter on name.
Fix compilation without exo-1.
Comfirm with an dialog before delete any radio/playlist item.
Fixes some memory leaks.

Updates Translations:
Add Italian translation thanks to Stribianese91.
Update German translation thanks to Cwickert.
Update Rusian translation thanks to lazy.kent.suse.
Update Portuguese translation thanks to smarquespt.
Sorry if I lost any translation. Transifex does not show the entire history. Please. Contact me.

Add option to show the playback controls below.
Can select a name when add radio streams to save on db and append to playlist tree.

Others Changes:
Fix/Change somes strings. Sorry.
Init pragha with focus on play button.
Add the new stream with the uri/name as title.
Better layout of rename and add location dialog.
Add a new popup menu with "New playlist" and a list of saved playlist to "Save playlist" like the "Add selection" popup.
Also append boths pupups submenus to main menu.
Properly set the title in save playlist dialogs.
Edit track information when double click on the track label of the panel.
When playback is stopped and no has selected any track, play a random track if shuffle has activated.

Bugs fixed:
Remove useless warning "Everything is fine" when no found a cover.
No search artist information when missing the artist name.
No search lyrics when missing the title or artist name.
Init the threads conditionally depending on the version of glibc, removing g_thread_init deprecated in 2.31
Remove unused code, that remove g_strncasecmp deprecated function.
Better buffering streaming. Prevent that it refuse to stop the playback.
Better buffering. Not update mpris, lastfm or get album art.
D'Oh!. Fix Segmentation fault when the stream update the tags on RC1/2
No update playlist view when cancel the rename action.

Better session managament support when exo-1 >= 0.6 is available.
* Now save current playlist when save session.
* Now save last posicion when save session.
* etc, etc.
Rename playlist.
Add support to playing streams over a network.

Others Changes:
When just run Pragha init lastfm with a timeuout of 30 sec, but with a simple thread when change preferences.
Set width of queue/pixbuf column fixed to 32px. Set queue bubble size fixed to 12px.

Bugs fixed:
Implement lost Seek an SetPosition on mpris2.
Fix main toolbar items use GTK_ICON_SIZE_LARGE_TOOLBAR, volume button uses _SMALL_TOOLBAR.
Use some un/likely optimization.
Remove unused code.

Now use libglyr to search lyrics, cover art, and artist info if available. [1]
Use the cache of libglyr to save the downloaded artist info and lyrics in a Metadata.db file.

Others Changes:
Tiny reorganization of the menu.
Change cache folder from pragha-album-art to pragha.
Now append "album-" string to covers in cache. Quasi simplified MediaArtStorageSpec, except md5. jah.
Adds some debug messages in mpris.c and avoid bad spaces.
Select the next row to the last selected when remove tracks in current playlist.
Remeber window position when restart pragha. Thanks to carlosjosepita.
Allow to use relative paths to add files with command line.
Open the image when double click on the cover in the panel.

Updates Translations:
Update German translation thanks to cwickert.
Update Czech translation thanks to anespor.
Update Portuguese translation thanks to smarquespt.
Update Portuguese brazilian translation thanks to valtern.

Bugs fixed:
Fix show all options when use any commands line option.
Allow to use relative paths to add files with command line.
D'Oh!. Not can edit multiple files from the library. Since when?.
Reduce padding on playlist view, leave this for the GTK+ theme to figure out.
Check if are in current playlist before add duplicate songs when search similar songs from lastfm.
Not change the model when Remove tracks in current playlist.
Fixes bad array of string in mpris metadata when string has apostrophes.
Fixes two segmentation faults when use ubuntu soundmenu and pragha has not playlists.
Fix bad folder estucture view entries because a bad conversion of filenames to UTF.
Fix that not add the duplicated songs when use the library view based on metadata.
Not sensitive "Osd in systray" option if libnotify >= 0.7.0
Not sensitive the "Add action in OSD" option when the notification daemon no support it.
Grab focus on current playlist when press Up or Down and move between controls with Left or Right.
Not update the panel when download album art but change the current song.
Use key-press-event intead key_press_event.
Use more strlen to test NULL strings.
Fix pragha freezes when select a playlist with mpris2.
Even emit _("Playlists") like current playlist in mpri2.
Inhibit global hotkey when parse a error in playback.
Better initiation of variables that establish the current status.
Fix a segfault when close pragha.
Fix a few memory leak.

Is a very new library, an the author defines it as "GlyR is a searchengine for musicrelated metadata"
Many thanks to Chris for writing to me, offering his library when asked for a alternative to chartyrics.

Show a busy mouse icon when running a slow function.
Search artist info, album art, and lyrics into a thread.
Add structure to read new playlists formats. Until now PLS, XPSF and WAX.
Add a button on the save playlist dialogs to export the playlists.
Implement "Add to playback queue" in search dialog.
Implement "Import a XPSF playlist", useful when exporting playlists in, that not use the location tag.
First attempt to restore the configuration of the audio device.
Implement a basic cache for downloaded cover art in "(home)/.cache/pragha-album-art".
Add option to search the album art automatically in lastfm.

Others Changes:
Preselect the (playlist_name).m3u filename to export dialog.
Eliminate the option to play track in search dialog.
Set "jump to track" by default in search dialog.
Displays a message with the number of songs added when import playlist.
Add "Playlists" filter on open file chooser.
Improved panel audio settings layout in preferences.

Updates Translations:
Update German translation thanks to cwickert.
Update Czech translation thanks to anespor.
Update Portuguese translation thanks to smarquespt.

Bugs fixed:
Fix "All files" filter in open file chooser.
Fuse audio_alsa_device and audio_oss_device in audio_device.
Only set audio_cd_device when playback a audio cd.
Update about dialog year.
Update MimeTypes on desktop file.

A new menu "Add to playlist" that replaces "Save selection" on current playlist.
More speed when Clear, Remove, and Crop tracks on current playlist.
More speed to add tracks to the current playlist from popup menu.
More speed to add playlists to the current playlist.

Others Changes:
Change "Play Audio CD" menu item to "Add Audio CD".
Only sensitive the options clear and save playlist in the menu of current playlist when there is no selection.
Minor code cleanup to coordinate with subversion code.

Updates Translations:
Update French tranlations thanks to raphaelh.
Changed many strings to translate. Please help to update your native language.

Bugs fixed:
Use cddb_query to search audio cd info. Fix poor results of cddb.
Fix possible memory leak when save tags.
Fix warning when to year < 0 on tag editor.
D'Oh!. Fix add recent files.

Return the playback status icon on current playlist. Thanks to Brett Kleinschmidt.
Add a popup menu on file entry of tag editor, to open folder and copy selection to title tag, artist tag, etc.
Add option to hint current_playlist. Thanks to Brett Kleinschmidt.
Add option to activate instant filter or search only when press enter.
Add option to sort Albums in library view by release-year. Thanks to Fabian Köster.

Others Changes:
Save changes when press enter on tag editor.
Init gdk_threads and use it to update progress of reproduction.
Highlight matches on jump dialog.
Minor reformat of jump dialog.

Updates Translations:
Updated Czech translation thanks to Alois Nespor.

Bugs fixed:
Remove curl/types.h deprecated header.
Immediately update the progress when seek track.
No restart the lastfm thread when seek track.
No send dbus update signal when seek track.
No send dbus update signal when set use sofware volume.
Fix pragha ignore audio cd device settings.
Always free the path when edit tracks of current playlist.
Fix no update current playlist song when change the tags from menu.
First update music objects and window, and later the files.
Directly compares the pointers to find current tack when edit tags.
Use gdk_threads_enter/leave to add files with dbus.
Use gdk_threads_enter/leave to show playback error dialog.
Show track_no and year only if are positive.
Improve the speed of the library view.
Update progress bar only when track position > 0.
Only jump to tack droped when change the model, and scroll to the same position.
Select and set cursor on new song when drop a tack on current playlist.
Fix somes memory leaks and occasional cleanup.

Wooow.. Search, jump and play on current playlist dialog implemened.

Recontra D'Oh!. Fixs gdk_threads_enter()/gdk_threads_leave() usage.

Init Lastfm into (More smooth) thread.
Implement Lastfm get similar and add favorites into (More smooth) thread.
Better (More smooth) insert tracks from file manager.
Better (Much more faster) insert tracks from library tree.

Others Changes:
Returns the icon in current playlist to show errors.
Use Structure Folder view by default.
Emit volumes changes on mpris2.
Use folder-music to folder structure view.
Set cursor when jump to current track.
Betters debug messages on lastfm and chartlyrics and comment everything necessary on the status bar.
Add recent files info on a idle func.

Updates Translations:
Add a new translation to Simplified Chinese thanks to ifree.
Add a new translation to Greek thanks to koleoptero.
Update Dutch translation thanks to tuxmachine.
Update Ukrainian thanslation thanks to Sergiy_Gavrylov.

Bugs fixed:
Remove lastfm connected flag. Use seesion_id instead.
Insensitive tree views when change the model.
Artist and Comment are array on mpris2 metadata.
Fix potential memory leak on mpris2.
Change the condition to refresh the saved_title (Fix Metadata emision).
Fix lastfm start every time that enter in preferences unnecessarily.
Fix calcule midle song lenght minus 5 seconds.
Fix add recurive folder with command line.
Test realloc on chartlyrics.
Remove some unuseles gtk_widget_show/hide_all.

Prepend interfece string to PropertiesChanged signal.

Add support for MonkeyAudio songs.
Now difference between oss4 and oss3.
Adds another option to use the default sink.

Bugs fixed:
Wait 5 seconds to update the current song on lastfm.
=> Fix crash when rapidly changing songs.
=> Uses less network when rapidly changing songs.
Fix never init Mpris2 interface when init.
Start pragha with file arguments.
Better debugs messages on playbin constructs.
Fix Typos.

Implement a dialog to skip tracks if fails playback.

Bugs fixed:
Compile with Gcc 4.6, with all that this implies.
Use _tree_row_references to edit track.
Get the files to change quickly, to prevent when finished the song and change the selection.
Always check the current song to prevent when finished and change the song.

Special thanks to Vikram Ambrose and Hakan Erduman for answering all my questions.
Add various demonstration features over Lastfm sevices.
* Love track.
* Unlove track.
* Add favorites.
* Artist info.
* Get album art.
* Add similar.
Complete MPRIS2 track list interface.
Add option to init MPRIS2 in preferences.
Restore Search Lyrics with a dialog using
Add a new popup menu when current playlist is emply.

Others Changes:
Now depend on external libclastfm >= 0.4 (Optional).

Updates Translations:
Add Turkisk translation thanks to Hakan.
Update Czech translation thanks to Anespor.

Bugs fixed:
Much more faster when you start with many songs, or add the complete library.
Fix bad editing of current playlist items when it is sorted (Issue 21).
Fix Segfault after clear playlist and play (Issue 23 and 24).
No erase user info when no connect to lastfm.
Never init pragha witch -p,-s,-t, -r, -n, -t... command options.
Better update album art.
Drop unused vars.

Note: now is libclastfm due to incompatibility with the official library.

Any change on pragha. But use liblastfm 0.4, that does not depend on libopenssl, incompatible with the GPL
So fix Issee 22. :)

Add MPRIS2 control support and emit a dbus signal named 'update_state' thanks to Hakan Erduman.
Added a DBus message to toggle the visibility of the player thanks to Hakan Erduman.
Restore lastfm scrobbling support thanks to
* Use Scrobbling API 2.0.
* Now is correctly identified like Pragha.

Bugs fixed:
Fix regression on generation of recently-used data introduced in 241.
Support to libnotify 0.7. (Hate it with all my heart.)
Again, change notifications according to the standard. (xfce4-notifyd follows strictly)

Updates Translations:
Updated Czech translation thank to Alois.

Note: Temporarily disables search lyrics, by license change of

Use cubic volume if available (Need gstreamer-plugins-base-devel).
Sink volume with audio backend changes.
"Restore" replace and play option.

Others Changes:
Depend on external libkeybinder (Optional).

Bugs fixed:
Disable "Add actions.." options if the notifier does not support it.

Updates Translations:
Add Hungiran translatiton.
Update others translation.

Ported to use gstreamer.

Benefit? :)
 * Add support for new formats: So far wma and m4a. Please checks support to m4a. I no have any m4a file to test. ;)
 * Add a new pulseaudio backend.
 * Now it's free!. Can be packaged for fedora for example, since not depend directly of libmad.

Regressions: :(
 * Lastfm not working. Soon fix it using Adding librefm and love support.
 * Lost Mod file support. Sorry.. but someone used it? In fact very easy to add support for this. Maybe fix it later.

Then, everything else should work. :)

Move to trash instead remove tracks in library view.
Add dialog to Skip, Skip all, or delete all tracks if fails move to trash.
Remember last sidebar pane used.

Others Changes:
Delete folders in library preferences pressing Delete Key.
Delete track from library items in library view pressing Delete Key.
Changed design of notifications, now more in line to pragha panel.
Add GTK_STOCK_JUMP_TO icon to open folders in tag editor dialog.
Use GTK_STOCK_EDIT icon to Edit tags menu.

Updates Translations:
Update Swedish thanks to monotux.
Update German thanks to Cwickert.
Update po files.

Bugs fixed:
Remove unnecessary gtk_widget_add_events.
Romove unnesessary validate entry to year and track gtk_spins.
Place the cursor at the end of the filename entry.
No save fuse option if not folders view is activate.
Fix tiny memory leak.

Add filename entry to tag editor dialog with a open folder icon.
Add Details button to tag editor dialog that open the properties dialog.
Update current playlist when edit tags.
=> No More eliminate the edited tracks => Not more lost in queue list when you
edit a file!, & NOT lose the currently played song!, and a tiny more speed.

Others Changes:
Add VERY basic session management support.
Add spinner when update/rescan music db if Gtk >= 2.20.
Add folder label to properties dialog.
Grab focus when clear entrys.

Updates Translations:
Update de, es, and ru tranlations.
Update po files.

Bugs fixed:
Fix small spelling mistake. thank to
D'Oh!. Add Dutch translatition in subversion.
Initialized pointers!.
Remove unused vars.

Add Translate Pragha (Link to Transifex) in Help menu.
New "Associate notifications to system tray" option.
New "Show Album art in notifications" option.
New "Add actions to change track to notifications" option.

Others Changes:
Rework preferences dialog.
Reformat Notifications like rythombox, amarok, clementine, etc, etc.

Updates Translations:
Add Dutch translatition. Thanks to Zenlord.
Update Brazilian Portuguese translation. Thanks to Secipolla.
Update Rusian translation. Thanks to Pendalf.
Update Czech translation. Thanks to Alois Nešpor.
Update German translation. Thanks to Cwickert.
Update po files.

Bugs fixed:
Fix typo thanks to Timm Bäder.
Expand only comment field when change window size in edit tag dialog.

Update German translation. Thanks to Christoph Wickert.
Disable Global keybindings if gtk < 2.20.
Add "Pragha Music Player" to the sumary of notifications and so displayed correctly. In notify-osd for example.
Eliminate previous incompatible db only if minor to 0.8.0.
Drop "Folder structure" bad string.

Eliminate previous incompatible db.
Show message dialog to rescand libray.

Folder / Files library view replaced by Foders Estructure. (like in foobar2000) (1)
Add option to merge folders in folders estructure view.
Add support for comments.

Use gtk_tree_store_prepend rather than gtk_tree_store_append.
Use fixed size in cell renderers of current playlist.
Use g_timeout_add_seconds to update progress when scan the library.
Prepend refs to crop playlist.

Others Changes:
Now is Pragha Music Player instead Pragha Music Manager.
When change songs not scroll to the new path if already visible.
When you drag songs where they are dropped.
Use gnome-mime-audio icon to library_tree, and playlist_tree if exitst.

Bugs fixed:
Order with case insensitive in library view.
Preventing incomplete icon themes, restore Album png.
Check system tray before sending notifications.
Use correct PULSE_PROP_media.role audio, instead music.
Use Singly-Linked List in queue list.
Remove useless compilation flag in db.

(1) Again thank you very much to Roberto DMD. A new feature that everyone loved.

Update po files.

Fix Issue 14: Pragha can not remember the starting position.
Remember correctly window position when click status icon or close window.
Never add files recursively with dbus and command line. Freeze Pragha.

Global keybindings thanks to keybinder. Inspired on osdlyrics

Updates Translations:
Add Brazilian Portuguese translation. Thanks to Sergio Cipolla.

Bugs fixed:
Fix display files with non-utf8 locale. Thanks to Roberto DMD.
Fix open urls without gvfs. Thanks to Roberto DMD.
Add files recursively with dbus and command line according to preferences.
Shows album art when playing audio cd
D'Oh!. No remember Close to tray option.

Drag'n drop several items in Library/Playlist/Current_playlist. Very thanks to Guillaume Royer.
Add files to the current playlist by dragging them from file browser. Very thanks to Guillaume Royer.
Drag files over current playlist to any file browser to copy this.

Others Changes:
Add option to add files recurvively in preferences dialogs.
Use <Alt>Right" and "<Alt>Left", as default keyboard shortcuts for Previous/Next.
Remember sidebar size when restart.

Bugs fixed:
Refilter library view according to search entry, when switching library order.
Only insensitive search entry when switching library order.
Remove the redundant Save Playlist/Clear/Jump To/Searchbar toolbar.
Insensitive Properties menu entry, instead hide it when several items are selected.
Unselect all when click over when click over no song.
No resize panel, when change windows size.
Make NEWS Distributable.
Remove unused variables.

Update Polish translation. Thanks to Sid.

Update German translation. Thanks to PhotonX.
New album unknown icon. Provisory.(Does not look good with dark themes)

Add confirmation dialog. to "Delete from..", menu entries.
Leave the checkbox automatically when change a tag in edit track dialog.
Adds an icon to clear the tags entry in edit track dialog.
Hack in the representation of album art.

Others Changes:
Expand all row in library tree when double click
Use GTK_STOCK_LEAVE_FULLSCREEN button adding text and translations.
Unsensitive librarytree and search_entry when updating.

Updates Translations:
Add initial Swedish language. Thanks to Zwopper.
Update Czech translation. Thanks to Alois.

Bugs fixed:
Fix Issue 10. Several critical warnings when first init.
Add files when double-clicking or pressing enter in filechooser.
Keep the open file dialog on top of the main window,
Do not use gtk_tree_view_column_set_cell_data_func(). Performance problem. No more play/pause pixbuf in currente playlist.
No update song information all the time.
Capitalise and translate window title.
Rework toogle_main_window.
Unref notification when close it.
Unref Cover in unset_album_art
Fix memleak in panel.

Add next action to notifications.
Improved time library indexing.
Add option to start pragha minimized, fullscreen, or remember the last window state. Inspired in Nathan Wayde patch. Thanks!.
Add option to minimize pragha when close window.
Add button in panel to leave fullscreen.

Others Changes:
Set the labels to wrap on display properties dialog. Thanks to Nathan Wayde.
New Layout of edit track dialog.
Use AM_SILENT_RULES if available.

Updates Translations:
German translation thanks to PhotonX.
Polish translation thanks to Sid.
Update po files.

Bugs fixed:
Now work queue list when sequential playlist.
Hide sidebar when restore mainwindow and originally no showed.
Hide album art when restore mainwindow if set to no show.
Fixes some memory leaks.

Drop File Pane in favor of gtk-file-chooser.
Support for adding folders recursively in file chooser. (Based on Audacius code. /src/ui_fileopen.c)
Support for recent files in file chooser.
Now remember last folder used.

Others Changes:
Middle click on the library/playlists view append songs to current playlist.
Queue and dequeue pressing 'Q'.
If pragha minimized or without focus, when clicked statusicon restore mainwindow focus.
Now the second panel is the playlists.
Drop album.png in favor of the icon theme instaled.
Updates Translations:
Spanish translation thanks to msdelos.
Polish translation thanks to Sid.
Update po files.

Bugs fixed:
Use g_get_user_config_dir() instead of g_get_home_dir() and then concatenating "/.config". Thanks to Sebcactus.
OK/Cancel buttons in Edit Tags and Save Playlist dialog are inverted.
When move around the library with the keyboard, this does not advance.

Basic queue playlist support!-)
Now you can add and remove multiple songs to be played.
(Special thanks to Christian Hergert by gtkcellrendererbubble.)

Others Changes:
Use Desktop file XDG compliant. Thanks to Christoph.
Use shared files XDG compliant. Thanks to Christoph.

Restore 'Shuffle' and 'Repeat' options in the panel.

Add 'Current play time' in the systray tooltip.
Notifications, more consistent at the systray tooltips.

Move 'Add the library' menu item to 'Tools' menu.
Move 'Connect to CDDB server' option to 'General' tab.

Use Control+space to play and pause.
Remove 'Show Hidden Files in File View' preferences option, and add 'show hidden files' menu item, to popup menu of file pane.

Updates Translations:
Portuguese translation thanks to Lyceuhns.
Spanish translation thanks to msdelos.

Bugs fixed:
Fixs GDK_Delete no work in search entry.

Note: When playing songs from the play queue, deletes references to previous songs.

V0.7.1.1: Update of french translation thank to Aloïs Halel.

Rework all menus.
Use more advisable names: "Add to playlist" instead "Equeque", "Replace playlist" instead "Play", etc.
Use betters icon: GTK_STOCK_ADD instead GTK_STOCK_COPY when add music, NULL instead GTK_STOCK_PLAY when replace playlist, etc.
Add betters accelerators: <Control>R to repeat, <Control>Y to search lyrics, etc.
Now activate the panels from the menu bar.
New properties of current song in menu bar and status icon.
Clear Sort in Current playlist header_context_menu.

Others Changes:
Add option to search lyrics using
Add more tooltips.
Add Fullscreen option.
Add Options to hide status bar.
A new icon of pragha.

Updates Translations:
Rusian translation thanks to Evgen.
Czech translation thanks to alois.nespor.
Japanese translation thanks to Masato Hashimoto.
Spanish translation thanks to msdelos.
German translation thanks to PhotonX.

Bugs fixed:
When create search entry, no sensitive claer icon.
Show "track" (Before show "tracks") in statusbar when unique song in playlist.
No show track no in playlist, when is zero.
Show filename in playlist when unknown title tag.

Now depends on gtk >= 2.16. Thank to this:
* Eliminate eggtrayicon and sexyentry.
* Add new tooltip in statusicon with the album art of the reproduced song.
* The executable, and the memory consumption one was reduced.

Others Changes:
Command "pragha -t", play pause and resume.
Save and restore software mixer volume.
Better layout of Preferences Dialog.
Optimization when search library_tree.
Use gtk_show_uri to lauch Browser.
Remove "Library View Menu".

Updates Translations:
Add Polish translation thanks to Krzysztof Komorowski.
Add Norwegian language, thanks to Kim.
Add translator-credits to About Dialog.

Bugs fixed:
Fix crash when click "go to current track".
Fix criticals warnings when run and compile pragha.
Fix pragha.desktop file.
Fix bug (Great like a house) in Libraryview.
Add French translation, thanks to Alois Halel.

Add remaining time mode to panel.
Pragha remeber and showed last played song.
Small optimization in library_tree.
Fixs critical warnings.
Updated czech translation by Alois Nespor.
Add German translation, thanks to PhotonX
Drops some strings "Tracks" confused.
Add russian and ukrainian language, thanks to Evgen.
Pargha is 100% translatable one.
Add Japanese translation. - Tanks Masato hashimoto, Xfce-i18n team_ja.
Add czech translation. - Tanks alois.nespor.
Add Portuguese-Brazil. - Tanks Lyceuhns.
Add option to resize album art in preferences.
International Support (ES)
Now is Pragha Music Manager!-)

Sync systray and panel volume.
Fix icon of consonance in gnome_main_menu and xfce menu.
Small adjustments in the language.
Problem of the panel background image fixed.
Elimine Spanish.
v0.5.91 / v0.5.90
Other gui
Incress and decress volume level in systray, Play/Pasue/Resume with central click of mouse...
notifications only are if consonance not this in first plane and new text layout
A new button "jump to now playing"
In help menu show link to Consonance homepage, a Nonofficial wiki and forum..

Support for deleting library entries.
Audio CD playback / CDDB support.
Audio device selection (ALSA/OSS). submission.
Playlist Export (M3U)
Fix a Gthread initialization bug
Modplug support ( By )
Tag Editing.
UTF-8 support.
Command line option to choose audio backend.
DnD on 64-bit platforms ( Bugfix )
A new manpage ( By Martin Zelaia < )
OSS support.
Software mixer support.
Current playlist search.
Save/Restore current playlist.
Command line option (consonance -c) to get player state.
Library updation feature.
User defined album art file pattern.
Add FLAC, WAV, OGG support. (FLAC support by Jared Casper <>)
DnD support.
Playlist management.
Search through library (simple).
0.2 released.
0.1 released.
Something went wrong with that request. Please try again.