Powerful, simple, audio tag editor for GNU/Linux

Related tags

Audio puddletag
Overview

puddletag

Screenshot

puddletag is an audio tag editor (primarily created) for GNU/Linux similar to the Windows program, Mp3tag. Unlike most taggers for GNU/Linux, it uses a spreadsheet-like layout so that all the tags you want to edit by hand are visible and easily editable.

The usual tag editor features are supported like extracting tag information from filenames, renaming files based on their tags by using patterns and basic tag editing.

Then there’re Functions, which can do things like replace text, trim it, do case conversions, etc. Actions can automate repetitive tasks. Doing web lookups using Amazon (including cover art), Discogs (does cover art too!), FreeDB and MusicBrainz is also supported. There’s quite a bit more, but I’ve reached my comma quota.

Supported formats: ID3v1, ID3v2 (mp3), MP4 (mp4, m4a, etc.), VorbisComments (ogg, flac), Musepack (mpc), Monkey’s Audio (.ape) and WavPack (wv).

Dependencies

puddletag uses several third-party modules to performs its tasks:

Installation

Here below is a list of the distributions and platforms where puddletag is available, and how to install it:

Debian

apt install puddletag

Contact: @sandrotosi

Gentoo
  1. overlay: https://github.com/istitov/stuff/
  2. add overlay: sudo layman -a stuff
  3. install: sudo emerge -av puddletag

Contact: @DolphinStKom

Arch Linux

puddletag is currently part of the AUR:

git clone https://aur.archlinux.org/puddletag.git
cd puddletag
makepkg -si
Fedora

under development

Brew/MacOS

support needed, open an issue if interested in working on it

Source code First, you need to install the dependencies; this step is different depending on the distribution; on Debian you can run:

apt install python3 python3-mutagen python3-configobj python3-pyparsing python3-pyqt5 python3-pyqt5.qtsvg

Then:

git clone https://github.com/puddletag/puddletag
cd puddletag
PYTHONPATH=source/ ./source/puddletag

License

puddletag is licensed under the GPLv3, which you can find in its entirety at http://www.gnu.org/licenses/gpl-3.0.html

