# HG changeset patch # User Chris Cannam # Date 1558630677 -3600 # Node ID ae8343f56d77a494bb317af8d257e79a8b71aada # Parent 4852840b8a3cdbfeb59b5daf5d9dc46779d34c32# Parent d3b3f07cce2a9d47326c28dcfe5b8e4413d51b52 Merge branch 'github-meta' diff -r 4852840b8a3c -r ae8343f56d77 CONTRIBUTING.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CONTRIBUTING.md Thu May 23 17:57:57 2019 +0100 @@ -0,0 +1,79 @@ + +Contributing +============ + +The qm-dsp library is maintained in a Github repository at +https://github.com/c4dm/qm-dsp. + + +Reporting bugs +-------------- + +Please use Github issues for bug reports. Try to make them as specific +as possible. For example, describe an input that triggers some +particular behaviour, and tell us how that behaviour differs from what +you expected. + +If your bug can be reproduced by processing an audio file using one of +the QM Vamp Plugins (https://github.com/c4dm/qm-vamp-plugins), which +are built using this library, that might be a good way to illustrate +the problem. + + +Pull requests +------------- + +We're happy to see pull requests, and can pull them directly in some +circumstances. + + * Please make sure your change compiles without warnings and passes + the existing tests. + + * Please follow the code style guidelines (see below). + + * Please make it as easy as possible to verify the behaviour of the + pull request, for example by adding a new test in the `tests` + directory. This library has only limited test coverage, but we + would like to expand it, and prefer not to make changes unless they + are backed by tests. + + * Please provide your changes under terms which permit Queen Mary + University of London to relicense the code for commercial + purposes. The qm-dsp library as a whole is provided under the GPL, + but QM also make commercial licences available separately, and + cannot accept any pull request whose copyright status would prevent + that. In practice, this means any non-trivial change not + originating from QM must be explicitly licensed using a BSD-like + licence text, either in the source file itself or in an + accompanying file. See `thread/BlockAllocator.h` for an example of + typical language. + +Please note also that fixes which change the behaviour of the existing +QM Vamp Plugins will need particularly close scrutiny - these are +reasonably widely used and, even where they have defects, changes may +cause problems for users and will at least need to be documented with +the plugins. For this reason it may take some time for such changes to +be reviewed or integrated. + + +Code style +---------- + + * C++ code must compile with the C++98 standard, except for the unit + tests which are C++14 + + * Classes are named `LikeThis` - functions, methods, and local + variables `likeThis` - class member variables `m_likeThis` + + * Indentation is four spaces at a time (no tabs) + + * The opening brace for a block goes at the end of the line, except + at the start of a function or class definition where it gets a line + of its own + + * Please use braces around any conditional or loop block that + occupies its own line + +Some of the older code in this library does not follow these +guidelines - usually this means the code needs to be updated. + diff -r 4852840b8a3c -r ae8343f56d77 README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Thu May 23 17:57:57 2019 +0100 @@ -0,0 +1,58 @@ + +QM-DSP library +============== + +This is a C++ library of functions for Digital Signal Processing and +Music Informatics purposes developed at Queen Mary, University of +London. + +It is used by [QM Vamp Plugins](http://isophonics.net/QMVampPlugins) +amongst other things. + +Despite the assertive name "qm-dsp", it is not "the official QM DSP +library", just one library for DSP that happens to have been written +at QM. It got this name because nothing else was using it at the time. + + +Compiling the library +--------------------- + + - Linux: `make -f build/linux/Makefile.linux64` + + - Mac: `make -f build/osx/Makefile.osx` + + - Windows (MSVC): Use the project file `build/msvc/QMDSP.vcxproj` + +To build and run unit tests as well, add the `test` target to your +Make invocation, e.g. `make -f build/linux/Makefile.linux64 +test`. Tests require the Boost library. + + +Licence +------- + +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. See the file COPYING included with +this distribution for more information. + +This code is Copyright (c) 2006-2019 Queen Mary, University of London, +with the following exceptions: + + - `ext/kissfft` - Copyright (c) 2003-2010 Mark Borgerding + + - `maths/pca/pca.c` - Fionn Murtagh, from StatLib, used with permission + + - `maths/Polyfit.h` - by Allen Miller, David J Taylor and others; +also for Delphi in the the JEDI Math Library, under the Mozilla Public +License + + - `thread/BlockAllocator.h` - derived from FSB Allocator by Juha +Nieminen, under a BSD-style license + +See individual files for further authorship details. + +If you wish to use this code in a proprietary application or product +for which the terms of the GPL are not appropriate, please contact QM +Innovation https://www.qminnovation.co.uk/ for licensing terms. diff -r 4852840b8a3c -r ae8343f56d77 README.txt --- a/README.txt Tue May 21 13:23:35 2019 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ - -QM-DSP library -============== - -This is a C++ library of functions for DSP and Music Informatics -purposes developed at Queen Mary, University of London. -It is used by the QM Vamp Plugins (q.v.) amongst other things. - -This project: - - https://code.soundsoftware.ac.uk/projects/qm-dsp - -This code is Copyright (c) 2006-2015 Queen Mary, University of London, -with the following exceptions: - -ext/kissfft -- Copyright (c) 2003-2010 Mark Borgerding - -maths/pca.c -- Fionn Murtagh, from StatLib; with permission - -maths/Polyfit.h -- Allen Miller, David J Taylor and others; also for -Delphi in the the JEDI Math Library, under the Mozilla Public License - -thread/BlockAllocator.h -- derived from FSB Allocator by Juha Nieminen, -under BSD-style license - -See individual files for further authorship details. - - -License -======= - -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. See the file -COPYING included with this distribution for more information. - - diff -r 4852840b8a3c -r ae8343f56d77 build/linux/Makefile.linux64 --- a/build/linux/Makefile.linux64 Tue May 21 13:23:35 2019 +0100 +++ b/build/linux/Makefile.linux64 Thu May 23 17:57:57 2019 +0100 @@ -1,7 +1,7 @@ CFLAGS := -DNDEBUG -Wall -Wextra -Werror=implicit-function-declaration -O3 -fPIC -msse -msse2 -mfpmath=sse -ftree-vectorize -DUSE_PTHREADS -CXXFLAGS := $(CFLAGS) +CXXFLAGS := $(CFLAGS) -std=c++98 include build/general/Makefile.inc diff -r 4852840b8a3c -r ae8343f56d77 qm-dsp.pro.user --- a/qm-dsp.pro.user Tue May 21 13:23:35 2019 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ - - - - RunConfiguration0-Arguments - - - - RunConfiguration0-BaseEnvironmentBase - 2 - - - RunConfiguration0-Executable - - - - RunConfiguration0-RunConfiguration.name - Custom Executable - - - RunConfiguration0-UseTerminal - false - - - RunConfiguration0-UserEnvironmentChanges - - - - RunConfiguration0-UserName - - - - RunConfiguration0-UserSetName - false - - - RunConfiguration0-WorkingDirectory - $BUILDDIR - - - RunConfiguration0-type - ProjectExplorer.CustomExecutableRunConfiguration - - - activeRunConfiguration - 0 - - - activebuildconfiguration - Debug - - - buildConfiguration-Debug - - Debug - 0 - 0 - 2 - - - - buildConfiguration-Release - - Release - 0 - 0 - - - - buildconfiguration-Debug-buildstep0 - - Debug - - Apple_PubSub_Socket_Render=/tmp/launch-CVQ5Yw/Render - COMMAND_MODE=unix2003 - DISPLAY=/tmp/launch-7rJXTo/:0 - HOME=/Users/mathieub - LOGNAME=mathieub - PATH=/Developer/Tools/Qt:/usr/bin:/bin:/usr/sbin:/sbin - QTDIR=/usr/local/Qt4.7 - SECURITYSESSIONID=82d590 - SHELL=/bin/bash - SSH_AUTH_SOCK=/tmp/launch-moi9U2/Listeners - TMPDIR=/var/folders/V7/V7hFV43NHuGIiTNXMruZKU+++TM/-Tmp-/ - USER=mathieub - __CF_USER_TEXT_ENCODING=0x1F6:0:0 - - - /Users/mathieub/Data/CODE/qm-dsp/qm-dsp.pro - -spec - macx-g++ - -r - - /usr/bin/qmake - false - /Users/mathieub/Data/CODE/qm-dsp - - - - buildconfiguration-Debug-buildstep1 - - Debug - - Apple_PubSub_Socket_Render=/tmp/launch-CVQ5Yw/Render - COMMAND_MODE=unix2003 - DISPLAY=/tmp/launch-7rJXTo/:0 - HOME=/Users/mathieub - LOGNAME=mathieub - PATH=/Developer/Tools/Qt:/usr/bin:/bin:/usr/sbin:/sbin - QTDIR=/usr/local/Qt4.7 - SECURITYSESSIONID=82d590 - SHELL=/bin/bash - SSH_AUTH_SOCK=/tmp/launch-moi9U2/Listeners - TMPDIR=/var/folders/V7/V7hFV43NHuGIiTNXMruZKU+++TM/-Tmp-/ - USER=mathieub - __CF_USER_TEXT_ENCODING=0x1F6:0:0 - - false - - -w - - /usr/bin/make - true - /Users/mathieub/Data/CODE/qm-dsp - - - - buildconfiguration-Debug-cleanstep0 - - Debug - true - - clean - - - - - buildconfiguration-Release-buildstep0 - - Release - - - - buildconfiguration-Release-buildstep1 - - Release - - - - buildconfiguration-Release-cleanstep0 - - Release - - - - buildconfigurations - - Debug - Release - - - - buildstep0 - - - - - - - buildstep1 - - - - - - buildsteps - - trolltech.qt4projectmanager.qmake - trolltech.qt4projectmanager.make - - - - cleanstep0 - - - true - - - - cleansteps - - trolltech.qt4projectmanager.make - - - - defaultFileEncoding - System - - - project - - -