Mercurial > hg > qm-dsp
changeset 447:20e6297c8394
Some notes toward moving primary to Github
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 23 May 2019 15:18:24 +0100 |
parents | 4852840b8a3c |
children | d3b3f07cce2a |
files | CONTRIBUTING.md README.md README.txt build/linux/Makefile.linux64 |
diffstat | 4 files changed, 138 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CONTRIBUTING.md Thu May 23 15:18:24 2019 +0100 @@ -0,0 +1,79 @@ + +Contributing +============ + +The qm-dsp library is currently maintained in a Github repository at +https://github.com/c4dm/qm-dsp. + + +Reporting bugs +-------------- + +Please use the Github repo issue tracker for bug reports. Try to make +them as specific as possible, for example by including some input that +triggers a particular behaviour, and describing 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 +---------- + + * The C++ standard used is C++98, except for the unit test code which + may use up to 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 + + * Always use braces around any conditional block that occupies its + own line + +Some older or contributed code in this library does not follow these +guidelines - usually this means the code needs to be updated. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Thu May 23 15:18:24 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. + +Despite the name "qm-dsp", it is not "the official QM DSP library", +just a library for DSP that happens to have been written at QM. It got +this name by being released publicly first. + +It is used by [QM Vamp Plugins](http://isophonics.net/QMVampPlugins) +amongst other things. + + +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. + + +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. + +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.
--- 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. - -
--- a/build/linux/Makefile.linux64 Tue May 21 13:23:35 2019 +0100 +++ b/build/linux/Makefile.linux64 Thu May 23 15:18:24 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