Comments
  • Puddletag as an appimage - Solution found for ubuntu 20.04 and other newer distros

    Puddletag as an appimage - Solution found for ubuntu 20.04 and other newer distros

    One way of keeping puddletag running as ubuntu and other distros move on (eg to ubuntu 20.04) is to create an appimage. miniworm has done so (see issue 462). It seems like a good idea to keep such discussions in one thread, so I have started this new issue to cover this activity.

    I can't get miniworm's appimage to run, but he suggested using dep2appimage as a tool to create one, and so I have tried to do this. See https://github.com/simoniz0r/deb2appimage for the method and basic tool.

    As I understand it, I need to recursively find all the dependencies of every single library that puddletag uses and include them. I have tried to do this based on ubuntu bionic. So far I have failed to get a running image - it crashes every time with a segmentation fault. I'm wondering whether I have got a fundamental misunderstanding of how to go about this, or if there is some 'obvious' and 'standard' library I am missing. How can I find out? I can post the json configuration file here if that would help.

    See entry https://github.com/keithgg/puddletag/issues/464#issuecomment-624616173 for a solution,

    There's an updated appimage in https://github.com/keithgg/puddletag/issues/464#issuecomment-626898569

    opened by Pastim 80
  • French Translation

    French Translation

    Would love to be able to have the UI in my language. Is is currently possible 
    to translate the UI? If so, please advise. I can provide an Norwegian Nynorsk 
    translation.
    

    Original issue reported on code.google.com by [email protected] on 16 Oct 2010 at 2:10

    opened by GoogleCodeExporter 32
  • 2 crashes

    2 crashes

    Hi, I am using Opensuse 11.3, KDE 4.4.
    I tried this program, I found 2 crashes:
    
    chipu@linux-nzdu:/data/chipu/programs/source/puddletag-0.9.6$ ./puddletag
    puddletag Version: 0.9.6
    puddletag(16374)/: Trying to open ksycoca from  
    "/var/tmp/kdecache-chipu/ksycoca4"
    QObject::installEventFilter(): Cannot filter events for objects in a different 
    thread.
    Segmentation fault
    
    This when deleting a comment in a ogg file (using the inline editor)
    
    About the other, I attach the trace
    
    chipu@linux-nzdu:/data/chipu/programs/source/puddletag-0.9.6$ ./puddletag
    puddletag Version: 0.9.6
    puddletag(16388)/: Trying to open ksycoca from  
    "/var/tmp/kdecache-chipu/ksycoca4"
    *** glibc detected *** python: corrupted double-linked list: 0x00000000020f1360 
    ***
    ======= Backtrace: =========
    /lib64/libc.so.6(+0x73226)[0x7fb5ec926226]
    /lib64/libc.so.6(+0x73690)[0x7fb5ec926690]
    /lib64/libc.so.6(+0x74bc4)[0x7fb5ec927bc4]
    /lib64/libc.so.6(__libc_malloc+0x79)[0x7fb5ec92aaa9]
    /usr/lib64/libQtGui.so.4(+0x3a894c)[0x7fb5ea31d94c]
    /usr/lib64/libQtGui.so.4(_ZNK14QX11PixmapData11paintEngineEv+0x198)[0x7fb5ea2151
    c8]
    /usr/lib64/libQtGui.so.4(_ZN8QPainter5beginEP12QPaintDevice+0x13e)[0x7fb5ea27a65
    e]
    /usr/lib64/libQtGui.so.4(_ZN8QPainterC2EP12QPaintDevice+0x128)[0x7fb5ea27b078]
    /usr/lib64/kde4/plugins/styles/oxygen.so(+0x429dd)[0x7fb5dea3d9dd]
    /usr/lib64/kde4/plugins/styles/oxygen.so(+0x428e6)[0x7fb5dea3d8e6]
    /usr/lib64/kde4/plugins/styles/oxygen.so(+0x3eb5e)[0x7fb5dea39b5e]
    /usr/lib64/kde4/plugins/styles/oxygen.so(+0x3e380)[0x7fb5dea39380]
    /usr/lib64/kde4/plugins/styles/oxygen.so(+0x3e652)[0x7fb5dea39652]
    /usr/lib64/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x25f)[0x7
    fb5e9c71a1f]
    /usr/lib64/libQtGui.so.4(_ZN9QLineEdit11textChangedERK7QString+0x22)[0x7fb5ea528
    0c2]
    /usr/lib64/libQtGui.so.4(_ZN9QLineEdit11qt_metacallEN11QMetaObject4CallEiPPv+0x2
    4c)[0x7fb5ea52855c]
    /usr/lib64/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x25f)[0x7
    fb5e9c71a1f]
    /usr/lib64/libQtGui.so.4(_ZN12QLineControl11textChangedERK7QString+0x25)[0x7fb5e
    a78dea5]
    /usr/lib64/libQtGui.so.4(_ZN12QLineControl12finishChangeEibb+0x20b)[0x7fb5ea52ce
    6b]
    /usr/lib64/libQtGui.so.4(_ZN12QLineControl15internalSetTextERK7QStringib+0x191)[
    0x7fb5ea52d0d1]
    /usr/lib64/libQtGui.so.4(+0x57cb2b)[0x7fb5ea4f1b2b]
    /usr/lib64/libQtGui.so.4(_ZN9QComboBox11qt_metacallEN11QMetaObject4CallEiPPv+0x2
    c8)[0x7fb5ea4f44a8]
    /usr/lib64/python2.6/site-packages/PyQt4/QtGui.so(+0x4b68d0)[0x7fb5eb09b8d0]
    /usr/lib64/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x25f)[0x7
    fb5e9c71a1f]
    /usr/lib64/libQtCore.so.4(_ZN18QAbstractItemModel11rowsRemovedERK11QModelIndexii
    +0x44)[0x7fb5e9cb7464]
    /usr/lib64/libQtCore.so.4(_ZN18QAbstractItemModel13endRemoveRowsEv+0xaa)[0x7fb5e
    9c58b4a]
    /usr/lib64/libQtGui.so.4(_ZN18QStandardItemModel10removeRowsEiiRK11QModelIndex+0
    x98)[0x7fb5ea6b9428]
    /usr/lib64/python2.6/site-packages/PyQt4/QtGui.so(+0x4b5024)[0x7fb5eb09a024]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x144c)[0x7fb5ed56465c]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x151)[0x7fb5ed569251]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0xe2d)[0x7fb5ed56403d]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x151)[0x7fb5ed569251]
    /usr/lib64/libpython2.6.so.1.0(+0xa8db2)[0x7fb5ed536db2]
    /usr/lib64/libpython2.6.so.1.0(PyObject_Call+0x52)[0x7fb5ed52acb2]
    /usr/lib64/libpython2.6.so.1.0(+0x9f03f)[0x7fb5ed52d03f]
    /usr/lib64/libpython2.6.so.1.0(PyObject_Call+0x52)[0x7fb5ed52acb2]
    /usr/lib64/libpython2.6.so.1.0(PyEval_CallObjectWithKeywords+0x36)[0x7fb5ed562d2
    6]
    /usr/lib64/python2.6/site-packages/sip.so(sip_api_invoke_slot+0x120)[0x7fb5e6172
    6f0]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x195d7b)[0x7fb5e5ea3d7b]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x195e92)[0x7fb5e5ea3e92]
    /usr/lib64/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x25f)[0x7
    fb5e9c71a1f]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x19bf12)[0x7fb5e5ea9f12]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x19a565)[0x7fb5e5ea8565]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x180dd9)[0x7fb5e5e8edd9]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x144c)[0x7fb5ed56465c]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x331)[0x7fb5ed569431]
    /usr/lib64/libpython2.6.so.1.0(+0xa8db2)[0x7fb5ed536db2]
    /usr/lib64/libpython2.6.so.1.0(PyObject_Call+0x52)[0x7fb5ed52acb2]
    /usr/lib64/libpython2.6.so.1.0(+0x9f03f)[0x7fb5ed52d03f]
    /usr/lib64/libpython2.6.so.1.0(PyObject_Call+0x52)[0x7fb5ed52acb2]
    /usr/lib64/libpython2.6.so.1.0(PyEval_CallObjectWithKeywords+0x36)[0x7fb5ed562d2
    6]
    /usr/lib64/python2.6/site-packages/sip.so(sip_api_invoke_slot+0x120)[0x7fb5e6172
    6f0]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x195d7b)[0x7fb5e5ea3d7b]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x195e92)[0x7fb5e5ea3e92]
    /usr/lib64/libQtCore.so.4(_ZN11QMetaObject8activateEP7QObjectPKS_iPPv+0x25f)[0x7
    fb5e9c71a1f]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x19bf12)[0x7fb5e5ea9f12]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x19a565)[0x7fb5e5ea8565]
    /usr/lib64/python2.6/site-packages/PyQt4/QtCore.so(+0x180dd9)[0x7fb5e5e8edd9]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x144c)[0x7fb5ed56465c]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x35fb)[0x7fb5ed56680b]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x331)[0x7fb5ed569431]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0xe2d)[0x7fb5ed56403d]
    /usr/lib64/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x151)[0x7fb5ed569251]
    ======= Memory map: ========
    00400000-00401000 r-xp 00000000 08:01 525762                             
    /usr/bin/python2.6
    00600000-00601000 r--p 00000000 08:01 525762                             
    /usr/bin/python2.6
    00601000-00602000 rw-p 00001000 08:01 525762                             
    /usr/bin/python2.6
    00602000-024a0000 rw-p 00000000 00:00 0                                  [heap]
    7fb5cc000000-7fb5cc0fb000 rw-p 00000000 00:00 0 
    7fb5cc0fb000-7fb5d0000000 ---p 00000000 00:00 0 
    7fb5d4000000-7fb5d4028000 rw-p 00000000 00:00 0 
    7fb5d4028000-7fb5d8000000 ---p 00000000 00:00 0 
    7fb5d86a1000-7fb5d86a6000 r-xp 00000000 08:01 1061506                    
    /usr/lib64/python2.6/lib-dynload/mmap.so
    7fb5d86a6000-7fb5d88a5000 ---p 00005000 08:01 1061506                    
    /usr/lib64/python2.6/lib-dynload/mmap.so
    7fb5d88a5000-7fb5d88a6000 r--p 00004000 08:01 1061506                    
    /usr/lib64/python2.6/lib-dynload/mmap.so
    7fb5d88a6000-7fb5d88a7000 rw-p 00005000 08:01 1061506                    
    /usr/lib64/python2.6/lib-dynload/mmap.so
    7fb5d88a7000-7fb5d8927000 r--p 00000000 08:01 1055016                    
    /usr/share/fonts/truetype/DejaVuSans-Oblique.ttf
    7fb5d8927000-7fb5d8933000 r-xp 00000000 08:01 131191                     
    /lib64/libnss_files-2.11.2.so
    7fb5d8933000-7fb5d8b32000 ---p 0000c000 08:01 131191                     
    /lib64/libnss_files-2.11.2.so
    7fb5d8b32000-7fb5d8b33000 r--p 0000b000 08:01 131191                     
    /lib64/libnss_files-2.11.2.so
    7fb5d8b33000-7fb5d8b34000 rw-p 0000c000 08:01 131191                     
    /lib64/libnss_files-2.11.2.so
    7fb5d8b34000-7fb5d8bc7000 r-xp 00000000 08:01 801230                     
    /usr/lib64/libkfile.so.4.4.0
    7fb5d8bc7000-7fb5d8dc7000 ---p 00093000 08:01 801230                     
    /usr/lib64/libkfile.so.4.4.0
    7fb5d8dc7000-7fb5d8dcb000 r--p 00093000 08:01 801230                     
    /usr/lib64/libkfile.so.4.4.0
    7fb5d8dcb000-7fb5d8dce000 rw-p 00097000 08:01 801230                     
    /usr/lib64/libkfile.so.4.4.0
    7fb5d8dce000-7fb5d8dd1000 r-xp 00000000 08:01 800516                     
    /usr/lib64/kde4/kfilemodule.so
    7fb5d8dd1000-7fb5d8fd0000 ---p 00003000 08:01 800516                     
    /usr/lib64/kde4/kfilemodule.so
    7fb5d8fd0000-7fb5d8fd1000 r--p 00002000 08:01 800516                     
    /usr/lib64/kde4/kfilemodule.so
    7fb5d8fd1000-7fb5d8fd2000 rw-p 00003000 08:01 800516                     
    /usr/lib64/kde4/kfilemodule.so
    7fb5d8fd2000-7fb5d8fd3000 ---p 00000000 00:00 0 
    7fb5d8fd3000-7fb5d97d3000 rw-p 00000000 00:00 0 
    7fb5d97d3000-7fb5d9830000 r--p 00000000 08:01 393689                     
    /var/cache/libx11/compose/l4_030_313cb605_00280cc0
    7fb5d9830000-7fb5d9831000 ---p 00000000 00:00 0 
    7fb5d9831000-7fb5da031000 rw-p 00000000 00:00 0 
    7fb5da031000-7fb5da20d000 r--s 00000000 08:01 394254                     
    /var/tmp/kdecache-chipu/ksycoca4
    7fb5da20d000-7fb5da299000 r--p 00000000 08:01 1054992                    
    /usr/share/fonts/truetype/DejaVuSans-Bold.ttf
    7fb5da299000-7fb5da331000 r--p 00000000 08:01 1054973                    
    /usr/share/fonts/truetype/DejaVuSans.ttf
    7fb5da331000-7fb5db2ae000 rw-s 00000000 08:01 395854                     
    /var/tmp/kdecache-chipu/kpc/kde-icon-cache.data
    7fb5db2ae000-7fb5db6c7000 rw-s 00000000 08:01 395753                     
    /var/tmp/kdecache-chipu/kpc/kde-icon-cache.index
    7fb5db6c7000-7fb5db6cb000 r-xp 00000000 08:01 805791                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xview.so
    7fb5db6cb000-7fb5db8ca000 ---p 00004000 08:01 805791                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xview.so
    7fb5db8ca000-7fb5db8cb000 r--p 00003000 08:01 805791                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xview.so
    7fb5db8cb000-7fb5db8cc000 rw-p 00004000 08:01 805791                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xview.so
    7fb5db8cc000-7fb5db8db000 r-xp 00000000 08:01 805790                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xcf.so
    7fb5db8db000-7fb5dbada000 ---p 0000f000 08:01 805790                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xcf.so
    7fb5dbada000-7fb5dbadb000 r--p 0000e000 08:01 805790                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xcf.so
    7fb5dbadb000-7fb5dbadc000 rw-p 0000f000 08:01 805790                     
    /usr/lib64/kde4/plugins/imageformats/kimg_xcf.so
    7fb5dbadc000-7fb5dbae0000 rw-p 00000000 00:00 0 
    7fb5dbae0000-7fb5dbae5000 r-xp 00000000 08:01 805789                     
    /usr/lib64/kde4/plugins/imageformats/kimg_tga.so
    7fb5dbae5000-7fb5dbce4000 ---p 00005000 08:01 805789                     
    /usr/lib64/kde4/plugins/imageformats/kimg_tga.so
    7fb5dbce4000-7fb5dbce5000 r--p 00004000 08:01 805789                     
    /usr/lib64/kde4/plugins/imageformats/kimg_tga.so
    7fb5dbce5000-7fb5dbce6000 rw-p 00005000 08:01 805789                     
    /usr/lib64/kde4/plugins/imageformats/kimg_tga.so
    7fb5dbce6000-7fb5dbcef000 r-xp 00000000 08:01 805788                     
    /usr/lib64/kde4/plugins/imageformats/kimg_rgb.so
    7fb5dbcef000-7fb5dbeef000 ---p 00009000 08:01 805788                     
    /usr/lib64/kde4/plugins/imageformats/kimg_rgb.so
    7fb5dbeef000-7fb5dbef0000 r--p 00009000 08:01 805788                     
    /usr/lib64/kde4/plugins/imageformats/kimg_rgb.so
    7fb5dbef0000-7fb5dbef1000 rw-p 0000a000 08:01 805788                     
    /usr/lib64/kde4/plugins/imageformats/kimg_rgb.so
    7fb5dbef1000-7fb5dbef6000 r-xp 00000000 08:01 805787                     
    /usr/lib64/kde4/plugins/imageformats/kimg_psd.so
    7fb5dbef6000-7fb5dc0f5000 ---p 00005000 08:01 805787                     
    /usr/lib64/kde4/plugins/imageformats/kimg_psd.so
    7fb5dc0f5000-7fb5dc0f6000 r--p 00004000 08:01 805787                     
    /usr/lib64/kde4/plugins/imageformats/kimg_psd.so
    7fb5dc0f6000-7fb5dc0f7000 rw-p 00005000 08:01 805787                     
    /usr/lib64/kde4/plugins/imageformats/kimg_psd.so
    7fb5dc0f7000-7fb5dc0fe000 r-xp 00000000 08:01 805786                     
    /usr/lib64/kde4/plugins/imageformats/kimg_pcx.so
    7fb5dc0fe000-7fb5dc2fe000 ---p 00007000 08:01 805786                     
    /usr/lib64/kde4/plugins/imageformats/kimg_pcx.so
    7fb5dc2fe000-7fb5dc2ff000 r--p 00007000 08:01 805786                     
    /usr/lib64/kde4/plugins/imageformats/kimg_pcx.so
    7fb5dc2ff000-7fb5dc300000 rw-p 00008000 08:01 805786                     
    /usr/lib64/kde4/plugins/imageformats/kimg_pcx.so
    7fb5dc300000-7fb5dc34f000 r-xp 00000000 08:01 801063                     
    /usr/lib64/libjasper.so.1.0.0
    7fb5dc34f000-7fb5dc54e000 ---p 0004f000 08:01 801063                     
    /usr/lib64/libjasper.so.1.0.0
    7fb5dc54e000-7fb5dc54f000 r--p 0004e000 08:01 801063                     
    /usr/lib64/libjasper.so.1.0.0
    7fb5dc54f000-7fb5dc553000 rw-p 0004f000 08:01 801063                     
    /usr/lib64/libjasper.so.1.0.0
    7fb5dc553000-7fb5dc55a000 rw-p 00000000 00:00 0 
    7fb5dc55a000-7fb5dc55f000 r-xp 00000000 08:01 805785                     
    /usr/lib64/kde4/plugins/imageformats/kimg_jp2.so
    7fb5dc55f000-7fb5dc75e000 ---p 00005000 08:01 805785                     
    /usr/lib64/kde4/plugins/imageformats/kimg_jp2.so
    7fb5dc75e000-7fb5dc75f000 r--p 00004000 08:01 805785                     
    /usr/lib64/kde4/plugins/imageformats/kimg_jp2.so
    7fb5dc75f000-7fb5dc760000 rw-p 00005000 08:01 805785                     
    /usr/lib64/kde4/plugins/imageformats/kimg_jp2.so
    7fb5dc760000-7fb5dc766000 r-xp 00000000 08:01 801614                     
    /usr/lib64/libIlmThread.so.6.0.0
    7fb5dc766000-7fb5dc965000 ---p 00006000 08:01 801614                     
    /usr/lib64/libIlmThread.so.6.0.0
    7fb5dc965000-7fb5dc966000 r--p 00005000 08:01 801614                     
    /usr/lib64/libIlmThread.so.6.0.0
    7fb5dc966000-7fb5dc967000 rw-p 00006000 08:01 801614                     
    /usr/lib64/libIlmThread.so.6.0.0
    7fb5dc967000-7fb5dc9a9000 r-xp 00000000 08:01 802053                     
    /usr/lib64/libHalf.so.6.0.0
    7fb5dc9a9000-7fb5dcba8000 ---p 00042000 08:01 802053                     
    /usr/lib64/libHalf.so.6.0.0
    7fb5dcba8000-7fb5dcba9000 r--p 00041000 08:01 802053                     
    /usr/lib64/libHalf.so.6.0.0
    7fb5dcba9000-7fb5dcbaa000 rw-p 00042000 08:01 802053                     
    /usr/lib64/libHalf.so.6.0.0
    7fb5dcbaa000-7fb5dcbc6000 r-xp 00000000 08:01 801783                     
    /usr/lib64/libIex.so.6.0.0
    7fb5dcbc6000-7fb5dcdc6000 ---p 0001c000 08:01 801783                     
    /usr/lib64/libIex.so.6.0.0
    7fb5dcdc6000-7fb5dcdca000 r--p 0001c000 08:01 801783                     
    /usr/lib64/libIex.so.6.0.0
    7fb5dcdca000-7fb5dcdcb000 rw-p 00020000 08:01 801783                     
    /usr/lib64/libIex.so.6.0.0
    7fb5dcdcb000-7fb5dce8c000 r-xp 00000000 08:01 801782                     
    /usr/lib64/libIlmImf.so.6.0.0
    7fb5dce8c000-7fb5dd08b000 ---p 000c1000 08:01 801782                     
    /usr/lib64/libIlmImf.so.6.0.0
    7fb5dd08b000-7fb5dd08e000 r--p 000c0000 08:01 801782                     
    /usr/lib64/libIlmImf.so.6.0.0
    7fb5dd08e000-7fb5dd090000 rw-p 000c3000 08:01 801782                     
    /usr/lib64/libIlmImf.so.6.0.0
    7fb5dd090000-7fb5dd095000 r-xp 00000000 08:01 805784                     
    /usr/lib64/kde4/plugins/imageformats/kimg_exr.so
    7fb5dd095000-7fb5dd295000 ---p 00005000 08:01 805784                     
    /usr/lib64/kde4/plugins/imageformats/kimg_exr.so
    7fb5dd295000-7fb5dd296000 r--p 00005000 08:01 805784                     
    /usr/lib64/kde4/plugins/imageformats/kimg_exr.so
    7fb5dd296000-7fb5dd297000 rw-p 00006000 08:01 805784                     
    /usr/lib64/kde4/plugins/imageformats/kimg_exr.so
    7fb5dd297000-7fb5dd29f000 r-xp 00000000 08:01 805783                     
    /usr/lib64/kde4/plugins/imageformats/kimg_eps.so
    7fb5dd29f000-7fb5dd49e000 ---p 00008000 08:01 805783                     
    /usr/lib64/kde4/plugins/imageformats/kimg_eps.so
    7fb5dd49e000-7fb5dd49f000 r--p 00007000 08:01 805783                     
    /usr/lib64/kde4/plugins/imageformats/kimg_eps.so
    7fb5dd49f000-7fb5dd4a0000 rw-p 00008000 08:01 805783                     
    /usr/lib64/kde4/plugins/imageformats/kimg_eps.so
    7fb5dd4a0000-7fb5dd4a7000 r-xp 00000000 08:01 799816                     
    /usr/lib64/kde4/plugins/imageformats/kimg_dds.so
    7fb5dd4a7000-7fb5dd6a6000 ---p 00007000 08:01 799816                     
    /usr/lib64/kde4/plugins/imageformats/kimg_dds.so
    7fb5dd6a6000-7fb5dd6a7000 r--p 00006000 08:01 799816                     
    /usr/lib64/kde4/plugins/imageformats/kimg_dds.so
    7fb5dd6a7000-7fb5dd6a8000 rw-p 00007000 08:01 799816                     
    /usr/lib64/kde4/plugins/imageformats/kimg_dds.so
    7fb5dd6a8000-7fb5dd709000 r-xp 00000000 08:01 788613                     
    /usr/lib64/libtiff.so.3.9.2
    7fb5dd709000-7fb5dd909000 ---p 00061000 08:01 788613                     
    /usr/lib64/libtiff.so.3.9.2
    7fb5dd909000-7fb5dd90b000 r--p 00061000 08:01 788613                     
    /usr/lib64/libtiff.so.3.9.2
    7fb5dd90b000-7fb5dd90c000 rw-p 00063000 08:01 788613                     
    /usr/lib64/libtiff.so.3.9.2
    7fb5dd90c000-7fb5dd913000 r-xp 00000000 08:01 1069870                    
    /usr/lib64/qt4/plugins/imageformats/libqtiff.so
    7fb5dd913000-7fb5ddb12000 ---p 00007000 08:01 1069870                    
    /usr/lib64/qt4/plugins/imageformats/libqtiff.so
    7fb5ddb12000-7fb5ddb13000 r--p 00006000 08:01 1069870                    
    /usr/lib64/qt4/plugins/imageformats/libqtiff.soAborted
    

    Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 1:15

    Attachments:

    opened by GoogleCodeExporter 28
  • Small change needed for flatpak support

    Small change needed for flatpak support

    I am working on publishing puddletag on flathub. The pull request is made and the flatpak manifest and application definitions have passed all checks. The app build and runs, tags are saved and everything. The flathub maintainers though found an issue with how QFileDialog is used across the project. To allow QFileDialog to use portals and enable the flatpak to communicate with the file system, it needs the DontUseNativeDialog = true option everywhere it's used.

    Is this something you would like to enable? It would be great to have puddletag as a flatpak and I am willing to make it happen. If you agree with the DontUseNativeDialog I can try to create the pull request myself.

    more-information 
    opened by or29544 18
  • Ubuntu 20.04 LTS = Qt4 + Python 2 removal

    Ubuntu 20.04 LTS = Qt4 + Python 2 removal

    Ubuntu in it's new 20.04 LTS release (will be ready in few days) removed not only pyqt4 (in fact whole qt4) but also python2. So as a result Puddletag was dropped from repositories for 20.04 and onwards.

    I really like Puddletag, even after trying Mp3tag, it's so flexible and Linux-native. Do yo have plans to move to Qt5/6 and Python3? I see branches for Python3 and for Qt5 but not for both, which seems to be the only way to have it running in Ubuntu, most popular desktop Linux with many derivatives (Mint, Elementary ...). When we count together Debian (with Qt4 removal), Ubuntu + their derivatives it seems like most of distributions are affected. Or maybe snap/flatpak/AppImage with current version is an option?

    opened by miniworm 18
  • Current Status, etc.

    Current Status, etc.

    Hi there. It's been a while.

    The project has been in stasis now for a bit and I've lacked not just the time, but the motivation to do anything with it. Ever since streaming became useful enough, I haven't needed puddletag much on the daily and what it does is more than enough for my uses.

    So the plan for puddletag is that I'll be sunsetting it unless more able bodies volunteer. Marko Hauptvogel has been kind enough to contribute change for PyQt5 [git checkout pyqt5]. Unless someone else jumps in, I'll do the Python3 migration somewhere in January 2018 [holding thumbs], after which I'll halt development and only do bugfixes where needed [promise to look at the current open tickets as well].

    Suggestions and feedback are welcome.

    opened by keithgg 17
  • python support in new ubuntu

    python support in new ubuntu

    I installed xubuntu 16.04 recently. puddletag won't install because python-support is no longer available.

    It seems they are moving to only support python 3 and I believe puddletag needs 2.7.

    I managed to get around it (by temporarily adding a debian 8 jessy ppa) so I'm OK for now.

    However, if the writing truly is on the all for older python, is there any chance of puddletag moving to python 3?

    opened by Pastim 16
  • pyqt4 removal from debian

    pyqt4 removal from debian

    Hello, the python bindings fro Qt4 are being removed from Debian; afaik puddletag only works with pyqt4, so that means puddletag will stop working soon in Debian (other than the fact it's still py2, but we have more time for that :) )

    is there any work to port it to pyside or pyqt5?

    thanks!

    opened by sandrotosi 15
  • Puddletag AppImage

    Puddletag AppImage

    Appimage helps packing apps which can run on all major Linux distributions. It's based on concept of one app = one file

    If puddletag can be packed along with all its dependencies inside an appimage, users can simply download give permission & run the file. Appimage also supports Delta updates.

    Popular apps like subsurface, scribus, krita also adopted this method to distribute their apps. It's easy to pack apps using AppImage. No extra knowledge required.

    Project repo: https://github.com/probonopd/AppImagekit

    The developer @probonopd is happy to help you packing your app :)

    opened by kskarthik 15
  • Error when writing to network shares.

    Error when writing to network shares.

    Following error occurs when trying to edit a tag of a file which is located on 
    a remote filesystem over SMB or NFS:
    
    QString::arg: Argument missing: An error occurred while writing to <b>%s</b>: 
    (%s), /home/william/Filesrv/Musik/Alben FLAC/Michael Cassette/Temporarity/01. 
    Michael Cassette - My Name Is Michael Cassette.flac
    QString::arg: Argument missing: An error occurred while writing to <b>%s</b>: 
    (%s), operation not permitted
    
    It works if the file is on the local filesystem and I guess it has to do with 
    permissions. The file on the remote fs has it's owner and group set to 
    "data:data" with permissions -rw-rw-r--. My user on the local machine is 
    "william" and is a member of the "data" group remote as well as local.
    
    I'm actually not sure if I setup my permissions on the remote host correctly. 
    On a side note this is a shared folder and so the "data" group should have 
    groupowner I guess. 
    Also I haven't had any problems with similar applications.
    
    I've installed the puddletag_0.9.10-1_all.deb package on Ubuntu 10.10.
    The SAMBA/NFS server is running Ubuntu Server 10.10.
    

    Original issue reported on code.google.com by [email protected] on 19 Dec 2010 at 4:05

    opened by GoogleCodeExporter 15
  • Puddletag can't read AAC in .M4A files

    Puddletag can't read AAC in .M4A files

    When trying to add .m4a files (Apple iTunes) encoded in AAC the program doesn't add them (does nothing). This is the same whether dragging and dropping the files, or choosing a directory.

    Editing MP3s works without a problem.

    Here's the terminal output when I add a .m4a:

    puddletag Version: 1.2.0
    Fontconfig warning: "/home/najjara/.config/fontconfig/fonts.conf", line 36: Expression doesn't take any effects for delete and delete_all
    Locale: en_US
    Object::disconnect: Unexpected null parameter
    An error occured.
    /home/najjara/something.m4a
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/puddlestuff/puddleobjects.py", line 675, in gettag
        return audioinfo.Tag(f)
      File "/usr/lib/python2.7/site-packages/puddlestuff/tagmodel.py", line 298, in ReplacementTag
        return extensions[ext][1](filename)
      File "/usr/lib/python2.7/site-packages/puddlestuff/tagmodel.py", line 151, in __init__
        super(ModelTag, self).__init__(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/puddlestuff/audioinfo/mp4.py", line 190, in __init__
        util.MockTag.__init__(self, filename)
      File "/usr/lib/python2.7/site-packages/puddlestuff/audioinfo/util.py", line 663, in __init__
        self.link(filename)
      File "/usr/lib/python2.7/site-packages/puddlestuff/audioinfo/mp4.py", line 366, in link
        isinstance(v, unicode) else v for v in audio[key]]
    TypeError: coercing to Unicode: need string or buffer, int found
    

    Here's the relevant metadata from that file:

    $ mediainfo '/home/najjara/something.m4a' 
    
    General
    Complete name                            : /home/najjara/something.m4a
    Format                                   : MPEG-4
    Format profile                           : Apple audio with iTunes info
    Codec ID                                 : M4A  (M4A /mp42/isom)
    Overall bit rate mode                    : Variable
    Overall bit rate                         : 285 kb/s
    Flavour                                  : 2:256
    
    Audio
    ID                                       : 1
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Format profile                           : LC
    Codec ID                                 : mp4a-40-2
    Bit rate mode                            : Variable
    Bit rate                                 : 256 kb/s
    Maximum bit rate                         : 395 kb/s
    Channel(s)                               : 2 channels
    Channel positions                        : Front: L R
    Sampling rate                            : 44.1 kHz
    Frame rate                               : 43.066 FPS (1024 SPF)
    Compression mode                         : Lossy
    
    

    Installed from Arch packages

    puddletag 1.2.0
    PyQt 4.12.1
    Mutagen 1.38
    Pyparsing 2.2.0
    Qt 4.8.7
    
    opened by najjara 14
  • Implement support for ID3v2 chapter frames

    Implement support for ID3v2 chapter frames

    What's missing?

    As far as I know, currently puddletag does not support editing id3v2 chapter frames.

    This document describes a method for signalling chapters and a table of contents within an audio file using two new ID3v2 frames. The frames allow listeners to navigate to specific locations in an audio file and can provide descriptive information, URLs and images related to each chapter. https://id3.org/id3v2-chapters-1.0

    Your solution

    Create UI for editing chapters, mutagen seems to have support for these frames.

    mutagen docs has an example on how to add chapter info

    As far as for UI, I am not sure what info a chapter can contain (atleast text and timestamps), but it should be some sort of list.

    Any alternatives?

    This is in the id3v2 spec and already supported by good number of players. (for examle mpv shows them currently and vlc should in the 4.0 version)

    Anything else?

    Some other formats support chapters too (like m4a & ogg) and AFAIK there is no support in puddletag for those either? In that case the UI probably should be designed to be used with those too.

    feature-request 
    opened by Okxa 0
  • [Documentation] Install with pipx

    [Documentation] Install with pipx

    What's missing?

    I want to suggest pipx as another alternative installation method to add to the documentation/README.md and probably the new default installation method.

    Your solution

    It could be as simple as:

    pipx install puddletag
    
    # To run puddletag, it should be on you PATH now:
    puddletag
    

    And that works well. When you know your way around Linux/FOSS and Python. More complete instructions would look like this:

    # Linux installation of pipx taken from https://pypa.github.io/pipx/installation/
    python3 -m pip install --user pipx
    python3 -m pipx ensurepath
    
    # Install Puddletag
    pipx install puddletag
    
    # Improve desktop integration with shortcut and icon
    mkdir -pv "$HOME/.local/share/"{applications,icons}
    ln -sv "$HOME/.local/pipx/venvs/puddletag/share/applications/puddletag.desktop" \
      "$HOME/.local/share/applications/"
    ln -sv "$HOME/.local/pipx/venvs/puddletag/share/pixmaps/puddletag.png" \
      "$HOME/.local/share/icons/"
    
    # You can run in from the command line, but it should have a functional icon
    # like any other app in your app drawer now.
    

    Upgrading to a newer version is as easy as:

    pipx upgrade puddletag
    

    Or if you want to upgrade all the other tools you installed with pipx to do pipx upgrade-all. When you switch to a newer Python version (e.g. distribution release upgrade), do pipx reinstall-all.

    Any alternatives?

    Well there was Flatpak support which had been discussed and declined: https://github.com/puddletag/puddletag/issues/735

    Someone is publishing a snap, not sure if that is official, but as an Ubuntu user who also uses other Linux systems like Steam Deck, the best outcome for Snapd seems to be that it will be successful on Ubuntu while every other Linux distribution seems to avoid it in favor of Flatpak or other mechanisms (static binaries, AppImage, or pipx).

    Anything else?

    It's apparently meant to be for CLI utilities (also supports generating Shell Completion for tools) but it works surprisingly well with Puddletag so far (I loaded up a few files and added a comment to the comment field of an album, but Puddletag worked well in a venv before and this is no different, just easier). I heard about it in talkpython.fm some time ago, but it took until today for me to look into it, because my experience with Python and Pip had been messy in the past and I'd thought it would be a nice to have that is still super complicated to implement and convince maintainers to do so. But was very simple as you can seem.

    I wish you all the best for your holidays.

    documentation 
    opened by lwbt 1
  • MP4 mood tags not shown

    MP4 mood tags not shown

    Current Behavior

    When reading MP4/M4A/AAC audio files puddletag does not show the mood tag of the files. It does write them though if they are added. I was able to confirm that the tags get written using my own little mutagen Python script. MP3 files do not seem to be affected.

    Expected Behavior

    It should show the mood tags that were written to the file when loading it.

    Steps To Reproduce

    1. Open a MP4 audio file
    2. Add a mood tag to the file
    3. Save
    4. Reload puddletag and load the file again
    5. Check if the mood tag is shown

    Information about your system

    Puddletag: 2.2.0 OS: Fedora Linux 37 (Thirty Seven) Python: 3.11.0 PyQt: 5.15.6 Qt: 5.15.7 Mutagen: 1.45.1 PyParsing: 3.0.9 ConfigObj: 5.0.6 lxml: 4.9.1 pyacoustid: 1.2.2 audioread: 3.0.0 Levenshtein: unknown version Chromaprint: unknown version

    Anything else?

    If needed I could help with a reproducer script that verifies the tags were written correctly.

    bug 
    opened by weinimo 1
  • Maximize button of Puddletag window disappearing

    Maximize button of Puddletag window disappearing

    Current Behavior

    When I start Puddletag, the maximize button is (most of the time) there and I can maximize the window. If I then un-maximize the window, it's suddenly gone and I can only resize it manually.

    Expected Behavior

    The window should have a maximize button all the time and can be maximized and un-maximized.

    Steps To Reproduce

    1. Open Puddletag
    2. Maximize and un-maximize it
    3. Button is gone

    Information about your system

    Puddletag: 2.2.0 OS: Linux Mint 21 Cinnamon Python: 3.10.6 PyQt: 5.15.6

    Anything else?

    If I delete the ~/.config/puddletag directory, it works again

    bug UI-Qt 
    opened by JoeJoeTV 8
  • Tag Sources retrieves title from MusicBrainz work rather than medium

    Tag Sources retrieves title from MusicBrainz work rather than medium

    Current Behavior

    When I use Tag Sources to retrieve track titles from MusicBrainz, the titles are coming from the MusicBrainz 'work' instead of the tracks on the specified release. These aren't always the same.

    Expected Behavior

    It should retrieve the track titles from the specific release I choose.

    Steps To Reproduce

    With Tag Sources configured to connect with MusicBrainz:

    1. Select all tracks in the Puddletag track list
    2. In Tag Sources window, make sure 'title' is being retrieved, either by leaving 'Fields' empty or including 'title'
    3. enter :b [release mbid] in the search field and click Search
    4. Select the release in search results

    Information about your system

    Puddletag: 2.0.1 OS: Linux Mint 20.3 Python: 3.8.10 PyQt: 5.14.1

    Anything else?

    No response

    bug more-information tag-sources 
    opened by Beckfield 4
  • Request: Add tag source for VGMDB

    Request: Add tag source for VGMDB

    What's missing?

    Currently there's no way to get metadata from VGMDB, which is a pain if you're trying to tag game and anime soundtracks. I already tried using the mp3tag source for VGMDB, but it doesn't work in Puddletag.

    Your solution

    Add a source for VGMDB so that it can be accessed by default from within Puddletag.

    Any alternatives?

    As stated before, I attempted the mp3tag source, but it's not functional in Puddletag.

    Anything else?

    No response

    feature-request tag-sources 
    opened by fighuass 4
