Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pymad for openSUSE:Factory checked in at 2023-10-22 21:02:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pymad (Old) and /work/SRC/openSUSE:Factory/.python-pymad.new.1945 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pymad" Sun Oct 22 21:02:26 2023 rev:2 rq:1119411 version:0.11.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pymad/python-pymad.changes 2018-02-24 16:38:45.370795505 +0100 +++ /work/SRC/openSUSE:Factory/.python-pymad.new.1945/python-pymad.changes 2023-10-22 21:02:51.407465240 +0200 @@ -1,0 +2,13 @@ +Sun Oct 22 07:45:17 UTC 2023 - Luigi Baldoni <aloi...@gmx.com> + +- Update to version 0.11.3 + * Bump standards-version to 4.6.2. + * Switch uscan to use the PyPI redirector. + * Acknowledged old bugs long since fixed. + * No longer needs a `PYBUILD_BEFORE_CLEAN` rule. + * Update extend-diff-ignore in source/options for git based + packaging. + * Add `python3-setuptools-scm` to the build dependencies. +- Disable tests due to missing requirement (pyao) + +------------------------------------------------------------------- Old: ---- pymad-0.10.tar.gz New: ---- pymad-0.11.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pymad.spec ++++++ --- /var/tmp/diff_new_pack.dNov3L/_old 2023-10-22 21:02:51.815480076 +0200 +++ /var/tmp/diff_new_pack.dNov3L/_new 2023-10-22 21:02:51.815480076 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-pymad # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2023 SUSE LLC # Copyright (c) 2008 Pascal Bleser <g...@unixtech.be> # # All modifications and additions to the file contributed by third parties @@ -13,20 +13,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pymad -Version: 0.10 +Version: 0.11.3 Release: 0 Summary: Python Module to use the MPEG Audio Decoder Library -License: LGPL-2.0+ +License: LGPL-2.0-or-later Group: Development/Libraries/Python URL: http://spacepants.org/src/pymad Source: https://files.pythonhosted.org/packages/source/p/pymad/pymad-%{version}.tar.gz BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools_scm} BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: pkgconfig(mad) @@ -38,7 +38,7 @@ allowing to read PCM data from MPEG audio streams. %prep -%setup -q -n pymad-%{version} +%autosetup -p1 -n pymad-%{version} %build %python_build @@ -46,9 +46,6 @@ %install %python_install -%check -%python_exec test/test.py - %files %{python_files} %doc AUTHORS NEWS README.md THANKS %license COPYING ++++++ pymad-0.10.tar.gz -> pymad-0.11.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/.github/dependabot.yml new/pymad-0.11.3/.github/dependabot.yml --- old/pymad-0.10/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/.github/dependabot.yml 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + - package-ecosystem: pip + directory: "/" + schedule: + interval: "daily" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/.github/workflows/ci.yml new/pymad-0.11.3/.github/workflows/ci.yml --- old/pymad-0.10/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/.github/workflows/ci.yml 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,40 @@ +name: CI +on: + push: + tags: + - v* + branches: + - main + pull_request: + +permissions: + # none-all, which doesn't exist, but + # https://docs.github.com/en/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow + # implies that the token still gets created, and + # https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token + # shows what the default permissions are, which are more than `none`. + # Elsewhere we learn that any permission not mentioned here gets turned to + # `none`. So setting a single permission to none causes all to be `none`. + actions: none + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # get all tags + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: install dependencies + run: | + sudo apt-get install -y libmad0-dev + python -m pip install --upgrade pip + python -m pip install --upgrade pytest + - name: install + run: | + python -m pip install . + - name: test + run: | + pytest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/.github/workflows/release.yml new/pymad-0.11.3/.github/workflows/release.yml --- old/pymad-0.10/.github/workflows/release.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/.github/workflows/release.yml 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,59 @@ +name: release +on: + # Always test on pull_request, but do not do release (see check for tag below) + pull_request: + push: + tags: + - v* + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - uses: actions/setup-python@v4 + - run: sudo apt-get install -y libmad0-dev + - run: python -m pip install --upgrade pip + - run: python -m pip install build + - run: python -m build --sdist --outdir dist/ + - uses: actions/upload-artifact@v1 + with: + name: dist + path: dist + + + release: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v3 + with: + name: dist + path: dist + - uses: softprops/action-gh-release@v1 + # Only on a tag + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + with: + generate_release_notes: true + files: | + dist/* + + publish: + needs: [build, release] + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - uses: actions/download-artifact@v3 + with: + name: dist + path: dist + - uses: pypa/gh-action-pypi-publish@release/v1 + # Only on a tag + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/.gitignore new/pymad-0.11.3/.gitignore --- old/pymad-0.10/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/.gitignore 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,34 @@ +MANIFEST +Setup +setup.cfg +dist +build +build-stamp +debian/files +debian/python-pymad.debhelper.log +debian/python-pymad.postinst.debhelper +debian/python-pymad.prerm.debhelper +debian/python-pymad.substvars +debian/python-pymad +debian/python-pymad-dbg.debhelper.log +debian/python-pymad-dbg.postinst.debhelper +debian/python-pymad-dbg.prerm.debhelper +debian/python-pymad-dbg.substvars +debian/python-pymad-dbg +debian/python3-pymad.debhelper.log +debian/python3-pymad.postinst.debhelper +debian/python3-pymad.prerm.debhelper +debian/python3-pymad.substvars +debian/python3-pymad +debian/python3-pymad-dbg.debhelper.log +debian/python3-pymad-dbg.postinst.debhelper +debian/python3-pymad-dbg.prerm.debhelper +debian/python3-pymad-dbg.substvars +debian/python3-pymad-dbg +.pybuild +*.pyc +*.so +.pc +debian/patches +debian/.debhelper +/src/pymad.egg-info/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/CONTRIBUTING.md new/pymad-0.11.3/CONTRIBUTING.md --- old/pymad-0.10/CONTRIBUTING.md 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/CONTRIBUTING.md 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,4 @@ +Thanks for your interest in pymad! + +This project is maintained on a best effort basis. PRs with tests are the best way to make improvements, PRs without tests will be accepted if they look reasonable. Issue reports are unlikely to be resolved without your assistance. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/MANIFEST.in new/pymad-0.11.3/MANIFEST.in --- old/pymad-0.10/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/MANIFEST.in 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,3 @@ +include AUTHORS COPYING README.md ChangeLog NEWS THANKS +recursive-include src *.h +include test/*.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/PKG-INFO new/pymad-0.11.3/PKG-INFO --- old/pymad-0.10/PKG-INFO 2017-08-09 08:08:09.000000000 +0200 +++ new/pymad-0.11.3/PKG-INFO 2023-09-10 08:32:42.948945000 +0200 @@ -1,10 +1,52 @@ -Metadata-Version: 1.0 +Metadata-Version: 2.1 Name: pymad -Version: 0.10 -Summary: A wrapper for the MAD libraries. -Home-page: http://spacepants.org/src/pymad/ -Author: Jamie Wilkinson -Author-email: j...@spacepants.org -License: GPL -Description: UNKNOWN -Platform: UNKNOWN +Version: 0.11.3 +Summary: A wrapper for the MAD (mpeg audio decoder) library. +Author-email: Jamie Wilkinson <j...@spacepants.org> +License: GPL-2.0 +Project-URL: Homepage, https://spacepants.org/src/pymad +Project-URL: Repository, https://github.com/jaqx0r/pymad +Description-Content-Type: text/markdown +License-File: COPYING +License-File: AUTHORS + +pymad - a Python wrapper for the MPEG Audio Decoder library +=========================================================== + + +pymad is a Python module that allows Python programs to use the MPEG Audio Decoder library. pymad provides a high-level API, similar to the pyogg module, which makes reading PCM data from MPEG audio streams a piece of cake. + +MAD is available at http://www.mars.org/home/rob/proj/mpeg/ + +Access this module via `import mad`. To decode +an mp3 stream, you'll want to create a `mad.MadFile` object and read data from +that. You can then write the data to a sound device. See the example +program in `test/` for a simple mp3 player that uses the `python-pyao` wrapper around libao for the sound +device. + +pymad wrapper isn't as low level as the C MAD API is, for example, you don't +have to concern yourself with fixed point conversion -- this was done to +make pymad easy to use. + +```python +import sys + +import ao +import mad + +mf = mad.MadFile(sys.argv[1]) +dev = ao.AudioDevice(0, rate=mf.samplerate()) +while 1: + buf = mf.read() + if buf is None: # eof + break + dev.play(buf, len(buf)) +``` + + +The latest release is available for download at https://pypi.org/project/pymad/ +or via `pip install pymad`. They're replicated on GitHub in the Releases section. + +To build locally, the usual `python -m build` or `python -m pip install .` works. + +The tests require manual interaction (because you want to listen to the decoded output) and requires PyAO on Linux. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/README.md new/pymad-0.11.3/README.md --- old/pymad-0.10/README.md 2017-08-09 08:07:10.000000000 +0200 +++ new/pymad-0.11.3/README.md 2023-09-10 08:32:27.000000000 +0200 @@ -1,8 +1,7 @@ pymad - a Python wrapper for the MPEG Audio Decoder library =========================================================== -[](https://travis-ci.org/jaqx0r/pymad) - + pymad is a Python module that allows Python programs to use the MPEG Audio Decoder library. pymad provides a high-level API, similar to the pyogg module, which makes reading PCM data from MPEG audio streams a piece of cake. MAD is available at http://www.mars.org/home/rob/proj/mpeg/ @@ -33,27 +32,9 @@ ``` -To build, you need the distutils package, availible from -http://www.python.org/sigs/distutils-sig/download.html (it comes with -Python 2.0). Run `python setup.py build` to build and then as root run -`python setup.py install`. - -if you've installed your mad stuff someplace weird you may need to run -the config_unix.py script, passing it a `--prefix` value to create a -`setup.cfg` file with the correct include and link dirs: - -```shell -# python config_unix.py --prefix /usr/local -# python setup.py build -# python setup.py install --prefix /usr/local -``` - -Remember to make sure `/usr/local/python/site-packages/` is in your -Python search path in that example. +The latest release is available for download at https://pypi.org/project/pymad/ +or via `pip install pymad`. They're replicated on GitHub in the Releases section. -Alternately, you can write `setup.cfg` yourself. E.g.: +To build locally, the usual `python -m build` or `python -m pip install .` works. - [build_ext] - library_dirs=/opt/mad/lib - include_dirs=/opt/mad/include - libraries=name_of_library_mad_might_depend_on +The tests require manual interaction (because you want to listen to the decoded output) and requires PyAO on Linux. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/compile_flags.txt new/pymad-0.11.3/compile_flags.txt --- old/pymad-0.10/compile_flags.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/compile_flags.txt 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,2 @@ +-I +/usr/include/python3.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/config_unix.py new/pymad-0.11.3/config_unix.py --- old/pymad-0.10/config_unix.py 2017-08-09 08:07:10.000000000 +0200 +++ new/pymad-0.11.3/config_unix.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,114 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function - -import os -import sys - - -def msg_checking(msg): - print('Checking {0}... '.format(msg), end='') - - -def execute(cmd, display=0): - if display: - print(cmd) - return os.system(cmd) - - -def run_test(inp, flags=''): - try: - tmp = open('_temp.c', 'w') - tmp.write(inp) - tmp.close() - compile_cmd = '%s -o _temp _temp.c %s' % (os.environ.get('CC', 'cc'), - flags) - if not execute(compile_cmd): - execute('./_temp') - finally: - execute('rm -f _temp.c _temp') - -MAD_TEST_PROGRAM = ''' -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <mad.h> - -int main () -{ - system("touch conf.madtest"); - return 0; -} -''' - - -def find_mad(mad_prefix='/usr/local', enable_madtest=1): - """A rough translation of mad.m4""" - - mad_include_dir = mad_prefix + '/include' - mad_lib_dir = mad_prefix + '/lib' - - msg_checking('for MAD') - - if enable_madtest: - execute('rm -f conf.madtest', 0) - - try: - run_test(MAD_TEST_PROGRAM, flags='-I' + mad_include_dir) - if not os.path.isfile('conf.madtest'): - raise RuntimeError('Did not produce output') - execute('rm conf.madtest', 0) - - except: - print('test program failed') - return None - - print('success') - - return {'library_dirs': mad_lib_dir, - 'include_dirs': mad_include_dir} - - -def write_data(data): - setup_file = open('setup.cfg', 'w') - setup_file.write('[build_ext]\n') - for item in list(data.items()): - setup_file.write('%s=%s\n' % item) - setup_file.close() - print('Wrote setup.cfg file') - - -def print_help(): - print('''%s - --prefix Give the prefix in which MAD was installed.''' % sys.argv[0]) - sys.exit(0) - - -def parse_args(): - data = {} - argv = sys.argv - for pos in range(len(argv)): - if argv[pos] == '--help': - print_help() - if argv[pos] == '--prefix': - pos = pos + 1 - if len(argv) == pos: - print('Prefix needs an argument') - sys.exit(1) - data['prefix'] = argv[pos] - - return data - - -def main(): - args = parse_args() - prefix = args.get('prefix', '/usr/local') - - data = find_mad(mad_prefix=prefix) - if not data: - print('Config failure') - sys.exit(1) - write_data(data) - -if __name__ == '__main__': - main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/changelog new/pymad-0.11.3/debian/changelog --- old/pymad-0.10/debian/changelog 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/changelog 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,228 @@ +pymad (0.10-3) unstable; urgency=medium + + * Update standards-version to 4.4.0. + * Add debian/gbp.conf. + * Remove X-Python{,3}-Version as no longer necessary to build. + * Bump dh compat to 11. + * Address hardening-no-bindnow lintian warning, by turning on hardening build flags. + * Move debug packages to priority optional as extra has not existed for a long time. + * Bump dpkg-dev build dep for DEB_BUILD_MAINT_OPTIONS. + * Add autopkgtest. + * Remove unused debian/dirs + + -- Jamie Wilkinson <j...@debian.org> Wed, 20 Nov 2019 03:12:36 +1100 + +pymad (0.10-2) unstable; urgency=medium + + * Builds the debug package correctly per + https://wiki.debian.org/Python/DbgBuilds (Closes: #856717) + + -- Jamie Wilkinson <j...@debian.org> Wed, 30 Aug 2017 11:25:00 +1000 + +pymad (0.10-1) unstable; urgency=medium + + * New upstream release. + * Bump Standards-Version. + * Bump dh compat level to 9. + * Fix extend-diff-ignore in source options. + + -- Jamie Wilkinson <j...@debian.org> Sat, 12 Aug 2017 21:52:24 +1000 + +pymad (0.9-1) unstable; urgency=medium + + * New upstream release. + * Add python3 to the list of supported versions for pybuild. + * Add python3-all-dev to build dependencies. + * Add debug packages for both python2 and python3. + + -- Jamie Wilkinson <j...@debian.org> Wed, 30 Dec 2015 13:57:12 +1100 + +pymad (0.8-4) unstable; urgency=medium + + * Add control fields for VCS information. + + -- Jamie Wilkinson <j...@debian.org> Wed, 20 May 2015 08:39:30 +1000 + +pymad (0.8-3) unstable; urgency=medium + + * Change the rules to generate the Setup file BEFORE_CLEAN, instead + of BEFORE_CONFIGURE. Thanks, Dejan Latinovic! (Closes: #779634) + + -- Jamie Wilkinson <j...@debian.org> Tue, 19 May 2015 08:42:56 +1000 + +pymad (0.8-2) unstable; urgency=medium + + * Fix the pre-configure command to build Setup correctly. (Closes: #779634) + + -- Jamie Wilkinson <j...@debian.org> Sat, 14 Mar 2015 22:18:45 +1100 + +pymad (0.8-1) unstable; urgency=medium + + * New upstream release. + * Bump standards version to 3.9.6. + * Add build-dep on dh-python. + * Rewrote debian/rules to use pybuild best practice for python + libraries. + * Updated watch file to point to new upstream home in github. + * Added source/format to specify quilt 3.0. + * Ignore Setup file after build in debian/source/options. + + -- Jamie Wilkinson <j...@debian.org> Tue, 03 Mar 2015 13:59:33 +1100 + +pymad (0.7-1) unstable; urgency=low + + * New upstream version. + * Acknowledge NMUs. Thanks Jakub and Sandro! (Closes: #620280, #556153) + * Update debian/watch with new URI for tarball. + * Updated standards version to 3.9.2 + * Transition from pysupprt to dh_python2. + * Fix debhelper misc:depends to appease lintian. + * Remove obsolete cleanup from debian/rules. + + -- Jamie Wilkinson <j...@debian.org> Thu, 14 Mar 2013 09:19:26 +0000 + +pymad (0.6-1.2) unstable; urgency=low + + * Non-maintainer upload. + * Use python-support (closes: #620280). + + Add build-dependency on python-support. + + In debian/rules, replace call to dh_python with dh_pysupport. + + -- Jakub Wilk <jw...@debian.org> Fri, 08 Apr 2011 21:05:01 +0200 + +pymad (0.6-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Prepare for the upcoming Python 2.6 transition; thanks to Piotr Ożarowski + for the bug report and to Kumar Appaiah for the patch; Closes: #556153 + - debian/rules + + optionally include python.mk, add $(py_setup_install_args) and + --prefix=/usr when installing + + -- Sandro Tosi <mo...@debian.org> Sun, 15 Nov 2009 22:03:08 +0100 + +pymad (0.6-1) unstable; urgency=low + + * New upstream version. (Closes: #543442, #306757) + * Updated debhelper compat to 7. + - Move into debian/compat from DH_COMPAT. + - Update build dep. + * Update standards version to 3.8.3. + * Fix copyright in debian/copyright. + + -- Jamie Wilkinson <j...@debian.org> Tue, 03 Nov 2009 22:03:24 +1100 + +pymad (0.5.4-3.2) unstable; urgency=low + + * NMU based on 0.5.4-3.1 (removed python-support, not necessary). + + -- Matthias Klose <d...@debian.org> Tue, 11 Jul 2006 09:25:13 +0000 + +pymad (0.5.4-3.1) unstable; urgency=low + + * NMU. + * Updated to new Python Policy. (Closes: #373498) + * Bumped standards-version to 3.7.2, no changes required. + * Raised debhelper compat level to 5. + + -- Ana Beatriz Guerrero Lopez <a...@ekaia.org> Mon, 3 Jul 2006 00:13:45 +0200 + +pymad (0.5.4-3) unstable; urgency=low + + * Add build dependency on python. + + -- Jamie Wilkinson <j...@debian.org> Tue, 4 Apr 2006 16:28:35 +1000 + +pymad (0.5.4-2) unstable; urgency=low + + * Added watch file. + * Removed python2.2 package. (Closes: #351135) + * Updated build dependency to specify python2.3-dev instead of python-dev. + * Bumped standards version to 3.6.2 (no other changes necessary). + * Updated FSF address in the copyright file. + + -- Jamie Wilkinson <j...@debian.org> Tue, 4 Apr 2006 14:20:27 +1000 + +pymad (0.5.4-1) unstable; urgency=low + + * New upstream version. + + -- Jamie Wilkinson <j...@debian.org> Thu, 30 Jun 2005 00:56:35 +1000 + +pymad (0.5.3-2) unstable; urgency=low + + * Fix the specified replaced version of python-pymad. (Closes: #306864) + + -- Jamie Wilkinson <j...@debian.org> Fri, 29 Apr 2005 10:55:56 +1000 + +pymad (0.5.3-1) unstable; urgency=low + + * New upstream release. + + Fixes decode error on bigendian platforms. + * Clean up diff. + * Add madradio.py as another example. + * Build pymad modules for each python version. (Closes: #299192) + + -- Jamie Wilkinson <j...@debian.org> Wed, 27 Apr 2005 20:17:17 +1000 + +pymad (0.5.2-1) unstable; urgency=low + + * New upstream release. + - Fixes exception handling for non-file file-like objects. + * Upstream uses arch; svn changelog removed. + * Bumped standards version to 3.6.1. + + -- Jamie Wilkinson <j...@debian.org> Tue, 24 Aug 2004 12:52:24 +1000 + +pymad (0.5.1-1) unstable; urgency=low + + * New upstream release. + Thanks Josselin for the previous NMU. + * Including ChangeLog from svn repository. + + -- Jamie Wilkinson <j...@debian.org> Tue, 30 Dec 2003 18:39:27 +1100 + +pymad (0.4.1-1.1) unstable; urgency=low + + * NMU. + * Use dh_python. + * Rebuild against python 2.3 (closes: #205506). + * Standards-version is 3.6.0. + * Section is python. + + -- Josselin Mouette <j...@debian.org> Mon, 18 Aug 2003 17:26:49 +0200 + +pymad (0.4.1-1) unstable; urgency=low + + * New upstream release + + Typo patch incorporated upstream. + + Fixes occasional FPE in track time code. + + -- Jamie Wilkinson <j...@debian.org> Fri, 7 Feb 2003 08:39:19 +1100 + +pymad (0.4-2) unstable; urgency=low + + * The "lunchtime at LCA" release. + * Fixed typo in configure_unix.py. (Closes: #176587) + + -- Jamie Wilkinson <j...@debian.org> Thu, 23 Jan 2003 13:17:25 +0800 + +pymad (0.4-1) unstable; urgency=low + + * New upstream release. + + -- Jamie Wilkinson <j...@debian.org> Sun, 12 Jan 2003 21:10:04 +1100 + +pymad (0.3-2) unstable; urgency=low + + * Bumped standards-version to 3.5.8.0. + * Set DH_COMPAT to 4. + + -- Jamie Wilkinson <j...@debian.org> Sat, 30 Nov 2002 11:25:09 +1100 + +pymad (0.3-1) unstable; urgency=low + + * Initial Release. (Closes: #161972) + + -- Jamie Wilkinson <j...@debian.org> Sat, 28 Sep 2002 18:16:23 +1000 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/compat new/pymad-0.11.3/debian/compat --- old/pymad-0.10/debian/compat 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/compat 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1 @@ +11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/control new/pymad-0.11.3/debian/control --- old/pymad-0.10/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/control 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,59 @@ +Source: pymad +Section: python +Priority: optional +Maintainer: Jamie Wilkinson <j...@debian.org> +Build-Depends: debhelper (>= 11), python-all-dev (>= 2.6.6-3~), python-all-dbg (>= 2.6.6-3~), libmad0-dev, dh-python, python-setuptools, python3-all-dev, python3-all-dbg, python3-setuptools, dpkg-dev (>= 1.16.1.1~) +Standards-Version: 4.4.0 +Homepage: http://spacepants.org/src/pymad +Vcs-Browser: https://github.com/jaqx0r/pymad/tree/debian +Vcs-Git: https://github.com/jaqx0r/pymad.git -b debian + +Package: python-pymad +Architecture: any +Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends} +Provides: ${python:Provides} +Conflicts: python2.3-pymad (<< 0.5.4-3.1), python2.4-pymad (<< 0.5.4-3.1) +Replaces: python2.3-pymad (<< 0.5.4-3.1), python2.4-pymad (<< 0.5.4-3.1) +Description: Python wrapper to the MPEG Audio Decoder library (Python 2) + This module makes the MAD MP3 decoder library available to Python + programs. It provides a high-level API to the MAD functions, that make + reading audio data from an MPEG stream simple. + . + This package installs the library for Python 2. + +Package: python3-pymad +Architecture: any +Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends} +Provides: ${python3:Provides} +Description: Python wrapper to the MPEG Audio Decoder library (Python 3) + This module makes the MAD MP3 decoder library available to Python 3 + programs. It provides a high-level API to the MAD functions, that make + reading audio data from an MPEG stream simple. + . + This package installs the library for Python 3. + +Package: python-pymad-dbg +Architecture: any +Section: debug +Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, python-pymad (= ${binary:Version}) +Recommends: python-dbg +Provides: ${python:Provides} +Description: Python wrapper to the MPEG Audio Decoder library (Python 2 debug) + This module makes the MAD MP3 decoder library available to Python + programs. It provides a high-level API to the MAD functions, that make + reading audio data from an MPEG stream simple. + . + This package installs the debugging symbols for the library for Python 2. + +Package: python3-pymad-dbg +Architecture: any +Section: debug +Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, python3-pymad (= ${binary:Version}) +Provides: ${python3:Provides} +Recommends: python3-dbg +Description: Python wrapper to the MPEG Audio Decoder library (Python 3 debug) + This module makes the MAD MP3 decoder library available to Python 3 + programs. It provides a high-level API to the MAD functions, that make + reading audio data from an MPEG stream simple. + . + This package installs the debugging symbols for the library for Python 3. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/copyright new/pymad-0.11.3/debian/copyright --- old/pymad-0.10/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/copyright 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,30 @@ +This package was debianized by Jamie Wilkinson <j...@debian.org> on +Sun, 18 Aug 2002 17:34:41 +1000. + +It was downloaded from http://spacepants.org/src/pymad/download/ + +Upstream Author: Jamie Wilkinson <j...@spacepants.org> + +Copyright: + + Copyright (c) 2002 Jamie Wilkinson + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/docs new/pymad-0.11.3/debian/docs --- old/pymad-0.10/debian/docs 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/docs 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1 @@ +README.md diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/examples new/pymad-0.11.3/debian/examples --- old/pymad-0.10/debian/examples 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/examples 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,2 @@ +test/test.py +test/madradio.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/gbp.conf new/pymad-0.11.3/debian/gbp.conf --- old/pymad-0.10/debian/gbp.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/gbp.conf 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,3 @@ +[DEFAULT] +upstream-tag = version/%(version)s +debian-branch=debian diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/rules new/pymad-0.11.3/debian/rules --- old/pymad-0.10/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/rules 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all +DPKG_EXPORT_BUILD_FLAGS=1 +include /usr/share/dpkg/buildflags.mk + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +export PYBUILD_NAME=pymad +export PYBUILD_BEFORE_CLEAN={interpreter} ./config_unix.py --prefix=/usr + +%: + dh $@ --with=python2,python3 --buildsystem=pybuild + +override_dh_strip: + dh_strip -ppython-pymad --dbg-package=python-pymad-dbg + dh_strip -ppython3-pymad --dbg-package=python3-pymad-dbg diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/source/format new/pymad-0.11.3/debian/source/format --- old/pymad-0.10/debian/source/format 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/source/format 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1 @@ +3.0 (quilt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/source/options new/pymad-0.11.3/debian/source/options --- old/pymad-0.10/debian/source/options 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/source/options 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,2 @@ +single-debian-patch +extend-diff-ignore = '^dist.*$' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/tests/control new/pymad-0.11.3/debian/tests/control --- old/pymad-0.10/debian/tests/control 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/tests/control 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,15 @@ +Test-Command: set -e + ; for py in $(pyversions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import mad; print mad" + ; done +Depends: python-all, python-mad + +Test-Command: set -e + ; for py in $(py3versions -r 2>/dev/null) + ; do cd "$AUTOPKGTEST_TMP" + ; echo "Testing with $py:" + ; $py -c "import mad; print(mad)" + ; done +Depends: python3-all, python3-mad diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/debian/watch new/pymad-0.11.3/debian/watch --- old/pymad-0.10/debian/watch 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/debian/watch 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,2 @@ +version=3 +https://github.com/jaqx0r/pymad/tags .*/(\d[\d\.]*)\.tar\.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/pyproject.toml new/pymad-0.11.3/pyproject.toml --- old/pymad-0.10/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/pyproject.toml 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,18 @@ +[build-system] +requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"] + +[project] +name = "pymad" +dynamic = ["version"] +description = "A wrapper for the MAD (mpeg audio decoder) library." +authors = [ + {name="Jamie Wilkinson",email="j...@spacepants.org"}, +] +readme = "README.md" +license = {text = "GPL-2.0"} + +[project.urls] +Homepage = "https://spacepants.org/src/pymad" +Repository = "https://github.com/jaqx0r/pymad" + +[tool.setuptools_scm] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/setup.cfg new/pymad-0.11.3/setup.cfg --- old/pymad-0.10/setup.cfg 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/setup.cfg 2023-09-10 08:32:42.948945000 +0200 @@ -0,0 +1,4 @@ +[egg_info] +tag_build = +tag_date = 0 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/setup.py new/pymad-0.11.3/setup.py --- old/pymad-0.10/setup.py 2017-08-09 08:07:38.000000000 +0200 +++ new/pymad-0.11.3/setup.py 2023-09-10 08:32:27.000000000 +0200 @@ -2,34 +2,20 @@ """Setup script for the MAD module distribution.""" -import os -import re -import sys - from distutils.core import setup from distutils.extension import Extension -VERSION_MAJOR = 0 -VERSION_MINOR = 10 -PYMAD_VERSION = str(VERSION_MAJOR) + '.' + str(VERSION_MINOR) - - -DEFINES = [('VERSION_MAJOR', VERSION_MAJOR), - ('VERSION_MINOR', VERSION_MINOR), - ('VERSION', '"%s"' % PYMAD_VERSION)] +from setuptools_scm import get_version MADMODULE = Extension( - name='mad', - sources=['src/madmodule.c', 'src/pymadfile.c', 'src/xing.c'], - define_macros=DEFINES, - libraries=['mad']) - -setup( # Distribution metadata - name='pymad', - version=PYMAD_VERSION, - description='A wrapper for the MAD libraries.', - author='Jamie Wilkinson', - author_email='j...@spacepants.org', - url='http://spacepants.org/src/pymad/', - license='GPL', - ext_modules=[MADMODULE]) + name="mad", + sources=["src/madmodule.c", "src/pymadfile.c", "src/xing.c"], + define_macros=[ + ("VERSION", '"{}"'.format(get_version())), + ], + libraries=["mad"], +) + +setup( + ext_modules=[MADMODULE], +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/madmodule.h new/pymad-0.11.3/src/madmodule.h --- old/pymad-0.10/src/madmodule.h 2015-12-30 03:56:26.000000000 +0100 +++ new/pymad-0.11.3/src/madmodule.h 2023-09-10 08:32:27.000000000 +0200 @@ -13,6 +13,11 @@ #include <Python.h> +#ifndef VERSION +/* Release build provides this as a compiler flag. */ +#define VERSION "0-dev" +#endif + /* module accessible functions */ PyObject *py_madfile_new(PyObject *, PyObject *); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/pymad.egg-info/PKG-INFO new/pymad-0.11.3/src/pymad.egg-info/PKG-INFO --- old/pymad-0.10/src/pymad.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/src/pymad.egg-info/PKG-INFO 2023-09-10 08:32:42.000000000 +0200 @@ -0,0 +1,52 @@ +Metadata-Version: 2.1 +Name: pymad +Version: 0.11.3 +Summary: A wrapper for the MAD (mpeg audio decoder) library. +Author-email: Jamie Wilkinson <j...@spacepants.org> +License: GPL-2.0 +Project-URL: Homepage, https://spacepants.org/src/pymad +Project-URL: Repository, https://github.com/jaqx0r/pymad +Description-Content-Type: text/markdown +License-File: COPYING +License-File: AUTHORS + +pymad - a Python wrapper for the MPEG Audio Decoder library +=========================================================== + + +pymad is a Python module that allows Python programs to use the MPEG Audio Decoder library. pymad provides a high-level API, similar to the pyogg module, which makes reading PCM data from MPEG audio streams a piece of cake. + +MAD is available at http://www.mars.org/home/rob/proj/mpeg/ + +Access this module via `import mad`. To decode +an mp3 stream, you'll want to create a `mad.MadFile` object and read data from +that. You can then write the data to a sound device. See the example +program in `test/` for a simple mp3 player that uses the `python-pyao` wrapper around libao for the sound +device. + +pymad wrapper isn't as low level as the C MAD API is, for example, you don't +have to concern yourself with fixed point conversion -- this was done to +make pymad easy to use. + +```python +import sys + +import ao +import mad + +mf = mad.MadFile(sys.argv[1]) +dev = ao.AudioDevice(0, rate=mf.samplerate()) +while 1: + buf = mf.read() + if buf is None: # eof + break + dev.play(buf, len(buf)) +``` + + +The latest release is available for download at https://pypi.org/project/pymad/ +or via `pip install pymad`. They're replicated on GitHub in the Releases section. + +To build locally, the usual `python -m build` or `python -m pip install .` works. + +The tests require manual interaction (because you want to listen to the decoded output) and requires PyAO on Linux. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/pymad.egg-info/SOURCES.txt new/pymad-0.11.3/src/pymad.egg-info/SOURCES.txt --- old/pymad-0.10/src/pymad.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/src/pymad.egg-info/SOURCES.txt 2023-09-10 08:32:42.000000000 +0200 @@ -0,0 +1,40 @@ +.gitignore +AUTHORS +CONTRIBUTING.md +COPYING +MANIFEST.in +NEWS +README.md +THANKS +compile_flags.txt +pyproject.toml +setup.py +.github/dependabot.yml +.github/workflows/ci.yml +.github/workflows/release.yml +debian/changelog +debian/compat +debian/control +debian/copyright +debian/docs +debian/examples +debian/gbp.conf +debian/rules +debian/watch +debian/source/format +debian/source/options +debian/tests/control +src/madmodule.c +src/madmodule.h +src/pymadfile.c +src/pymadfile.h +src/xing.c +src/xing.h +src/pymad.egg-info/PKG-INFO +src/pymad.egg-info/SOURCES.txt +src/pymad.egg-info/dependency_links.txt +src/pymad.egg-info/top_level.txt +test/madradio.py +test/pymad_exc_fail.py +test/test.py +tests/test_import.py \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/pymad.egg-info/dependency_links.txt new/pymad-0.11.3/src/pymad.egg-info/dependency_links.txt --- old/pymad-0.10/src/pymad.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/src/pymad.egg-info/dependency_links.txt 2023-09-10 08:32:42.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/pymad.egg-info/top_level.txt new/pymad-0.11.3/src/pymad.egg-info/top_level.txt --- old/pymad-0.10/src/pymad.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/src/pymad.egg-info/top_level.txt 2023-09-10 08:32:42.000000000 +0200 @@ -0,0 +1 @@ +mad diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/src/pymadfile.c new/pymad-0.11.3/src/pymadfile.c --- old/pymad-0.10/src/pymadfile.c 2017-08-09 08:07:10.000000000 +0200 +++ new/pymad-0.11.3/src/pymadfile.c 2023-09-10 08:32:27.000000000 +0200 @@ -45,15 +45,14 @@ */ #include <Python.h> -#include <stdio.h> -#include <stdint.h> -#include <errno.h> #include <assert.h> +#include <errno.h> #include <fcntl.h> #include <stdint.h> +#include <stdio.h> #include <string.h> -#include <sys/stat.h> #include <sys/mman.h> +#include <sys/stat.h> #include "madmodule.h" #include "pymadfile.h" @@ -169,7 +168,7 @@ if ((fd = open(fname, O_RDONLY)) < 0) { return NULL; } - fobject = PyFile_FromFd(fd, fname, "r", -1, NULL, NULL, NULL, 1); + fobject = PyFile_FromFd(fd, fname, "rb", -1, NULL, NULL, NULL, 1); #endif close_file = 1; if (fobject == NULL) { @@ -347,7 +346,7 @@ } static PyObject *py_madfile_read(PyObject *self, PyObject *args) { - PyObject *pybuf; /* return object containing output buffer*/ + PyObject *pybuf; /* return object containing output buffer*/ int16_t *output_buffer = NULL; /* output buffer */ int16_t *output = NULL; unsigned int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/test/test.py new/pymad-0.11.3/test/test.py --- old/pymad-0.10/test/test.py 2015-12-30 03:56:26.000000000 +0100 +++ new/pymad-0.11.3/test/test.py 2023-09-10 08:32:27.000000000 +0200 @@ -1,11 +1,12 @@ #!/usr/bin/python -from __future__ import print_function - import glob import os.path import sys +import ao +print('ao:', ao.__file__) + try: from urllib.request import urlopen except ImportError: @@ -14,18 +15,19 @@ print(sys.version_info) PYTHON_VERSION = "{}.{}".format(sys.version_info.major, sys.version_info.minor) -for p in glob.glob("build/lib.*-" + PYTHON_VERSION): +for p in glob.glob("../build/lib.*-" + PYTHON_VERSION): print("Inserting build path {}".format(p)) sys.path.insert(0, p) -print((sys.path)) +print('paths: ', sys.path) import mad -print(mad.__file__) +print('mad:', mad.__file__) def play(u): + print('opening', u) mf = mad.MadFile(u) if mf.layer() == mad.LAYER_I: @@ -60,25 +62,28 @@ print(("bitrate %lu bps" % mf.bitrate())) print(("samplerate %d Hz" % mf.samplerate())) sys.stdout.flush() - #millis = mf.total_time() - #secs = millis / 1000 - # print "total time %d ms (%dm%2ds)" % (millis, secs / 60, secs % 60) + millis = mf.total_time() + secs = millis / 1000 + print("total time %d ms (%dm%2ds)" % (millis, secs / 60, secs % 60)) - #dev = ao.AudioDevice(0, rate=mf.samplerate()) + dev = ao.AudioDevice(0, rate=mf.samplerate()) while 1: buffy = mf.read() if buffy is None: break - #dev.play(buffy, len(buffy)) - # print "current time: %d ms" % mf.current_time() + print('buffy:', len(buffy)) + dev.play(bytes(buffy)) + print("current time: %d ms" % mf.current_time()) + if __name__ == "__main__": print(("pymad version %s" % mad.__version__)) for filename in sys.argv[1:]: if os.path.exists(filename): - filename = "file://" + filename - u = urlopen(filename) - if u: + play(filename) + else: + u = urlopen(filename) + if u: # if os.path.exists(file): print(("playing %s" % filename)) play(u) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymad-0.10/tests/test_import.py new/pymad-0.11.3/tests/test_import.py --- old/pymad-0.10/tests/test_import.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pymad-0.11.3/tests/test_import.py 2023-09-10 08:32:27.000000000 +0200 @@ -0,0 +1,16 @@ +import os +import sys + +sys.path.insert(0, os.path.abspath("..")) +print(sys.path) + +from importlib.metadata import version + + +def test_import(): + import mad + + print("Package version:", mad.__version__) + print("Expected metadata version:", version("pymad")) + + assert mad.__version__ == version("pymad")