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