Releases(2.2.0)
  • 2.2.0(Jul 5, 2022)

    What's Changed

    • Bump levenshtein from 0.16.0 to 0.17.0 by @dependabot in https://github.com/puddletag/puddletag/pull/679
    • Make tagsource definition files runnable (again) by @bernd-wechner in https://github.com/puddletag/puddletag/pull/680
    • A small incremental fix to discogs tagsource by @bernd-wechner in https://github.com/puddletag/puddletag/pull/681
    • An attempt to document the tagsource interface by @bernd-wechner in https://github.com/puddletag/puddletag/pull/682
    • Simplify/rationalise rate limiting of requests by @bernd-wechner in https://github.com/puddletag/puddletag/pull/683
    • Minor internal documentation (webdb.py - Tag Sources window) by @bernd-wechner in https://github.com/puddletag/puddletag/pull/685
    • Explicit message for UnicodeError by @Zomtir in https://github.com/puddletag/puddletag/pull/688
    • Filter Fix by @corubba in https://github.com/puddletag/puddletag/pull/690
    • Fix scrolling by @corubba in https://github.com/puddletag/puddletag/pull/691
    • Bump levenshtein from 0.17.0 to 0.18.0 by @dependabot in https://github.com/puddletag/puddletag/pull/692
    • MusicBrainz bugfixes by @corubba in https://github.com/puddletag/puddletag/pull/693
    • Removed unused functions by @bernd-wechner in https://github.com/puddletag/puddletag/pull/684
    • Bump levenshtein from 0.18.0 to 0.18.1 by @dependabot in https://github.com/puddletag/puddletag/pull/699
    • Bump lxml from 4.7.1 to 4.8.0 by @dependabot in https://github.com/puddletag/puddletag/pull/701
    • Use valid fallback lang for id3 uslt by @corubba in https://github.com/puddletag/puddletag/pull/696
    • Use PyQt Scoped Enums by @corubba in https://github.com/puddletag/puddletag/pull/704
    • Fix crashes on 'Format value' by @nipsufn in https://github.com/puddletag/puddletag/pull/702
    • Preserve column sizes by @corubba in https://github.com/puddletag/puddletag/pull/697
    • Replace obsolete PyQt5 things by @corubba in https://github.com/puddletag/puddletag/pull/705
    • About dialogue improvements by @corubba in https://github.com/puddletag/puddletag/pull/698
    • Fix shortcut settings by @corubba in https://github.com/puddletag/puddletag/pull/706
    • PyQt5 obsolete bugfix by @corubba in https://github.com/puddletag/puddletag/pull/707
    • Restore Qt5 LTS compatibility by @corubba in https://github.com/puddletag/puddletag/pull/711
    • pyproject.toml and PEP-517 build by @corubba in https://github.com/puddletag/puddletag/pull/714
    • Bugfix/dirview by @corubba in https://github.com/puddletag/puddletag/pull/710
    • Remove ghost window by @corubba in https://github.com/puddletag/puddletag/pull/716
    • Bump pyparsing from 3.0.7 to 3.0.8 by @dependabot in https://github.com/puddletag/puddletag/pull/722
    • Bump pyparsing from 3.0.8 to 3.0.9 by @dependabot in https://github.com/puddletag/puddletag/pull/727
    • Bump lxml from 4.8.0 to 4.9.0 by @dependabot in https://github.com/puddletag/puddletag/pull/737
    • small update for ptbr in https://github.com/puddletag/puddletag/pull/738
    • Bump pyqt5 from 5.15.6 to 5.15.7 by @dependabot in https://github.com/puddletag/puddletag/pull/739
    • Some german translations by @Zomtir in https://github.com/puddletag/puddletag/pull/689
    • Icon fixes by @corubba in https://github.com/puddletag/puddletag/pull/715
    • Report problems from the app by @corubba in https://github.com/puddletag/puddletag/pull/730
    • Fix deprecated regex escape sequences in strings by @brianredbeard in https://github.com/puddletag/puddletag/pull/621
    • Bump lxml from 4.9.0 to 4.9.1 by @dependabot in https://github.com/puddletag/puddletag/pull/744

    New Contributors

    • @Zomtir made their first contribution in https://github.com/puddletag/puddletag/pull/688
    • @corubba made their first contribution in https://github.com/puddletag/puddletag/pull/690
    • @nipsufn made their first contribution in https://github.com/puddletag/puddletag/pull/702
    • @brianredbeard made their first contribution in https://github.com/puddletag/puddletag/pull/621

    Full Changelog: https://github.com/puddletag/puddletag/compare/2.1.1...2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Feb 5, 2022)

    What's Changed

    • Bump pyparsing from 2.4.7 to 3.0.7 by @dependabot in https://github.com/puddletag/puddletag/pull/673
    • Bump configobj from 5.0 to 5.0.6 by @dependabot in https://github.com/puddletag/puddletag/pull/676
    • Bump pyqt5 from 5.15 to 5.15.6 by @dependabot in https://github.com/puddletag/puddletag/pull/675
    • Bump mutagen from 1.45 to 1.45.1 by @dependabot in https://github.com/puddletag/puddletag/pull/674
    • The AllMusic tagsource was broken by @bernd-wechner in https://github.com/puddletag/puddletag/pull/677
    • [IMP] paste image: Enable/disable menu according clipboard contents by @pedrobaeza in https://github.com/puddletag/puddletag/pull/678

    New Contributors

    • @dependabot made their first contribution in https://github.com/puddletag/puddletag/pull/673

    Full Changelog: https://github.com/puddletag/puddletag/compare/2.1.0...2.1.1

    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jan 31, 2022)

    What's Changed

    • Set QFileDialog option to not use native dialogs for folder Open and … by @tonurics in https://github.com/puddletag/puddletag/pull/536
    • Action: to navigate to parent folder of currently selected file by @vlad-te-87 in https://github.com/puddletag/puddletag/pull/539
    • Remove python2 unicode strings by @blueblots in https://github.com/puddletag/puddletag/pull/542
    • Fix for Update From Tag function crash by @blueblots in https://github.com/puddletag/puddletag/pull/543
    • Fix for masstagging search button crash by @blueblots in https://github.com/puddletag/puddletag/pull/545
    • Fix to_ascii function crash by @blueblots in https://github.com/puddletag/puddletag/pull/554
    • Fix for TypeError crash when querying MusicBrainz for tag info by @blueblots in https://github.com/puddletag/puddletag/pull/562
    • Fix for crash when adding custom tag with language lyrics by @blueblots in https://github.com/puddletag/puddletag/pull/574
    • Fix for extended tags view bug by @blueblots in https://github.com/puddletag/puddletag/pull/603
    • Fix for crash when searching with AcoustId by @blueblots in https://github.com/puddletag/puddletag/pull/604
    • Fix for index error in action dialog by @blueblots in https://github.com/puddletag/puddletag/pull/561
    • Rewrite autonumbering function to fix #391. by @terbshaeusser in https://github.com/puddletag/puddletag/pull/591
    • Fixed the typo in README.md by @xenea in https://github.com/puddletag/puddletag/pull/617
    • correction Spanish translation by @josevidalrt in https://github.com/puddletag/puddletag/pull/625
    • Fix for crash when specifying 'Export artwork to file' in action by @blueblots in https://github.com/puddletag/puddletag/pull/551
    • Fix for read-only file crash by @blueblots in https://github.com/puddletag/puddletag/pull/547
    • BUG: fix Shift+Enter behavior by @grlee77 in https://github.com/puddletag/puddletag/pull/627
    • Fixes for action dialog crashes by @blueblots in https://github.com/puddletag/puddletag/pull/550
    • Fix for ImportError in View All Fields plugin by @blueblots in https://github.com/puddletag/puddletag/pull/544
    • Accept multiple file/directory names on commandline by @GeoffRichards in https://github.com/puddletag/puddletag/pull/567
    • Fixed error with empty separator in split field function by @k0mmsussert0d in https://github.com/puddletag/puddletag/pull/649
    • Ask user to discard changes if previews are active when refreshing by @poelzi in https://github.com/puddletag/puddletag/pull/651
    • [IMP] Add clipboard copy/paste cover support by @pedrobaeza in https://github.com/puddletag/puddletag/pull/652
    • lxml package is needed by AllMusic TagSource by @bernd-wechner in https://github.com/puddletag/puddletag/pull/667
    • Fix bug in AllMusic tagsource by @bernd-wechner in https://github.com/puddletag/puddletag/pull/669
    • Fix tagsources get_encoding by @bernd-wechner in https://github.com/puddletag/puddletag/pull/671
    • Release puddletag to PyPI by @sandrotosi in https://github.com/puddletag/puddletag/pull/672

    New Contributors

    • @tonurics made their first contribution in https://github.com/puddletag/puddletag/pull/536
    • @vlad-te-87 made their first contribution in https://github.com/puddletag/puddletag/pull/539
    • @blueblots made their first contribution in https://github.com/puddletag/puddletag/pull/542
    • @terbshaeusser made their first contribution in https://github.com/puddletag/puddletag/pull/591
    • @xenea made their first contribution in https://github.com/puddletag/puddletag/pull/617
    • @grlee77 made their first contribution in https://github.com/puddletag/puddletag/pull/627
    • @GeoffRichards made their first contribution in https://github.com/puddletag/puddletag/pull/567
    • @k0mmsussert0d made their first contribution in https://github.com/puddletag/puddletag/pull/649
    • @poelzi made their first contribution in https://github.com/puddletag/puddletag/pull/651
    • @sandrotosi made their first contribution in https://github.com/puddletag/puddletag/pull/672

    Full Changelog: https://github.com/puddletag/puddletag/compare/2.0.1...2.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Nov 27, 2016)

    Fixed: #280 Turn off auto-saving "Enter description here" description for cover art Added: CJK Encoding for Encoding Conversion Function (XIE Dongping) Fixed: Parsing tracks in Discogs if only a single artist (Frank Sachsenheim) Fixed: Setting user-agent for Tag Sources (Frank Sachsenheim) Fixed: Support for latest mutagen (Bruno Bergot) Changed: Improved Amazon tag source album matching. Added: Swedish translation (Åke Engelbrektson) Updated: Czech translation (Pavel Fric) Added: Spanish translation (José Vidal) Removed: Compiling Ubuntu deb

    Source code(tar.gz)
    Source code(zip)
    puddletag-1.2.0.tar.gz(1.17 MB)
    puddletag-docs-html-1.2.0.tar.bz2(1.58 MB)
    puddletag-docs-rst-1.2.0.tar.bz2(1.04 MB)
  • 1.1.0(Jan 31, 2016)

    Fixes: Playlists not getting loaded in certain cases Discogs changed their API to allow OAuth. As a result you can now only lookup releases using their Discogs release id. Plugins are now included in default install Padding of total tracks number follows the same rules as padding a track number #269 Improved matching of Amazon resources Filtering 'simple' values works again #253 Bug in regex functions where extra \ can get added

    Changes: Modified date is updated by default when saving

    New: Autonumbering has a bunch of new options. Explained in docs.

    Source code(tar.gz)
    Source code(zip)
    puddletag-1.1.0.tar.gz(948.67 KB)
    puddletag-docs-html-1.1.0.tar.bz2(1.58 MB)
    puddletag-docs-rst-1.1.0.tar.bz2(1.04 MB)
    puddletag_1.1.0-1_all.deb(1.96 MB)
