diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/changelog hydrogen-drumkits-2015.09.28/debian/changelog --- hydrogen-drumkits-0.9.3.20070703/debian/changelog 2010-07-21 18:43:16.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/changelog 2015-09-28 21:06:41.000000000 +0000 @@ -1,3 +1,47 @@ +hydrogen-drumkits (2015.09.28-1) unstable; urgency=medium + + * Imported new upstream tarball. + + [ Alessio Treglia ] + * Add Python script to parse the list of the available drumkits + from: http://www.hydrogen-music.org/feeds/drumkit_list.php; + update debian/{get-orig-source,rules} to rely on the new script + to generate the upstream tarball. + * Update versioning: + - Bump version number + - Replace dot character with '~'. + * debian/control: + - Update Standards-Version. + - Add Enhances field. + + [ Jaromír Mikeš ] + * Add myself as uploadder. + * Update get-orig-source. + * Set dh/compat 9. + * Update gbp.conf file. + * debian/control + - wrap-and-sort -asb + - Bump Standards. + + [ IOhannes m zmölnig ] + * Added myself as uploader + * Use date as version (as there is no proper upstream release) + * debian/get_orig_source.py: re-implemented in python + * Install effect drumkits into separate package + * debian/rules + - Remove SONGS from package + - Cleanup tmp/-dir + - Use `find -exec` rather than for loops + - Cleanup extracted drumkits + * debian/copyright + - Longer descriptions + - Canonical Vcs-* stanzas + - Fixed upstream homepage + * Updated README.source about how to update the package + * Switched debian/copyright to DEP5 + + -- IOhannes m zmölnig (Debian/GNU) Mon, 28 Sep 2015 22:56:37 +0200 + hydrogen-drumkits (0.9.3.20070703-3) unstable; urgency=low * Add Vcs tags. diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/compat hydrogen-drumkits-2015.09.28/debian/compat --- hydrogen-drumkits-0.9.3.20070703/debian/compat 2010-07-21 18:39:17.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/compat 2015-09-22 08:39:39.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/control hydrogen-drumkits-2015.09.28/debian/control --- hydrogen-drumkits-0.9.3.20070703/debian/control 2010-07-21 18:40:15.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/control 2015-09-28 20:33:15.000000000 +0000 @@ -2,19 +2,49 @@ Section: sound Priority: optional Maintainer: Debian Multimedia Maintainers -Uploaders: Free Ekanayaka , - Alessio Treglia -Build-Depends: debhelper (>= 7.0.50~) -Build-Depends-Indep: grep (>= 2.5.1), unzip -Standards-Version: 3.9.0 -Homepage: http://www.hydrogen-music.org/?p=drumkits -Vcs-Git: git://git.debian.org/pkg-multimedia/hydrogen-drumkits.git -Vcs-Browser: http://git.debian.org/?p=pkg-multimedia/hydrogen-drumkits.git +Uploaders: + Free Ekanayaka , + Alessio Treglia , + Jaromír Mikeš , + IOhannes m zmölnig (Debian/GNU) +Build-Depends: + debhelper (>= 9) +Build-Depends-Indep: + grep (>= 2.5.1), + unzip +Standards-Version: 3.9.6 +Homepage: http://www.hydrogen-music.org/ +Vcs-Git: git://anonscm.debian.org/pkg-multimedia/hydrogen-drumkits.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-multimedia/hydrogen-drumkits.git Package: hydrogen-drumkits Architecture: all -Suggests: hydrogen -Depends: ${misc:Depends} +Depends: + ${misc:Depends} +Enhances: + hydrogen +Suggests: + hydrogen, + hydrogen-drumkits-effects Description: drumkits for Hydrogen This package contains a collection of drumkits for Hydrogen, a sample based drum machine/step sequencer. + . + More drumkits can be installed per-user via the Hydrogen's "Import library" + function in the "Instruments" menu. + +Package: hydrogen-drumkits-effects +Architecture: all +Depends: + ${misc:Depends} +Enhances: + hydrogen +Suggests: + hydrogen +Description: effect drumkits for Hydrogen + This package contains a collection of unusual drumkits for Hydrogen, a sample + based drum machine/step sequencer. + . + Even more unusual drumkits can be installed per-user via the Hydrogen's "Import + library" function in the "Instruments" menu. + diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/copyright hydrogen-drumkits-2015.09.28/debian/copyright --- hydrogen-drumkits-0.9.3.20070703/debian/copyright 2010-07-21 18:41:07.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/copyright 2015-09-28 20:49:51.000000000 +0000 @@ -1,23 +1,180 @@ -This package was debianized by Free Ekanayaka -Fri, 01 Jun 2006 12:18:12 +0100. +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: hydrogen-drumkits +Source: http://www.hydrogen-music.org/feeds/drumkit_list.php -It was downloaded from http://www.hydrogen-music.org/ +Files: * +Copyright: Emiliano Grilli, Artemiy Pavlov, et al +License: BSD-3-clause -Upstream Authors: © 2006 Emiliano Grilli, Artemiy Pavlov, et al. +Files: drumkits/VariBreaks.h2drumkit +Copyright: 2005,2008 Artemiy Pavlov +License: CC-BY-SA-4.0 -Copyright: +Files: drumkits/HardElectro1.h2drumkit +Copyright: 2004,2008 Artemiy Pavlov +License: CC-BY-SA-4.0 - Redistribution and use in source and binary forms, with or without - modification, are permitted under the terms of the BSD License. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. +Files: drumkits/Millo-Drums_v.1.h2drumkit +Copyright: 2004,2008 Emiliano Grilli +License: GPL-2 + +Files: drumkits/Millo_MultiLayered2.h2drumkit +Copyright: 2004,2008 Emiliano Grilli +License: GPL-2 + +Files: drumkits/Millo_MultiLayered3.h2drumkit +Copyright: 2006,2008 Emiliano Grilli +License: GPL-2 + +Files: drumkits/ElectricEmpireKit.h2drumkit +Copyright: 2005,2008 Artemiy Pavlov +License: CC-BY-SA-4.0 + +Files: drumkits/HipHop-1.h2drumkit +Copyright: 2003, Artemiy Pavlov +License: CC-BY-SA-4.0 + +Files: drumkits/HipHop-2.h2drumkit +Copyright: 2003, Artemiy Pavlov +License: CC-BY-SA-4.0 + +Files: drumkits/EasternHop-1.h2drumkit +Copyright: 2003, Artemiy Pavlov +License: CC-BY-SA-4.0 + +Files: drumkits/Synthie-1.h2drumkit +Copyright: 2003, Artemiy Pavlov +License: CC-BY-SA-4.0 + +Files: drumkits/ColomboAcousticDrumkit.h2drumkit +Copyright: 2006, Marcos Guglielmetti +License: GPL-2+ + +Files: drumkits/circAfrique.h2drumkit +Copyright: 2010, Jim Harney +License: CC-BY-SA-3.0 + +Files: drumkits/BJA_Pacific.h2drumkit +Copyright: 2009, Luc Tunguay +License: CC-BY-SA-3.0 + +Files: drumkits/The?Black?Pearl?1.0.h2drumkit +Copyright: 2012, Glen MacArthur +License: GPL-2 + +Files: drumkits/Gimme?A?Hand?1.0.h2drumkit +Copyright: 2012, Glen MacArthur +License: GPL-2 + +Files: drumkits/r_kit_z01_h2.h2drumkit +Copyright: 2012, Emanuel Rumpf +License: CC-BY-3.0 + +Files: drumkits/bf?-?AC-Guitar-Strums?(flac).h2drumkit +Copyright: 2012, Gabriel Verdugo Soto +License: CC-BY-3.0 + +Files: drumkits/Audiophob.h2drumkit +Copyright: 2012, soundcloud.com/audiophobdubstep +License: CC0 + +Files: debian/* +Copyright: 2015 IOhannes m zmölnig + 2010-2011 Alessio Treglia + 2006-2007 Free Ekanayaka + 2015 Jaromír Mikeš +License: BSD-3-clause + + +License: BSD-3-clause + Copyright (c) The Regents of the University of California. + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior + written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + +License: GPL-2 + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License version 2 as published by the + Free Software Foundation. + . + This program 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. + . + On Debian systems, the complete text of the GNU General Public License + (GPL) version 2 can be found in "/usr/share/common-licenses/GPL-2". + . + You should have received a copy of the GNU General Public License along + with this program. If not, see . + +License: GPL-2+ + This program 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; either version 2, or (at your option) any + later version. + . + This program 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. + . + On Debian systems, the complete text of the GNU General Public License + (GPL) version 2 can be found in "/usr/share/common-licenses/GPL-2". + . + You should have received a copy of the GNU General Public License along + with this program. If not, see . + +License: CC0 + To the extent possible under law, the author(s) have dedicated all copyright + and related and neighboring rights to this software to the public domain + worldwide. This software is distributed without any warranty. + . + You should have received a copy of the CC0 Public Domain Dedication along with + this software. If not, see + +License: CC-BY-3.0 + This work is licensed under the Creative Commons Attribution 3.0 Unported + License. To view a copy of this license, visit + http://creativecommons.org/licenses/by/3.0/ or send a letter to + Creative Commons, 171 Second Street, Suite 300, San Francisco, + California, 94105, USA. + +License: CC-BY-SA-3.0 + This work is licensed under the Creative Commons Attribution-Share + Alike 3.0 Unported License. To view a copy of this license, visit + http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to + Creative Commons, 171 Second Street, Suite 300, San Francisco, + California, 94105, USA. + +License: CC-BY-SA-4.0 + This work is licensed under the Creative Commons Attribution-Share + Alike 4.0 International Public License. To view a copy of this license, visit + http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to + Creative Commons, 171 Second Street, Suite 300, San Francisco, + California, 94105, USA. diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/gbp.conf hydrogen-drumkits-2015.09.28/debian/gbp.conf --- hydrogen-drumkits-0.9.3.20070703/debian/gbp.conf 2010-07-21 18:39:17.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/gbp.conf 2015-09-22 08:39:39.000000000 +0000 @@ -1,2 +1,2 @@ -[git-buildpackage] +[DEFAULT] pristine-tar = True diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/get-orig-source hydrogen-drumkits-2015.09.28/debian/get-orig-source --- hydrogen-drumkits-0.9.3.20070703/debian/get-orig-source 2010-07-21 18:39:17.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/get-orig-source 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -#! /bin/sh -# Make hydrogen-drumkits upstream tarball from sourceforge - -#Please update version number if necessary... -base_version=0.9.3 - -test -x /usr/bin/wget || (echo "please install wget!" 1>&2 ; exit 1); -date=`date +%Y%m%d` -version="$base_version.$date" - -bdir="hydrogen-drumkits-$version" -dir="../$bdir" -arch="../hydrogen-drumkits_$version.orig.tar.gz" -mkdir "$dir" -mkdir "$dir/drumkits" - -KITS="\ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/3355606.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/DrumkitPack1.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/DrumkitPack2.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/EasternHop-1.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/ErnysPercussion.h2drumkit \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/HardElectro1.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/Millo-Drums_v1.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/MilloDrums-3.zip \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/TD-7.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/Techno-1_kit_demo.ogg \ -http://people.64studio.com/~free/hydrogen/UltraAcousticKit.tar.gz \ -http://heanet.dl.sourceforge.net/h/hy/hydrogen/default_drumkit.tar.gz \ -http://hydrogen-music.org/download/drumkits/YamahaVintageKit.zip \ -http://rolandclan.info/media/samples/tr-606/Roland_TR-606.h2drumkit \ -http://rolandclan.info/media/samples/tr-707/Roland_TR-707.h2drumkit \ -http://rolandclan.info/media/samples/tr-808/Roland_TR-808.h2drumkit \ -http://rolandclan.info/media/samples/tr-909/Roland_TR-909.h2drumkit \ -http://rolandclan.info/media/samples/tr-626/Roland_TR-626.h2drumkit \ -http://rolandclan.info/media/samples/v-synth/V-Synth_VariBreaks.h2drumkit \ -http://rolandclan.info/media/samples/dr-110/Boss_DR-110.h2drumkit \ -" - -for KIT in $KITS; do - wget -P "$dir/drumkits" -nd -r -l1 "$KIT" -done - -#rm -f "$dir/drumkits/index.html" -md5sum drumkits/* > "$dir/md5sums.old" - -(cd "$dir" && md5sum drumkits/* >"$dir/md5sums") - -if diff --brief "$dir/md5sums.old" "$dir/md5sums" >/dev/null; then - echo "Old and new version are the same." 1>&2 - echo "Upstream source package not rebuild." -else - rm "$dir/md5sums.old" "$dir/md5sums" - tar zcf "$arch" -C.. "$bdir" - echo "New upstream source package in $arch" - echo "You can run uupdate $arch $version" -fi -rm -r "$dir" diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/get-orig-source.py hydrogen-drumkits-2015.09.28/debian/get-orig-source.py --- hydrogen-drumkits-0.9.3.20070703/debian/get-orig-source.py 1970-01-01 00:00:00.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/get-orig-source.py 2015-09-28 18:46:16.000000000 +0000 @@ -0,0 +1,500 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# get-orig-source.py +# +# Copyright (C) 2011 Alessio Treglia +# Copyright (C) 2015 IOhannes m zmölnig +# +# This program 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; either version 2 of the License, or +# (at your option) any later version. +# +# This program 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 program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +## purpose of this script +## check for available drumkits in upstream's drumkit feed +## for each available drumkit do: +## - check if drumkit is already part of the package (probably comparing hashes of the downloaded file). if so, skip it +## - check if the drumkit has a license attached. if not, skip it +## - present the drumkit information to the maintainer (in a readable form) +## - ask the maintainer to manually accept the drumkit (after they have examined the license) +## - skip or add the new drumkit, based on maintainer's decision. + +## implementation details +# +## tarball layout +# - drumkits/ +# - drumkits/MyKit +# +## persistent data +# maybe we should store some data for each drumkit (even those not included in debian), +# in order to: +# - compare hashes (to avoid adding duplicate drumkits of different name) +# - make inclusion/exclusion choices persistent +# e.g. a JSON file accompanying each KIT, containing all the info from the XML + sha256 + distributable-flag +# - drumkits.json +# [ +# { +# "name": "MyKit", +# "author": "Foo Bar", +# "url": "http://example.com/drumkits/MyKit.h2drumkit", +# "file": "MyKit.h2drumkdit", +# "license": "Public Domain", +# "sha256": "1b351166cfab4be4c4da6dba81d7a26d020f8ece44503ec76fe4d1975cbe4736", +# "distribute": true +# }, +# ] + +## TODO + +## LATER: allow to specify multiple input paths (e.g. to maintain non-free packages as well) + +## LATER: remember the decision (if the package gets accepted) for a given license literal, and automatically apply that + +## LATER: (additionally) store a normalized in the JSON +## e.g. for packages that lack a but provide a grant in the +# ..JSON: '"licensed": "CC-SA"' + + +import os +import sys +import json +import shutil +import urllib +import tarfile +import argparse +import tempfile +import xml.etree.ElementTree + +URL = 'http://www.hydrogen-music.org/feeds/drumkit_list.php' +#OUTFILE='hydrogen-drumkits.tar.gz' +OUTFILE=None + +## apply replacements on URLs +URLFIX=[] +URLFIX+=[("http://switch.dl.sourceforge.net/sourceforge/", "http://downloads.sourceforge.net/project/")] + +### come compat foo + +# use html2text if available +try: + from html2text import html2text as h2t +except ImportError: + def h2t(html, baseurl='', bodywidth=78): + return html + +# define basestring for Python3 +try: + basestring +except NameError: + str=basestring + +### helper functions +def toBool(s): + try: + return bool(int(s)) + except ValueError: + pass + try: + s=s.lower() + except AttributeError: + pass + return s in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh'] + +def html2text(html, baseurl='', bodywidth=78): + if html: + if isinstance(html, str): + s=h2t(html, baseurl, bodywidth).strip() + else: + return html + if s: + return s + return html + +def hashfile(afile, hasher=None, blocksize=65536): + if not hasher: + import hashlib + hasher=hashlib.sha256() + if isinstance(afile, basestring): + afile=open(afile, 'rb') + buf = afile.read(blocksize) + while len(buf) > 0: + hasher.update(buf) + buf = afile.read(blocksize) + return hasher.hexdigest() + +def stripSuffix(s, suffix, stripfix=None): + if stripfix is None: + stripfix=suffix + if s.endswith(suffix): + return s[:-len(stripfix)] + return s +def stripPrefix(s, prefix, stripfix=None): + if stripfix is None: + stripfix=prefix + if s.startswith(prefix): + return s[len(stripfix):] + return s + +def makedir(path): + if not os.path.isdir(path): + os.makedirs(path) + +def print_dict(obj): + for k in obj: + s=html2text(obj[k]) + print("%s\t: %s" % (k, s)) + #print("") + +def compareDict(d1, d2, keys=None): + """ + compare two dictionaries. + if keys is None (default), compare all keys; + if all keys match (either they are equal or non-existing in both dictionaries) return True + if some keys differ, return False + if keys are missing in one of the dicts, return None + """ + result=True + if keys is None: + keys=set(d1.keys() + d2.keys()) + else: + keys=set(keys) + for k in keys: + if k in d1 or k in d2: + try: + if d1[k] != d2[k]: + return False + except KeyError: + ## key is missing in on of the two dictionaries + result = None + return result + +def copyUnsetNonempty(src, dst): + for key in src: + if key in dst and dst[key] != '': + continue + if src[key] != '': + dst[key]=src[key] + +def fixURL(url, replacements): + for (src, dst) in replacements: + url=url.replace(src, dst) + return url + +def download(url, outputfile=None): + """ + download url into outputfile; + if is None, the filename will be derived from the url; + if is a directory, it is the output directory + """ + outdir=None + outfile=None + if outputfile: + outdir=os.path.dirname(outputfile) + outfile=os.path.basename(outputfile) + + if not outfile: + outfile=url.split('/')[-1] + if not outdir: + outdir='' + else: + makedir(outdir) + + outputfile=os.path.join(outdir, outfile) + try: + urllib.urlretrieve(url, outputfile) + except IOError: + return None + return outputfile + +def tarup(tarname, path, strippath): + _path=os.path.join(strippath, '').lstrip('/') + def filter(x): + x.name=stripPrefix(x.name, _path) + return x + tarfilename=tarname + with tarfile.open(tarfilename, "w:gz") as tar: + tar.add(path, filter = filter) + return tarfilename + + +## core functions + +def write_dep5(path, pkgs): + if not path: + return + with open(path, 'w') as f: + for k in pkgs: + for p in pkgs[k]: + if not p.get('distribute'): + continue + f.write("\n") + f.write("Files: %s\n" % (os.path.join(k, p.get('filename')))) + f.write("Copyright: %s\n" % (p.get('author'))) + f.write("License: %s\n" % p.get('licensed')) + + +def write_DrumkitInfo(path, dki, name=None): + if not name: + name=dki['name'] + with open(os.path.join(path, name+".json"), "w") as f: + json.dump(dki, f, indent=2, separators=(',', ': ')) + + +def get_availableDrumkitsInfo(url): + """returns a list of dictionaries, each describing a drumkit (as obtained from 'url')""" + def xmlobjs_to_dictlist(objs): + objs_list = [] + for obj in objs: + elem = dict() + for o in obj: + s=o.text + if s: + s=s.strip() + if s: + elem[o.tag]=o.text + objs_list.append(elem) + return objs_list + + filename = urllib.urlretrieve(url)[0] + objs = xml.etree.ElementTree.parse(filename).findall('drumkit') + return xmlobjs_to_dictlist(objs) + +def get_packagedDrumkitsInfo(paths, jname='drumkits.json'): + """returns a list of dictionaries, each describing a drumkit (as info found at 'path')""" + objs_list = [] + try: + jfiles=[f for f in [os.path.join(p, jname) for p in paths] + if os.path.isfile(f) and f.endswith('.json')] + #print("paths: %s" % (paths)) + #print("jfiles: %s" % (jfiles)) + except OSError: + return objs_list + for jfile in jfiles: + j=None + try: + with open(jfile) as jfd: + j=json.load(jfd) + except (IOError, ValueError): + continue + if type(j) == dict: + objs_list.append(j) + if type(j) == list: + objs_list+=j + return objs_list + +def compareDrumkitInfo(dk1, dk2): + """compares two dictionaries describing a drumkit""" + return compareDict(dk1, dk2, ('name', 'author', 'url', 'license'), ) + +def findDrumkitInfo(dk, dklist): + """ + compares a drumkit info dict, with the infos in , + and returns the first matching one (or None) + """ + for dk_ in dklist: + ## we only really compare the URL + ## and we only accept drumkits with a license (so we compare that as well) + if compareDict(dk, dk_, ('url', 'license')): + return dk_ + return None + +def guessFilenameFromURL(url): + url=stripSuffix(url, '.h2drumkit/download', '/download') + return os.path.basename(url) + +def downloadPkgs(pkgs, path, urlfixes=None): + makedir(path) + count=0 + for pkg in pkgs: + count=count+1 + url=pkg['url'] + if urlfixes: + url=fixURL(url, urlfixes) + fname=pkg['filename'] + print("downloading %s into %s [%d/%d]" % (url, fname, count, len(pkgs))) + download(url, os.path.join(path, fname)) + +## testing functions +def avail2pkg(URL, path): + objs=get_availableDrumkitsInfo(URL) + for obj in objs: + write_DrumkitInfo(path, obj) +def print_avail(URL): + objs=get_availableDrumkitsInfo(URL) + for obj in objs: + write_DrumkitInfo(path, obj) + print_dict(obj) +def print_pkg(path): + objs=get_packagedDrumkitsInfo(path) + for obj in objs: + print_dict(obj) + +def print_foo(objs): + for o in objs: + if o.get('author') == "Artemiy Pavlov": + print("%s (%s)\n" % (o['name'], o['url'])) + +def pkg_drumkits(conf): + addall=conf.add_all_regardless_of_license + # list of already packaged drumkits + packd=get_packagedDrumkitsInfo(conf.pkgdir) + # list of available (online) drumkits + avail=[x for x in get_availableDrumkitsInfo(conf.uri)] + interactive=not conf.non_interactive + + for pkg in avail: + # check if this has already been packaged + a=findDrumkitInfo(pkg, packd) + if a: + distribute=a.get('distribute') + if (distribute is not None) and (distribute != ''): + distribute=toBool(distribute) + + copyUnsetNonempty(a, pkg) + else: + distribute=None + print("=================") + print_dict(pkg) + if (distribute is None) and interactive and not addall: + while distribute is None: + try: + dis=raw_input("Add drumkit '%s' to package? [y/n/^D to skip] " % (pkg.get('name'))) + if dis: + distribute=toBool(dis) + except EOFError: + distribute=None + break + #print("Adding '%s' to distribution: %s" % (pkg.get('name'), distribute)) + else: + print("Using prior decision about distribution: %s" % (distribute)) + pkg['distribute']=distribute + if distribute or addall: + if(interactive): + print("") + lic=pkg.get('license') + ## get a machine-readable license from the user + license=pkg.get('licensed') + if not addall: + while not license: + try: + license=raw_input("What's the machine-readable license ('%s')? " % (pkg.get('license'))) + except EOFError: + if distribute: + pass + else: + break + if not license: + license=lic + pkg['licensed']=license + + ## make sure we have a sane output filename + filename=pkg.get('filename') + if not filename: + url=pkg.get('url') + filename=guessFilenameFromURL(url) + #print("The drumkit will be downloaded from %s" % (url,)) + fname=raw_input("What should be the output filename ('%s')? " % (filename)) + if fname: + filename=fname + pkg['filename']=filename + + print("") + + if addall: + pkgs = avail + else: + pkgs = [x for x in avail if x.get('distribute')] + write_DrumkitInfo(conf.workdir, avail, 'drumkits') + download=True + if interactive: + try: + raw_input("Press [return] to proceed with downloading %d drumkits; ^D to skip\n") + except EOFError: + download=False + if download: + if conf.no_url_fixes: + urlfix=None + print("NOT applying the following URL-fixes:") + for (a,b) in URLFIX: + print(" '%s' -> '%s'" % (a,b)) + else: + urlfix=URLFIX + downloadPkgs(pkgs, os.path.join(conf.workdir, 'drumkits'), urlfix) + return pkgs + +def main(conf): + pkgs=dict() + outdir=conf.workdir + conf.workdir=os.path.join(conf.workdir, 'hydrogen-drumkits') + makedir(conf.workdir) + pkgs['drumkits']=pkg_drumkits(conf) + tarfile=tarup(conf.outfile, conf.workdir, outdir) + print("assembled package in %s" % tarfile) + write_dep5(conf.dep5, pkgs) + + + +def parseCmdlineArgs(): + parser = argparse.ArgumentParser() + parser.add_argument('-u', '--uri', type=str, + default=URL, + help="URI to read available packages from (DEFAULT: %(default)s)") + parser.add_argument('-p', '--pkgdir', type=str, + default=['.'], + action='append', + help="directory to read available packages from (DEFAULT: %(default)s)") + parser.add_argument('-o', '--outfile', type=str, + default=OUTFILE, + help="output tarfile (DEFAULT: %(default)s)") + parser.add_argument('--dep5', type=str, + help="output DEP5-copyright file (DEFAULT: None)") + parser.add_argument('-w', '--workdir', type=str, + help="temporary directory to assemble tarball (DEFAULT: $TMPDIR)") + parser.add_argument('-x', '--non-interactive', action='store_true', + help="don't ask interactive questions (re-create a tarball from all pre-approved items)" + ) + parser.add_argument('--no-url-fixes', action='store_true', + help="don't attempt to fix known-to-be-broken URLs") + parser.add_argument('--add-all-regardless-of-license', action='store_true', + help="DO NOT USE THIS FOR CREATING A TARBALL FOR DEBIAN PACKAGING") + args = parser.parse_args() + return args + + +if __name__ == '__main__': + if not OUTFILE: + from datetime import datetime as datetime + basefile=os.path.join('..', 'hydrogen-drumkits_'+datetime.today().strftime("%Y.%m.%d")) + suffix='.tar.gz' + OUTFILE=basefile+suffix + count=1 + while(os.path.exists(OUTFILE)): + OUTFILE=("%s.%d%s" % (basefile, count, suffix)) + count=count+1 + args=parseCmdlineArgs() + if not args.uri: + args.uri = URL + if not args.pkgdir: + args.pkgdir=['.'] + if args.workdir: + makedir(args.workdir) + wd=tempfile.mkdtemp(dir=args.workdir) + args.workdir=wd + print("args: %s" % (args,)) + try: + main(args) + except BaseException: + shutil.rmtree(wd) + raise + shutil.rmtree(wd) diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/README.source hydrogen-drumkits-2015.09.28/debian/README.source --- hydrogen-drumkits-0.9.3.20070703/debian/README.source 2010-07-21 18:39:17.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/README.source 2015-09-28 18:58:51.000000000 +0000 @@ -1,4 +1,14 @@ -To build upstream source package, please use -debian/rules get-orig-source +Upstream does not provide any official tarball, so we assemble it +from their drumkit feed. +In order to create the tarball, please use: + + debian/rules get-orig-source + +This will ask you interactively whether to include any new drumkit, +and give you the oportunity to specify the license in a machine readable form. +For unclear license situations, skip the inclusion of the package with ^D. +Whether a package is included or not is stored permanently in a json file +(drumkits.json), which can be manually edited if you want to revise a decision. + +-- IOhannes m zmölnig (Debian/GNU) Mon, 28 Sep 2015 20:58:62 +0200 -Free Ekanayaka diff -Nru hydrogen-drumkits-0.9.3.20070703/debian/rules hydrogen-drumkits-2015.09.28/debian/rules --- hydrogen-drumkits-0.9.3.20070703/debian/rules 2010-07-21 18:39:17.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/debian/rules 2015-09-28 20:47:41.000000000 +0000 @@ -1,20 +1,7 @@ #!/usr/bin/make -f KITS_DIR=debian/hydrogen-drumkits/usr/share/hydrogen/data/drumkits -SONG_DIR=debian/hydrogen-drumkits/usr/share/hydrogen/data/demo_songs - -BROKEN_SONGS=\ - 3355606demo.h2song\ - EasternHop-1_demo.h2song\ - "HipHop-1_demo1.h2song"\ - "HipHop-1_demo2.h2song"\ - "HipHop-2 demo1.h2song"\ - "HipHop-2 demo2.h2song"\ - Synthie-1.demo1.h2song\ - TD7.h2song\ - Techno-1demo1.h2song\ - TR808909demo1.h2song\ - rullada.h2song tipododiciottavi.h2song +FXKITS_DIR=debian/hydrogen-drumkits-effects/usr/share/hydrogen/data/drumkits %: dh $@ @@ -22,34 +9,38 @@ override_dh_auto_configure: override_dh_auto_build: override_dh_auto_install: - mkdir -p $(KITS_DIR) - mkdir -p $(SONG_DIR) + mkdir -p $(KITS_DIR) $(FXKITS_DIR) mkdir -p tmp - @for i in drumkits/*.tar.gz; do \ - echo "Extracting kit $$i"; \ - tar zxf $$i -C tmp; \ - done - @for i in drumkits/*.zip; do \ - echo "Extracting kit $$i"; \ - unzip $$i -d tmp > /dev/null; \ - done - @for i in drumkits/*.h2drumkit; do \ - echo "Extracting kit $$i"; \ - cp $$i tmp; \ - done - @for i in $$(find tmp/ -name "*.h2drumkit"); do \ - echo "Installing kit $$i"; \ - tar xfz $$i -C $(KITS_DIR); \ - done - find tmp/ -name "*.h2song" | while read file; do \ - echo "Installing song $$file"; \ - cp "$$file" $(SONG_DIR) ; \ - done - for i in $(BROKEN_SONGS); do \ - echo "Removing broken song $$i"; \ - rm "$(SONG_DIR)/$$i"; \ - done + find drumkits/ \ + -name "*.tar.*" -or -name "*.tgz" \ + -exec tar xf '{}' -C tmp ';' + find drumkits/ \ + -name "*.zip" \ + -exec unzip '{}' -d tmp > /dev/null ';' + find drumkits/ \ + -name "*.h2drumkit" \ + -exec cp '{}' tmp ';' + # extract all drumkits + find tmp/ -name "*.h2drumkit" \ + -exec echo installing drumkit '{}' ';' \ + -exec tar xf '{}' -C $(KITS_DIR) ';' + # fixes + ## fix permissions + find $(KITS_DIR) -type f -exec chmod a-x '{}' '+' + ## oops, some drumkit packages contain .dotfiles + find $(KITS_DIR) -name ".*" -delete + ## remove extra licenses (already covered by debian/copyright) + find $(KITS_DIR) -type f \( -name LICENCE -or -name COPYING \) -delete + ## remove empty directories + find $(KITS_DIR) -type d -empty -delete + + ## some drumkits are effects + mv "$(KITS_DIR)"/belofilms.com* $(FXKITS_DIR) get-orig-source: - chmod a+x debian/get-orig-source - debian/get-orig-source + chmod a+x debian/get-orig-source.py + debian/get-orig-source.py + +override_dh_auto_clean: + dh_auto_clean + rm -rf tmp/ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/3355606.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/3355606.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Audiophob.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Audiophob.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/bf - AC-Guitar-Strums (flac).h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/bf - AC-Guitar-Strums (flac).h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/BJA_Pacific.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/BJA_Pacific.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Boss_DR-110.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Boss_DR-110.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/circAfrique.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/circAfrique.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/ColomboAcousticDrumkit.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/ColomboAcousticDrumkit.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/default_drumkit.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/default_drumkit.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/DrumkitPack1.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/DrumkitPack1.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/DrumkitPack2.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/DrumkitPack2.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/EasternHop-1.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/EasternHop-1.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/EasternHop-1.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/EasternHop-1.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/ElectricEmpireKit.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/ElectricEmpireKit.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/ErnysPercussion.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/ErnysPercussion.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Gimme A Hand 1.0.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Gimme A Hand 1.0.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/HardElectro1.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/HardElectro1.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/HardElectro1.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/HardElectro1.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/HipHop-1.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/HipHop-1.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/HipHop-2.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/HipHop-2.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/MilloDrums-3.zip and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/MilloDrums-3.zip differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Millo-Drums_v.1.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Millo-Drums_v.1.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Millo-Drums_v1.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Millo-Drums_v1.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Millo_MultiLayered2.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Millo_MultiLayered2.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Millo_MultiLayered3.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Millo_MultiLayered3.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/r_kit_z01_h2.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/r_kit_z01_h2.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Roland_TR-606.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Roland_TR-606.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Roland_TR-626.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Roland_TR-626.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Roland_TR-707.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Roland_TR-707.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Roland_TR-808.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Roland_TR-808.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Roland_TR-909.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Roland_TR-909.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Synthie-1.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Synthie-1.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/TD-7.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/TD-7.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/Techno-1_kit_demo.ogg and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/Techno-1_kit_demo.ogg differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/The Black Pearl 1.0.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/The Black Pearl 1.0.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/UltraAcousticKit.tar.gz and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/UltraAcousticKit.tar.gz differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/VariBreaks.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/VariBreaks.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/V-Synth_VariBreaks.h2drumkit and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/V-Synth_VariBreaks.h2drumkit differ Binary files /tmp/6iEuMDY4YR/hydrogen-drumkits-0.9.3.20070703/drumkits/YamahaVintageKit.zip and /tmp/PRPnFmTqeH/hydrogen-drumkits-2015.09.28/drumkits/YamahaVintageKit.zip differ diff -Nru hydrogen-drumkits-0.9.3.20070703/drumkits.json hydrogen-drumkits-2015.09.28/drumkits.json --- hydrogen-drumkits-0.9.3.20070703/drumkits.json 1970-01-01 00:00:00.000000000 +0000 +++ hydrogen-drumkits-2015.09.28/drumkits.json 2015-09-28 18:36:38.000000000 +0000 @@ -0,0 +1,340 @@ +[ + { + "info": "This drumkit was created and published for all the people who want to make some metal drum patterns to sound more natural.", + "name": "DeathMetal (sf)", + "license": "CC-Attribution", + "author": "Archman", + "url": "http://prdownloads.sf.net/hydrogen/deathmetal-drumkit.h2drumkit", + "distribute": null + }, + { + "info": "All sounds in this kit have been created from scratch using Roland V-Synth. The source material were samples of sounds based on sine and noise waveforms processed with COSM blocks, which were then re-synthesized multiple times using VariPhrase and COSM technologies.", + "name": "VariBreaks (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/VariBreaks.h2drumkit", + "distribute": true, + "licensed": "CC-BY-SA-4.0", + "filename": "VariBreaks.h2drumkit" + }, + { + "name": "HardElectro (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/HardElectro1.h2drumkit", + "distribute": true, + "filename": "HardElectro1.h2drumkit", + "licensed": "CC-BY-SA-4.0" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/Classic-626.h2drumkit", + "info": "One of the very last drum boxes of the TR series. TR-626 featured 30 12-bit PCM samples of classic drum and percussion sounds, as well as latin percussion.", + "distribute": false, + "name": "Classic 626 (sf)", + "author": "Artemiy Pavlov" + }, + { + "info": "A nice kit from Emillo (Cricket studio)", + "name": "Millo drums 1 (sf)", + "author": "Emiliano Grilli", + "url": "http://prdownloads.sf.net/hydrogen/Millo-Drums_v.1.h2drumkit", + "distribute": true, + "licensed": "GPL2", + "filename": "Millo-Drums_v.1.h2drumkit" + }, + { + "info": "Nice and multilayered drumkit from Emillo.net", + "name": "Millo's MultiLayered 2 (sf)", + "author": "Emiliano Grilli", + "url": "http://prdownloads.sf.net/hydrogen/Millo_MultiLayered2.h2drumkit", + "distribute": true, + "licensed": "GPL2", + "filename": "Millo_MultiLayered2.h2drumkit" + }, + { + "info": "This is the third version of a ludwig drumkit. Recorded at cricketstudios.it, released under the GPL. Feel free to modify it and integrate it with other sounds. If you end up with good sounding demos with it, please mail them to emillo@emillo.net", + "name": "Millo's MultiLayered 3 (sf)", + "author": "Emiliano Grilli", + "url": "http://prdownloads.sf.net/hydrogen/Millo_MultiLayered3.h2drumkit", + "distribute": true, + "licensed": "GPL2", + "filename": "Millo_MultiLayered3.h2drumkit" + }, + { + "info": "World-class original synth drum and percussion sounds, all painstakingly synthesised from noise and sine waves. Perfect for any sort of electro, old-school hip hop and break beat.", + "name": "Electric Empire (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/ElectricEmpireKit.h2drumkit", + "distribute": true, + "licensed": "CC-BY-SA-4.0", + "filename": "ElectricEmpireKit.h2drumkit" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/3355606kit.h2drumkit", + "info": "Based on sounds from famous and classic beatboxes of 1970s and 1980s", + "distribute": false, + "name": "classic 3355606 (sf)", + "author": "Artemiy Pavlov" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/Boss_DR-110.h2drumkit", + "info": "A compact programmable drum machine, DR-110 is one of the last fully-analog computer-controlled boxes made by Roland/Boss. It's ever-fresh sounds lie somewhere between TR-808 and TR-606.", + "distribute": false, + "name": "Boss DR-110 (sf)", + "author": "Artemiy Pavlov" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/ErnysPercussion.h2drumkit", + "info": "A nice contributed drumkit with 32 percussion instruments.", + "distribute": null, + "name": "Erny's percussions (sf)", + "author": "Erny" + }, + { + "name": "HipHop-1 (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/HipHop-1.h2drumkit", + "distribute": true, + "filename": "HipHop-1.h2drumkit", + "licensed": "CC-BY-SA-4.0" + }, + { + "name": "HipHop-2 (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/HipHop-2.h2drumkit", + "distribute": true, + "filename": "HipHop-2.h2drumkit", + "licensed": "CC-BY-SA-4.0" + }, + { + "info": "A perfect kit for ethnic hip-hop: contains groovy kicks, snares and hats along with indian tabla drums", + "name": "EasternHop (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/EasternHop-1.h2drumkit", + "distribute": true, + "licensed": "CC-BY-SA-4.0", + "filename": "EasternHop-1.h2drumkit" + }, + { + "name": "Synthie-1 (sf)", + "author": "Artemiy Pavlov", + "url": "http://prdownloads.sf.net/hydrogen/Synthie-1.h2drumkit", + "distribute": true, + "filename": "Synthie-1.h2drumkit", + "licensed": "CC-BY-SA-4.0" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/TD-7kit.h2drumkit", + "info": "A kit based on samples from Roland TD-7 percussion sound module of middle 1990s", + "distribute": false, + "name": "TD-7 (sf)", + "author": "Artemiy Pavlov" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/Techno-1.h2drumkit", + "distribute": false, + "name": "Techno-1 (sf)", + "author": "Artemiy Pavlov" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/TR808909.h2drumkit", + "distribute": false, + "name": "TR808909 (sf)", + "author": "Artemiy Pavlov" + }, + { + "info": "Based on \"Colombo Percussion\", handmade in Argentina circa 1970 to 1980.\n* Wooden toms, snare and bassdrum\n* Toms: 12X8 13X9 16X16 (hi, mid, low-foor)\n* Bassdrum: 21X14\n* Snare \"piccolo\" 14X4\n* Aquarian patch set\n* Crash 16'' Sabian \"B8 Pro, Thin Crash\"\n* Crash 20'' Paiste 1000 \"Power Crash 20''\", made in Switzerland\n* Hihat Paiste 1000 14'' \"Rude\", made in Switzerland", + "name": "ColomboAcousticDrumkit (sf)", + "author": "(c)2006 by Marcos Guglielmetti", + "url": "http://prdownloads.sf.net/hydrogen/ColomboAcousticDrumkit.h2drumkit", + "distribute": true, + "licensed": "GPL2+", + "filename": "ColomboAcousticDrumkit.h2drumkit" + }, + { + "url": "http://prdownloads.sf.net/hydrogen/YamahaVintageKit.h2drumkit", + "info": "Pristine-quality, stereo multi-layered kit based on samples of a 1970's Yamaha drum kit.", + "distribute": false, + "name": "YamahaVintageKit (sf)", + "author": "Artemiy Pavlov" + }, + { + "url": "http://www.hydrogen-music.org/download/drumkits/Roland TR-909.h2drumkit", + "distribute": false, + "name": "Roland TR-909", + "author": "Artemiy Pavlov" + }, + { + "url": "http://www.hydrogen-music.org/download/drumkits/Roland TR-808.h2drumkit", + "distribute": false, + "name": "Roland TR-808", + "author": "Artemiy Pavlov" + }, + { + "url": "http://www.hydrogen-music.org/download/drumkits/Roland TR-707.h2drumkit", + "distribute": false, + "name": "Roland TR-707", + "author": "Artemiy Pavlov" + }, + { + "url": "http://www.hydrogen-music.org/download/drumkits/Roland TR-606.h2drumkit", + "distribute": false, + "name": "Roland TR-606", + "author": "Artemiy Pavlov" + }, + { + "url": "http://sourceforge.net/projects/sourceforge/hydrogen/files/K-27_Trash_Kit.h2drumkit", + "info": "The K-27 Trash Kit is a cool set to compose punk and garage musik", + "distribute": null, + "name": "K-27 Trash Kit", + "author": "Wolke" + }, + { + "info": "A collection of african instruments from www.circAfrique.com. Includes djembe, sangban, dununba and kenkeni.", + "name": "circAfrique v4", + "license": "Creative Commons - Attribution-ShareAlike 3.0 Unported", + "author": "Jim Harney", + "url": "http://sourceforge.net/projects/hydrogen/files/Sound%20Libraries/Main%20sound%20libraries/circAfrique.h2drumkit", + "distribute": true, + "licensed": "CC-BY-SA-3.0", + "filename": "circAfrique.h2drumkit" + }, + { + "info": "Multi-layered drumkit, based on samples from Bransin Anderson ", + "name": "BJA_Pacific", + "license": "Attribution-Share Alike 3.0 United States", + "author": "Luc Tunguay", + "url": "http://sourceforge.net/projects/hydrogen/files/Sound%20Libraries/Main%20sound%20libraries/BJA_Pacific.h2drumkit", + "distribute": true, + "licensed": "CC-BA-SA-3.0", + "filename": "BJA_Pacific.h2drumkit" + }, + { + "info": " The flac edition of the famous GSCW drumkit. Some layers were removed to reduce the size. Based on samples from Salvador Pelaez", + "name": "GSCW Kit 1 (Flac edition)", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Stefano Carbonelli", + "url": "http://www.hydrogen-music.org/drumkits/Flac_GSCW-1.h2drumkit", + "distribute": false + }, + { + "info": " The flac edition of the famous GSCW drumkit. Some layers were removed to reduce the size. Based on samples from Salvador Pelaez", + "name": "GSCW Kit 2 (Flac edition)", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Stefano Carbonelli", + "url": "http://www.hydrogen-music.org/drumkits/Flac_GSCW-2.h2drumkit", + "distribute": false + }, + { + "info": " An CR78&Cheaps MC-307 groovebox clone", + "name": "Roland_MC-307_CR78&Cheaps", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Michael Wolkstein", + "url": "http://hydrogen-music.org/drumkits/Roland_MC-307_CR78&Cheaps.h2drumkit", + "distribute": false + }, + { + "info": " An TR-606 MC-307 groovebox clone", + "name": "Roland_MC-307_TR-606", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Michael Wolkstein", + "url": "http://hydrogen-music.org/drumkits/Roland_MC-307_TR-606.h2drumkit", + "distribute": false + }, + { + "info": " An TR-808 MC-307 groovebox clone", + "name": "Roland_MC-307_TR-808_", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Michael Wolkstein", + "url": "http://hydrogen-music.org/drumkits/Roland_MC-307_TR-808.h2drumkit", + "distribute": false + }, + { + "info": " An TR-909 MC-307 groovebox clone", + "name": "Roland_MC-307_TR-909", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Michael Wolkstein", + "url": "http://hydrogen-music.org/drumkits/Roland_MC-307_TR-909.h2drumkit", + "distribute": false + }, + { + "info": " An Techno1 MC-307 groovebox clone", + "name": "Roland_MC-307_Techno1", + "license": "Do not redistribute or publish the inluded samples.", + "author": "Michael Wolkstein", + "url": "http://hydrogen-music.org/drumkits/Roland_MC-307_Techno1.h2drumkit", + "distribute": false + }, + { + "info": "A Sampled 5pc Pearl DX Series Drumkit.", + "name": "The Black Pearl 1.0", + "license": "GPL", + "author": "Glen MacArthur", + "url": "http://hydrogen-music.org/drumkits/The Black Pearl 1.0.h2drumkit", + "distribute": true, + "licensed": "GPL2", + "filename": "The Black Pearl 1.0.h2drumkit" + }, + { + "info": "An Assortment of Hand Percussion Instruments Including Cajon, Bongos, Maracas and Much More...", + "name": "Gimme A Hand 1.0", + "license": "GPL", + "author": "Glen MacArthur", + "url": "http://hydrogen-music.org/drumkits/Gimme A Hand 1.0.h2drumkit", + "distribute": true, + "licensed": "GPL2", + "filename": "Gimme A Hand 1.0.h2drumkit" + }, + { + "info": "Drum kit from analog samples. Partly GM-drum compatible. Format:48000Hz,24Bit,flac", + "name": "rumpf_kit_z01_gm", + "license": "cc-by ==> http://creativecommons.org/licenses/by/3.0/", + "author": "Emanuel Rumpf", + "url": "http://hydrogen-music.org/drumkits/r_kit_z01_h2.h2drumkit", + "distribute": true, + "licensed": "CC-BY-3.0", + "filename": "r_kit_z01_h2.h2drumkit" + }, + { + "info": "\n \n \n