A lightweight yet powerful audio-to-MIDI converter with pitch bend detection

Basic Pitch is a Python library for Automatic Music Transcription (AMT), using lightweight neural network developed by Spotify's Audio Intelligence La

Spotify 1.4k Jan 1, 2023
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 359 Feb 15, 2021
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
Audio augmentations library for PyTorch for audio in the time-domain

Audio augmentations library for PyTorch for audio in the time-domain, with support for stochastic data augmentations as used often in self-supervised / contrastive learning.

Janne 166 Jan 8, 2023
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

null 4 Dec 21, 2022
Frescobaldi LilyPond Editor

README for Frescobaldi Homepage: http://www.frescobaldi.org/ Main author: Wilbert Berendsen Frescobaldi is a LilyPond sheet music text editor. It aims

Frescobaldi 600 Dec 29, 2022
Manipulate audio with a simple and easy high level interface

Pydub Pydub lets you do stuff to audio in a way that isn't stupid. Stuff you might be looking for: Installing Pydub API Documentation Dependencies Pla

James Robert 6.6k Jan 1, 2023
LibXtract is a simple, portable, lightweight library of audio feature extraction functions.

LibXtract LibXtract is a simple, portable, lightweight library of audio feature extraction functions. The purpose of the library is to provide a relat

Jamie Bullock 215 Nov 16, 2022
❤️ Hi There Im Cozmo Music Bot A next gen powerful telegram group Music bot for get your Songs and music @Venuja_Sadew