Part of "the one man movie proyect", please visit www.belofilms.com for more info.

\n

\n

Made with my own samples, 4 layers - 96khz - 24bit - Stereo

\n

\n

*Feel free to use it for commercial music, as long as you give the proper noticeable credit: Gabriel Verdugo Soto (www.belofilms.com)

\n

\n

******* Please read the drumkit guidelines up and below *******

\n

\n

Order example: Gminor / F2

\n

Gminor: Chord name.

\n

/: Slide up (/), down (\\) or no slide ().

\n

F2: Major key and position inside that scale.

\n

\n

**If you want to have scales different than C you have to rearranged the order of the instruments according to the major keys information available in each instrument.

", + "name": "belofilms.com - AC-Guitar-Strums (flac)", + "license": "CC-BY 3.0 Unported", + "author": "Gabriel Verdugo Soto (belo@belofilms.com)", + "url": "http://hydrogen-music.org/drumkits/bf - AC-Guitar-Strums (flac).h2drumkit", + "distribute": true, + "licensed": "CC-BY-3.0", + "filename": "bf - AC-Guitar-Strums (flac).h2drumkit" + }, + { + "info": "Cheap sounds from freesound.org with no copyright", + "name": "Audiophob", + "license": "This work is licensed under the Creative Commons 0 License.", + "author": "soundcloud.com/audiophobdubstep", + "url": "http://hydrogen-music.org/drumkits/Audiophob.h2drumkit", + "distribute": true, + "licensed": "CC0", + "filename": "Audiophob.h2drumkit" + }, + { + "info": "Sons gravados de maneira caseira", + "name": "Drumkit excepcional", + "license": "creative commons", + "author": "Pedro Maur\u00c3\u00adcio", + "url": "http://hydrogen-music.org/drumkits/Drumkit excepcional.h2drumkit", + "distribute": null + }, + { + "info": "An small library made by me to get a clear sound in the most posible lightweight bank. Una peque\u00f1a libreria hecha por mi para obtener un sonido claro en un banco lo mas livianamente posible.", + "name": "Lightning1024", + "license": "Free!!!", + "author": "Esteban Mariano Romanelli", + "url": "http://hydrogen-music.org/drumkits/Lightning1024.h2drumkit", + "distribute": null + }, + { + "info": "This drumkit was created with samples from the original Denon CRB-90 Rhythm Box. More info can be found on http://audio-and-linux.blogspot.com/2012/06/denon-rhythm-box-for-hydrogen.htm", + "name": "Denon CRB-90", + "license": "CC-BY-SA", + "author": "Thijs Van Severen", + "url": "http://hydrogen-music.org/drumkits/Denon_CRB-90.h2drumkit", + "distribute": null + } +] \ No newline at end of file