?? Cozmo MUSIC ?? Cozmo Music is a Music powerfull bot for playing music on telegram voice chat groups. Requirements FFmpeg NodeJS nodesource.com Pyth

Venuja Sadew 3 Jan 8, 2022
Music player and music library manager for Linux, Windows, and macOS

Ex Falso / Quod Libet - A Music Library / Editor / Player Quod Libet is a music management program. It provides several different ways to view your au

Quod Libet 1.2k Jan 7, 2023
An Amazon Music client for Linux (unpretentious)

Amusiz An Amazon Music client for Linux (unpretentious) ↗️ Install You can install Amusiz in multiple ways, choose your favorite. ?? AppImage Here you

Mirko Brombin 25 Nov 8, 2022
The project aims to develop a personal-assistant for Windows & Linux-based systems

The project aims to develop a personal-assistant for Windows & Linux-based systems. Samiksha draws its inspiration from virtual assistants like Cortana for Windows, and Siri for iOS. It has been designed to provide a user-friendly interface for carrying out a variety of tasks by employing certain well-defined commands.

SHUBHANSHU RAI 1 Jan 16, 2022
Audio fingerprinting and recognition in Python

dejavu Audio fingerprinting and recognition algorithm implemented in Python, see the explanation here: How it works Dejavu can memorize audio by liste

Will Drevo 6k Jan 6, 2023
kapre: Keras Audio Preprocessors

Kapre Keras Audio Preprocessors - compute STFT, ISTFT, Melspectrogram, and others on GPU real-time. Tested on Python 3.6 and 3.7 Why Kapre? vs. Pre-co

Keunwoo Choi 867 Dec 29, 2022
Python library for audio and music analysis

librosa A python package for music and audio analysis. Documentation See https://librosa.org/doc/ for a complete reference manual and introductory tut

librosa 5.6k Jan 6, 2023
?️ Open Source Audio Matching and Mastering

Matching + Mastering = ❤️ Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a si

Sergey Grishakov 781 Jan 5, 2023
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 2, 2023