diff options
Diffstat (limited to 'libs/pbd')
105 files changed, 0 insertions, 26044 deletions
diff --git a/libs/pbd/.cvsignore b/libs/pbd/.cvsignore deleted file mode 100644 index e9a15e81e9..0000000000 --- a/libs/pbd/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -libpbd.pc -libpbd.spec -version.cc -*.os -*.dylib diff --git a/libs/pbd/AUTHORS b/libs/pbd/AUTHORS deleted file mode 100644 index e69de29bb2..0000000000 --- a/libs/pbd/AUTHORS +++ /dev/null diff --git a/libs/pbd/COPYING b/libs/pbd/COPYING deleted file mode 100644 index d60c31a97a..0000000000 --- a/libs/pbd/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/libs/pbd/ChangeLog b/libs/pbd/ChangeLog deleted file mode 100644 index 59e92915ba..0000000000 --- a/libs/pbd/ChangeLog +++ /dev/null @@ -1,10 +0,0 @@ -2005-12-02 Taybin Rutkin <taybin@earthlink.net> - * libpbd now allocates warning, info, error, and fatal itself. - * Incremented version to 3.1. - -2005-04-01 Taybin Rutkin <taybin@earthlink.net> - * Updated to support sigc++-2.0. - * Incremented version to 3.0.0. - -2004-08-04 Taybin Rutkin <taybin@earthlink.net> - * Added support for gcc-3.4 diff --git a/libs/pbd/NEWS b/libs/pbd/NEWS deleted file mode 100644 index e69de29bb2..0000000000 --- a/libs/pbd/NEWS +++ /dev/null diff --git a/libs/pbd/README b/libs/pbd/README deleted file mode 100644 index e69de29bb2..0000000000 --- a/libs/pbd/README +++ /dev/null diff --git a/libs/pbd/SConscript b/libs/pbd/SConscript deleted file mode 100644 index 87173f0874..0000000000 --- a/libs/pbd/SConscript +++ /dev/null @@ -1,80 +0,0 @@ -# -*- python -*- - -import os -import os.path -import glob - -Import('env libraries i18n install_prefix') - -pbd = env.Copy() - -domain = 'libpbd' - -pbd.Append(DOMAIN=domain,MAJOR=4,MINOR=1,MICRO=0) -pbd.Append(CXXFLAGS="-DPACKAGE=\\\"" + domain + "\\\"") -pbd.Append(CXXFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE") -pbd.Append(CXXFLAGS="-DLIBSIGC_DISABLE_DEPRECATED") -pbd.Append(PACKAGE=domain) -pbd.Append(POTFILE=domain + '.pot') - -pbd_files = Split(""" -basename.cc -base_ui.cc -command.cc -convert.cc -controllable.cc -enumwriter.cc -dmalloc.cc -error.cc -filesystem.cc -filesystem_paths.cc -file_utils.cc -fpu.cc -id.cc -mountpoint.cc -pathscanner.cc -pool.cc -pthread_utils.cc -receiver.cc -search_path.cc -shortpath.cc -stacktrace.cc -stateful.cc -strreplace.cc -strsplit.cc -textreceiver.cc -transmitter.cc -undo.cc -version.cc -whitespace.cc -xml++.cc -""") - -conf = Configure(pbd) -if conf.CheckFunc('getmntent'): - conf.env.Append(CCFLAGS="-DHAVE_GETMNTENT") -pbd = conf.Finish() - -pbd.Merge ([ libraries['sigc2'], - libraries['xml'], - libraries['glibmm2'], - libraries['glib2'] ]) - -pbd.VersionBuild(['version.cc','pbd/version.h'], []) - -libpbd = pbd.SharedLibrary('pbd', pbd_files) -Default(libpbd) - -mount_env = Environment(CCFLAGS='-DTEST_MOUNTPOINT -Ilibs/pbd') -mount_env.Program('mountpoint', 'mountpoint.cc') - -if env['NLS']: - i18n (pbd, pbd_files, env) - -env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libpbd)) - -env.Alias('tarball', env.Distribute (env['DISTTREE'], - [ 'SConscript', 'i18n.h', 'gettext.h', 'pbd/abstract_ui.cc' ] + - pbd_files + - glob.glob('po/*.po') + - glob.glob('pbd/*.h'))) diff --git a/libs/pbd/base_ui.cc b/libs/pbd/base_ui.cc deleted file mode 100644 index 94d039ba86..0000000000 --- a/libs/pbd/base_ui.cc +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <cstring> -#include <stdint.h> -#include <unistd.h> -#include <fcntl.h> -#include <errno.h> - -#include <pbd/base_ui.h> -#include <pbd/error.h> -#include <pbd/compose.h> -#include <pbd/failed_constructor.h> - -#include "i18n.h" - -using namespace std; -using namespace PBD; - -uint32_t BaseUI::rt_bit = 1; -BaseUI::RequestType BaseUI::CallSlot = BaseUI::new_request_type(); - -BaseUI::BaseUI (string str, bool with_signal_pipe) - : _name (str) -{ - /* odd pseudo-singleton semantics */ - - base_ui_instance = this; - - signal_pipe[0] = -1; - signal_pipe[1] = -1; - - if (with_signal_pipe) { - if (setup_signal_pipe ()) { - throw failed_constructor (); - } - } -} - -BaseUI::~BaseUI() -{ - if (signal_pipe[0] >= 0) { - close (signal_pipe[0]); - } - - if (signal_pipe[1] >= 0) { - close (signal_pipe[1]); - } -} - -BaseUI::RequestType -BaseUI::new_request_type () -{ - RequestType rt; - - /* XXX catch out-of-range */ - - rt = RequestType (rt_bit); - rt_bit <<= 1; - - return rt; -} - -int -BaseUI::setup_signal_pipe () -{ - /* setup the pipe that other threads send us notifications/requests - through. - */ - - if (pipe (signal_pipe)) { - error << string_compose (_("%1-UI: cannot create error signal pipe (%2)"), _name, std::strerror (errno)) - << endmsg; - - return -1; - } - - if (fcntl (signal_pipe[0], F_SETFL, O_NONBLOCK)) { - error << string_compose (_("%1-UI: cannot set O_NONBLOCK on signal read pipe (%2)"), _name, std::strerror (errno)) - << endmsg; - return -1; - } - - if (fcntl (signal_pipe[1], F_SETFL, O_NONBLOCK)) { - error << string_compose (_("%1-UI: cannot set O_NONBLOCK on signal write pipe (%2)"), _name, std::strerror (errno)) - << endmsg; - return -1; - } - - return 0; -} - diff --git a/libs/pbd/basename.cc b/libs/pbd/basename.cc deleted file mode 100644 index 0b631f4249..0000000000 --- a/libs/pbd/basename.cc +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/basename.h> -#include <glibmm/miscutils.h> - -using Glib::ustring; - -ustring -PBD::basename_nosuffix (ustring str) -{ - ustring base = Glib::path_get_basename (str); - - return base.substr (0, base.find_last_of ('.')); - -} diff --git a/libs/pbd/boost-debug/shared_ptr.hpp b/libs/pbd/boost-debug/shared_ptr.hpp deleted file mode 100644 index 506d11bde5..0000000000 --- a/libs/pbd/boost-debug/shared_ptr.hpp +++ /dev/null @@ -1,491 +0,0 @@ -#define DEBUG_SHARED_PTR -#ifndef DEBUG_SHARED_PTR - -#include <boost/shared_ptr.hpp> - -#else - -#include <pbd/stacktrace.h> - -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED -#define BOOST_SHARED_PTR_HPP_INCLUDED - -// -// shared_ptr.hpp -// -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. -// Copyright (c) 2001, 2002, 2003 Peter Dimov -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation. -// - -#include <pbd/stacktrace.h> - -#include <boost/config.hpp> // for broken compiler workarounds - -#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -#include <boost/detail/shared_ptr_nmt.hpp> -#else - -#include <boost/assert.hpp> -#include <boost/checked_delete.hpp> -#include <boost/throw_exception.hpp> -#include <boost/detail/shared_count.hpp> -#include <boost/detail/workaround.hpp> - -#include <memory> // for std::auto_ptr -#include <algorithm> // for std::swap -#include <functional> // for std::less -#include <typeinfo> // for std::bad_cast -#include <iosfwd> // for std::basic_ostream - -#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash -# pragma warning(push) -# pragma warning(disable:4284) // odd return type for operator-> -#endif - -namespace boost -{ - -template<class T> class weak_ptr; -template<class T> class enable_shared_from_this; - -namespace detail -{ - -struct static_cast_tag {}; -struct const_cast_tag {}; -struct dynamic_cast_tag {}; -struct polymorphic_cast_tag {}; - -template<class T> struct shared_ptr_traits -{ - typedef T & reference; -}; - -template<> struct shared_ptr_traits<void> -{ - typedef void reference; -}; - -#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) - -template<> struct shared_ptr_traits<void const> -{ - typedef void reference; -}; - -template<> struct shared_ptr_traits<void volatile> -{ - typedef void reference; -}; - -template<> struct shared_ptr_traits<void const volatile> -{ - typedef void reference; -}; - -#endif - -// enable_shared_from_this support - -template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, boost::enable_shared_from_this<T> const * pe, Y const * px ) -{ - if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn); -} - -inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... ) -{ -} - -} // namespace detail - - -// -// shared_ptr -// -// An enhanced relative of scoped_ptr with reference counted copy semantics. -// The object pointed to is deleted when the last shared_ptr pointing to it -// is destroyed or reset. -// - -template<class T> class shared_ptr -{ -private: - - // Borland 5.5.1 specific workaround - typedef shared_ptr<T> this_type; - -public: - - typedef T element_type; - typedef T value_type; - typedef T * pointer; - typedef typename detail::shared_ptr_traits<T>::reference reference; - - shared_ptr(): px(0), pn() // never throws in 1.30+ - { - } - - template<class Y> - explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete - { - detail::sp_enable_shared_from_this( pn, p, p ); - } - - // - // Requirements: D's copy constructor must not throw - // - // shared_ptr will release p by calling d(p) - // - - template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d) - { - detail::sp_enable_shared_from_this( pn, p, p ); - } - -// generated copy constructor, assignment, destructor are fine... - -// except that Borland C++ has a bug, and g++ with -Wsynth warns -#if defined(__BORLANDC__) || defined(__GNUC__) - - shared_ptr & operator=(shared_ptr const & r) // never throws - { - px = r.px; - pn = r.pn; // shared_count::op= doesn't throw - return *this; - } - -#endif - - template<class Y> - explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw - { - // it is now safe to copy r.px, as pn(r.pn) did not throw - px = r.px; - } - - template<class Y> - shared_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws - { - } - - template<class Y> - shared_ptr(shared_ptr<Y> const & r, detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn) - { - } - - template<class Y> - shared_ptr(shared_ptr<Y> const & r, detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn) - { - } - - template<class Y> - shared_ptr(shared_ptr<Y> const & r, detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn) - { - if(px == 0) // need to allocate new counter -- the cast failed - { - pn = detail::shared_count(); - } - } - - template<class Y> - shared_ptr(shared_ptr<Y> const & r, detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn) - { - if(px == 0) - { - boost::throw_exception(std::bad_cast()); - } - } - -#ifndef BOOST_NO_AUTO_PTR - - template<class Y> - explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn() - { - Y * tmp = r.get(); - pn = detail::shared_count(r); - detail::sp_enable_shared_from_this( pn, tmp, tmp ); - } - -#endif - -#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200) - - template<class Y> - shared_ptr & operator=(shared_ptr<Y> const & r) // never throws - { - px = r.px; - pn = r.pn; // shared_count::op= doesn't throw - return *this; - } - -#endif - -#ifndef BOOST_NO_AUTO_PTR - - template<class Y> - shared_ptr & operator=(std::auto_ptr<Y> & r) - { - this_type(r).swap(*this); - return *this; - } - -#endif - - void reset() // never throws in 1.30+ - { - this_type().swap(*this); - } - - template<class Y> void reset(Y * p) // Y must be complete - { - BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors - this_type(p).swap(*this); - } - - template<class Y, class D> void reset(Y * p, D d) - { - this_type(p, d).swap(*this); - } - - reference operator* () const // never throws - { - BOOST_ASSERT(px != 0); - return *px; - } - - T * operator-> () const // never throws - { - BOOST_ASSERT(px != 0); - return px; - } - - T * get() const // never throws - { - return px; - } - - // implicit conversion to "bool" - -#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530) - - operator bool () const - { - return px != 0; - } - -#elif \ - ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \ - ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) - - typedef T * (this_type::*unspecified_bool_type)() const; - - operator unspecified_bool_type() const // never throws - { - return px == 0? 0: &this_type::get; - } - -#else - - typedef T * this_type::*unspecified_bool_type; - - operator unspecified_bool_type() const // never throws - { - return px == 0? 0: &this_type::px; - } - -#endif - - // operator! is redundant, but some compilers need it - - bool operator! () const // never throws - { - return px == 0; - } - - bool unique() const // never throws - { - return pn.unique(); - } - - long use_count() const // never throws - { - return pn.use_count(); - } - - void swap(shared_ptr<T> & other) // never throws - { - std::swap(px, other.px); - pn.swap(other.pn); - } - - template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const - { - return pn < rhs.pn; - } - - void * _internal_get_deleter(std::type_info const & ti) const - { - return pn.get_deleter(ti); - } - -// Tasteless as this may seem, making all members public allows member templates -// to work in the absence of member template friends. (Matthew Langston) - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - -private: - - template<class Y> friend class shared_ptr; - template<class Y> friend class weak_ptr; - -#endif - - T * px; // contained pointer - detail::shared_count pn; // reference counter - typename PBD::thing_with_backtrace<T> bt; // backtrace - -}; // shared_ptr - -template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) -{ - return a.get() == b.get(); -} - -template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) -{ - return a.get() != b.get(); -} - -#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96 - -// Resolve the ambiguity between our op!= and the one in rel_ops - -template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b) -{ - return a.get() != b.get(); -} - -#endif - -template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) -{ - return a._internal_less(b); -} - -template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b) -{ - a.swap(b); -} - -template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::static_cast_tag()); -} - -template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::const_cast_tag()); -} - -template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::dynamic_cast_tag()); -} - -// shared_*_cast names are deprecated. Use *_pointer_cast instead. - -template<class T, class U> shared_ptr<T> shared_static_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::static_cast_tag()); -} - -template<class T, class U> shared_ptr<T> shared_dynamic_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::dynamic_cast_tag()); -} - -template<class T, class U> shared_ptr<T> shared_polymorphic_cast(shared_ptr<U> const & r) -{ - return shared_ptr<T>(r, detail::polymorphic_cast_tag()); -} - -template<class T, class U> shared_ptr<T> shared_polymorphic_downcast(shared_ptr<U> const & r) -{ - BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get()); - return shared_static_cast<T>(r); -} - -// get_pointer() enables boost::mem_fn to recognize shared_ptr - -template<class T> inline T * get_pointer(shared_ptr<T> const & p) -{ - return p.get(); -} - -// operator<< - -#if defined(__GNUC__) && (__GNUC__ < 3) - -template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p) -{ - os << p.get(); - return os; -} - -#else - -# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1200 && __SGI_STL_PORT) -// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL -using std::basic_ostream; -template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p) -# else -template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p) -# endif -{ - os << p.get(); - return os; -} - -#endif - -// get_deleter (experimental) - -#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \ - ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \ - ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) ) - -// g++ 2.9x doesn't allow static_cast<X const *>(void *) -// apparently EDG 2.38 and HP aCC A.03.35 also don't accept it - -template<class D, class T> D * get_deleter(shared_ptr<T> const & p) -{ - void const * q = p._internal_get_deleter(typeid(D)); - return const_cast<D *>(static_cast<D const *>(q)); -} - -#else - -template<class D, class T> D * get_deleter(shared_ptr<T> const & p) -{ - return static_cast<D *>(p._internal_get_deleter(typeid(D))); -} - -#endif - -} // namespace boost - -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) - -#endif // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED - -#endif // #ifndef DEBUG_SHARED_PTR diff --git a/libs/pbd/command.cc b/libs/pbd/command.cc deleted file mode 100644 index 011534a662..0000000000 --- a/libs/pbd/command.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/command.h> -#include <pbd/xml++.h> - - -XMLNode &Command::get_state() -{ - XMLNode *node = new XMLNode ("Command"); - node->add_content("WARNING: Somebody forgot to subclass Command."); - return *node; -} diff --git a/libs/pbd/controllable.cc b/libs/pbd/controllable.cc deleted file mode 100644 index c15b7a8cf2..0000000000 --- a/libs/pbd/controllable.cc +++ /dev/null @@ -1,118 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/controllable.h> -#include <pbd/xml++.h> -#include <pbd/error.h> - -#include "i18n.h" - -using namespace PBD; - -sigc::signal<void,Controllable*> Controllable::Destroyed; -sigc::signal<bool,Controllable*> Controllable::StartLearning; -sigc::signal<void,Controllable*> Controllable::StopLearning; -sigc::signal<void,Controllable*,int,int> Controllable::CreateBinding; -sigc::signal<void,Controllable*> Controllable::DeleteBinding; - -Glib::Mutex* Controllable::registry_lock = 0; -Controllable::Controllables Controllable::registry; - -Controllable::Controllable (std::string name) - : _name (name) -{ - if (registry_lock == 0) { - registry_lock = new Glib::Mutex; - } - - add (); -} - -void -Controllable::add () -{ - Glib::Mutex::Lock lm (*registry_lock); - registry.insert (this); - this->GoingAway.connect (mem_fun (this, &Controllable::remove)); -} - -void -Controllable::remove () -{ - Glib::Mutex::Lock lm (*registry_lock); - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i) == this) { - registry.erase (i); - break; - } - } -} - -Controllable* -Controllable::by_id (const ID& id) -{ - Glib::Mutex::Lock lm (*registry_lock); - - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i)->id() == id) { - return (*i); - } - } - return 0; -} - - -Controllable* -Controllable::by_name (const std::string& str) -{ - Glib::Mutex::Lock lm (*registry_lock); - - for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i)->_name == str) { - return (*i); - } - } - return 0; -} - -XMLNode& -Controllable::get_state () -{ - XMLNode* node = new XMLNode (X_("controllable")); - char buf[64]; - - node->add_property (X_("name"), _name); // not reloaded from XML state, just there to look at - _id.print (buf, sizeof (buf)); - node->add_property (X_("id"), buf); - return *node; -} - -int -Controllable::set_state (const XMLNode& node) -{ - const XMLProperty* prop = node.property (X_("id")); - - if (prop) { - _id = prop->value(); - return 0; - } else { - error << _("Controllable state node has no ID property") << endmsg; - return -1; - } -} diff --git a/libs/pbd/convert.cc b/libs/pbd/convert.cc deleted file mode 100644 index fc84bbad5e..0000000000 --- a/libs/pbd/convert.cc +++ /dev/null @@ -1,301 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <cmath> -#include <stdint.h> -#include <stdlib.h> -#ifndef __STDC_FORMAT_MACROS -#define __STDC_FORMAT_MACROS -#endif -#include <inttypes.h> - -#include "pbd/convert.h" - -#include "i18n.h" - -using std::string; -using std::vector; -using Glib::ustring; - -namespace PBD { - -string -short_version (string orig, string::size_type target_length) -{ - /* this tries to create a recognizable abbreviation - of "orig" by removing characters until we meet - a certain target length. - - note that we deliberately leave digits in the result - without modification. - */ - - - string::size_type pos; - - /* remove white-space and punctuation, starting at end */ - - while (orig.length() > target_length) { - if ((pos = orig.find_last_of (_("\"\n\t ,<.>/?:;'[{}]~`!@#$%^&*()_-+="))) == string::npos) { - break; - } - orig.replace (pos, 1, ""); - } - - /* remove lower-case vowels, starting at end */ - - while (orig.length() > target_length) { - if ((pos = orig.find_last_of (_("aeiou"))) == string::npos) { - break; - } - orig.replace (pos, 1, ""); - } - - /* remove upper-case vowels, starting at end */ - - while (orig.length() > target_length) { - if ((pos = orig.find_last_of (_("AEIOU"))) == string::npos) { - break; - } - orig.replace (pos, 1, ""); - } - - /* remove lower-case consonants, starting at end */ - - while (orig.length() > target_length) { - if ((pos = orig.find_last_of (_("bcdfghjklmnpqrtvwxyz"))) == string::npos) { - break; - } - orig.replace (pos, 1, ""); - } - - /* remove upper-case consonants, starting at end */ - - while (orig.length() > target_length) { - if ((pos = orig.find_last_of (_("BCDFGHJKLMNPQRTVWXYZ"))) == string::npos) { - break; - } - orig.replace (pos, 1, ""); - } - - /* whatever the length is now, use it */ - - return orig; -} - -int -atoi (const string& s) -{ - return ::atoi (s.c_str()); -} - -double -atof (const string& s) -{ - return ::atof (s.c_str()); -} - -vector<string> -internationalize (const char *package_name, const char **array) -{ - vector<string> v; - - for (uint32_t i = 0; array[i]; ++i) { - v.push_back (dgettext(package_name, array[i])); - } - - return v; -} - -static int32_t -int_from_hex (char hic, char loc) -{ - int hi; /* hi byte */ - int lo; /* low byte */ - - hi = (int) hic; - - if( ('0'<=hi) && (hi<='9') ) { - hi -= '0'; - } else if( ('a'<= hi) && (hi<= 'f') ) { - hi -= ('a'-10); - } else if( ('A'<=hi) && (hi<='F') ) { - hi -= ('A'-10); - } - - lo = (int) loc; - - if( ('0'<=lo) && (lo<='9') ) { - lo -= '0'; - } else if( ('a'<=lo) && (lo<='f') ) { - lo -= ('a'-10); - } else if( ('A'<=lo) && (lo<='F') ) { - lo -= ('A'-10); - } - - return lo + (16 * hi); -} - -void -url_decode (string& url) -{ - string::iterator last; - string::iterator next; - - for (string::iterator i = url.begin(); i != url.end(); ++i) { - if ((*i) == '+') { - *i = ' '; - } - } - - if (url.length() <= 3) { - return; - } - - last = url.end(); - - --last; /* points at last char */ - --last; /* points at last char - 1 */ - - for (string::iterator i = url.begin(); i != last; ) { - - if (*i == '%') { - - next = i; - - url.erase (i); - - i = next; - ++next; - - if (isxdigit (*i) && isxdigit (*next)) { - /* replace first digit with char */ - *i = int_from_hex (*i,*next); - ++i; /* points at 2nd of 2 digits */ - url.erase (i); - } - } else { - ++i; - } - } -} - -void -url_decode (ustring& url) -{ - ustring::iterator last; - ustring::iterator next; - - for (ustring::iterator i = url.begin(); i != url.end(); ++i) { - if ((*i) == '+') { - next = i; - ++next; - url.replace (i, next, 1, ' '); - } - } - - if (url.length() <= 3) { - return; - } - - last = url.end(); - - --last; /* points at last char */ - --last; /* points at last char - 1 */ - - for (ustring::iterator i = url.begin(); i != last; ) { - - if (*i == '%') { - - next = i; - - url.erase (i); - - i = next; - ++next; - - if (isxdigit (*i) && isxdigit (*next)) { - /* replace first digit with char */ - url.replace (i, next, 1, (gunichar) int_from_hex (*i,*next)); - ++i; /* points at 2nd of 2 digits */ - url.erase (i); - } - } else { - ++i; - } - } -} - -#if 0 -string -length2string (const int32_t frames, const float sample_rate) -{ - int32_t secs = (int32_t) (frames / sample_rate); - int32_t hrs = secs / 3600; - secs -= (hrs * 3600); - int32_t mins = secs / 60; - secs -= (mins * 60); - - int32_t total_secs = (hrs * 3600) + (mins * 60) + secs; - int32_t frames_remaining = (int) floor (frames - (total_secs * sample_rate)); - float fractional_secs = (float) frames_remaining / sample_rate; - - char duration_str[32]; - sprintf (duration_str, "%02" PRIi32 ":%02" PRIi32 ":%05.2f", hrs, mins, (float) secs + fractional_secs); - - return duration_str; -} -#endif - -string -length2string (const int64_t frames, const double sample_rate) -{ - int64_t secs = (int64_t) floor (frames / sample_rate); - int64_t hrs = secs / 3600LL; - secs -= (hrs * 3600LL); - int64_t mins = secs / 60LL; - secs -= (mins * 60LL); - - int64_t total_secs = (hrs * 3600LL) + (mins * 60LL) + secs; - int64_t frames_remaining = (int64_t) floor (frames - (total_secs * sample_rate)); - float fractional_secs = (float) frames_remaining / sample_rate; - - char duration_str[64]; - sprintf (duration_str, "%02" PRIi64 ":%02" PRIi64 ":%05.2f", hrs, mins, (float) secs + fractional_secs); - - return duration_str; -} -static bool -chars_equal_ignore_case(char x, char y) -{ - static std::locale loc; - return toupper(x, loc) == toupper(y, loc); -} - -bool -strings_equal_ignore_case (const string& a, const string& b) -{ - if (a.length() == b.length()) { - return std::equal (a.begin(), a.end(), b.begin(), chars_equal_ignore_case); - } - return false; -} - - -} // namespace PBD diff --git a/libs/pbd/dmalloc.cc b/libs/pbd/dmalloc.cc deleted file mode 100644 index 0e730946c8..0000000000 --- a/libs/pbd/dmalloc.cc +++ /dev/null @@ -1,102 +0,0 @@ -/* - * file that facilitates C++ program debugging. - * - * Copyright 1995 by Gray Watson - * - * This file is part of the dmalloc package. - * - * Permission to use, copy, modify, and distribute this software for any - * NON-COMMERCIAL purpose and without fee is hereby granted, provided - * that the above copyright notice and this permission notice appear - * in all copies, and that the name of Gray Watson not be used in - * advertising or publicity pertaining to distribution of the document - * or software without specific, written prior permission. - * - * Please see the PERMISSIONS file or contact the author for information - * about commercial licenses. - * - * Gray Watson makes no representations about the suitability of the - * software described herein for any purpose. It is provided "as is" - * without express or implied warranty. - * - * The author may be contacted via http://www.letters.com/~gray/ - * - * $Id$ - */ - -/* - * This file is used to effectively redirect new to the more familiar - * malloc and delete to the more familiar free so they can be debugged - * with the debug malloc library.. They also give the known error - * behavior, too. - * - * Compile and link this in with the C++ program you want to debug. - * - * NOTE: I am not a C++ hacker so feedback in the form of other hints - * and ideas for C++ users would be much appreciated. - */ - -#ifdef DEBUG_MALLOC - -extern "C" { -#include <stdlib.h> -#include <dmalloc.h> -#include "/usr/local/src/dmalloc-4.1.2/return.h" -} - -/* - * An overload function for the C++ new. - */ -void * -operator new(size_t size) -{ - char *file; - GET_RET_ADDR(file); - - /* handle correct C++ semantics for an alloc of size 0 */ - - if (size == 0) size = 1; - - return _malloc_leap(file, 0, size); -} - -/* - * An overload function for the C++ new[]. - */ -void * -operator new[](size_t size) -{ - char *file; - GET_RET_ADDR(file); - - /* handle correct C++ semantics for an alloc of size 0 */ - - if (size == 0) size = 1; - - return _malloc_leap(file, 0, size); -} - -/* - * An overload function for the C++ delete. - */ -void -operator delete(void *pnt) -{ - char *file; - GET_RET_ADDR(file); - _free_leap(file, 0, pnt); -} - -/* - * An overload function for the C++ delete[]. Thanks to Jens Krinke - * <j.krinke@gmx.de> - */ -void -operator delete[](void *pnt) -{ - char *file; - GET_RET_ADDR(file); - _free_leap(file, 0, pnt); -} - -#endif diff --git a/libs/pbd/enumwriter.cc b/libs/pbd/enumwriter.cc deleted file mode 100644 index 7674410ec9..0000000000 --- a/libs/pbd/enumwriter.cc +++ /dev/null @@ -1,273 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <ctype.h> - -#include <string.h> -#include <stdlib.h> - -#include <pbd/enumwriter.h> -#include <pbd/error.h> -#include <pbd/compose.h> - -using namespace std; -using namespace PBD; - -#include "i18n.h" - -EnumWriter* EnumWriter::_instance = 0; -map<string,string> EnumWriter::hack_table; - -static int -nocase_cmp(const string & s1, const string& s2) -{ - string::const_iterator it1 = s1.begin(); - string::const_iterator it2 = s2.begin(); - - while ((it1 != s1.end()) && (it2 != s2.end())) { - if(::toupper(*it1) != ::toupper(*it2)) {//letters differ? - // return -1 to indicate 'smaller than', 1 otherwise - return (::toupper(*it1) < ::toupper(*it2)) ? -1 : 1; - } - - ++it1; - ++it2; - } - - string::size_type size1 = s1.size(); - string::size_type size2 = s2.size(); - - //return -1,0 or 1 according to strings' lengths - - if (size1 == size2) { - return 0; - } - - return (size1 < size2) ? -1 : 1; -} - -EnumWriter::EnumWriter () -{ - if (_instance == 0) { - _instance = this; - } -} - -EnumWriter::~EnumWriter () -{ -} - -void -EnumWriter::register_distinct (string type, vector<int> v, vector<string> s) -{ - pair<string,EnumRegistration> newpair; - pair<Registry::iterator,bool> result; - - newpair.first = type; - newpair.second = EnumRegistration (v, s, false); - - result = registry.insert (newpair); - - if (!result.second) { - warning << string_compose (_("enum type \"%1\" already registered with the enum writer"), type) << endmsg; - } -} - -void -EnumWriter::register_bits (string type, vector<int> v, vector<string> s) -{ - pair<string,EnumRegistration> newpair; - pair<Registry::iterator,bool> result; - - newpair.first = type; - newpair.second = EnumRegistration (v, s, true); - - result = registry.insert (newpair); - - if (!result.second) { - warning << _("enum type \"%1\" already registered with the enum writer") << endmsg; - } -} - -string -EnumWriter::write (string type, int value) -{ - Registry::iterator x = registry.find (type); - - if (x == registry.end()) { - error << string_compose (_("EnumWriter: unknown enumeration type \"%1\""), type) << endmsg; - throw unknown_enumeration(); - } - - if (x->second.bitwise) { - return write_bits (x->second, value); - } else { - return write_distinct (x->second, value); - } -} - -int -EnumWriter::read (string type, string value) -{ - Registry::iterator x = registry.find (type); - - if (x == registry.end()) { - error << string_compose (_("EnumWriter: unknown enumeration type \"%1\""), type) << endmsg; - throw unknown_enumeration(); - } - - if (x->second.bitwise) { - return read_bits (x->second, value); - } else { - return read_distinct (x->second, value); - } -} - -string -EnumWriter::write_bits (EnumRegistration& er, int value) -{ - vector<int>::iterator i; - vector<string>::iterator s; - string result; - - for (i = er.values.begin(), s = er.names.begin(); i != er.values.end(); ++i, ++s) { - if (value & (*i)) { - if (!result.empty()) { - result += ','; - } - result += (*s); - } - } - - return result; -} - -string -EnumWriter::write_distinct (EnumRegistration& er, int value) -{ - vector<int>::iterator i; - vector<string>::iterator s; - - for (i = er.values.begin(), s = er.names.begin(); i != er.values.end(); ++i, ++s) { - if (value == (*i)) { - return (*s); - } - } - - return string(); -} - -int -EnumWriter::read_bits (EnumRegistration& er, string str) -{ - vector<int>::iterator i; - vector<string>::iterator s; - int result = 0; - bool found = false; - string::size_type comma; - - /* catch old-style hex numerics */ - - if (str.length() > 2 && str[0] == '0' && str[1] == 'x') { - return strtol (str.c_str(), (char **) 0, 16); - } - - /* catch old style dec numerics */ - - if (strspn (str.c_str(), "0123456789") == str.length()) { - return strtol (str.c_str(), (char **) 0, 10); - } - - do { - - comma = str.find_first_of (','); - string segment = str.substr (0, comma); - - for (i = er.values.begin(), s = er.names.begin(); i != er.values.end(); ++i, ++s) { - if (segment == *s || nocase_cmp (segment, *s) == 0) { - result |= (*i); - found = true; - } - } - - if (comma == string::npos) { - break; - } - - str = str.substr (comma+1); - - } while (true); - - if (!found) { - throw unknown_enumeration(); - } - - return result; -} - -int -EnumWriter::read_distinct (EnumRegistration& er, string str) -{ - vector<int>::iterator i; - vector<string>::iterator s; - - /* catch old-style hex numerics */ - - if (str.length() > 2 && str[0] == '0' && str[1] == 'x') { - return strtol (str.c_str(), (char **) 0, 16); - } - - /* catch old style dec numerics */ - - if (strspn (str.c_str(), "0123456789") == str.length()) { - return strtol (str.c_str(), (char **) 0, 10); - } - - for (i = er.values.begin(), s = er.names.begin(); i != er.values.end(); ++i, ++s) { - if (str == (*s) || nocase_cmp (str, *s) == 0) { - return (*i); - } - } - - /* failed to find it as-is. check to see if there a hack for the name we're looking up */ - - map<string,string>::iterator x; - - if ((x = hack_table.find (str)) != hack_table.end()) { - - cerr << "found hack for " << str << " = " << x->second << endl; - - str = x->second; - - for (i = er.values.begin(), s = er.names.begin(); i != er.values.end(); ++i, ++s) { - if (str == (*s) || nocase_cmp (str, *s) == 0) { - return (*i); - } - } - } - - throw unknown_enumeration(); -} - -void -EnumWriter::add_to_hack_table (string str, string hacked) -{ - hack_table[str] = hacked; -} diff --git a/libs/pbd/error.cc b/libs/pbd/error.cc deleted file mode 100644 index f3568d0877..0000000000 --- a/libs/pbd/error.cc +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/error.h> - -Transmitter PBD::error (Transmitter::Error); -Transmitter PBD::info (Transmitter::Info); -Transmitter PBD::fatal (Transmitter::Fatal); -Transmitter PBD::warning (Transmitter::Warning); - diff --git a/libs/pbd/file_utils.cc b/libs/pbd/file_utils.cc deleted file mode 100644 index f8dfe269c5..0000000000 --- a/libs/pbd/file_utils.cc +++ /dev/null @@ -1,126 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <algorithm> - -#include <glibmm/fileutils.h> -#include <glibmm/pattern.h> - -#include <pbd/compose.h> -#include <pbd/file_utils.h> - -#include <pbd/error.h> - -namespace PBD { - -void -get_files_in_directory (const sys::path& directory_path, vector<string>& result) -{ - if (!is_directory(directory_path)) return; - - try - { - Glib::Dir dir(directory_path.to_string()); - std::copy(dir.begin(), dir.end(), std::back_inserter(result)); - } - catch (Glib::FileError& err) - { - warning << err.what() << endmsg; - } -} - -void -find_matching_files_in_directory (const sys::path& directory, - const Glib::PatternSpec& pattern, - vector<sys::path>& result) -{ - vector<string> tmp_files; - - get_files_in_directory (directory, tmp_files); - - for (vector<string>::iterator file_iter = tmp_files.begin(); - file_iter != tmp_files.end(); - ++file_iter) - { - if (!pattern.match(*file_iter)) continue; - - sys::path full_path(directory); - full_path /= *file_iter; - - result.push_back(full_path); - } -} - -void -find_matching_files_in_directories (const vector<sys::path>& paths, - const Glib::PatternSpec& pattern, - vector<sys::path>& result) -{ - for (vector<sys::path>::const_iterator path_iter = paths.begin(); - path_iter != paths.end(); - ++path_iter) - { - find_matching_files_in_directory (*path_iter, pattern, result); - } -} - -void -find_matching_files_in_search_path (const SearchPath& search_path, - const Glib::PatternSpec& pattern, - vector<sys::path>& result) -{ - vector<sys::path> dirs; - std::copy(search_path.begin(), search_path.end(), std::back_inserter(dirs)); - find_matching_files_in_directories (dirs, pattern, result); -} - -bool -find_file_in_search_path(const SearchPath& search_path, - const string& filename, - sys::path& result) -{ - vector<sys::path> tmp; - Glib::PatternSpec tmp_pattern(filename); - - find_matching_files_in_search_path (search_path, tmp_pattern, tmp); - - if (tmp.size() == 0) - { - return false; - } - -#if 0 - if (tmp.size() != 1) - { - info << string_compose - ( - "Found more than one file matching %1 in search path %2", - filename, - search_path.to_string () - ) - << endmsg; - } -#endif - - result = tmp.front(); - - return true; -} - -} // namespace PBD diff --git a/libs/pbd/filesystem.cc b/libs/pbd/filesystem.cc deleted file mode 100644 index 84d18cfcd2..0000000000 --- a/libs/pbd/filesystem.cc +++ /dev/null @@ -1,201 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include <sys/stat.h> - -#include <glib.h> -#include <glib/gstdio.h> - -#include <cerrno> -#include <fstream> - -#include <glibmm/fileutils.h> -#include <glibmm/miscutils.h> - -#include <pbd/filesystem.h> -#include <pbd/error.h> -#include <pbd/compose.h> - -#include "i18n.h" - -namespace PBD { - -namespace sys { - -path& -path::operator/=(const path& rhs) -{ - m_path = Glib::build_filename(m_path, rhs.m_path); - return *this; -} - -path& -path::operator/=(const string& rhs) -{ - m_path = Glib::build_filename(m_path, rhs); - return *this; -} - -path& -path::operator/=(const char* rhs) -{ - m_path = Glib::build_filename(m_path, rhs); - return *this; -} - -string -path::leaf () const -{ - return Glib::path_get_basename(m_path); -} - -path -path::branch_path () const -{ - string dir = Glib::path_get_dirname (m_path); - - /* - * glib returns "." to signify that the path - * has no directory components(branch path) - * whereas boost::filesystem returns an empty - * string - */ - if(dir == ".") - { - return ""; - } - return dir; -} - -bool -exists (const path & p) -{ - return Glib::file_test (p.to_string(), Glib::FILE_TEST_EXISTS); -} - -bool -is_directory (const path & p) -{ - return Glib::file_test (p.to_string(), Glib::FILE_TEST_IS_DIR); -} - -bool -create_directory(const path & p) -{ - if(is_directory(p)) return false; - - int error = g_mkdir (p.to_string().c_str(), S_IRWXU|S_IRWXG|S_IRWXO); - - if(error == -1) - { - throw filesystem_error(g_strerror(errno), errno); - } - return true; -} - -bool -create_directories(const path & p) -{ - if(is_directory(p)) return false; - - int error = g_mkdir_with_parents (p.to_string().c_str(), S_IRWXU|S_IRWXG|S_IRWXO); - - if(error == -1) - { - throw filesystem_error(g_strerror(errno), errno); - } - return true; -} - -bool -remove(const path & p) -{ - if(!exists(p)) return false; - - int error = g_unlink (p.to_string().c_str()); - - if(error == -1) - { - throw filesystem_error(g_strerror(errno), errno); - } - return true; -} - -void -rename (const path & from_path, const path & to_path) -{ - // g_rename is a macro that evaluates to ::rename on - // POSIX systems, without the global namespace qualifier - // it would evaluate to a recursive call(if it compiled) - if ( ::g_rename( from_path.to_string().c_str(), - to_path.to_string().c_str() ) == -1 ) - { - throw filesystem_error(g_strerror(errno), errno); - } -} - -// XXX character encoding. -void -copy_file(const path & from_path, const path & to_path) -{ - std::ifstream in(from_path.to_string().c_str()); - std::ofstream out(to_path.to_string().c_str()); - - if (!in || !out) { - throw filesystem_error(string_compose(_("Could not open files %1 and %2 for copying"), - from_path.to_string(), to_path.to_string())); - } - - out << in.rdbuf(); - - if (!in || !out) { - remove (to_path); - throw filesystem_error(string_compose(_("Could not copy existing file %1 to %2"), - from_path.to_string(), to_path.to_string())); - } -} - -string -basename (const path & p) -{ - string base(p.leaf()); - - string::size_type n = base.rfind ('.'); - - return base.substr (0, n); -} - -string -extension (const path & p) -{ - string base(p.leaf()); - - string::size_type n = base.rfind ('.'); - - if (n != string::npos) - { - return base.substr(n); - } - - return string(); - -} - -} // namespace sys - -} // namespace PBD diff --git a/libs/pbd/filesystem_paths.cc b/libs/pbd/filesystem_paths.cc deleted file mode 100644 index 6846cb5aa5..0000000000 --- a/libs/pbd/filesystem_paths.cc +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include <glib.h> - -#include <pbd/filesystem_paths.h> - -namespace PBD { - -vector<sys::path> -system_data_directories () -{ - vector<sys::path> tmp; - const char * const * dirs; - - dirs = g_get_system_data_dirs (); - - if (dirs == NULL) return tmp; - - for (int i = 0; dirs[i] != NULL; ++i) - { - tmp.push_back(dirs[i]); - } - - return tmp; -} - -vector<sys::path> -system_config_directories () -{ - vector<sys::path> tmp; - const char * const * dirs; - - dirs = g_get_system_config_dirs (); - - if (dirs == NULL) return tmp; - - for (int i = 0; dirs[i] != NULL; ++i) - { - tmp.push_back(dirs[i]); - } - - return tmp; -} - -} // namespace PBD diff --git a/libs/pbd/fpu.cc b/libs/pbd/fpu.cc deleted file mode 100644 index f6850a57dc..0000000000 --- a/libs/pbd/fpu.cc +++ /dev/null @@ -1,97 +0,0 @@ -#define _XOPEN_SOURCE 600 -#include <stdlib.h> -#include <stdint.h> - -#include <pbd/fpu.h> -#include <pbd/error.h> - -#include "i18n.h" - -using namespace PBD; -using namespace std; - -FPU::FPU () -{ - unsigned long cpuflags = 0; - - _flags = Flags (0); - -#ifndef ARCH_X86 - return; -#endif - -#ifndef USE_X86_64_ASM - asm volatile ( - "mov $1, %%eax\n" - "pushl %%ebx\n" - "cpuid\n" - "movl %%edx, %0\n" - "popl %%ebx\n" - : "=r" (cpuflags) - : - : "%eax", "%ecx", "%edx", "memory" - ); - -#else - - asm volatile ( - "pushq %%rbx\n" - "movq $1, %%rax\n" - "cpuid\n" - "movq %%rdx, %0\n" - "popq %%rbx\n" - : "=r" (cpuflags) - : - : "%rax", "%rcx", "%rdx", "memory" - ); - -#endif /* USE_X86_64_ASM */ - - if (cpuflags & (1<<25)) { - _flags = Flags (_flags | (HasSSE|HasFlushToZero)); - } - - if (cpuflags & (1<<26)) { - _flags = Flags (_flags | HasSSE2); - } - - if (cpuflags & (1 << 24)) { - - char* fxbuf = 0; - -#ifdef NO_POSIX_MEMALIGN - if ((fxbuf = (char *) malloc(512)) == 0) -#else - if (posix_memalign ((void**)&fxbuf, 16, 512)) -#endif - { - error << _("cannot allocate 16 byte aligned buffer for h/w feature detection") << endmsg; - } else { - - asm volatile ( - "fxsave (%0)" - : - : "r" (fxbuf) - : "memory" - ); - - uint32_t mxcsr_mask = *((uint32_t*) &fxbuf[28]); - - /* if the mask is zero, set its default value (from intel specs) */ - - if (mxcsr_mask == 0) { - mxcsr_mask = 0xffbf; - } - - if (mxcsr_mask & (1<<6)) { - _flags = Flags (_flags | HasDenormalsAreZero); - } - - free (fxbuf); - } - } -} - -FPU::~FPU () -{ -} diff --git a/libs/pbd/gettext.h b/libs/pbd/gettext.h deleted file mode 100644 index 339c74ffe7..0000000000 --- a/libs/pbd/gettext.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Convenience header for conditional use of GNU <libintl.h>. - Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include <libintl.h> - -#else - -/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which - chokes if dcgettext is defined as a macro. So include it now, to make - later inclusions of <locale.h> a NOP. We don't include <libintl.h> - as well because people using "gettext.h" will not include <libintl.h>, - and also including <libintl.h> would fail on SunOS 4, whereas <locale.h> - is OK. */ -#if defined(__sun) -# include <locale.h> -#endif - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to - contain "#define const". */ - -/* other headers may have included libintl.h */ - -# undef gettext -# undef dgettext -# undef dcgettext -# undef ngettext -# undef dngettext -# undef dcngettext -# undef textdomain -# undef bindtextdomain -# undef bind_textdomain_codeset - -# define gettext(Msgid) ((const char *) (Msgid)) -# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) -# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define textdomain(Domainname) ((const char *) (Domainname)) -# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) -# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) - -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strings - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -#endif /* _LIBGETTEXT_H */ diff --git a/libs/pbd/i18n.h b/libs/pbd/i18n.h deleted file mode 100644 index 7c79d2eb53..0000000000 --- a/libs/pbd/i18n.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef __i18n_h__ -#define __i18n_h__ - -#include <pbd/compose.h> -#include "gettext.h" - -#define _(Text) dgettext (PACKAGE, Text) -#define N_(Text) gettext_noop (Text) -#define X_(Text) (Text) - -#endif // __i18n_h__ diff --git a/libs/pbd/id.cc b/libs/pbd/id.cc deleted file mode 100644 index 642243a36a..0000000000 --- a/libs/pbd/id.cc +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <ostream> -#include <iostream> -#include <stdio.h> - -#ifndef __STDC_FORMAT_MACROS -#define __STDC_FORMAT_MACROS -#endif -#include <inttypes.h> - -#include <pbd/id.h> -#include <string> - -using namespace std; -using namespace PBD; - -Glib::Mutex* ID::counter_lock = 0; -uint64_t ID::_counter = 0; - -void -ID::init () -{ - counter_lock = new Glib::Mutex; -} - -ID::ID () -{ - Glib::Mutex::Lock lm (*counter_lock); - _id = _counter++; -} - -ID::ID (string str) -{ - string_assign (str); -} - -int -ID::string_assign (string str) -{ - return sscanf (str.c_str(), "%" PRIu64, &_id) != 0; -} - -void -ID::print (char* buf, uint32_t bufsize) const -{ - snprintf (buf, bufsize, "%" PRIu64, _id); -} - -string ID::to_s() const -{ - char buf[32]; // see print() - print(buf, sizeof (buf)); - return string(buf); -} - -ID& -ID::operator= (string str) -{ - string_assign (str); - return *this; -} - -ostream& -operator<< (ostream& ostr, const ID& _id) -{ - char buf[32]; - _id.print (buf, sizeof (buf)); - ostr << buf; - return ostr; -} - diff --git a/libs/pbd/libpbd.pc.in b/libs/pbd/libpbd.pc.in deleted file mode 100644 index 14d0208845..0000000000 --- a/libs/pbd/libpbd.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@/pbd - -Name: libpbd -Version: @VERSION@ -Description: libpbd, a library of useful, generic C++ objects -Requires: -Libs: -L${libdir} -lpbd @NON_PKG_LIBS@ -Cflags: -I${includedir} @NON_PKG_CFLAGS@ diff --git a/libs/pbd/libpbd.spec.in b/libs/pbd/libpbd.spec.in deleted file mode 100644 index d50622d638..0000000000 --- a/libs/pbd/libpbd.spec.in +++ /dev/null @@ -1,70 +0,0 @@ -Summary: A general purpose programming library -%define lib_name pbd -Name: lib%{lib_name} -Version: @VERSION@ -Release: 2 -Copyright: GPL -Source: . -Url: http://www.quasimodo.org -Vendor: Paul Davis <paul@linuxaudiosystems.com> -Packager: jfm3 <jfm3@acm.org> -Group: System Environment/Libraries -Prefix: %{_prefix} -BuildRoot: %{_tmppath}/%{name}-%{version}-root - -%description - -This library implements a number of programming utilities used by Paul -Davis (formerly Paul Barton-Davis, hence the name). It is used in -some of his Open Source software projects. See -http://ardour.sf.net/ for examples. - -%prep -%setup -q - -%build -CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure $ARCH_FLAGS --prefix=%{prefix} -make - -%install -rm -rf $RPM_BUILD_ROOT -install -d -m 755 $RPM_BUILD_ROOT%{prefix}/{{include,lib}/%{lib_name}} -make install INSTALL="%(which install) -p" prefix=$RPM_BUILD_ROOT%{prefix} - -%post -/sbin/ldconfig - -%postun -/sbin/ldconfig - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -%doc README AUTHORS NEWS COPYING* -%{prefix}/lib/libpbd.so* - -%package devel -Summary: A general purpose programming library -- developer version. -Group: System Environment/Libraries - -%description devel - -This library implements a number of programming utilities used by Paul -Davis (formerly Paul Barton-Davis, hence the name). It is used in -some of his Open Source software projects. See -http://ardour.sf.net/ for examples. - -This package holds static libraries and headers needed by developers -who wish to use libpbd in their programs. - -%files devel -%defattr(-,root,root) -%{prefix}/include/pbd/* -%{prefix}/lib/libpbd.a -%{prefix}/lib/libpbd.la -%{prefix}/bin/pbd-config -%{prefix}/share/aclocal/pbd.m4 -%{prefix}/share/aclocal/unique_args.m4 - diff --git a/libs/pbd/macosx/English.lproj/InfoPlist.strings b/libs/pbd/macosx/English.lproj/InfoPlist.strings Binary files differdeleted file mode 100644 index d8479018a9..0000000000 --- a/libs/pbd/macosx/English.lproj/InfoPlist.strings +++ /dev/null diff --git a/libs/pbd/macosx/Info.plist b/libs/pbd/macosx/Info.plist deleted file mode 100644 index 0c31617fd2..0000000000 --- a/libs/pbd/macosx/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>pbd</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.apple.carbonframeworktemplate</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>CFBundleShortVersionString</key> - <string>1.01</string> - <key>CSResourcesFileMapped</key> - <true/> -</dict> -</plist> diff --git a/libs/pbd/macosx/pbd.xcodeproj/project.pbxproj b/libs/pbd/macosx/pbd.xcodeproj/project.pbxproj deleted file mode 100644 index 535d16b8a2..0000000000 --- a/libs/pbd/macosx/pbd.xcodeproj/project.pbxproj +++ /dev/null @@ -1,634 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 6941206F0B8A34AB00AF661E /* base_ui.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120270B8A34AB00AF661E /* base_ui.cc */; }; - 694120700B8A34AB00AF661E /* basename.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120280B8A34AB00AF661E /* basename.cc */; }; - 694120710B8A34AB00AF661E /* command.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120290B8A34AB00AF661E /* command.cc */; }; - 694120720B8A34AB00AF661E /* controllable.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202A0B8A34AB00AF661E /* controllable.cc */; }; - 694120730B8A34AB00AF661E /* convert.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202B0B8A34AB00AF661E /* convert.cc */; }; - 694120740B8A34AB00AF661E /* copyfile.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202C0B8A34AB00AF661E /* copyfile.cc */; }; - 694120750B8A34AB00AF661E /* dmalloc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202D0B8A34AB00AF661E /* dmalloc.cc */; }; - 694120760B8A34AB00AF661E /* enumwriter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202E0B8A34AB00AF661E /* enumwriter.cc */; }; - 694120770B8A34AB00AF661E /* error.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941202F0B8A34AB00AF661E /* error.cc */; }; - 694120780B8A34AB00AF661E /* gettext.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120300B8A34AB00AF661E /* gettext.h */; settings = {ATTRIBUTES = (); }; }; - 694120790B8A34AB00AF661E /* i18n.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120310B8A34AB00AF661E /* i18n.h */; settings = {ATTRIBUTES = (); }; }; - 6941207A0B8A34AB00AF661E /* id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120320B8A34AB00AF661E /* id.cc */; }; - 6941207B0B8A34AB00AF661E /* mountpoint.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120330B8A34AB00AF661E /* mountpoint.cc */; }; - 6941207C0B8A34AB00AF661E /* path.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120340B8A34AB00AF661E /* path.cc */; }; - 6941207D0B8A34AB00AF661E /* pathscanner.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120350B8A34AB00AF661E /* pathscanner.cc */; }; - 6941207F0B8A34AB00AF661E /* abstract_ui.cc in Headers */ = {isa = PBXBuildFile; fileRef = 694120380B8A34AB00AF661E /* abstract_ui.cc */; }; - 694120800B8A34AB00AF661E /* abstract_ui.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120390B8A34AB00AF661E /* abstract_ui.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120810B8A34AB00AF661E /* base_ui.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203A0B8A34AB00AF661E /* base_ui.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120820B8A34AB00AF661E /* basename.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203B0B8A34AB00AF661E /* basename.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120830B8A34AB00AF661E /* command.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203C0B8A34AB00AF661E /* command.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120840B8A34AB00AF661E /* compose.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203D0B8A34AB00AF661E /* compose.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120850B8A34AB00AF661E /* controllable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203E0B8A34AB00AF661E /* controllable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120860B8A34AB00AF661E /* convert.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941203F0B8A34AB00AF661E /* convert.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120870B8A34AB00AF661E /* copyfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120400B8A34AB00AF661E /* copyfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120880B8A34AB00AF661E /* crossthread.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120410B8A34AB00AF661E /* crossthread.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120890B8A34AB00AF661E /* destructible.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120420B8A34AB00AF661E /* destructible.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208A0B8A34AB00AF661E /* enumwriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120430B8A34AB00AF661E /* enumwriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208B0B8A34AB00AF661E /* error.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120440B8A34AB00AF661E /* error.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208C0B8A34AB00AF661E /* failed_constructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120450B8A34AB00AF661E /* failed_constructor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208D0B8A34AB00AF661E /* fastlog.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120460B8A34AB00AF661E /* fastlog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208E0B8A34AB00AF661E /* forkexec.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120470B8A34AB00AF661E /* forkexec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941208F0B8A34AB00AF661E /* id.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120480B8A34AB00AF661E /* id.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120900B8A34AB00AF661E /* mathfix.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120490B8A34AB00AF661E /* mathfix.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120910B8A34AB00AF661E /* memento_command.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204A0B8A34AB00AF661E /* memento_command.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120920B8A34AB00AF661E /* mountpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204B0B8A34AB00AF661E /* mountpoint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120930B8A34AB00AF661E /* path.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204C0B8A34AB00AF661E /* path.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120940B8A34AB00AF661E /* pathscanner.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204D0B8A34AB00AF661E /* pathscanner.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120950B8A34AB00AF661E /* pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204E0B8A34AB00AF661E /* pool.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120960B8A34AB00AF661E /* pthread_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941204F0B8A34AB00AF661E /* pthread_utils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120970B8A34AB00AF661E /* rcu.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120500B8A34AB00AF661E /* rcu.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120980B8A34AB00AF661E /* receiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120510B8A34AB00AF661E /* receiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120990B8A34AB00AF661E /* ringbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120520B8A34AB00AF661E /* ringbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209A0B8A34AB00AF661E /* ringbufferNPT.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120530B8A34AB00AF661E /* ringbufferNPT.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209B0B8A34AB00AF661E /* selectable.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120540B8A34AB00AF661E /* selectable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209C0B8A34AB00AF661E /* shiva.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120550B8A34AB00AF661E /* shiva.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209D0B8A34AB00AF661E /* stacktrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120560B8A34AB00AF661E /* stacktrace.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209E0B8A34AB00AF661E /* stateful.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120570B8A34AB00AF661E /* stateful.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6941209F0B8A34AB00AF661E /* statefuldestructible.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120580B8A34AB00AF661E /* statefuldestructible.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A00B8A34AB00AF661E /* stl_delete.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120590B8A34AB00AF661E /* stl_delete.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A10B8A34AB00AF661E /* stl_functors.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205A0B8A34AB00AF661E /* stl_functors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A20B8A34AB00AF661E /* strsplit.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205B0B8A34AB00AF661E /* strsplit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A30B8A34AB00AF661E /* textreceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205C0B8A34AB00AF661E /* textreceiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A40B8A34AB00AF661E /* thrown_error.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205D0B8A34AB00AF661E /* thrown_error.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A50B8A34AB00AF661E /* tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205E0B8A34AB00AF661E /* tokenizer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A60B8A34AB00AF661E /* touchable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6941205F0B8A34AB00AF661E /* touchable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A70B8A34AB00AF661E /* transmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120600B8A34AB00AF661E /* transmitter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A80B8A34AB00AF661E /* undo.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120610B8A34AB00AF661E /* undo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120A90B8A34AB00AF661E /* whitespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120620B8A34AB00AF661E /* whitespace.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120AA0B8A34AB00AF661E /* xml++.h in Headers */ = {isa = PBXBuildFile; fileRef = 694120630B8A34AB00AF661E /* xml++.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 694120AB0B8A34AB00AF661E /* pool.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120640B8A34AB00AF661E /* pool.cc */; }; - 694120AC0B8A34AB00AF661E /* pthread_utils.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120650B8A34AB00AF661E /* pthread_utils.cc */; }; - 694120AD0B8A34AB00AF661E /* receiver.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120660B8A34AB00AF661E /* receiver.cc */; }; - 694120AE0B8A34AB00AF661E /* stacktrace.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120670B8A34AB00AF661E /* stacktrace.cc */; }; - 694120AF0B8A34AB00AF661E /* stateful.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120680B8A34AB00AF661E /* stateful.cc */; }; - 694120B00B8A34AB00AF661E /* strsplit.cc in Sources */ = {isa = PBXBuildFile; fileRef = 694120690B8A34AB00AF661E /* strsplit.cc */; }; - 694120B10B8A34AB00AF661E /* textreceiver.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941206A0B8A34AB00AF661E /* textreceiver.cc */; }; - 694120B20B8A34AB00AF661E /* transmitter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941206B0B8A34AB00AF661E /* transmitter.cc */; }; - 694120B30B8A34AB00AF661E /* undo.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941206C0B8A34AB00AF661E /* undo.cc */; }; - 694120B40B8A34AB00AF661E /* whitespace.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941206D0B8A34AB00AF661E /* whitespace.cc */; }; - 694120B50B8A34AB00AF661E /* xml++.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6941206E0B8A34AB00AF661E /* xml++.cc */; }; - 694120D40B8A36A200AF661E /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694120D30B8A36A200AF661E /* libxml2.dylib */; }; - 694191980B97CD950083505E /* glibmm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694191950B97CD950083505E /* glibmm.framework */; }; - 694191990B97CD950083505E /* sigc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 694191960B97CD950083505E /* sigc.framework */; }; - 69C63C150B9369CB00BC0BCA /* strreplace.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69C63C140B9369CB00BC0BCA /* strreplace.cc */; }; - 69C63C190B9369DE00BC0BCA /* replace_all.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C63C180B9369DE00BC0BCA /* replace_all.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69C63C2B0B936A6E00BC0BCA /* version.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69C63C290B936A6E00BC0BCA /* version.cc */; }; - 69C63C2C0B936A6E00BC0BCA /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C63C2A0B936A6E00BC0BCA /* version.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69CD7FED0B97CDD50049ED98 /* glib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69CD7FE90B97CDD50049ED98 /* glib */; }; - 69CD7FEE0B97CDD50049ED98 /* gmodule in Frameworks */ = {isa = PBXBuildFile; fileRef = 69CD7FEA0B97CDD50049ED98 /* gmodule */; }; - 69CD7FEF0B97CDD50049ED98 /* gobject in Frameworks */ = {isa = PBXBuildFile; fileRef = 69CD7FEB0B97CDD50049ED98 /* gobject */; }; - 69CD7FF00B97CDD50049ED98 /* gthread in Frameworks */ = {isa = PBXBuildFile; fileRef = 69CD7FEC0B97CDD50049ED98 /* gthread */; }; - 8D07F2BE0486CC7A007CD1D0 /* pbd_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32BAE0B70371A74B00C91783 /* pbd_Prefix.pch */; settings = {ATTRIBUTES = (); }; }; - 8D07F2C00486CC7A007CD1D0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; - 32BAE0B70371A74B00C91783 /* pbd_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pbd_Prefix.pch; sourceTree = "<group>"; }; - 694120270B8A34AB00AF661E /* base_ui.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = base_ui.cc; path = ../base_ui.cc; sourceTree = SOURCE_ROOT; }; - 694120280B8A34AB00AF661E /* basename.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = basename.cc; path = ../basename.cc; sourceTree = SOURCE_ROOT; }; - 694120290B8A34AB00AF661E /* command.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = command.cc; path = ../command.cc; sourceTree = SOURCE_ROOT; }; - 6941202A0B8A34AB00AF661E /* controllable.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = controllable.cc; path = ../controllable.cc; sourceTree = SOURCE_ROOT; }; - 6941202B0B8A34AB00AF661E /* convert.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = convert.cc; path = ../convert.cc; sourceTree = SOURCE_ROOT; }; - 6941202C0B8A34AB00AF661E /* copyfile.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = copyfile.cc; path = ../copyfile.cc; sourceTree = SOURCE_ROOT; }; - 6941202D0B8A34AB00AF661E /* dmalloc.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = dmalloc.cc; path = ../dmalloc.cc; sourceTree = SOURCE_ROOT; }; - 6941202E0B8A34AB00AF661E /* enumwriter.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = enumwriter.cc; path = ../enumwriter.cc; sourceTree = SOURCE_ROOT; }; - 6941202F0B8A34AB00AF661E /* error.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = error.cc; path = ../error.cc; sourceTree = SOURCE_ROOT; }; - 694120300B8A34AB00AF661E /* gettext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = gettext.h; path = ../gettext.h; sourceTree = SOURCE_ROOT; }; - 694120310B8A34AB00AF661E /* i18n.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = i18n.h; path = ../i18n.h; sourceTree = SOURCE_ROOT; }; - 694120320B8A34AB00AF661E /* id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = id.cc; path = ../id.cc; sourceTree = SOURCE_ROOT; }; - 694120330B8A34AB00AF661E /* mountpoint.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = mountpoint.cc; path = ../mountpoint.cc; sourceTree = SOURCE_ROOT; }; - 694120340B8A34AB00AF661E /* path.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = path.cc; path = ../path.cc; sourceTree = SOURCE_ROOT; }; - 694120350B8A34AB00AF661E /* pathscanner.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pathscanner.cc; path = ../pathscanner.cc; sourceTree = SOURCE_ROOT; }; - 694120380B8A34AB00AF661E /* abstract_ui.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = abstract_ui.cc; sourceTree = "<group>"; }; - 694120390B8A34AB00AF661E /* abstract_ui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = abstract_ui.h; sourceTree = "<group>"; }; - 6941203A0B8A34AB00AF661E /* base_ui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = base_ui.h; sourceTree = "<group>"; }; - 6941203B0B8A34AB00AF661E /* basename.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = basename.h; sourceTree = "<group>"; }; - 6941203C0B8A34AB00AF661E /* command.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = command.h; sourceTree = "<group>"; }; - 6941203D0B8A34AB00AF661E /* compose.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = compose.h; sourceTree = "<group>"; }; - 6941203E0B8A34AB00AF661E /* controllable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = controllable.h; sourceTree = "<group>"; }; - 6941203F0B8A34AB00AF661E /* convert.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = convert.h; sourceTree = "<group>"; }; - 694120400B8A34AB00AF661E /* copyfile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = copyfile.h; sourceTree = "<group>"; }; - 694120410B8A34AB00AF661E /* crossthread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = crossthread.h; sourceTree = "<group>"; }; - 694120420B8A34AB00AF661E /* destructible.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = destructible.h; sourceTree = "<group>"; }; - 694120430B8A34AB00AF661E /* enumwriter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = enumwriter.h; sourceTree = "<group>"; }; - 694120440B8A34AB00AF661E /* error.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; }; - 694120450B8A34AB00AF661E /* failed_constructor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = failed_constructor.h; sourceTree = "<group>"; }; - 694120460B8A34AB00AF661E /* fastlog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fastlog.h; sourceTree = "<group>"; }; - 694120470B8A34AB00AF661E /* forkexec.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = forkexec.h; sourceTree = "<group>"; }; - 694120480B8A34AB00AF661E /* id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = id.h; sourceTree = "<group>"; }; - 694120490B8A34AB00AF661E /* mathfix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mathfix.h; sourceTree = "<group>"; }; - 6941204A0B8A34AB00AF661E /* memento_command.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = memento_command.h; sourceTree = "<group>"; }; - 6941204B0B8A34AB00AF661E /* mountpoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mountpoint.h; sourceTree = "<group>"; }; - 6941204C0B8A34AB00AF661E /* path.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = path.h; sourceTree = "<group>"; }; - 6941204D0B8A34AB00AF661E /* pathscanner.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pathscanner.h; sourceTree = "<group>"; }; - 6941204E0B8A34AB00AF661E /* pool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pool.h; sourceTree = "<group>"; }; - 6941204F0B8A34AB00AF661E /* pthread_utils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pthread_utils.h; sourceTree = "<group>"; }; - 694120500B8A34AB00AF661E /* rcu.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rcu.h; sourceTree = "<group>"; }; - 694120510B8A34AB00AF661E /* receiver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = receiver.h; sourceTree = "<group>"; }; - 694120520B8A34AB00AF661E /* ringbuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ringbuffer.h; sourceTree = "<group>"; }; - 694120530B8A34AB00AF661E /* ringbufferNPT.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ringbufferNPT.h; sourceTree = "<group>"; }; - 694120540B8A34AB00AF661E /* selectable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = selectable.h; sourceTree = "<group>"; }; - 694120550B8A34AB00AF661E /* shiva.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = shiva.h; sourceTree = "<group>"; }; - 694120560B8A34AB00AF661E /* stacktrace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stacktrace.h; sourceTree = "<group>"; }; - 694120570B8A34AB00AF661E /* stateful.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stateful.h; sourceTree = "<group>"; }; - 694120580B8A34AB00AF661E /* statefuldestructible.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = statefuldestructible.h; sourceTree = "<group>"; }; - 694120590B8A34AB00AF661E /* stl_delete.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stl_delete.h; sourceTree = "<group>"; }; - 6941205A0B8A34AB00AF661E /* stl_functors.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stl_functors.h; sourceTree = "<group>"; }; - 6941205B0B8A34AB00AF661E /* strsplit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = strsplit.h; sourceTree = "<group>"; }; - 6941205C0B8A34AB00AF661E /* textreceiver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = textreceiver.h; sourceTree = "<group>"; }; - 6941205D0B8A34AB00AF661E /* thrown_error.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = thrown_error.h; sourceTree = "<group>"; }; - 6941205E0B8A34AB00AF661E /* tokenizer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tokenizer.h; sourceTree = "<group>"; }; - 6941205F0B8A34AB00AF661E /* touchable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = touchable.h; sourceTree = "<group>"; }; - 694120600B8A34AB00AF661E /* transmitter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = transmitter.h; sourceTree = "<group>"; }; - 694120610B8A34AB00AF661E /* undo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = undo.h; sourceTree = "<group>"; }; - 694120620B8A34AB00AF661E /* whitespace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = whitespace.h; sourceTree = "<group>"; }; - 694120630B8A34AB00AF661E /* xml++.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "xml++.h"; sourceTree = "<group>"; }; - 694120640B8A34AB00AF661E /* pool.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pool.cc; path = ../pool.cc; sourceTree = SOURCE_ROOT; }; - 694120650B8A34AB00AF661E /* pthread_utils.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pthread_utils.cc; path = ../pthread_utils.cc; sourceTree = SOURCE_ROOT; }; - 694120660B8A34AB00AF661E /* receiver.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = receiver.cc; path = ../receiver.cc; sourceTree = SOURCE_ROOT; }; - 694120670B8A34AB00AF661E /* stacktrace.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = stacktrace.cc; path = ../stacktrace.cc; sourceTree = SOURCE_ROOT; }; - 694120680B8A34AB00AF661E /* stateful.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = stateful.cc; path = ../stateful.cc; sourceTree = SOURCE_ROOT; }; - 694120690B8A34AB00AF661E /* strsplit.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = strsplit.cc; path = ../strsplit.cc; sourceTree = SOURCE_ROOT; }; - 6941206A0B8A34AB00AF661E /* textreceiver.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = textreceiver.cc; path = ../textreceiver.cc; sourceTree = SOURCE_ROOT; }; - 6941206B0B8A34AB00AF661E /* transmitter.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = transmitter.cc; path = ../transmitter.cc; sourceTree = SOURCE_ROOT; }; - 6941206C0B8A34AB00AF661E /* undo.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = undo.cc; path = ../undo.cc; sourceTree = SOURCE_ROOT; }; - 6941206D0B8A34AB00AF661E /* whitespace.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = whitespace.cc; path = ../whitespace.cc; sourceTree = SOURCE_ROOT; }; - 6941206E0B8A34AB00AF661E /* xml++.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = "xml++.cc"; path = "../xml++.cc"; sourceTree = SOURCE_ROOT; }; - 694120D30B8A36A200AF661E /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = /usr/lib/libxml2.dylib; sourceTree = "<absolute>"; }; - 694191950B97CD950083505E /* glibmm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = glibmm.framework; path = /Library/Frameworks/glibmm.framework; sourceTree = "<absolute>"; }; - 694191960B97CD950083505E /* sigc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = sigc.framework; path = /Library/Frameworks/sigc.framework; sourceTree = "<absolute>"; }; - 69C63C140B9369CB00BC0BCA /* strreplace.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = strreplace.cc; path = ../strreplace.cc; sourceTree = SOURCE_ROOT; }; - 69C63C180B9369DE00BC0BCA /* replace_all.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = replace_all.h; sourceTree = "<group>"; }; - 69C63C290B936A6E00BC0BCA /* version.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = version.cc; sourceTree = "<group>"; }; - 69C63C2A0B936A6E00BC0BCA /* version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; }; - 69CD7FE90B97CDD50049ED98 /* glib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = glib; path = /Library/Frameworks/GLib.framework/Versions/2.12.3/Libraries/glib; sourceTree = "<absolute>"; }; - 69CD7FEA0B97CDD50049ED98 /* gmodule */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = gmodule; path = /Library/Frameworks/GLib.framework/Versions/2.12.3/Libraries/gmodule; sourceTree = "<absolute>"; }; - 69CD7FEB0B97CDD50049ED98 /* gobject */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = gobject; path = /Library/Frameworks/GLib.framework/Versions/2.12.3/Libraries/gobject; sourceTree = "<absolute>"; }; - 69CD7FEC0B97CDD50049ED98 /* gthread */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = gthread; path = /Library/Frameworks/GLib.framework/Versions/2.12.3/Libraries/gthread; sourceTree = "<absolute>"; }; - 8D07F2C70486CC7A007CD1D0 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; - 8D07F2C80486CC7A007CD1D0 /* pbd.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pbd.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D07F2C30486CC7A007CD1D0 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 694120D40B8A36A200AF661E /* libxml2.dylib in Frameworks */, - 694191980B97CD950083505E /* glibmm.framework in Frameworks */, - 694191990B97CD950083505E /* sigc.framework in Frameworks */, - 69CD7FED0B97CDD50049ED98 /* glib in Frameworks */, - 69CD7FEE0B97CDD50049ED98 /* gmodule in Frameworks */, - 69CD7FEF0B97CDD50049ED98 /* gobject in Frameworks */, - 69CD7FF00B97CDD50049ED98 /* gthread in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 034768DDFF38A45A11DB9C8B /* Products */ = { - isa = PBXGroup; - children = ( - 8D07F2C80486CC7A007CD1D0 /* pbd.framework */, - ); - name = Products; - sourceTree = "<group>"; - }; - 0867D691FE84028FC02AAC07 /* pbd */ = { - isa = PBXGroup; - children = ( - 69C63C290B936A6E00BC0BCA /* version.cc */, - 69C63C2A0B936A6E00BC0BCA /* version.h */, - 08FB77ACFE841707C02AAC07 /* Source */, - 089C1665FE841158C02AAC07 /* Resources */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, - 034768DDFF38A45A11DB9C8B /* Products */, - ); - name = pbd; - sourceTree = "<group>"; - }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 69CD7FE90B97CDD50049ED98 /* glib */, - 69CD7FEA0B97CDD50049ED98 /* gmodule */, - 69CD7FEB0B97CDD50049ED98 /* gobject */, - 69CD7FEC0B97CDD50049ED98 /* gthread */, - 694191950B97CD950083505E /* glibmm.framework */, - 694191960B97CD950083505E /* sigc.framework */, - 694120D30B8A36A200AF661E /* libxml2.dylib */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 089C1665FE841158C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - 8D07F2C70486CC7A007CD1D0 /* Info.plist */, - 089C1666FE841158C02AAC07 /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = "<group>"; - }; - 08FB77ACFE841707C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 69C63C140B9369CB00BC0BCA /* strreplace.cc */, - 694120270B8A34AB00AF661E /* base_ui.cc */, - 694120280B8A34AB00AF661E /* basename.cc */, - 694120290B8A34AB00AF661E /* command.cc */, - 6941202A0B8A34AB00AF661E /* controllable.cc */, - 6941202B0B8A34AB00AF661E /* convert.cc */, - 6941202C0B8A34AB00AF661E /* copyfile.cc */, - 6941202D0B8A34AB00AF661E /* dmalloc.cc */, - 6941202E0B8A34AB00AF661E /* enumwriter.cc */, - 6941202F0B8A34AB00AF661E /* error.cc */, - 694120300B8A34AB00AF661E /* gettext.h */, - 694120310B8A34AB00AF661E /* i18n.h */, - 694120320B8A34AB00AF661E /* id.cc */, - 694120330B8A34AB00AF661E /* mountpoint.cc */, - 694120340B8A34AB00AF661E /* path.cc */, - 694120350B8A34AB00AF661E /* pathscanner.cc */, - 694120360B8A34AB00AF661E /* pbd */, - 694120640B8A34AB00AF661E /* pool.cc */, - 694120650B8A34AB00AF661E /* pthread_utils.cc */, - 694120660B8A34AB00AF661E /* receiver.cc */, - 694120670B8A34AB00AF661E /* stacktrace.cc */, - 694120680B8A34AB00AF661E /* stateful.cc */, - 694120690B8A34AB00AF661E /* strsplit.cc */, - 6941206A0B8A34AB00AF661E /* textreceiver.cc */, - 6941206B0B8A34AB00AF661E /* transmitter.cc */, - 6941206C0B8A34AB00AF661E /* undo.cc */, - 6941206D0B8A34AB00AF661E /* whitespace.cc */, - 6941206E0B8A34AB00AF661E /* xml++.cc */, - 32BAE0B70371A74B00C91783 /* pbd_Prefix.pch */, - ); - name = Source; - sourceTree = "<group>"; - }; - 694120360B8A34AB00AF661E /* pbd */ = { - isa = PBXGroup; - children = ( - 69C63C180B9369DE00BC0BCA /* replace_all.h */, - 694120380B8A34AB00AF661E /* abstract_ui.cc */, - 694120390B8A34AB00AF661E /* abstract_ui.h */, - 6941203A0B8A34AB00AF661E /* base_ui.h */, - 6941203B0B8A34AB00AF661E /* basename.h */, - 6941203C0B8A34AB00AF661E /* command.h */, - 6941203D0B8A34AB00AF661E /* compose.h */, - 6941203E0B8A34AB00AF661E /* controllable.h */, - 6941203F0B8A34AB00AF661E /* convert.h */, - 694120400B8A34AB00AF661E /* copyfile.h */, - 694120410B8A34AB00AF661E /* crossthread.h */, - 694120420B8A34AB00AF661E /* destructible.h */, - 694120430B8A34AB00AF661E /* enumwriter.h */, - 694120440B8A34AB00AF661E /* error.h */, - 694120450B8A34AB00AF661E /* failed_constructor.h */, - 694120460B8A34AB00AF661E /* fastlog.h */, - 694120470B8A34AB00AF661E /* forkexec.h */, - 694120480B8A34AB00AF661E /* id.h */, - 694120490B8A34AB00AF661E /* mathfix.h */, - 6941204A0B8A34AB00AF661E /* memento_command.h */, - 6941204B0B8A34AB00AF661E /* mountpoint.h */, - 6941204C0B8A34AB00AF661E /* path.h */, - 6941204D0B8A34AB00AF661E /* pathscanner.h */, - 6941204E0B8A34AB00AF661E /* pool.h */, - 6941204F0B8A34AB00AF661E /* pthread_utils.h */, - 694120500B8A34AB00AF661E /* rcu.h */, - 694120510B8A34AB00AF661E /* receiver.h */, - 694120520B8A34AB00AF661E /* ringbuffer.h */, - 694120530B8A34AB00AF661E /* ringbufferNPT.h */, - 694120540B8A34AB00AF661E /* selectable.h */, - 694120550B8A34AB00AF661E /* shiva.h */, - 694120560B8A34AB00AF661E /* stacktrace.h */, - 694120570B8A34AB00AF661E /* stateful.h */, - 694120580B8A34AB00AF661E /* statefuldestructible.h */, - 694120590B8A34AB00AF661E /* stl_delete.h */, - 6941205A0B8A34AB00AF661E /* stl_functors.h */, - 6941205B0B8A34AB00AF661E /* strsplit.h */, - 6941205C0B8A34AB00AF661E /* textreceiver.h */, - 6941205D0B8A34AB00AF661E /* thrown_error.h */, - 6941205E0B8A34AB00AF661E /* tokenizer.h */, - 6941205F0B8A34AB00AF661E /* touchable.h */, - 694120600B8A34AB00AF661E /* transmitter.h */, - 694120610B8A34AB00AF661E /* undo.h */, - 694120620B8A34AB00AF661E /* whitespace.h */, - 694120630B8A34AB00AF661E /* xml++.h */, - ); - name = pbd; - path = ../pbd; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D07F2BD0486CC7A007CD1D0 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 69C63C2C0B936A6E00BC0BCA /* version.h in Headers */, - 69C63C190B9369DE00BC0BCA /* replace_all.h in Headers */, - 8D07F2BE0486CC7A007CD1D0 /* pbd_Prefix.pch in Headers */, - 6941207F0B8A34AB00AF661E /* abstract_ui.cc in Headers */, - 694120780B8A34AB00AF661E /* gettext.h in Headers */, - 694120790B8A34AB00AF661E /* i18n.h in Headers */, - 694120800B8A34AB00AF661E /* abstract_ui.h in Headers */, - 694120810B8A34AB00AF661E /* base_ui.h in Headers */, - 694120820B8A34AB00AF661E /* basename.h in Headers */, - 694120830B8A34AB00AF661E /* command.h in Headers */, - 694120840B8A34AB00AF661E /* compose.h in Headers */, - 694120850B8A34AB00AF661E /* controllable.h in Headers */, - 694120860B8A34AB00AF661E /* convert.h in Headers */, - 694120870B8A34AB00AF661E /* copyfile.h in Headers */, - 694120880B8A34AB00AF661E /* crossthread.h in Headers */, - 694120890B8A34AB00AF661E /* destructible.h in Headers */, - 6941208A0B8A34AB00AF661E /* enumwriter.h in Headers */, - 6941208B0B8A34AB00AF661E /* error.h in Headers */, - 6941208C0B8A34AB00AF661E /* failed_constructor.h in Headers */, - 6941208D0B8A34AB00AF661E /* fastlog.h in Headers */, - 6941208E0B8A34AB00AF661E /* forkexec.h in Headers */, - 6941208F0B8A34AB00AF661E /* id.h in Headers */, - 694120900B8A34AB00AF661E /* mathfix.h in Headers */, - 694120910B8A34AB00AF661E /* memento_command.h in Headers */, - 694120920B8A34AB00AF661E /* mountpoint.h in Headers */, - 694120930B8A34AB00AF661E /* path.h in Headers */, - 694120940B8A34AB00AF661E /* pathscanner.h in Headers */, - 694120950B8A34AB00AF661E /* pool.h in Headers */, - 694120960B8A34AB00AF661E /* pthread_utils.h in Headers */, - 694120970B8A34AB00AF661E /* rcu.h in Headers */, - 694120980B8A34AB00AF661E /* receiver.h in Headers */, - 694120990B8A34AB00AF661E /* ringbuffer.h in Headers */, - 6941209A0B8A34AB00AF661E /* ringbufferNPT.h in Headers */, - 6941209B0B8A34AB00AF661E /* selectable.h in Headers */, - 6941209C0B8A34AB00AF661E /* shiva.h in Headers */, - 6941209D0B8A34AB00AF661E /* stacktrace.h in Headers */, - 6941209E0B8A34AB00AF661E /* stateful.h in Headers */, - 6941209F0B8A34AB00AF661E /* statefuldestructible.h in Headers */, - 694120A00B8A34AB00AF661E /* stl_delete.h in Headers */, - 694120A10B8A34AB00AF661E /* stl_functors.h in Headers */, - 694120A20B8A34AB00AF661E /* strsplit.h in Headers */, - 694120A30B8A34AB00AF661E /* textreceiver.h in Headers */, - 694120A40B8A34AB00AF661E /* thrown_error.h in Headers */, - 694120A50B8A34AB00AF661E /* tokenizer.h in Headers */, - 694120A60B8A34AB00AF661E /* touchable.h in Headers */, - 694120A70B8A34AB00AF661E /* transmitter.h in Headers */, - 694120A80B8A34AB00AF661E /* undo.h in Headers */, - 694120A90B8A34AB00AF661E /* whitespace.h in Headers */, - 694120AA0B8A34AB00AF661E /* xml++.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D07F2BC0486CC7A007CD1D0 /* pbd */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "pbd" */; - buildPhases = ( - 8D07F2BD0486CC7A007CD1D0 /* Headers */, - 8D07F2BF0486CC7A007CD1D0 /* Resources */, - 8D07F2C10486CC7A007CD1D0 /* Sources */, - 8D07F2C30486CC7A007CD1D0 /* Frameworks */, - 8D07F2C50486CC7A007CD1D0 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = pbd; - productInstallPath = "$(HOME)/Library/Frameworks"; - productName = pbd; - productReference = 8D07F2C80486CC7A007CD1D0 /* pbd.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0867D690FE84028FC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "pbd" */; - hasScannedForEncodings = 1; - mainGroup = 0867D691FE84028FC02AAC07 /* pbd */; - productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D07F2BC0486CC7A007CD1D0 /* pbd */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D07F2BF0486CC7A007CD1D0 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D07F2C00486CC7A007CD1D0 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 8D07F2C50486CC7A007CD1D0 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D07F2C10486CC7A007CD1D0 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 69C63C2B0B936A6E00BC0BCA /* version.cc in Sources */, - 6941206F0B8A34AB00AF661E /* base_ui.cc in Sources */, - 69C63C150B9369CB00BC0BCA /* strreplace.cc in Sources */, - 694120700B8A34AB00AF661E /* basename.cc in Sources */, - 694120710B8A34AB00AF661E /* command.cc in Sources */, - 694120720B8A34AB00AF661E /* controllable.cc in Sources */, - 694120730B8A34AB00AF661E /* convert.cc in Sources */, - 694120740B8A34AB00AF661E /* copyfile.cc in Sources */, - 694120750B8A34AB00AF661E /* dmalloc.cc in Sources */, - 694120760B8A34AB00AF661E /* enumwriter.cc in Sources */, - 694120770B8A34AB00AF661E /* error.cc in Sources */, - 6941207A0B8A34AB00AF661E /* id.cc in Sources */, - 6941207B0B8A34AB00AF661E /* mountpoint.cc in Sources */, - 6941207C0B8A34AB00AF661E /* path.cc in Sources */, - 6941207D0B8A34AB00AF661E /* pathscanner.cc in Sources */, - 694120AB0B8A34AB00AF661E /* pool.cc in Sources */, - 694120AC0B8A34AB00AF661E /* pthread_utils.cc in Sources */, - 694120AD0B8A34AB00AF661E /* receiver.cc in Sources */, - 694120AE0B8A34AB00AF661E /* stacktrace.cc in Sources */, - 694120AF0B8A34AB00AF661E /* stateful.cc in Sources */, - 694120B00B8A34AB00AF661E /* strsplit.cc in Sources */, - 694120B10B8A34AB00AF661E /* textreceiver.cc in Sources */, - 694120B20B8A34AB00AF661E /* transmitter.cc in Sources */, - 694120B30B8A34AB00AF661E /* undo.cc in Sources */, - 694120B40B8A34AB00AF661E /* whitespace.cc in Sources */, - 694120B50B8A34AB00AF661E /* xml++.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 089C1666FE841158C02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C1667FE841158C02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 4FADC24408B4156D00ABE55E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = pbd_Prefix.pch; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@executable_path/../Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/GLib.framework/Versions/2.12.3/Libraries\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/GLib.framework/Versions/2.12.3/Libraries\""; - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - PRODUCT_NAME = pbd; - WRAPPER_EXTENSION = framework; - }; - name = Release; - }; - 4FADC24808B4156D00ABE55E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(NATIVE_ARCH)", - ppc, - ); - GCC_FAST_OBJC_DISPATCH = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_STRICT_ALIASING = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - /usr/include/libxml2, - /Library/Frameworks/GLib.framework/Headers, - /Library/Frameworks/glibmm.framework/Headers, - /Library/Frameworks/sigc.framework/Headers, - ); - INSTALL_PATH = "@executable_path/../Frameworks"; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; - 69C9AF150B97A83A0097DE90 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(NATIVE_ARCH)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = stabs; - GCC_FAST_OBJC_DISPATCH = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - /usr/include/libxml2, - /Library/Frameworks/GLib.framework/Headers, - /Library/Frameworks/glibmm.framework/Headers, - /Library/Frameworks/sigc.framework/Headers, - ); - INSTALL_PATH = "@executable_path/../Frameworks"; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - STRIP_INSTALLED_PRODUCT = NO; - }; - name = Debug; - }; - 69C9AF160B97A83A0097DE90 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = i386; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = pbd_Prefix.pch; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@executable_path/../Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/GLib.framework/Versions/2.12.3/Libraries\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/GLib.framework/Versions/2.12.3/Libraries\""; - LIBRARY_STYLE = DYNAMIC; - MACH_O_TYPE = mh_dylib; - PRODUCT_NAME = pbd; - WRAPPER_EXTENSION = framework; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "pbd" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4FADC24408B4156D00ABE55E /* Release */, - 69C9AF160B97A83A0097DE90 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "pbd" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4FADC24808B4156D00ABE55E /* Release */, - 69C9AF150B97A83A0097DE90 /* Debug */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0867D690FE84028FC02AAC07 /* Project object */; -} diff --git a/libs/pbd/macosx/pbd_Prefix.pch b/libs/pbd/macosx/pbd_Prefix.pch deleted file mode 100644 index a774fac593..0000000000 --- a/libs/pbd/macosx/pbd_Prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -// -// Prefix header for all source files of the 'pbd' target in the 'pbd' project. -// - diff --git a/libs/pbd/macosx/version.cc b/libs/pbd/macosx/version.cc deleted file mode 100644 index 61a94f6fc9..0000000000 --- a/libs/pbd/macosx/version.cc +++ /dev/null @@ -1,3 +0,0 @@ -int libpbd_major_version = 4; -int libpbd_minor_version = 1; -int libpbd_micro_version = 0; diff --git a/libs/pbd/macosx/version.h b/libs/pbd/macosx/version.h deleted file mode 100644 index ec6c854141..0000000000 --- a/libs/pbd/macosx/version.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __libpbd_version_h__ -#define __libpbd_version_h__ -extern const char* libpbd_revision; -extern int libpbd_major_version; -extern int libpbd_minor_version; -extern int libpbd_micro_version; -#endif /* __libpbd_version_h__ */ diff --git a/libs/pbd/mountpoint.cc b/libs/pbd/mountpoint.cc deleted file mode 100644 index acc549890a..0000000000 --- a/libs/pbd/mountpoint.cc +++ /dev/null @@ -1,159 +0,0 @@ -/* - Copyright (C) 2002 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <cstdio> -#include <cstring> -#include <string> -#include <limits.h> - -#include <pbd/mountpoint.h> - -using std::string; - -#if HAVE_GETMNTENT -#include <mntent.h> - -struct mntent_sorter { - bool operator() (const mntent *a, const mntent *b) { - return strcmp (a->mnt_dir, b->mnt_dir); - } -}; - -string -mountpoint (string path) -{ - FILE *mntf; - mntent *mnt; - unsigned int maxmatch = 0; - unsigned int matchlen; - const char *cpath = path.c_str(); - char best[PATH_MAX+1]; - - if ((mntf = setmntent ("/etc/mtab", "r")) == 0) { - return ""; - } - - best[0] = '\0'; - - while ((mnt = getmntent (mntf))) { - unsigned int n; - - n = 0; - matchlen = 0; - - /* note: strcmp's semantics are not - strict enough to use for this. - */ - - while (cpath[n] && mnt->mnt_dir[n]) { - if (cpath[n] != mnt->mnt_dir[n]) { - break; - } - matchlen++; - n++; - } - - if (cpath[matchlen] == '\0') { - - endmntent (mntf); - return mnt->mnt_dir; - - } else { - - if (matchlen > maxmatch) { - snprintf (best, sizeof(best), "%s", mnt->mnt_dir); - maxmatch = matchlen; - } - } - } - - endmntent (mntf); - - return best; -} - -#else // !HAVE_GETMNTENT - -#include <sys/param.h> -#include <sys/ucred.h> -#include <sys/mount.h> - -string -mountpoint (string path) -{ - struct statfs *mntbufp = 0; - int count; - unsigned int maxmatch = 0; - unsigned int matchlen; - const char *cpath = path.c_str(); - char best[PATH_MAX+1]; - - if ((count = getmntinfo(&mntbufp, MNT_NOWAIT)) == 0) { - free(mntbufp); - return "\0"; - } - - best[0] = '\0'; - - for (int i = 0; i < count; ++i) { - unsigned int n = 0; - matchlen = 0; - - /* note: strcmp's semantics are not - strict enough to use for this. - */ - - while (cpath[n] && mntbufp[i].f_mntonname[n]) { - if (cpath[n] != mntbufp[i].f_mntonname[n]) { - break; - } - matchlen++; - n++; - } - - if (cpath[matchlen] == '\0') { - snprintf(best, sizeof(best), "%s", mntbufp[i].f_mntonname); - free(mntbufp); - return best; - - } else { - - if (matchlen > maxmatch) { - snprintf (best, sizeof(best), "%s", mntbufp[i].f_mntonname); - maxmatch = matchlen; - } - } - } - - free(mntbufp); - - return best; -} -#endif // HAVE_GETMNTENT - -#ifdef TEST_MOUNTPOINT - -main (int argc, char *argv[]) -{ - printf ("mp of %s = %s\n", argv[1], mountpoint (argv[1]).c_str()); - exit (0); -} - -#endif // TEST_MOUNTPOINT diff --git a/libs/pbd/pathscanner.cc b/libs/pbd/pathscanner.cc deleted file mode 100644 index eb913cc910..0000000000 --- a/libs/pbd/pathscanner.cc +++ /dev/null @@ -1,204 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <cstring> -#include <cstdlib> -#include <cstdio> -#include <vector> -#include <dirent.h> - -#include <pbd/error.h> -#include <pbd/pathscanner.h> -#include <pbd/stl_delete.h> - -using namespace PBD; - -vector<string *> * -PathScanner::operator() (const string &dirpath, const string ®exp, - bool match_fullpath, bool return_fullpath, - long limit) - -{ - int err; - char msg[256]; - - if ((err = regcomp (&compiled_pattern, regexp.c_str(), - REG_EXTENDED|REG_NOSUB))) { - - regerror (err, &compiled_pattern, - msg, sizeof (msg)); - - error << "Cannot compile soundfile regexp for use (" - << msg - << ")" - << endmsg; - - return 0; - } - - return run_scan (dirpath, &PathScanner::regexp_filter, - (bool (*)(const string &, void *)) 0, - 0, - match_fullpath, - return_fullpath, - limit); -} - -vector<string *> * -PathScanner::run_scan (const string &dirpath, - bool (PathScanner::*memberfilter)(const string &), - bool (*filter)(const string &, void *), - void *arg, - bool match_fullpath, bool return_fullpath, - long limit) - -{ - vector<string *> *result = 0; - DIR *dir; - struct dirent *finfo; - char *pathcopy = strdup (dirpath.c_str()); - char *thisdir; - char fullpath[PATH_MAX+1]; - string search_str; - string *newstr; - long nfound = 0; - - if ((thisdir = strtok (pathcopy, ":")) == 0 || - strlen (thisdir) == 0) { - free (pathcopy); - return 0; - } - - result = new vector<string *>; - - do { - - if ((dir = opendir (thisdir)) == 0) { - continue; - } - - while ((finfo = readdir (dir)) != 0) { - - snprintf (fullpath, sizeof(fullpath), "%s/%s", - thisdir, finfo->d_name); - - if (match_fullpath) { - search_str = fullpath; - } else { - search_str = finfo->d_name; - } - - /* handle either type of function ptr */ - - if (memberfilter) { - if (!(this->*memberfilter)(search_str)) { - continue; - } - } else { - if (!filter(search_str, arg)) { - continue; - } - } - - if (return_fullpath) { - newstr = new string (fullpath); - } else { - newstr = new string (finfo->d_name); - } - - result->push_back (newstr); - nfound++; - } - - closedir (dir); - - } while ((limit < 0 || (nfound < limit)) && (thisdir = strtok (0, ":"))); - - free (pathcopy); - return result; -} - -string * -PathScanner::find_first (const string &dirpath, - const string ®exp, - bool match_fullpath, - bool return_fullpath) -{ - vector<string *> *res; - string *ret; - int err; - char msg[256]; - - if ((err = regcomp (&compiled_pattern, regexp.c_str(), - REG_EXTENDED|REG_NOSUB))) { - - regerror (err, &compiled_pattern, - msg, sizeof (msg)); - - error << "Cannot compile soundfile regexp for use (" << msg << ")" << endmsg; - - - return 0; - } - - res = run_scan (dirpath, - &PathScanner::regexp_filter, - (bool (*)(const string &, void *)) 0, - 0, - match_fullpath, - return_fullpath, - 1); - - if (res->size() == 0) { - ret = 0; - } else { - ret = res->front(); - } - vector_delete (res); - delete res; - return ret; -} - -string * -PathScanner::find_first (const string &dirpath, - bool (*filter)(const string &, void *), - void *arg, - bool match_fullpath, - bool return_fullpath) -{ - vector<string *> *res; - string *ret; - - res = run_scan (dirpath, - (bool (PathScanner::*)(const string &)) 0, - filter, - 0, - match_fullpath, - return_fullpath, 1); - - if (res->size() == 0) { - ret = 0; - } else { - ret = res->front(); - } - vector_delete (res); - delete res; - return ret; -} diff --git a/libs/pbd/pbd/.DS_Store b/libs/pbd/pbd/.DS_Store Binary files differdeleted file mode 100644 index 5008ddfcf5..0000000000 --- a/libs/pbd/pbd/.DS_Store +++ /dev/null diff --git a/libs/pbd/pbd/.cvsignore b/libs/pbd/pbd/.cvsignore deleted file mode 100644 index 67020331ba..0000000000 --- a/libs/pbd/pbd/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -version.h diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc deleted file mode 100644 index 97f19e1fe5..0000000000 --- a/libs/pbd/pbd/abstract_ui.cc +++ /dev/null @@ -1,149 +0,0 @@ -#include <unistd.h> - -#include <pbd/abstract_ui.h> -#include <pbd/pthread_utils.h> -#include <pbd/failed_constructor.h> - -#include "i18n.h" - -using namespace std; - -template <typename RequestObject> -AbstractUI<RequestObject>::AbstractUI (string name, bool with_signal_pipes) - : BaseUI (name, with_signal_pipes) -{ - if (pthread_key_create (&thread_request_buffer_key, 0)) { - cerr << _("cannot create thread request buffer key") << endl; - throw failed_constructor(); - } - - PBD::ThreadCreated.connect (mem_fun (*this, &AbstractUI<RequestObject>::register_thread)); - PBD::ThreadCreatedWithRequestSize.connect (mem_fun (*this, &AbstractUI<RequestObject>::register_thread_with_request_count)); -} - -template <typename RequestObject> void -AbstractUI<RequestObject>::register_thread (pthread_t thread_id, string name) -{ - register_thread_with_request_count (thread_id, name, 256); -} - -template <typename RequestObject> void -AbstractUI<RequestObject>::register_thread_with_request_count (pthread_t thread_id, string thread_name, uint32_t num_requests) -{ - RequestBuffer* b = new RequestBuffer (num_requests); - - { - Glib::Mutex::Lock lm (request_buffer_map_lock); - request_buffers[thread_id] = b; - } - - pthread_setspecific (thread_request_buffer_key, b); -} - -template <typename RequestObject> RequestObject* -AbstractUI<RequestObject>::get_request (RequestType rt) -{ - RequestBuffer* rbuf = static_cast<RequestBuffer*>(pthread_getspecific (thread_request_buffer_key)); - - if (rbuf == 0) { - /* Cannot happen, but if it does we can't use the error reporting mechanism */ - cerr << _("programming error: ") - << string_compose ("no %1-UI request buffer found for thread %2", name(), pthread_name()) - << endl; - abort (); - } - - RequestBufferVector vec; - vec.buf[0] = 0; - vec.buf[1] = 0; - - rbuf->get_write_vector (&vec); - - if (vec.len[0] == 0) { - if (vec.len[1] == 0) { - cerr << string_compose ("no space in %1-UI request buffer for thread %2", name(), pthread_name()) - << endl; - return 0; - } else { - vec.buf[1]->type = rt; - return vec.buf[1]; - } - } else { - vec.buf[0]->type = rt; - return vec.buf[0]; - } -} - -template <typename RequestObject> void -AbstractUI<RequestObject>::handle_ui_requests () -{ - RequestBufferMapIterator i; - - request_buffer_map_lock.lock (); - - for (i = request_buffers.begin(); i != request_buffers.end(); ++i) { - - RequestBufferVector vec; - - while (true) { - - /* we must process requests 1 by 1 because - the request may run a recursive main - event loop that will itself call - handle_ui_requests. when we return - from the request handler, we cannot - expect that the state of queued requests - is even remotely consistent with - the condition before we called it. - */ - - i->second->get_read_vector (&vec); - - if (vec.len[0] == 0) { - break; - } else { - request_buffer_map_lock.unlock (); - do_request (vec.buf[0]); - request_buffer_map_lock.lock (); - i->second->increment_read_ptr (1); - } - } - } - - request_buffer_map_lock.unlock (); -} - -template <typename RequestObject> void -AbstractUI<RequestObject>::send_request (RequestObject *req) -{ - if (base_instance() == 0) { - return; /* XXX is this the right thing to do ? */ - } - - if (caller_is_ui_thread()) { - // cerr << "GUI thread sent request " << req << " type = " << req->type << endl; - do_request (req); - } else { - RequestBuffer* rbuf = static_cast<RequestBuffer*> (pthread_getspecific (thread_request_buffer_key)); - - if (rbuf == 0) { - /* can't use the error system to report this, because this - thread isn't registered! - */ - cerr << _("programming error: ") - << string_compose ("AbstractUI::send_request() called from %1 (%2), but no request buffer exists for that thread", name(), pthread_name()) - << endl; - abort (); - } - - // cerr << "thread " << pthread_self() << " sent request " << req << " type = " << req->type << endl; - - rbuf->increment_write_ptr (1); - - if (signal_pipe[1] >= 0) { - const char c = 0; - write (signal_pipe[1], &c, 1); - } - } -} - diff --git a/libs/pbd/pbd/abstract_ui.h b/libs/pbd/pbd/abstract_ui.h deleted file mode 100644 index 88c27aa0bc..0000000000 --- a/libs/pbd/pbd/abstract_ui.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_abstract_ui_h__ -#define __pbd_abstract_ui_h__ - -#include <map> -#include <string> -#include <pthread.h> - -#include <sigc++/sigc++.h> - -#include <glibmm/thread.h> - -#include <pbd/receiver.h> -#include <pbd/ringbufferNPT.h> -#include <pbd/base_ui.h> - -class Touchable; - -template <class RequestObject> -class AbstractUI : public BaseUI -{ - public: - AbstractUI (std::string name, bool with_signal_pipe); - virtual ~AbstractUI() {} - - virtual bool caller_is_ui_thread() = 0; - - void call_slot (sigc::slot<void> el_slot) { - RequestObject *req = get_request (BaseUI::CallSlot); - - if (req == 0) { - return; - } - - req->slot = el_slot; - send_request (req); - } - - void register_thread (pthread_t, std::string); - void register_thread_with_request_count (pthread_t, std::string, uint32_t num_requests); - - protected: - typedef RingBufferNPT<RequestObject> RequestBuffer; - typedef typename RequestBuffer::rw_vector RequestBufferVector; - typedef typename std::map<pthread_t,RequestBuffer*>::iterator RequestBufferMapIterator; - - Glib::Mutex request_buffer_map_lock; - typedef std::map<pthread_t,RequestBuffer*> RequestBufferMap; - RequestBufferMap request_buffers; - pthread_key_t thread_request_buffer_key; - RequestObject* get_request (RequestType); - void handle_ui_requests (); - void send_request (RequestObject *); - - virtual void do_request (RequestObject *) = 0; -}; - -#endif /* __pbd_abstract_ui_h__ */ - - diff --git a/libs/pbd/pbd/base_ui.h b/libs/pbd/pbd/base_ui.h deleted file mode 100644 index 0928512841..0000000000 --- a/libs/pbd/pbd/base_ui.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_base_ui_h__ -#define __pbd_base_ui_h__ - -#include <string> -#include <stdint.h> - -#include <sigc++/slot.h> -#include <sigc++/trackable.h> - -class BaseUI : virtual public sigc::trackable { - public: - BaseUI (std::string name, bool with_signal_pipes); - virtual ~BaseUI(); - - BaseUI* base_instance() { return base_ui_instance; } - - std::string name() const { return _name; } - - bool ok() const { return _ok; } - - enum RequestType { - range_guarantee = ~0 - }; - - struct BaseRequestObject { - RequestType type; - sigc::slot<void> the_slot; - }; - - static RequestType new_request_type(); - static RequestType CallSlot; - - protected: - int signal_pipe[2]; - bool _ok; - - private: - std::string _name; - BaseUI* base_ui_instance; - - static uint32_t rt_bit; - - int setup_signal_pipe (); -}; - -#endif /* __pbd_base_ui_h__ */ diff --git a/libs/pbd/pbd/basename.h b/libs/pbd/pbd/basename.h deleted file mode 100644 index f13c3840dc..0000000000 --- a/libs/pbd/pbd/basename.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __stupid_basename_h__ -#define __stupid_basename_h__ - -#include <glibmm/ustring.h> - -namespace PBD -{ - -Glib::ustring basename_nosuffix (Glib::ustring); - -} - -#endif // __stupid_basename_h__ diff --git a/libs/pbd/pbd/command.h b/libs/pbd/pbd/command.h deleted file mode 100644 index a66485bc0d..0000000000 --- a/libs/pbd/pbd/command.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - Author: Hans Fugal - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __lib_pbd_command_h__ -#define __lib_pbd_command_h__ - -#include <pbd/statefuldestructible.h> - -class Command : public PBD::StatefulDestructible -{ -public: - virtual ~Command() {} - - virtual void operator() () = 0; - - void set_name (const std::string& str) { _name = str; } - const std::string& name() const { return _name; } - - virtual void undo() = 0; - virtual void redo() { (*this)(); } - - virtual XMLNode &get_state(); - virtual int set_state(const XMLNode&) { /* noop */ return 0; } - -protected: - Command() {} - Command(const std::string& name) : _name(name) {} - - std::string _name; -}; - -#endif // __lib_pbd_command_h_ diff --git a/libs/pbd/pbd/compose.h b/libs/pbd/pbd/compose.h deleted file mode 100644 index 0df9519aaf..0000000000 --- a/libs/pbd/pbd/compose.h +++ /dev/null @@ -1,393 +0,0 @@ -/* Defines String::compose(fmt, arg...) for easy, i18n-friendly - * composition of strings. - * - * Version 1.0. - * - * Copyright (c) 2002 Ole Laursen <olau@hardworking.dk>. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -// -// Basic usage is like -// -// std::cout << String::compose("This is a %1x%2 matrix.", rows, cols); -// -// See http://www.cs.auc.dk/~olau/compose/ or the included README.compose for -// more details. -// - -#ifndef STRING_COMPOSE_H -#define STRING_COMPOSE_H - -#include <sstream> -#include <string> -#include <list> -#include <map> // for multimap - -namespace StringPrivate -{ - // the actual composition class - using string::compose is cleaner, so we - // hide it here - class Composition - { - public: - // initialize and prepare format string on the form "text %1 text %2 etc." - explicit Composition(std::string fmt); - - // supply an replacement argument starting from %1 - template <typename T> - Composition &arg(const T &obj); - - // compose and return string - std::string str() const; - - private: - std::ostringstream os; - int arg_no; - - // we store the output as a list - when the output string is requested, the - // list is concatenated to a string; this way we can keep iterators into - // the list instead of into a string where they're possibly invalidated on - // inserting a specification string - typedef std::list<std::string> output_list; - output_list output; - - // the initial parse of the format string fills in the specification map - // with positions for each of the various %?s - typedef std::multimap<int, output_list::iterator> specification_map; - specification_map specs; - }; - - // helper for converting spec string numbers - inline int char_to_int(char c) - { - switch (c) { - case '0': return 0; - case '1': return 1; - case '2': return 2; - case '3': return 3; - case '4': return 4; - case '5': return 5; - case '6': return 6; - case '7': return 7; - case '8': return 8; - case '9': return 9; - default: return -1000; - } - } - - inline bool is_number(int n) - { - switch (n) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - return true; - - default: - return false; - } - } - - - // implementation of class Composition - template <typename T> - inline Composition &Composition::arg(const T &obj) - { - os << obj; - - std::string rep = os.str(); - - if (!rep.empty()) { // manipulators don't produce output - for (specification_map::const_iterator i = specs.lower_bound(arg_no), - end = specs.upper_bound(arg_no); i != end; ++i) { - output_list::iterator pos = i->second; - ++pos; - - output.insert(pos, rep); - } - - os.str(std::string()); - //os.clear(); - ++arg_no; - } - - return *this; - } - - inline Composition::Composition(std::string fmt) - : arg_no(1) - { - std::string::size_type b = 0, i = 0; - - // fill in output with the strings between the %1 %2 %3 etc. and - // fill in specs with the positions - while (i < fmt.length()) { - if (fmt[i] == '%' && i + 1 < fmt.length()) { - if (fmt[i + 1] == '%') { // catch %% - fmt.replace(i, 2, "%"); - ++i; - } - else if (is_number(fmt[i + 1])) { // aha! a spec! - // save string - output.push_back(fmt.substr(b, i - b)); - - int n = 1; // number of digits - int spec_no = 0; - - do { - spec_no += char_to_int(fmt[i + n]); - spec_no *= 10; - ++n; - } while (i + n < fmt.length() && is_number(fmt[i + n])); - - spec_no /= 10; - output_list::iterator pos = output.end(); - --pos; // safe since we have just inserted a string> - - specs.insert(specification_map::value_type(spec_no, pos)); - - // jump over spec string - i += n; - b = i; - } - else - ++i; - } - else - ++i; - } - - if (i - b > 0) // add the rest of the string - output.push_back(fmt.substr(b, i - b)); - } - - inline std::string Composition::str() const - { - // assemble string - std::string str; - - for (output_list::const_iterator i = output.begin(), end = output.end(); - i != end; ++i) - str += *i; - - return str; - } -} - -// now for the real thing(s) -//namespace PBD -//{ - // a series of functions which accept a format string on the form "text %1 - // more %2 less %3" and a number of templated parameters and spits out the - // composited string - template <typename T1> - inline std::string string_compose(const std::string &fmt, const T1 &o1) - { - StringPrivate::Composition c(fmt); - c.arg(o1); - return c.str(); - } - - template <typename T1, typename T2> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2); - return c.str(); - } - - template <typename T1, typename T2, typename T3> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10, - typename T11> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10, const T11 &o11) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10).arg(o11); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10, - typename T11, typename T12> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10, const T11 &o11, const T12 &o12) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10).arg(o11).arg(o12); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10, - typename T11, typename T12, typename T13> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10, const T11 &o11, const T12 &o12, - const T13 &o13) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10).arg(o11).arg(o12).arg(o13); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10, - typename T11, typename T12, typename T13, typename T14> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10, const T11 &o11, const T12 &o12, - const T13 &o13, const T14 &o14) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10).arg(o11).arg(o12).arg(o13).arg(o14); - return c.str(); - } - - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10, - typename T11, typename T12, typename T13, typename T14, - typename T15> - inline std::string string_compose(const std::string &fmt, - const T1 &o1, const T2 &o2, const T3 &o3, - const T4 &o4, const T5 &o5, const T6 &o6, - const T7 &o7, const T8 &o8, const T9 &o9, - const T10 &o10, const T11 &o11, const T12 &o12, - const T13 &o13, const T14 &o14, const T15 &o15) - { - StringPrivate::Composition c(fmt); - c.arg(o1).arg(o2).arg(o3).arg(o4).arg(o5).arg(o6).arg(o7).arg(o8).arg(o9) - .arg(o10).arg(o11).arg(o12).arg(o13).arg(o14).arg(o15); - return c.str(); - } -//} - - -#endif // STRING_COMPOSE_H diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h deleted file mode 100644 index dbb23fdff4..0000000000 --- a/libs/pbd/pbd/controllable.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_controllable_h__ -#define __pbd_controllable_h__ - -#include <string> -#include <set> - -#include <sigc++/trackable.h> -#include <sigc++/signal.h> - -#include <pbd/statefuldestructible.h> - -class XMLNode; - -namespace PBD { - -class Controllable : public PBD::StatefulDestructible { - public: - Controllable (std::string name); - virtual ~Controllable() { Destroyed (this); } - - virtual void set_value (float) = 0; - virtual float get_value (void) const = 0; - - virtual bool can_send_feedback() const { return true; } - - sigc::signal<void> LearningFinished; - static sigc::signal<void,PBD::Controllable*,int,int> CreateBinding; - static sigc::signal<void,PBD::Controllable*> DeleteBinding; - - static sigc::signal<bool,PBD::Controllable*> StartLearning; - static sigc::signal<void,PBD::Controllable*> StopLearning; - - static sigc::signal<void,Controllable*> Destroyed; - - sigc::signal<void> Changed; - - int set_state (const XMLNode&); - XMLNode& get_state (); - - std::string name() const { return _name; } - - static Controllable* by_id (const PBD::ID&); - static Controllable* by_name (const std::string&); - - private: - std::string _name; - - void add (); - void remove (); - - typedef std::set<PBD::Controllable*> Controllables; - static Glib::Mutex* registry_lock; - static Controllables registry; -}; - -/* a utility class for the occasions when you need but do not have - a Controllable -*/ - -class IgnorableControllable : public Controllable -{ - public: - IgnorableControllable () : PBD::Controllable ("ignoreMe") {} - ~IgnorableControllable () {} - - void set_value (float v){} - float get_value () const { return 0.0; } - bool can_send_feedback () const { return false; } -}; - -} - -#endif /* __pbd_controllable_h__ */ diff --git a/libs/pbd/pbd/convert.h b/libs/pbd/pbd/convert.h deleted file mode 100644 index 83cd285098..0000000000 --- a/libs/pbd/pbd/convert.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright (C) 2002 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_convert_h__ -#define __pbd_convert_h__ - -#include <string> -#include <vector> -#include <sstream> -#include <iostream> -#include <glibmm/ustring.h> - -namespace PBD { - -std::string short_version (std::string, std::string::size_type target_length); - -int atoi (const std::string&); -double atof (const std::string&); -void url_decode (std::string&); -void url_decode (Glib::ustring&); - -// std::string length2string (const int32_t frames, const float sample_rate); -std::string length2string (const int64_t frames, const double sample_rate); - -std::vector<std::string> internationalize (const char *, const char **); -bool strings_equal_ignore_case (const std::string& a, const std::string& b); - -template <class T> std::string -to_string (T t, std::ios_base & (*f)(std::ios_base&)) -{ - std::ostringstream oss; - oss << f << t; - return oss.str(); -} - -} //namespace PBD - -#endif /* __pbd_convert_h__ */ diff --git a/libs/pbd/pbd/crossthread.h b/libs/pbd/pbd/crossthread.h deleted file mode 100644 index b815cfd319..0000000000 --- a/libs/pbd/pbd/crossthread.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd__crossthread_h__ -#define __pbd__crossthread_h__ - -#include <pbd/abstract_ui.h> -#include <sigc++/sigc++.h> -#include <pthread.h> - -template<class RequestType> -void -call_slot_from_thread_or_dispatch_it (pthread_t thread_id, AbstractUI<RequestType>& ui, sigc::slot<void> theSlot) -{ - /* when called, this function will determine whether the calling thread - is the same as thread specified by the first argument. if it is, - the we execute the slot. if not, we ask the interface given by the second - argument to call the slot. - */ - - if (pthread_self() == thread_id) { - theSlot (); - } else { - ui.call_slot (theSlot); - } -} - -template<class RequestType> -sigc::slot<void> -crossthread_safe (pthread_t thread_id, AbstractUI<RequestType>& ui, sigc::slot<void> theSlot) -{ - /* this function returns a slot that will ensure that theSlot is either - called by the specified thread or passed to the interface via - AbstractUI::call_slot(). - */ - - return sigc::bind (sigc::ptr_fun (call_slot_from_thread_or_dispatch_it<RequestType>), - thread_id, ui, theSlot); -} - -#endif /* __pbd__crossthread_h__ */ diff --git a/libs/pbd/pbd/destructible.h b/libs/pbd/pbd/destructible.h deleted file mode 100644 index 827feb8fe5..0000000000 --- a/libs/pbd/pbd/destructible.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_destructible_h__ -#define __pbd_destructible_h__ - -#include <sigc++/signal.h> - -namespace PBD { - -/* be very very careful using this class. it does not inherit from sigc::trackable and thus - should only be used in multiple-inheritance situations involving another type - that does inherit from sigc::trackable (or sigc::trackable itself) -*/ - -class ThingWithGoingAway { - public: - virtual ~ThingWithGoingAway () {} - sigc::signal<void> GoingAway; -}; - -class Destructible : public sigc::trackable, public ThingWithGoingAway { - public: - virtual ~Destructible () {} - void drop_references () const { GoingAway(); } - -}; - -} - -#endif /* __pbd_destructible_h__ */ diff --git a/libs/pbd/pbd/enumwriter.h b/libs/pbd/pbd/enumwriter.h deleted file mode 100644 index f53388f3cc..0000000000 --- a/libs/pbd/pbd/enumwriter.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <map> -#include <string> -#include <vector> -#include <exception> - - -namespace PBD { - -class unknown_enumeration : public std::exception { - public: - virtual const char *what() const throw() { return "unknown enumerator in PBD::EnumWriter"; } -}; - -class EnumWriter { - public: - EnumWriter (); - ~EnumWriter (); - - static EnumWriter& instance() { return *_instance; } - - void register_distinct (std::string type, std::vector<int>, std::vector<std::string>); - void register_bits (std::string type, std::vector<int>, std::vector<std::string>); - - std::string write (std::string type, int value); - int read (std::string type, std::string value); - - void add_to_hack_table (std::string str, std::string hacked_str); - - private: - struct EnumRegistration { - std::vector<int> values; - std::vector<std::string> names; - bool bitwise; - - EnumRegistration() {} - EnumRegistration (std::vector<int>& v, std::vector<std::string>& s, bool b) - : values (v), names (s), bitwise (b) {} - }; - - typedef std::map<std::string, EnumRegistration> Registry; - Registry registry; - - std::string write_bits (EnumRegistration&, int value); - std::string write_distinct (EnumRegistration&, int value); - - int read_bits (EnumRegistration&, std::string value); - int read_distinct (EnumRegistration&, std::string value); - - static EnumWriter* _instance; - static std::map<std::string,std::string> hack_table; -}; - -} - -#define enum_2_string(e) (PBD::EnumWriter::instance().write (typeid(e).name(), e)) -#define string_2_enum(str,e) (PBD::EnumWriter::instance().read (typeid(e).name(), (str))) - diff --git a/libs/pbd/pbd/error.h b/libs/pbd/pbd/error.h deleted file mode 100644 index 58842d68eb..0000000000 --- a/libs/pbd/pbd/error.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (C) 1998-2006 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ -#ifndef __libpbd_error_h__ -#define __libpbd_error_h__ - -#include "transmitter.h" - -namespace PBD { - extern Transmitter error; - extern Transmitter info; - extern Transmitter warning; - extern Transmitter fatal; -} - -#endif // __libpbd_error_h__ diff --git a/libs/pbd/pbd/failed_constructor.h b/libs/pbd/pbd/failed_constructor.h deleted file mode 100644 index b13964e355..0000000000 --- a/libs/pbd/pbd/failed_constructor.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_failed_constructor_h__ -#define __pbd_failed_constructor_h__ - -#include <exception> - -class failed_constructor : public std::exception { - public: - virtual const char *what() const throw() { return "failed constructor"; } -}; - -#endif /* __pbd_failed_constructor_h__ */ diff --git a/libs/pbd/pbd/fastlog.h b/libs/pbd/pbd/fastlog.h deleted file mode 100644 index 4269705a44..0000000000 --- a/libs/pbd/pbd/fastlog.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright unknown. Code by Laurent de Soras <laurent@ohmforce.com>. - */ - -#ifndef __pbd_fastlog_h__ -#define __pbd_fastlog_h__ - -#include <math.h> /* for HUGE_VAL */ - -static inline float fast_log2 (float val) -{ - /* don't use reinterpret_cast<> because that prevents this - from being used by pure C code (for example, GnomeCanvasItems) - */ - union {float f; int i;} t; - t.f = val; - int * const exp_ptr = &t.i; - int x = *exp_ptr; - const int log_2 = ((x >> 23) & 255) - 128; - x &= ~(255 << 23); - x += 127 << 23; - *exp_ptr = x; - - val = ((-1.0f/3) * t.f + 2) * t.f - 2.0f/3; - - return (val + log_2); -} - -static inline float fast_log (const float val) -{ - return (fast_log2 (val) * 0.69314718f); -} - -static inline float fast_log10 (const float val) -{ - return fast_log2(val) / 3.312500f; -} - -static inline float minus_infinity() { return -HUGE_VAL; } - -#endif /* __pbd_fastlog_h__ */ diff --git a/libs/pbd/pbd/file_utils.h b/libs/pbd/pbd/file_utils.h deleted file mode 100644 index a9832ce720..0000000000 --- a/libs/pbd/pbd/file_utils.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef PBD_FILE_UTILS_INCLUDED -#define PBD_FILE_UTILS_INCLUDED - -#include <string> -#include <vector> - -#include <glibmm/pattern.h> - -#include <pbd/search_path.h> - -namespace PBD { - -using std::string; -using std::vector; - -/** - * Get a list of files in a directory. - * @note You must join path with result to get the absolute path - * to the file. - * - * @param path An Absolute path to a directory - * @param result A vector of filenames. - */ -void -get_files_in_directory (const sys::path& path, - vector<string>& result); - -/** - * Takes a directory path and returns all the files in the directory - * matching a particular pattern. - * - * @param directory A directory path - * @param pattern A Glib::PatternSpec used to match the files. - * @param result A vector in which to place the resulting matches. - */ -void -find_matching_files_in_directory (const sys::path& directory, - const Glib::PatternSpec& pattern, - vector<sys::path>& result); - -/** - * Takes a number of directory paths and returns all the files matching - * a particular pattern. - * - * @param paths A vector containing the Absolute paths - * @param pattern A Glib::PatternSpec used to match the files - * @param result A vector in which to place the resulting matches. - */ -void -find_matching_files_in_directories (const vector<sys::path>& directory_paths, - const Glib::PatternSpec& pattern, - vector<sys::path>& result); - -/** - * Takes a SearchPath and puts a list of all the files in the search path - * that match pattern into the result vector. - * - * @param search_path A SearchPath - * @param pattern A Glib::PatternSpec used to match the files - * @param result A vector in which to place the resulting matches. - */ -void -find_matching_files_in_search_path (const SearchPath& search_path, - const Glib::PatternSpec& pattern, - vector<sys::path>& result); - -/** - * Takes a search path and a file name and place the full path - * to that file in result if it is found within the search path. - * - * @return true If file is found within the search path. - */ -bool -find_file_in_search_path (const SearchPath& search_path, - const string& filename, - sys::path& result); - -} // namespace PBD - -#endif diff --git a/libs/pbd/pbd/filesystem.h b/libs/pbd/pbd/filesystem.h deleted file mode 100644 index 2d21a3fafc..0000000000 --- a/libs/pbd/pbd/filesystem.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * @namespace PBD::sys - * - * The API in this file is intended to be as close as possible to the - * boost::filesystem API but implementing only the subset of it that is required - * by ardour using the glib/glibmm file utility functions in the implementation. - * - * More information about boost::filesystem and the TR2 proposal at - * - * http://www.boost.org/libs/filesystem/doc/tr2_proposal.html - * - * Hopefully the boost::filesystem API will pass TR2 review etc and become part - * of the C++ standard and this code can be removed, or we just end up using - * the boost filesystem library when it matures a bit more. - * - * My reasons for writing this thin wrapper instead of using glib directly or - * using boost::filesystem immediately are: - * - * - Using sys::path instead of strings and Glib::build_filename is more - * convenient, terse and forces correct platform agnostic path building. - * - * - Using boost::filesystem on windows would mean converting between any UTF-8 - * encoded strings(such as when selecting a file/directory in the gtk file - * chooser) and the native file encoding (UTF-16). It would take some time - * and testing to find out when this is required and the glib functions already - * do this if necessary. - * - * - Using exceptions to indicate errors is more likely to uncover situations - * where error conditions are being silently ignored(I've already encounted - * a few examples of this in the ardour code). - * - * - Many of the glib file utility functions are not wrapped by glibmm so this - * also provides what I think is a better API. - * - * - Using boost::filesystem directly means another library dependence and would - * require more testing on windows because of the character encoding issue. - * - * - The boost::filesystem API changes a bit as part of the TR2 review process etc. - */ - -#ifndef __filesystem_h__ -#define __filesystem_h__ - -#include <stdexcept> -#include <string> - -namespace PBD { - -namespace sys { - -using std::string; - -class path -{ -public: - path() : m_path("") { } - path(const path & p) : m_path(p.m_path) { } - path(const string & s) : m_path(s) { } - path(const char* s) : m_path(s) { } - - path& operator=(const path& p) { m_path = p.m_path; return *this;} - path& operator=(const string& s) { m_path = s; return *this; } - path& operator=(const char* s) { m_path = s; return *this; } - - path& operator/=(const path& rhs); - path& operator/=(const string& s); - path& operator/=(const char* s); - - const string to_string() const { return m_path; } - - /** - * @return the last component of the path, if the path refers to - * a file then it will be the entire filename including any extension. - */ - string leaf() const; - - /** - * @returns the directory component of a path without any trailing - * path separator or an empty string if the path has no directory - * component(branch path). - */ - path branch_path () const; - -private: - - string m_path; -}; - -class filesystem_error : public std::runtime_error -{ - const int m_error_code; - -public: - explicit filesystem_error(const std::string & what, int error_code=0) - : std::runtime_error(what), m_error_code(error_code) { } - - int system_error() const { return m_error_code; } -}; - -inline path operator/ (const path& lhs, const path& rhs) -{ return path(lhs) /= rhs; } - -/// @return true if path at p exists -bool exists(const path & p); - -/// @return true if path at p is a directory. -bool is_directory(const path & p); - -/** - * Attempt to create a directory at p as if by the glib function g_mkdir - * with a second argument of S_IRWXU|S_IRWXG|S_IRWXO - * - * @throw filesystem_error if mkdir fails for any other reason other than - * the directory already exists. - * - * @return true If the directory p was created, otherwise false - * - * @post is_directory(p) - */ -bool create_directory(const path & p); - -/** - * Attempt to create a directory at p as if by the glib function - * g_mkdir_with_parents with a second argument of S_IRWXU|S_IRWXG|S_IRWXO - * - * @throw filesystem_error if g_mkdir_with_parents fails for any other - * reason other than the directory already exists. - * - * @return true If the directory at p was created, otherwise false - * - * @post is_directory(p) - */ -bool create_directories(const path & p); - -/** - * Attempt to delete the file at path p as if by the glib function - * g_unlink. - * - * @return true if file existed prior to removing it, false if file - * at p did not exist. - * - * @throw filesystem_error if removing the file failed for any other - * reason other than the file did not exist. - */ -bool remove(const path & p); - -/** - * Renames from_path to to_path as if by the glib function g_rename. - */ -void rename (const path& from_path, const path& to_path); - -/** - * Attempt to copy the contents of the file from_path to a new file - * at path to_path. - * - * @throw filesystem_error if from_path.empty() || to_path.empty() || - * !exists(from_path) || !is_regular(from_path) || exists(to_path) - */ -void copy_file(const path & from_path, const path & to_path); - -/** - * @return The substring of the filename component of the path, starting - * at the beginning of the filename up to but not including the last dot. - * - * boost::filesystem::path::basename differs from g_path_get_basename and - * ::basename and most other forms of basename in that it removes the - * extension from the filename if the filename has one. - */ -string basename (const path& p); - -/** - * @return If the filename contains a dot, return a substring of the - * filename starting the rightmost dot to the end of the string, otherwise - * an empty string. - * - * @param p a file path. - */ -string extension (const path& p); - -} // namespace sys - -} // namespace PBD - -#endif diff --git a/libs/pbd/pbd/filesystem_paths.h b/libs/pbd/pbd/filesystem_paths.h deleted file mode 100644 index 4e09c6ec4b..0000000000 --- a/libs/pbd/pbd/filesystem_paths.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef PBD_FILESYSTEM_PATHS_INCLUDED -#define PBD_FILESYSTEM_PATHS_INCLUDED - -#include <vector> - -#include <pbd/filesystem.h> - -namespace PBD { - - using std::vector; - - vector<sys::path> system_data_directories (); - - vector<sys::path> system_config_directories (); - -} // namespace PBD - -#endif diff --git a/libs/pbd/pbd/forkexec.h b/libs/pbd/pbd/forkexec.h deleted file mode 100644 index 236cffa301..0000000000 --- a/libs/pbd/pbd/forkexec.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __forkexec_h__ -#define __forkexec_h__ - -#include <unistd.h> - -pid_t forkexec(char **argv, char **envp, int outpipe[2], int inpipe[2]); -pid_t forkexec_cmd(char *cmd, char **envp, int outpipe[2], int inpipe[2]); - -#endif // __forkexec_h__ diff --git a/libs/pbd/pbd/fpu.h b/libs/pbd/pbd/fpu.h deleted file mode 100644 index 617dcdf3da..0000000000 --- a/libs/pbd/pbd/fpu.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __pbd_fpu_h__ -#define __pbd_fpu_h__ - -namespace PBD { - - -class FPU { - private: - enum Flags { - HasFlushToZero = 0x1, - HasDenormalsAreZero = 0x2, - HasSSE = 0x4, - HasSSE2 = 0x8 - }; - - public: - FPU (); - ~FPU (); - - bool has_flush_to_zero () const { return _flags & HasFlushToZero; } - bool has_denormals_are_zero () const { return _flags & HasDenormalsAreZero; } - bool has_sse () const { return _flags & HasSSE; } - bool has_sse2 () const { return _flags & HasSSE2; } - - private: - Flags _flags; -}; - -} - -#endif /* __pbd_fpu_h__ */ diff --git a/libs/pbd/pbd/functor_command.h b/libs/pbd/pbd/functor_command.h deleted file mode 100644 index e335f4418e..0000000000 --- a/libs/pbd/pbd/functor_command.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - Copyright (C) 2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __lib_pbd_functor_command_h__ -#define __lib_pbd_functor_command_h__ - -#include <iostream> -#include <sstream> -#include <string> -#include <map> - -#include <pbd/xml++.h> -#include <pbd/shiva.h> -#include <pbd/command.h> -#include <pbd/failed_constructor.h> - -/** This command class is initialized - */ - -namespace PBD { - -template <class obj_type, class arg_type> -class FunctorCommand : public Command -{ - private: - typedef void (obj_type::*functor_type)(arg_type); - typedef std::map< std::string, functor_type > FunctorMap; - typedef typename FunctorMap::iterator FunctorMapIterator; - - public: - FunctorCommand( - std::string functor, - obj_type object, - arg_type b, - arg_type a - ) : functor_name(functor), - object(object), - before(b), - after(a) - { - method = find_functor(functor); - - /* catch destruction of the object */ - new PBD::Shiva< obj_type, FunctorCommand<obj_type, arg_type> > (object, *this); - } - - ~FunctorCommand() { - GoingAway(); - } - - void operator() () { - (object.*method) (after); - } - - void undo() { - (object.*method) (before); - } - - virtual XMLNode &get_state() { - std::stringstream ss; - - XMLNode *node = new XMLNode("FunctorCommand"); - node->add_property("functor", functor_name); - ss << before; - node->add_property("before", ss.str()); - ss.clear (); - ss << after; - node->add_property("after", ss.str()); - - return *node; - } - - static void register_functor(std::string name, functor_type f) { - functor_map[name] = f; - } - - private: - static functor_type find_functor(std::string name) { - FunctorMapIterator iter; - - if((iter = functor_map.find(name)) == functor_map.end()) { - throw failed_constructor(); - } - - return iter->second; - } - - protected: - std::string functor_name; - obj_type &object; - arg_type before; - arg_type after; - functor_type method; - static FunctorMap functor_map; -}; - -// static initialization of functor_map... -template <class obj_type, class arg_type> -typename FunctorCommand<obj_type, arg_type>::FunctorMap -FunctorCommand<obj_type, arg_type>::functor_map; - -}; - -#endif // __lib_pbd_functor_command_h__ - diff --git a/libs/pbd/pbd/id.h b/libs/pbd/pbd/id.h deleted file mode 100644 index 3f87a65e0d..0000000000 --- a/libs/pbd/pbd/id.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_id_h__ -#define __pbd_id_h__ - -#include <stdint.h> -#include <string> - -#include <glibmm/thread.h> - -namespace PBD { - -class ID { - public: - ID (); - ID (std::string); - - bool operator== (const ID& other) const { - return _id == other._id; - } - - bool operator!= (const ID& other) const { - return _id != other._id; - } - - ID& operator= (std::string); - - bool operator< (const ID& other) const { - return _id < other._id; - } - - void print (char* buf, uint32_t bufsize) const; - std::string to_s() const; - - static uint64_t counter() { return _counter; } - static void init_counter (uint64_t val) { _counter = val; } - static void init (); - - private: - uint64_t _id; - int string_assign (std::string); - - static Glib::Mutex* counter_lock; - static uint64_t _counter; -}; - -} -std::ostream& operator<< (std::ostream& ostr, const PBD::ID&); - -#endif /* __pbd_id_h__ */ diff --git a/libs/pbd/pbd/mathfix.h b/libs/pbd/pbd/mathfix.h deleted file mode 100644 index fd0468905f..0000000000 --- a/libs/pbd/pbd/mathfix.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (C) 2005 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_mathfix_h__ -#define __pbd_mathfix_h__ - -/* this is necessary to support older releases of OSX where - they moved around some of the standard math functions -*/ - -#ifdef __APPLE__ -#define powf pow -#define sqrtf sqrt -#endif - - -#endif diff --git a/libs/pbd/pbd/memento_command.h b/libs/pbd/pbd/memento_command.h deleted file mode 100644 index fdc7527dc6..0000000000 --- a/libs/pbd/pbd/memento_command.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - Author: Hans Fugal - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __lib_pbd_memento_command_h__ -#define __lib_pbd_memento_command_h__ - -#include <iostream> - -#include <pbd/command.h> -#include <pbd/stacktrace.h> -#include <pbd/xml++.h> -#include <pbd/shiva.h> - -#include <sigc++/slot.h> -#include <typeinfo> - -/** This command class is initialized with before and after mementos - * (from Stateful::get_state()), so undo becomes restoring the before - * memento, and redo is restoring the after memento. - */ -template <class obj_T> -class MementoCommand : public Command -{ -public: - MementoCommand(obj_T &object, XMLNode *before, XMLNode *after) - : obj(object), before(before), after(after) - { - /* catch destruction of the object */ - new PBD::Shiva<obj_T,MementoCommand<obj_T> > (object, *this); - } - - ~MementoCommand () - { - GoingAway(); /* EMIT SIGNAL */ - - if (before) - delete before; - - if (after) - delete after; - } - - void operator() () - { - if (after) - obj.set_state(*after); - } - - void undo() - { - if (before) - obj.set_state(*before); - } - - virtual XMLNode &get_state() - { - string name; - if (before && after) - name = "MementoCommand"; - else if (before) - name = "MementoUndoCommand"; - else - name = "MementoRedoCommand"; - - XMLNode *node = new XMLNode(name); - - node->add_property("obj_id", obj.id().to_s()); - node->add_property("type_name", typeid(obj).name()); - - if (before) - node->add_child_copy(*before); - - if (after) - node->add_child_copy(*after); - - return *node; - } - -protected: - obj_T &obj; - XMLNode *before, *after; -}; - -#endif // __lib_pbd_memento_h__ diff --git a/libs/pbd/pbd/mountpoint.h b/libs/pbd/pbd/mountpoint.h deleted file mode 100644 index e0ec1be7f9..0000000000 --- a/libs/pbd/pbd/mountpoint.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_mountpoint_h__ -#define __pbd_mountpoint_h__ - -#include <string> - -std::string mountpoint (std::string path); - -#endif // __pbd_mountpoint_h__ diff --git a/libs/pbd/pbd/pathscanner.h b/libs/pbd/pbd/pathscanner.h deleted file mode 100644 index 0a48d4d949..0000000000 --- a/libs/pbd/pbd/pathscanner.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libmisc_pathscanner_h__ -#define __libmisc_pathscanner_h__ - -#include <vector> -#include <string> -#include <regex.h> - -using std::string; -using std::vector; - -class PathScanner - -{ - public: - vector<string *> *operator() (const string &dirpath, - bool (*filter)(const string &, void *arg), - void *arg, - bool match_fullpath = true, - bool return_fullpath = true, - long limit = -1) { - return run_scan (dirpath, - (bool (PathScanner::*)(const string &)) 0, - filter, - arg, - match_fullpath, - return_fullpath, - limit); - } - - vector<string *> *operator() (const string &dirpath, - const string ®exp, - bool match_fullpath = true, - bool return_fullpath = true, - long limit = -1); - - - string *find_first (const string &dirpath, - const string ®exp, - bool match_fullpath = true, - bool return_fullpath = true); - - string *find_first (const string &dirpath, - bool (*filter)(const string &, void *), - void *arg, - bool match_fullpath = true, - bool return_fullpath = true); - - private: - regex_t compiled_pattern; - - bool regexp_filter (const string &str) { - return regexec (&compiled_pattern, str.c_str(), 0, 0, 0) == 0; - } - - vector<string *> *run_scan (const string &dirpath, - bool (PathScanner::*mfilter) (const string &), - bool (*filter)(const string &, void *), - void *arg, - bool match_fullpath, - bool return_fullpath, - long limit); - - -}; - -#endif // __libmisc_pathscanner_h__ diff --git a/libs/pbd/pbd/pool.h b/libs/pbd/pbd/pool.h deleted file mode 100644 index d604680ae2..0000000000 --- a/libs/pbd/pbd/pool.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __qm_pool_h__ -#define __qm_pool_h__ - -#include <vector> -#include <string> - -#include <glibmm/thread.h> - -#include <pbd/ringbuffer.h> - -class Pool -{ - public: - Pool (std::string name, unsigned long item_size, unsigned long nitems); - virtual ~Pool (); - - virtual void *alloc (); - virtual void release (void *); - - std::string name() const { return _name; } - - private: - RingBuffer<void*>* free_list; - std::string _name; - void *block; -}; - -class SingleAllocMultiReleasePool : public Pool -{ - public: - SingleAllocMultiReleasePool (std::string name, unsigned long item_size, unsigned long nitems); - ~SingleAllocMultiReleasePool (); - - virtual void *alloc (); - virtual void release (void *); - - private: - Glib::Mutex* m_lock; -}; - - -class MultiAllocSingleReleasePool : public Pool -{ - public: - MultiAllocSingleReleasePool (std::string name, unsigned long item_size, unsigned long nitems); - ~MultiAllocSingleReleasePool (); - - virtual void *alloc (); - virtual void release (void *); - - private: - Glib::Mutex* m_lock; -}; - -#endif // __qm_pool_h__ diff --git a/libs/pbd/pbd/pthread_utils.h b/libs/pbd/pbd/pthread_utils.h deleted file mode 100644 index 9fa6ba4ce4..0000000000 --- a/libs/pbd/pbd/pthread_utils.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_pthread_utils__ -#define __pbd_pthread_utils__ - -#include <pthread.h> -#include <signal.h> -#include <string> -#include <stdint.h> - -#include <sigc++/sigc++.h> - -int pthread_create_and_store (std::string name, pthread_t *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void * arg); -void pthread_cancel_one (pthread_t thread); -void pthread_kill_all (int signum); -void pthread_cancel_all (); -void pthread_exit_pbd (void* status); -std::string pthread_name (); - -namespace PBD { - extern sigc::signal<void,pthread_t,std::string> ThreadCreated; - extern sigc::signal<void,pthread_t,std::string,uint32_t> ThreadCreatedWithRequestSize; -} - -#endif /* __pbd_pthread_utils__ */ diff --git a/libs/pbd/pbd/rcu.h b/libs/pbd/pbd/rcu.h deleted file mode 100644 index 8b8f693e7e..0000000000 --- a/libs/pbd/pbd/rcu.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_rcu_h__ -#define __pbd_rcu_h__ - -#include "boost/shared_ptr.hpp" -#include "glibmm/thread.h" - -#include <list> - -template<class T> -class RCUManager -{ - public: - - RCUManager (T* new_rcu_value) { - x.m_rcu_value = new boost::shared_ptr<T> (new_rcu_value); - } - - virtual ~RCUManager() { delete x.m_rcu_value; } - - boost::shared_ptr<T> reader () const { return *((boost::shared_ptr<T> *) g_atomic_pointer_get (&x.gptr)); } - - virtual boost::shared_ptr<T> write_copy () = 0; - virtual bool update (boost::shared_ptr<T> new_value) = 0; - - protected: - union { - boost::shared_ptr<T>* m_rcu_value; - mutable volatile gpointer gptr; - } x; -}; - - -template<class T> -class SerializedRCUManager : public RCUManager<T> -{ -public: - - SerializedRCUManager(T* new_rcu_value) - : RCUManager<T>(new_rcu_value) - { - - } - - boost::shared_ptr<T> write_copy () - { - m_lock.lock(); - - // clean out any dead wood - - typename std::list<boost::shared_ptr<T> >::iterator i; - - for (i = m_dead_wood.begin(); i != m_dead_wood.end(); ) { - if ((*i).use_count() == 1) { - i = m_dead_wood.erase (i); - } else { - ++i; - } - } - - // store the current - - current_write_old = RCUManager<T>::x.m_rcu_value; - - boost::shared_ptr<T> new_copy (new T(**current_write_old)); - - return new_copy; - } - - bool update (boost::shared_ptr<T> new_value) - { - // we hold the lock at this point effectively blocking - // other writers. - - boost::shared_ptr<T>* new_spp = new boost::shared_ptr<T> (new_value); - - // update, checking that nobody beat us to it - - bool ret = g_atomic_pointer_compare_and_exchange (&RCUManager<T>::x.gptr, - (gpointer) current_write_old, - (gpointer) new_spp); - - if (ret) { - - // successful update : put the old value into dead_wood, - - m_dead_wood.push_back (*current_write_old); - - // now delete it - this gets rid of the shared_ptr<T> but - // because dead_wood contains another shared_ptr<T> that - // references the same T, the underlying object lives on - - delete current_write_old; - } - - m_lock.unlock(); - - return ret; - } - - void flush () { - Glib::Mutex::Lock lm (m_lock); - m_dead_wood.clear (); - } - -private: - Glib::Mutex m_lock; - boost::shared_ptr<T>* current_write_old; - std::list<boost::shared_ptr<T> > m_dead_wood; -}; - -template<class T> -class RCUWriter -{ -public: - - RCUWriter(RCUManager<T>& manager) - : m_manager(manager) - { - m_copy = m_manager.write_copy(); - } - - ~RCUWriter() - { - // we can check here that the refcount of m_copy is 1 - - if(m_copy.use_count() == 1) { - m_manager.update(m_copy); - } else { - - // critical error. - } - - } - - // or operator boost::shared_ptr<T> (); - boost::shared_ptr<T> get_copy() { return m_copy; } - -private: - - RCUManager<T>& m_manager; - - // preferably this holds a pointer to T - boost::shared_ptr<T> m_copy; -}; - -#endif /* __pbd_rcu_h__ */ diff --git a/libs/pbd/pbd/receiver.h b/libs/pbd/pbd/receiver.h deleted file mode 100644 index 93192ce787..0000000000 --- a/libs/pbd/pbd/receiver.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libmisc_receiver_h__ -#define __libmisc_receiver_h__ - -#include <vector> - -#include <sigc++/sigc++.h> - -#include "transmitter.h" - -using std::vector; - -class strstream; - -class Receiver : virtual public sigc::trackable -{ - public: - Receiver (); - virtual ~Receiver (); - - void listen_to (Transmitter &); - void hangup (); - - protected: - virtual void receive (Transmitter::Channel, const char *) = 0; - - private: - vector<sigc::connection *> connections; -}; - -#endif // __libmisc_receiver_h__ diff --git a/libs/pbd/pbd/replace_all.h b/libs/pbd/pbd/replace_all.h deleted file mode 100644 index 3bc465d89f..0000000000 --- a/libs/pbd/pbd/replace_all.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_replace_all_h__ -#define __pbd_replace_all_h__ - -#include <string> - -int replace_all (std::string& str, const std::string& target, const std::string& replacement); - -#endif // __pbd_replace_all_h__ diff --git a/libs/pbd/pbd/ringbuffer.h b/libs/pbd/pbd/ringbuffer.h deleted file mode 100644 index 3502bed21b..0000000000 --- a/libs/pbd/pbd/ringbuffer.h +++ /dev/null @@ -1,281 +0,0 @@ -/* - Copyright (C) 2000 Paul Davis & Benno Senoner - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef ringbuffer_h -#define ringbuffer_h - -#include <cstring> -#include <glib.h> - -template<class T> -class RingBuffer -{ - public: - RingBuffer (guint sz) { -// size = ffs(sz); /* find first [bit] set is a single inlined assembly instruction. But it looks like the API rounds up so... */ - guint power_of_two; - for (power_of_two = 1; 1U<<power_of_two < sz; power_of_two++); - size = 1<<power_of_two; - size_mask = size; - size_mask -= 1; - buf = new T[size]; - reset (); - - }; - - virtual ~RingBuffer() { - delete [] buf; - } - - void reset () { - /* !!! NOT THREAD SAFE !!! */ - g_atomic_int_set (&write_idx, 0); - g_atomic_int_set (&read_idx, 0); - } - - void set (guint r, guint w) { - /* !!! NOT THREAD SAFE !!! */ - g_atomic_int_set (&write_idx, w); - g_atomic_int_set (&read_idx, r); - } - - guint read (T *dest, guint cnt); - guint write (T *src, guint cnt); - - struct rw_vector { - T *buf[2]; - guint len[2]; - }; - - void get_read_vector (rw_vector *); - void get_write_vector (rw_vector *); - - void decrement_read_idx (guint cnt) { - g_atomic_int_set (&read_idx, (g_atomic_int_get(&read_idx) - cnt) & size_mask); - } - - void increment_read_idx (guint cnt) { - g_atomic_int_set (&read_idx, (g_atomic_int_get(&read_idx) + cnt) & size_mask); - } - - void increment_write_idx (guint cnt) { - g_atomic_int_set (&write_idx, (g_atomic_int_get(&write_idx) + cnt) & size_mask); - } - - guint write_space () { - guint w, r; - - w = g_atomic_int_get (&write_idx); - r = g_atomic_int_get (&read_idx); - - if (w > r) { - return ((r - w + size) & size_mask) - 1; - } else if (w < r) { - return (r - w) - 1; - } else { - return size - 1; - } - } - - guint read_space () { - guint w, r; - - w = g_atomic_int_get (&write_idx); - r = g_atomic_int_get (&read_idx); - - if (w > r) { - return w - r; - } else { - return (w - r + size) & size_mask; - } - } - - T *buffer () { return buf; } - guint get_write_idx () const { return g_atomic_int_get (&write_idx); } - guint get_read_idx () const { return g_atomic_int_get (&read_idx); } - guint bufsize () const { return size; } - - protected: - T *buf; - guint size; - mutable gint write_idx; - mutable gint read_idx; - guint size_mask; -}; - -template<class T> guint -RingBuffer<T>::read (T *dest, guint cnt) -{ - guint free_cnt; - guint cnt2; - guint to_read; - guint n1, n2; - guint priv_read_idx; - - priv_read_idx=g_atomic_int_get(&read_idx); - - if ((free_cnt = read_space ()) == 0) { - return 0; - } - - to_read = cnt > free_cnt ? free_cnt : cnt; - - cnt2 = priv_read_idx + to_read; - - if (cnt2 > size) { - n1 = size - priv_read_idx; - n2 = cnt2 & size_mask; - } else { - n1 = to_read; - n2 = 0; - } - - memcpy (dest, &buf[priv_read_idx], n1 * sizeof (T)); - priv_read_idx = (priv_read_idx + n1) & size_mask; - - if (n2) { - memcpy (dest+n1, buf, n2 * sizeof (T)); - priv_read_idx = n2; - } - - g_atomic_int_set(&read_idx, priv_read_idx); - return to_read; -} - -template<class T> guint -RingBuffer<T>::write (T *src, guint cnt) - -{ - guint free_cnt; - guint cnt2; - guint to_write; - guint n1, n2; - guint priv_write_idx; - - priv_write_idx=g_atomic_int_get(&write_idx); - - if ((free_cnt = write_space ()) == 0) { - return 0; - } - - to_write = cnt > free_cnt ? free_cnt : cnt; - - cnt2 = priv_write_idx + to_write; - - if (cnt2 > size) { - n1 = size - priv_write_idx; - n2 = cnt2 & size_mask; - } else { - n1 = to_write; - n2 = 0; - } - - memcpy (&buf[priv_write_idx], src, n1 * sizeof (T)); - priv_write_idx = (priv_write_idx + n1) & size_mask; - - if (n2) { - memcpy (buf, src+n1, n2 * sizeof (T)); - priv_write_idx = n2; - } - - g_atomic_int_set(&write_idx, priv_write_idx); - return to_write; -} - -template<class T> void -RingBuffer<T>::get_read_vector (RingBuffer<T>::rw_vector *vec) - -{ - guint free_cnt; - guint cnt2; - guint w, r; - - w = g_atomic_int_get (&write_idx); - r = g_atomic_int_get (&read_idx); - - if (w > r) { - free_cnt = w - r; - } else { - free_cnt = (w - r + size) & size_mask; - } - - cnt2 = r + free_cnt; - - if (cnt2 > size) { - /* Two part vector: the rest of the buffer after the - current write ptr, plus some from the start of - the buffer. - */ - - vec->buf[0] = &buf[r]; - vec->len[0] = size - r; - vec->buf[1] = buf; - vec->len[1] = cnt2 & size_mask; - - } else { - - /* Single part vector: just the rest of the buffer */ - - vec->buf[0] = &buf[r]; - vec->len[0] = free_cnt; - vec->len[1] = 0; - } -} - -template<class T> void -RingBuffer<T>::get_write_vector (RingBuffer<T>::rw_vector *vec) - -{ - guint free_cnt; - guint cnt2; - guint w, r; - - w = g_atomic_int_get (&write_idx); - r = g_atomic_int_get (&read_idx); - - if (w > r) { - free_cnt = ((r - w + size) & size_mask) - 1; - } else if (w < r) { - free_cnt = (r - w) - 1; - } else { - free_cnt = size - 1; - } - - cnt2 = w + free_cnt; - - if (cnt2 > size) { - - /* Two part vector: the rest of the buffer after the - current write ptr, plus some from the start of - the buffer. - */ - - vec->buf[0] = &buf[w]; - vec->len[0] = size - w; - vec->buf[1] = buf; - vec->len[1] = cnt2 & size_mask; - } else { - vec->buf[0] = &buf[w]; - vec->len[0] = free_cnt; - vec->len[1] = 0; - } -} - - -#endif /* __ringbuffer_h__ */ diff --git a/libs/pbd/pbd/ringbufferNPT.h b/libs/pbd/pbd/ringbufferNPT.h deleted file mode 100644 index 9db09098d6..0000000000 --- a/libs/pbd/pbd/ringbufferNPT.h +++ /dev/null @@ -1,274 +0,0 @@ -/* - Copyright (C) 2000 Paul Davis & Benno Senoner - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef ringbuffer_npt_h -#define ringbuffer_npt_h - -//#include <sys/mman.h> - -#include <glib.h> - -/* ringbuffer class where the element size is not required to be a power of two */ - -template<class T> -class RingBufferNPT -{ - public: - RingBufferNPT (size_t sz) { - size = sz; - buf = new T[size]; - reset (); - - }; - - virtual ~RingBufferNPT() { - delete [] buf; - } - - void reset () { - /* !!! NOT THREAD SAFE !!! */ - g_atomic_int_set (&write_ptr, 0); - g_atomic_int_set (&read_ptr, 0); - } - - void set (size_t r, size_t w) { - /* !!! NOT THREAD SAFE !!! */ - g_atomic_int_set (&write_ptr, w); - g_atomic_int_set (&read_ptr, r); - } - - size_t read (T *dest, size_t cnt); - size_t write (T *src, size_t cnt); - - struct rw_vector { - T *buf[2]; - size_t len[2]; - }; - - void get_read_vector (rw_vector *); - void get_write_vector (rw_vector *); - - void decrement_read_ptr (size_t cnt) { - g_atomic_int_set (&read_ptr, (g_atomic_int_get(&read_ptr) - cnt) % size); - } - - void increment_read_ptr (size_t cnt) { - g_atomic_int_set (&read_ptr, (g_atomic_int_get(&read_ptr) + cnt) % size); - } - - void increment_write_ptr (size_t cnt) { - g_atomic_int_set (&write_ptr, (g_atomic_int_get(&write_ptr) + cnt) % size); - } - - size_t write_space () { - size_t w, r; - - w = g_atomic_int_get (&write_ptr); - r = g_atomic_int_get (&read_ptr); - - if (w > r) { - return ((r - w + size) % size) - 1; - } else if (w < r) { - return (r - w) - 1; - } else { - return size - 1; - } - } - - size_t read_space () { - size_t w, r; - - w = g_atomic_int_get (&write_ptr); - r = g_atomic_int_get (&read_ptr); - - if (w > r) { - return w - r; - } else { - return (w - r + size) % size; - } - } - - T *buffer () { return buf; } - size_t get_write_ptr () const { return g_atomic_int_get (&write_ptr); } - size_t get_read_ptr () const { return g_atomic_int_get (&read_ptr); } - size_t bufsize () const { return size; } - - protected: - T *buf; - size_t size; - mutable gint write_ptr; - mutable gint read_ptr; -}; - -template<class T> size_t -RingBufferNPT<T>::read (T *dest, size_t cnt) -{ - size_t free_cnt; - size_t cnt2; - size_t to_read; - size_t n1, n2; - size_t priv_read_ptr; - - priv_read_ptr=g_atomic_int_get(&read_ptr); - - if ((free_cnt = read_space ()) == 0) { - return 0; - } - - to_read = cnt > free_cnt ? free_cnt : cnt; - - cnt2 = priv_read_ptr + to_read; - - if (cnt2 > size) { - n1 = size - priv_read_ptr; - n2 = cnt2 % size; - } else { - n1 = to_read; - n2 = 0; - } - - memcpy (dest, &buf[priv_read_ptr], n1 * sizeof (T)); - priv_read_ptr = (priv_read_ptr + n1) % size; - - if (n2) { - memcpy (dest+n1, buf, n2 * sizeof (T)); - priv_read_ptr = n2; - } - - g_atomic_int_set(&read_ptr, priv_read_ptr); - return to_read; -} - -template<class T> size_t -RingBufferNPT<T>::write (T *src, size_t cnt) -{ - size_t free_cnt; - size_t cnt2; - size_t to_write; - size_t n1, n2; - size_t priv_write_ptr; - - priv_write_ptr=g_atomic_int_get(&write_ptr); - - if ((free_cnt = write_space ()) == 0) { - return 0; - } - - to_write = cnt > free_cnt ? free_cnt : cnt; - - cnt2 = priv_write_ptr + to_write; - - if (cnt2 > size) { - n1 = size - priv_write_ptr; - n2 = cnt2 % size; - } else { - n1 = to_write; - n2 = 0; - } - - memcpy (&buf[priv_write_ptr], src, n1 * sizeof (T)); - priv_write_ptr = (priv_write_ptr + n1) % size; - - if (n2) { - memcpy (buf, src+n1, n2 * sizeof (T)); - priv_write_ptr = n2; - } - - g_atomic_int_set(&write_ptr, priv_write_ptr); - return to_write; -} - -template<class T> void -RingBufferNPT<T>::get_read_vector (RingBufferNPT<T>::rw_vector *vec) -{ - size_t free_cnt; - size_t cnt2; - size_t w, r; - - w = g_atomic_int_get (&write_ptr); - r = g_atomic_int_get (&read_ptr); - - if (w > r) { - free_cnt = w - r; - } else { - free_cnt = (w - r + size) % size; - } - - cnt2 = r + free_cnt; - - if (cnt2 > size) { - /* Two part vector: the rest of the buffer after the - current write ptr, plus some from the start of - the buffer. - */ - - vec->buf[0] = &buf[r]; - vec->len[0] = size - r; - vec->buf[1] = buf; - vec->len[1] = cnt2 % size; - - } else { - - /* Single part vector: just the rest of the buffer */ - - vec->buf[0] = &buf[r]; - vec->len[0] = free_cnt; - vec->len[1] = 0; - } -} - -template<class T> void -RingBufferNPT<T>::get_write_vector (RingBufferNPT<T>::rw_vector *vec) -{ - size_t free_cnt; - size_t cnt2; - size_t w, r; - - w = g_atomic_int_get (&write_ptr); - r = g_atomic_int_get (&read_ptr); - - if (w > r) { - free_cnt = ((r - w + size) % size) - 1; - } else if (w < r) { - free_cnt = (r - w) - 1; - } else { - free_cnt = size - 1; - } - - cnt2 = w + free_cnt; - - if (cnt2 > size) { - - /* Two part vector: the rest of the buffer after the - current write ptr, plus some from the start of - the buffer. - */ - - vec->buf[0] = &buf[w]; - vec->len[0] = size - w; - vec->buf[1] = buf; - vec->len[1] = cnt2 % size; - } else { - vec->buf[0] = &buf[w]; - vec->len[0] = free_cnt; - vec->len[1] = 0; - } -} - -#endif /* __ringbuffer_npt_h__ */ diff --git a/libs/pbd/pbd/search_path.h b/libs/pbd/pbd/search_path.h deleted file mode 100644 index 3b10d4a319..0000000000 --- a/libs/pbd/pbd/search_path.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef PBD_SEARCH_PATH_INCLUDED -#define PBD_SEARCH_PATH_INCLUDED - -#include <string> -#include <vector> - -#include <pbd/filesystem.h> - -namespace PBD { - -using std::string; -using std::vector; - -/** - * @class The SearchPath class is a helper class for getting a - * vector of paths contained in a search path string where a - * "search path string" contains absolute directory paths - * separated by a colon(:) or a semi-colon(;) on windows. - * - * The SearchPath class does not test whether the paths exist - * or are directories. It is basically just a container. - */ -class SearchPath { -public: - - typedef std::vector<sys::path>::iterator iterator; - typedef std::vector<sys::path>::const_iterator const_iterator; - -public: - - /** - * Create an empty SearchPath. - */ - SearchPath (); - - /** - * Initialize SearchPath from a string where the string contains - * one or more absolute paths to directories which are delimited - * by a path separation character. The path delimeter is a - * colon(:) on unix and a semi-colon(;) on windows. - * - * Each path contained in the search path may or may not resolve to - * an existing directory in the filesystem. - * - * @param search_path A path string. - */ - SearchPath (const string& search_path); - - /** - * Initialize SearchPath from a sys::path. - * - * @param directory_path A directory path. - */ - SearchPath (const sys::path& directory_path); - - /** - * Initialize SearchPath from a vector of paths that may or may - * not exist. - * - * @param path A path. - */ - SearchPath (const vector<sys::path>& paths); - - /** - * The copy constructor does what you would expect and copies the - * vector of paths contained by the SearchPath. - */ - SearchPath (const SearchPath& search_path); - - /** - * Indicate whether there are any directory paths in m_dirs. - * - * If SearchPath is initialized with an empty string as the - * result of for instance the contents of an unset environment - * variable. - * - * @return true if there are any paths in m_paths. - */ - operator void* () const { return (void*)!m_dirs.empty(); } - - /** - * @return a read/write iterator that points to the first - * path in the SearchPath. Iteration is done in ordinary - * element order. - */ - iterator begin () { return m_dirs.begin(); } - - /** - * @return A read-only (constant) iterator that points to the - * first path in the SearchPath. - */ - const_iterator begin () const { return m_dirs.begin(); } - - /** - * @return A read/write iterator that points one past the last - * path in the SearchPath. - */ - iterator end () { return m_dirs.end(); } - - /** - * @return A read-only (constant) iterator that points one past - * the last path in the SearchPath. - */ - const_iterator end () const { return m_dirs.end(); } - - /** - * @return a search path string. - * - * The string that is returned contains the platform specific - * path separator. - */ - const string to_string () const; - - /** - * Assignment of another SearchPath to this. - */ - SearchPath& operator= (const SearchPath& spath); - - /** - * Add all the directories in path to this. - */ - SearchPath& operator+= (const SearchPath& spath); - - /** - * Add another directory path to the search path. - */ - SearchPath& operator+= (const sys::path& directory_path); - - /** - * Concatenate another SearchPath onto this. - */ - SearchPath& operator+ (const SearchPath& other); - - /** - * Add another path to the search path. - */ - SearchPath& operator+ (const sys::path& directory_path); - - /** - * Add a sub-directory to each path in the search path. - * @param subdir The directory name, it should not contain - * any path separating tokens. - */ - SearchPath& add_subdirectory_to_paths (const string& subdir); - - /** - * Add a sub-directory to each path in the search path. - * @see add_subdirectory_to_paths - */ - SearchPath& operator/= (const string& subdir); - -protected: - - void add_directory (const sys::path& directory_path); - - void add_directories (const vector<sys::path>& paths); - - vector<sys::path> m_dirs; - -}; - -} // namespace PBD - -#endif diff --git a/libs/pbd/pbd/selectable.h b/libs/pbd/pbd/selectable.h deleted file mode 100644 index 85f3e79ab0..0000000000 --- a/libs/pbd/pbd/selectable.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __selectable_h__ -#define __selectable_h__ - -#include <list> -#include <string> -#include <stdio.h> - -#include <sigc++/sigc++.h> - -#include <sys/types.h> - -namespace Select { - enum Condition { - Readable = 0x1, - Writable = 0x2, - Exception = 0x4 - }; - -class Selectable : public sigc::trackable - -{ - public: - Selectable (int fd); - Selectable (const std::string &, int flags, int mode = 0); - Selectable (FILE *); - ~Selectable (); - - sigc::signal<void,Selectable *,Select::Condition> readable; - sigc::signal<void,Selectable *,Select::Condition> writable; - sigc::signal<void,Selectable *,Select::Condition> exceptioned; - - int fd() { return _fd; } - bool ok() { return _ok; } - - protected: - void selected (unsigned int condition); - int condition; - int _fd; - - friend class Selector; - - private: - enum { - fromFD, - fromPath, - fromFILE - }; - - bool _ok; - int _type; - std::string path; -}; - -class Selector { - private: - int post_select (fd_set *, fd_set *, fd_set *); - int _max_fd; - - typedef std::list<Selectable *> Selectables; - Selectables selectables; - pthread_mutex_t list_lock; - - static bool use_list_lock; - - public: - Selector (); - - void multithreaded (bool yn) { - use_list_lock = yn; - } - - void add (int condition, Selectable *s); - void remove (Selectable *); - int select (unsigned long usecs); -}; - - - -} /* namespace */ - - -#endif // __selectable_h__ diff --git a/libs/pbd/pbd/shiva.h b/libs/pbd/pbd/shiva.h deleted file mode 100644 index 2e53ff65f5..0000000000 --- a/libs/pbd/pbd/shiva.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_shiva_h__ -#define __pbd_shiva_h__ - -#include <sigc++/sigc++.h> - -namespace PBD { - -/* named after the Hindu god Shiva, The Destroyer */ - -template<typename ObjectWithGoingAway, typename ObjectToBeDestroyed> -class Shiva { - public: - Shiva (ObjectWithGoingAway& emitter, ObjectToBeDestroyed& receiver) { - - /* if the emitter goes away, destroy the receiver */ - - _connection = emitter.GoingAway.connect - (sigc::bind (sigc::mem_fun - (*this, &Shiva<ObjectWithGoingAway,ObjectToBeDestroyed>::destroy), - &receiver)); - } - - ~Shiva() { - forget (); - } - - private: - sigc::connection _connection; - - void destroy (ObjectToBeDestroyed* obj) { - delete obj; - forget (); - } - - void forget () { - _connection.disconnect (); - } - -}; - -template<typename ObjectWithGoingAway, typename ObjectToBeDestroyed> -class ProxyShiva { - public: - ProxyShiva (ObjectWithGoingAway& emitter, ObjectToBeDestroyed& receiver, void (*callback)(ObjectToBeDestroyed*, ObjectWithGoingAway*)) { - - /* if the emitter goes away, destroy the receiver */ - - _callback = callback; - _callback_argument1 = &receiver; - _callback_argument2 = &emitter; - - _connection = emitter.GoingAway.connect - (sigc::bind (sigc::mem_fun - (*this, &ProxyShiva<ObjectWithGoingAway,ObjectToBeDestroyed>::destroy), - &receiver)); - } - - ~ProxyShiva() { - forget (); - } - - private: - sigc::connection _connection; - void (*_callback) (ObjectToBeDestroyed*, ObjectWithGoingAway*); - ObjectToBeDestroyed* _callback_argument1; - ObjectWithGoingAway* _callback_argument2; - - void destroy (ObjectToBeDestroyed* obj) { - /* callback must destroy obj if appropriate, not done here */ - _callback (obj, _callback_argument2); - forget (); - } - - void forget () { - _connection.disconnect (); - } -}; - -template<typename ObjectWithGoingAway, typename ObjectToBeDestroyed> -class PairedShiva { - public: - PairedShiva (ObjectWithGoingAway& emitter, ObjectToBeDestroyed& receiver) { - - /* if the emitter goes away, destroy the receiver */ - - _connection1 = emitter.GoingAway.connect - (sigc::bind (sigc::mem_fun - (*this, &PairedShiva<ObjectWithGoingAway,ObjectToBeDestroyed>::destroy), - &receiver)); - - /* if the receiver goes away, forget all this nonsense */ - - _connection2 = receiver.GoingAway.connect - (sigc::mem_fun (*this, &PairedShiva<ObjectWithGoingAway,ObjectToBeDestroyed>::forget)); - } - - ~PairedShiva() { - forget (); - } - - private: - sigc::connection _connection1; - sigc::connection _connection2; - - void destroy (ObjectToBeDestroyed* obj) { - delete obj; - forget (); - } - - void forget () { - _connection1.disconnect (); - _connection2.disconnect (); - } - -}; - -} - -#endif /* __pbd_shiva_h__ */ diff --git a/libs/pbd/pbd/shortpath.h b/libs/pbd/pbd/shortpath.h deleted file mode 100644 index 55431bf34e..0000000000 --- a/libs/pbd/pbd/shortpath.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_shortpath_h__ -#define __pbd_shortpath_h__ - -#include <glibmm/ustring.h> - -Glib::ustring short_path (const Glib::ustring& path, Glib::ustring::size_type target_characters); - -#endif /* __pbd_shortpath_h__ */ diff --git a/libs/pbd/pbd/stacktrace.h b/libs/pbd/pbd/stacktrace.h deleted file mode 100644 index 0a349dcaeb..0000000000 --- a/libs/pbd/pbd/stacktrace.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libpbd_stacktrace_h__ -#define __libpbd_stacktrace_h__ - -#include <iostream> -#include <ostream> -#include <glibmm/thread.h> -#include <list> - -namespace PBD { - void stacktrace (std::ostream& out, int levels = 0); - void trace_twb(); - -#ifdef HAVE_EXECINFO -#include <execinfo.h> -#include <stdlib.h> -#endif - -template<typename T> -class thing_with_backtrace -{ - public: - thing_with_backtrace () { - trace_twb(); -#ifdef HAVE_EXECINFO - allocation_backtrace = new void*[50]; - allocation_backtrace_size = backtrace (allocation_backtrace, 50); -#else - allocation_backtrace_size = 0; -#endif - Glib::Mutex::Lock lm (all_mutex); - all.push_back (this); - } - - thing_with_backtrace (const thing_with_backtrace<T>& other) { - trace_twb(); -#ifdef HAVE_EXECINFO - allocation_backtrace = new void*[50]; - allocation_backtrace_size = backtrace (allocation_backtrace, 50); -#else - allocation_backtrace_size = 0; -#endif - Glib::Mutex::Lock lm (all_mutex); - all.push_back (this); - } - - ~thing_with_backtrace() { - if (allocation_backtrace_size) { - delete [] allocation_backtrace; - } - Glib::Mutex::Lock lm (all_mutex); - all.remove (this); - } - - thing_with_backtrace<T>& operator= (const thing_with_backtrace<T>& other) { - /* no copyable members */ - return *this; - } - - static void peek_a_boo (std::ostream& stream) { -#ifdef HAVE_EXECINFO - typename std::list<thing_with_backtrace<T>*>::iterator x; - for (x = all.begin(); x != all.end(); ++x) { - char **strings; - size_t i; - - strings = backtrace_symbols ((*x)->allocation_backtrace, (*x)->allocation_backtrace_size); - - if (strings) { - stream << "--- ALLOCATED SHARED_PTR @ " << (*x) << std::endl; - for (i = 0; i < (*x)->allocation_backtrace_size && i < 50U; i++) { - stream << strings[i] << std::endl; - } - free (strings); - } - } -#else - stream << "execinfo not defined for this platform" << std::endl; -#endif - } - -private: - void** allocation_backtrace; - int allocation_backtrace_size; - static std::list<thing_with_backtrace<T>* > all; - static Glib::StaticMutex all_mutex; -}; - -template<typename T> std::list<PBD::thing_with_backtrace<T> *> PBD::thing_with_backtrace<T>::all; -template<typename T> Glib::StaticMutex PBD::thing_with_backtrace<T>::all_mutex = GLIBMM_STATIC_MUTEX_INIT; - -} // namespace PBD - - - -#endif /* __libpbd_stacktrace_h__ */ diff --git a/libs/pbd/pbd/stateful.h b/libs/pbd/pbd/stateful.h deleted file mode 100644 index 8ea647475a..0000000000 --- a/libs/pbd/pbd/stateful.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2000 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_stateful_h__ -#define __pbd_stateful_h__ - -#include <string> -#include <pbd/id.h> - -class XMLNode; - -namespace PBD { - -namespace sys { - class path; -} - -class Stateful { - public: - Stateful(); - virtual ~Stateful(); - - virtual XMLNode& get_state (void) = 0; - - virtual int set_state (const XMLNode&) = 0; - - /* Extra XML nodes */ - - void add_extra_xml (XMLNode&); - XMLNode *extra_xml (const std::string& str); - - const PBD::ID& id() const { return _id; } - - protected: - - void add_instant_xml (XMLNode&, const sys::path& directory_path); - XMLNode *instant_xml (const std::string& str, const sys::path& directory_path); - - XMLNode *_extra_xml; - XMLNode *_instant_xml; - PBD::ID _id; -}; - -} // namespace PBD - -#endif /* __pbd_stateful_h__ */ - diff --git a/libs/pbd/pbd/statefuldestructible.h b/libs/pbd/pbd/statefuldestructible.h deleted file mode 100644 index 83eff473d6..0000000000 --- a/libs/pbd/pbd/statefuldestructible.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_stateful_destructible_h__ -#define __pbd_stateful_destructible_h__ - -#include <pbd/stateful.h> -#include <pbd/destructible.h> - -namespace PBD { - -class StatefulDestructible : public Stateful, public Destructible -{ -}; - -/* be very very careful using this class. it does not inherit from sigc::trackable and thus - should only be used in multiple-inheritance situations involving another type - that does inherit from sigc::trackable (or sigc::trackable itself) -*/ - -class StatefulThingWithGoingAway : public Stateful, public ThingWithGoingAway -{ -}; - -} - - -#endif /* __pbd_stateful_destructible_h__ */ diff --git a/libs/pbd/pbd/stl_delete.h b/libs/pbd/pbd/stl_delete.h deleted file mode 100644 index 66fb027387..0000000000 --- a/libs/pbd/pbd/stl_delete.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libmisc_stl_delete_h__ -#define __libmisc_stl_delete_h__ - -/* To actually use any of these deletion functions, you need to - first include the revelant container type header. -*/ -#if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR) -template<class T> void vector_delete (std::vector<T *> *vec) -{ - typename std::vector<T *>::iterator i; - - for (i = vec->begin(); i != vec->end(); i++) { - delete *i; - } - vec->clear (); -} -#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR - -#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP) -template<class K, class T> void map_delete (std::map<K, T *> *m) -{ - typename std::map<K, T *>::iterator i; - - for (i = m->begin(); i != m->end(); i++) { - delete (*i).second; - } - m->clear (); -} -#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP - -#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST) -template<class T> void list_delete (std::list<T *> *l) -{ - typename std::list<T *>::iterator i; - - for (i = l->begin(); i != l->end(); i++) { - delete (*i); - } - - l->clear (); -} -#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST - -#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST) -template<class T> void slist_delete (std::slist<T *> *l) -{ - typename std::slist<T *>::iterator i; - - for (i = l->begin(); i != l->end(); i++) { - delete (*i); - } - - l->clear (); -} -#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST - -#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET) -template<class T> void set_delete (std::set<T *> *sset) -{ - typename std::set<T *>::iterator i; - - for (i = sset->begin(); i != sset->end(); i++) { - delete *i; - } - sset->erase (sset->begin(), sset->end()); -} -#endif // _CPP_SET || _GLIBCXX_SET || __SGI_STL_SET - -#endif // __libmisc_stl_delete_h__ diff --git a/libs/pbd/pbd/stl_functors.h b/libs/pbd/pbd/stl_functors.h deleted file mode 100644 index 3c83a1ae2f..0000000000 --- a/libs/pbd/pbd/stl_functors.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __stl_functors_h__ -#define __stl_functors_h__ - -#include <string> - -#ifndef LESS_STRING_P -struct less<std::string *> { - bool operator()(std::string *s1, std::string *s2) const { - return *s1 < *s2; - } -}; -#define LESS_STRING_P -#endif // LESS_STRING_P - -#ifndef LESS_CONST_STRING_P -struct less<const std::string *> { - bool operator()(const std::string *s1, const std::string *s2) const { - return *s1 < *s2; - } -}; -#define LESS_CONST_STRING_P -#endif // LESS_CONST_STRING_P - -#ifndef LESS_CONST_CHAR_P -struct less<const char *> -{ - bool operator()(const char* s1, const char* s2) const { - return strcmp(s1, s2) < 0; - } -}; -#define LESS_CONST_CHAR_P -#endif // LESS_CONST_CHAR_P - -#ifndef LESS_CONST_FLOAT_P -struct less<const float *> -{ - bool operator()(const float *n1, const float *n2) const { - return *n1 < *n2; - } -}; -#define LESS_CONST_FLOAT_P -#endif // LESS_CONST_FLOAT_P - -#ifndef EQUAL_TO_CONST_CHAR_P -struct equal_to<const char *> -{ - bool operator()(const char *s1, const char *s2) const { - return strcmp (s1, s2) == 0; - } -}; -#define EQUAL_TO_CONST_CHAR_P -#endif // EQUAL_TO_CONST_CHAR_P - -#ifndef EQUAL_TO_STRING_P -struct equal_to<std::string *> -{ - bool operator()(const std::string *s1, const std::string *s2) const { - return *s1 == *s2; - } -}; -#define EQUAL_TO_STRING_P -#endif // EQUAL_TO_STRING_P - -#ifndef LESS_CONST_STRING_R -struct less<const std::string &> { - bool operator() (const std::string &s1, const std::string &s2) { - return s1 < s2; - } -}; -#define LESS_CONST_STRING_R -#endif // EQUAL_TO_STRING_P - -#endif // __stl_functors_h__ diff --git a/libs/pbd/pbd/strsplit.h b/libs/pbd/pbd/strsplit.h deleted file mode 100644 index 25c4526b6a..0000000000 --- a/libs/pbd/pbd/strsplit.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_strplit_h__ -#define __pbd_strplit_h__ - -#include <string> -#include <vector> -#include <glibmm/ustring.h> - -extern void split (std::string, std::vector<std::string>&, char); -extern void split (Glib::ustring, std::vector<Glib::ustring>&, char); - -#endif // __pbd_strplit_h__ diff --git a/libs/pbd/pbd/textreceiver.h b/libs/pbd/pbd/textreceiver.h deleted file mode 100644 index e5900fc652..0000000000 --- a/libs/pbd/pbd/textreceiver.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libmisc_textreceiver_h__ -#define __libmisc_textreceiver_h__ - -#include <string> - -#include "receiver.h" - -using std::string; -using std::cout; -using std::endl; - -class TextReceiver : public Receiver -{ - public: - TextReceiver (const string &n); - - protected: - void receive (Transmitter::Channel, const char *); - - private: - string name; -}; - -#endif //__libmisc_textreceiver_h__ diff --git a/libs/pbd/pbd/thrown_error.h b/libs/pbd/pbd/thrown_error.h deleted file mode 100644 index 0a63085f11..0000000000 --- a/libs/pbd/pbd/thrown_error.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ -#ifndef __qm_thrown_error_h__ -#define __qm_thrown_error_h__ - -#include "transmitter.h" - -#define SAFE_THROW(T) \ - T *sent = new T; \ - (*sent) << rdbuf(); \ - throw sent - -class ThrownError : public Transmitter { - public: - ThrownError () : Transmitter (Transmitter::Throw) {} - protected: - virtual void deliver () = 0; -}; - -#endif // __qm_thrown_error_h__ - - diff --git a/libs/pbd/pbd/tokenizer.h b/libs/pbd/pbd/tokenizer.h deleted file mode 100644 index 9206d1b6fb..0000000000 --- a/libs/pbd/pbd/tokenizer.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef PBD_TOKENIZER -#define PBD_TOKENIZER - -#include <iterator> -#include <string> - -#include <pbd/whitespace.h> - -namespace PBD { - -/** - Tokenize string, this should work for standard - strings as well as Glib::ustring. This is a bit of a hack, - there are much better string tokenizing patterns out there. - If strip_whitespace is set to true, tokens will be checked to see - that they still have a length after stripping. If no length, they - are discarded. -*/ -template<typename StringType, typename Iter> -unsigned int -tokenize(const StringType& str, - const StringType& delims, - Iter it, - bool strip_whitespace=false) -{ - typename StringType::size_type start_pos = 0; - typename StringType::size_type end_pos = 0; - unsigned int token_count = 0; - - do { - start_pos = str.find_first_not_of(delims, start_pos); - end_pos = str.find_first_of(delims, start_pos); - if (start_pos != end_pos) { - if (end_pos == str.npos) { - end_pos = str.length(); - } - if (strip_whitespace) { - StringType stripped = str.substr(start_pos, end_pos - start_pos); - strip_whitespace_edges (stripped); - if (stripped.length()) { - *it++ = stripped; - } - } else { - *it++ = str.substr(start_pos, end_pos - start_pos); - } - ++token_count; - start_pos = str.find_first_not_of(delims, end_pos + 1); - } - } while (start_pos != str.npos); - - if (start_pos != str.npos) { - if (strip_whitespace) { - StringType stripped = str.substr(start_pos, str.length() - start_pos); - strip_whitespace_edges (stripped); - if (stripped.length()) { - *it++ = stripped; - } - } else { - *it++ = str.substr(start_pos, str.length() - start_pos); - } - ++token_count; - } - - return token_count; -} - -} // namespace PBD - -#endif // PBD_TOKENIZER - - diff --git a/libs/pbd/pbd/touchable.h b/libs/pbd/pbd/touchable.h deleted file mode 100644 index 12f1c443fd..0000000000 --- a/libs/pbd/pbd/touchable.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - Copyright (C) 1999 Paul Barton-Davis - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_touchable_h__ -#define __pbd_touchable_h__ - -class Touchable -{ - public: - Touchable() : _delete_after_touch (false) {} - virtual ~Touchable() {} - - void set_delete_after_touch (bool yn) { _delete_after_touch = yn; } - bool delete_after_touch() const { return _delete_after_touch; } - - virtual void touch () = 0; - - protected: - bool _delete_after_touch; -}; - -template<class T> -class DynamicTouchable : public Touchable -{ - public: - DynamicTouchable (T& t, void (T::*m)(void)) - : object (t), method (m) { set_delete_after_touch (true); } - - void touch () { - (object.*method)(); - } - - protected: - T& object; - void (T::*method)(void); -}; - -template<class T1, class T2> -class DynamicTouchable1 : public Touchable -{ - public: - DynamicTouchable1 (T1& t, void (T1::*m)(T2), T2 a) - : object (t), method (m), arg (a) { set_delete_after_touch (true); } - - void touch () { - (object.*method)(arg); - } - - protected: - T1& object; - void (T1::*method)(T2); - T2 arg; -}; - -template<class T1, class T2, class T3> -class DynamicTouchable2 : public Touchable -{ - public: - DynamicTouchable2 (T1& t, void (T1::*m)(T2, T3), T2 a1, T3 a2) - : object (t), method (m), arg1 (a1), arg2 (a2) { set_delete_after_touch (true); } - - void touch () { - (object.*method)(arg1, arg2); - } - - protected: - T1& object; - void (T1::*method)(T2,T3); - T2 arg1; - T3 arg2; -}; - -#endif // __pbd_touchable_h__ diff --git a/libs/pbd/pbd/transmitter.h b/libs/pbd/pbd/transmitter.h deleted file mode 100644 index 61ac9bd8d8..0000000000 --- a/libs/pbd/pbd/transmitter.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __libmisc_transmitter_h__ -#define __libmisc_transmitter_h__ - -#include <sstream> -#include <iostream> - -#include <sigc++/sigc++.h> - -using std::cout; -using std::cerr; -using std::endl; - -class Transmitter : public std::stringstream - -{ - public: - enum Channel { - Info, - Error, - Warning, - Fatal, - Throw - }; - - Transmitter (Channel); - - sigc::signal<void,Channel, const char *> &sender() { - return *send; - } - - bool does_not_return (); - - protected: - virtual void deliver (); - friend std::ostream& endmsg (std::ostream &); - - private: - Channel channel; - sigc::signal<void, Channel, const char *> *send; - - sigc::signal<void, Channel, const char *> info; - sigc::signal<void, Channel, const char *> warning; - sigc::signal<void, Channel, const char *> error; - sigc::signal<void, Channel, const char *> fatal; -}; - -/* for EGCS 2.91.66, if this function is not compiled within the same - compilation unit as the one where a ThrownError is thrown, then - nothing will catch the error. This is a pretty small function, so - inlining it here seems like a reasonable workaround. -*/ - -inline std::ostream & -endmsg (std::ostream &ostr) - -{ - Transmitter *t; - - /* There is a serious bug in the Cygnus/GCC libstdc++ library: - cout is not actually an ostream, but a trick was played - to make the compiler think that it is. This will cause - the dynamic_cast<> to fail with SEGV. So, first check to - see if ostr == cout, and handle it specially. - */ - - if (&ostr == &cout) { - cout << endl; - return ostr; - } else if (&ostr == &cerr) { - cerr << endl; - return ostr; - } - - if ((t = dynamic_cast<Transmitter *> (&ostr)) != 0) { - t->deliver (); - } else { - /* hmm. not a Transmitter, so just put a newline on - it and assume that that will be enough. - */ - - ostr << endl; - } - - return ostr; -} - - -extern "C" { void pbd_c_error (const char *); } - -#endif // __libmisc_transmitter_h__ diff --git a/libs/pbd/pbd/undo.h b/libs/pbd/pbd/undo.h deleted file mode 100644 index 8f1716d09f..0000000000 --- a/libs/pbd/pbd/undo.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (C) 2002 Brett Viren & Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __lib_pbd_undo_h__ -#define __lib_pbd_undo_h__ - -#include <string> -#include <list> -#include <map> -#include <sigc++/slot.h> -#include <sigc++/bind.h> -#include <sys/time.h> -#include <pbd/command.h> - -typedef sigc::slot<void> UndoAction; - -class UndoTransaction : public Command -{ - public: - UndoTransaction (); - UndoTransaction (const UndoTransaction&); - UndoTransaction& operator= (const UndoTransaction&); - ~UndoTransaction (); - - void clear (); - bool empty() const; - bool clearing () const { return _clearing; } - - void add_command (Command* const); - void remove_command (Command* const); - - void operator() (); - void undo(); - void redo(); - - XMLNode &get_state(); - - void set_timestamp (struct timeval &t) { - _timestamp = t; - } - - const struct timeval& timestamp() const { - return _timestamp; - } - - private: - std::list<Command*> actions; - struct timeval _timestamp; - bool _clearing; - - friend void command_death (UndoTransaction*, Command *); -}; - -class UndoHistory : public sigc::trackable -{ - public: - UndoHistory(); - ~UndoHistory() {} - - void add (UndoTransaction* ut); - void undo (unsigned int n); - void redo (unsigned int n); - - unsigned long undo_depth() const { return UndoList.size(); } - unsigned long redo_depth() const { return RedoList.size(); } - - std::string next_undo() const { return (UndoList.empty() ? std::string() : UndoList.back()->name()); } - std::string next_redo() const { return (RedoList.empty() ? std::string() : RedoList.back()->name()); } - - void clear (); - void clear_undo (); - void clear_redo (); - - XMLNode &get_state(int32_t depth = 0); - void save_state(); - - void set_depth (int32_t); - int32_t get_depth() const { return _depth; } - - sigc::signal<void> Changed; - - private: - bool _clearing; - int32_t _depth; - std::list<UndoTransaction*> UndoList; - std::list<UndoTransaction*> RedoList; - - void remove (UndoTransaction*); -}; - - -#endif /* __lib_pbd_undo_h__ */ diff --git a/libs/pbd/pbd/unknown_type.h b/libs/pbd/pbd/unknown_type.h deleted file mode 100644 index fddc1aeddb..0000000000 --- a/libs/pbd/pbd/unknown_type.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef __pbd_unknown_type_h__ -#define __pbd_unknown_type_h__ - -#include <exception> - -class unknown_type : public std::exception { - public: - virtual const char *what() const throw() { return "unknown type"; } -}; - -#endif /* __pbd_unknown_type_h__ */ diff --git a/libs/pbd/pbd/whitespace.h b/libs/pbd/pbd/whitespace.h deleted file mode 100644 index 444be112b0..0000000000 --- a/libs/pbd/pbd/whitespace.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __pbd_whitespace_h__ -#define __pbd_whitespace_h__ - -#include <string> - -namespace PBD { - -// returns the empty string if the entire string is whitespace -// so check length after calling. -extern void strip_whitespace_edges (std::string& str); - -} // namespace PBD - -#endif // __pbd_whitespace_h__ diff --git a/libs/pbd/pbd/xml++.h b/libs/pbd/pbd/xml++.h deleted file mode 100644 index 290a449869..0000000000 --- a/libs/pbd/pbd/xml++.h +++ /dev/null @@ -1,158 +0,0 @@ -/* xml++.h - * libxml++ and this file are copyright (C) 2000 by Ari Johnson, and - * are covered by the GNU Lesser General Public License, which should be - * included with libxml++ as the file COPYING. - */ - -#include <string> -#include <list> -#include <map> -#include <cstdio> -#include <cstdarg> - -#include <libxml/parser.h> -#include <libxml/tree.h> -#include <boost/shared_ptr.hpp> - -#ifndef __XML_H -#define __XML_H - -using std::string; -using std::map; -using std::list; - -class XMLTree; -class XMLNode; -class XMLProperty; - -typedef list<XMLNode *> XMLNodeList; -typedef list<boost::shared_ptr<XMLNode> > XMLSharedNodeList; -typedef XMLNodeList::iterator XMLNodeIterator; -typedef XMLNodeList::const_iterator XMLNodeConstIterator; -typedef list<XMLProperty*> XMLPropertyList; -typedef XMLPropertyList::iterator XMLPropertyIterator; -typedef XMLPropertyList::const_iterator XMLPropertyConstIterator; -typedef map<string, XMLProperty*> XMLPropertyMap; - -class XMLTree { -private: - string _filename; - XMLNode *_root; - int _compression; - bool read_internal(bool validate); - -public: - XMLTree(); - XMLTree(const string &fn, bool validate = false); - XMLTree(const XMLTree *); - ~XMLTree(); - - XMLNode *root() const { return _root; }; - XMLNode *set_root(XMLNode *n) { return _root = n; }; - - const string & filename() const { return _filename; }; - const string & set_filename(const string &fn) { return _filename = fn; }; - - int compression() const { return _compression; }; - int set_compression(int); - - bool read() { return read_internal(false); }; - bool read(const string &fn) { set_filename(fn); return read_internal(false); }; - bool read_and_validate() { return read_internal(true); }; - bool read_and_validate(const string &fn) { set_filename(fn); return read_internal(true); }; - bool read_buffer(const string &); - - bool write() const; - bool write(const string &fn) { set_filename(fn); return write(); }; - - void debug (FILE*) const; - - const string & write_buffer() const; -}; - -class XMLNode { -private: - string _name; - bool _is_content; - string _content; - XMLNodeList _children; - XMLPropertyList _proplist; - XMLPropertyMap _propmap; - -public: - XMLNode(const string& name); - XMLNode(const string& name, const string& content); - XMLNode(const XMLNode& other); - ~XMLNode(); - - const string name() const { return _name; }; - - bool is_content() const { return _is_content; }; - const string & content() const { return _content; }; - const string & set_content (const string &); - XMLNode *add_content(const string & = string()); - - const XMLNodeList & children (const string& str = string()) const; - XMLNode *add_child (const char *); - XMLNode *add_child_copy (const XMLNode&); - XMLNode *child (const char*) const; - void add_child_nocopy (XMLNode&); - - boost::shared_ptr<XMLSharedNodeList> find(const std::string xpath) const; - std::string attribute_value(); - - const XMLPropertyList & properties() const { return _proplist; }; - XMLProperty *property(const char * ); - XMLProperty *property(const std::string&); - const XMLProperty *property(const char * n) const - { return ((XMLNode *) this)->property(n); }; - const XMLProperty *property(const std::string& ns) const - { return ((XMLNode *) this)->property(ns); }; - XMLProperty *add_property(const char *name, const string& value); - XMLProperty *add_property(const char *name, const char *value = ""); - XMLProperty *add_property(const char *name, const long value); - - void remove_property(const string &); - - /** Remove all nodes with the name passed to remove_nodes */ - void remove_nodes(const string &); - /** Remove and delete all nodes with the name passed to remove_nodes */ - void remove_nodes_and_delete(const string &); - /** Remove and delete all nodes with property prop matching val */ - void remove_nodes_and_delete(const string& propname, const string& val); -}; - -class XMLProperty { -private: - string _name; - string _value; - -public: - XMLProperty(const string &n, const string &v = string()); - ~XMLProperty(); - - const string & name() const { return _name; }; - const string & value() const { return _value; }; - const string & set_value(const string &v) { return _value = v; }; -}; - -class XMLException: public std::exception -{ -public: - explicit XMLException(const string message) - : message_(message) - { - } - - virtual ~XMLException() throw() {}; - - virtual const char* what() const throw() { return message_.c_str(); } - virtual void Raise() const { throw *this; } - virtual exception * Clone() const { return new exception(*this); } - -private: - string message_; -}; - -#endif /* __XML_H */ - diff --git a/libs/pbd/pool.cc b/libs/pbd/pool.cc deleted file mode 100644 index 434429e69d..0000000000 --- a/libs/pbd/pool.cc +++ /dev/null @@ -1,145 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <cstdlib> -#include <iostream> -#include <vector> - -#include <pbd/pool.h> -#include <pbd/error.h> - -using namespace std; -using namespace PBD; - -Pool::Pool (string n, unsigned long item_size, unsigned long nitems) -{ - _name = n; - - free_list = new RingBuffer<void*> (nitems); - - /* since some overloaded ::operator new() might use this, - its important that we use a "lower level" allocator to - get more space. - */ - - block = malloc (nitems * item_size); - - void **ptrlist = (void **) malloc (sizeof (void *) * nitems); - - for (unsigned long i = 0; i < nitems; i++) { - ptrlist[i] = static_cast<void *> (static_cast<char*>(block) + (i * item_size)); - } - - free_list->write (ptrlist, nitems); - - free (ptrlist); -} - -Pool::~Pool () -{ - free (block); -} - -void * -Pool::alloc () -{ - void *ptr; - -// cerr << _name << " pool " << " alloc, thread = " << pthread_name() << " space = " << free_list->read_space() << endl; - - if (free_list->read (&ptr, 1) < 1) { - fatal << "CRITICAL: " << _name << " POOL OUT OF MEMORY - RECOMPILE WITH LARGER SIZE!!" << endmsg; - /*NOTREACHED*/ - return 0; - } else { - return ptr; - } -} - -void -Pool::release (void *ptr) -{ - free_list->write (&ptr, 1); -// cerr << _name << ": release, now has " << free_list->read_space() << endl; -} - -/*---------------------------------------------*/ - -MultiAllocSingleReleasePool::MultiAllocSingleReleasePool (string n, unsigned long isize, unsigned long nitems) - : Pool (n, isize, nitems), - m_lock(0) -{ -} - -MultiAllocSingleReleasePool::~MultiAllocSingleReleasePool () -{ - if(m_lock) delete m_lock; -} - -SingleAllocMultiReleasePool::SingleAllocMultiReleasePool (string n, unsigned long isize, unsigned long nitems) - : Pool (n, isize, nitems), - m_lock(0) -{ -} - -SingleAllocMultiReleasePool::~SingleAllocMultiReleasePool () -{ - if(m_lock) delete m_lock; -} - -void* -MultiAllocSingleReleasePool::alloc () -{ - void *ptr; - if(!m_lock) { - m_lock = new Glib::Mutex(); - // umm, I'm not sure that this doesn't also allocate memory. - if(!m_lock) error << "cannot create Glib::Mutex in pool.cc" << endmsg; - } - - Glib::Mutex::Lock guard(*m_lock); - ptr = Pool::alloc (); - return ptr; -} - -void -MultiAllocSingleReleasePool::release (void* ptr) -{ - Pool::release (ptr); -} - -void* -SingleAllocMultiReleasePool::alloc () -{ - return Pool::alloc (); -} - -void -SingleAllocMultiReleasePool::release (void* ptr) -{ - if(!m_lock) { - m_lock = new Glib::Mutex(); - // umm, I'm not sure that this doesn't also allocate memory. - if(!m_lock) error << "cannot create Glib::Mutex in pool.cc" << endmsg; - } - Glib::Mutex::Lock guard(*m_lock); - Pool::release (ptr); -} - diff --git a/libs/pbd/pthread_utils.cc b/libs/pbd/pthread_utils.cc deleted file mode 100644 index 3408f2c0b7..0000000000 --- a/libs/pbd/pthread_utils.cc +++ /dev/null @@ -1,147 +0,0 @@ -/* - Copyright (C) 2002 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <map> -#include <iostream> -#include <string> -#include <stdint.h> - -#include <pbd/pthread_utils.h> - -using namespace std; - -typedef std::map<string,pthread_t> ThreadMap; -static ThreadMap all_threads; -static pthread_mutex_t thread_map_lock = PTHREAD_MUTEX_INITIALIZER; - -namespace PBD { - sigc::signal<void,pthread_t,std::string> ThreadCreated; - sigc::signal<void,pthread_t,std::string,uint32_t> ThreadCreatedWithRequestSize; -} - -using namespace PBD; - -int -pthread_create_and_store (string name, pthread_t *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void * arg) -{ - int ret; - - pthread_attr_t default_attr; - bool use_default_attr = (attr == NULL); - - if (use_default_attr) { - // set default stack size to sensible default for memlocking - pthread_attr_init(&default_attr); - pthread_attr_setstacksize(&default_attr, 500000); - attr = &default_attr; - } - - if ((ret = pthread_create (thread, attr, start_routine, arg)) == 0) { - std::pair<string,pthread_t> newpair; - newpair.first = name; - newpair.second = *thread; - - pthread_mutex_lock (&thread_map_lock); - all_threads.insert (newpair); - - pthread_mutex_unlock (&thread_map_lock); - } - - if (use_default_attr) { - pthread_attr_destroy(&default_attr); - } - - return ret; -} - -string -pthread_name () -{ - pthread_t self = pthread_self(); - string str; - - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == self) { - str = i->first; - pthread_mutex_unlock (&thread_map_lock); - return str; - } - } - pthread_mutex_unlock (&thread_map_lock); - return "unknown"; -} - -void -pthread_kill_all (int signum) -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second != pthread_self()) { - pthread_kill (i->second, signum); - } - } - all_threads.clear(); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_cancel_all () -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second != pthread_self()) { - pthread_cancel (i->second); - } - } - all_threads.clear(); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_cancel_one (pthread_t thread) -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == thread) { - all_threads.erase (i); - break; - } - } - - pthread_cancel (thread); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_exit_pbd (void* status) -{ - pthread_t thread = pthread_self(); - - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == thread) { - all_threads.erase (i); - break; - } - } - pthread_mutex_unlock (&thread_map_lock); - pthread_exit (status); -} diff --git a/libs/pbd/receiver.cc b/libs/pbd/receiver.cc deleted file mode 100644 index 5e7c10de70..0000000000 --- a/libs/pbd/receiver.cc +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <vector> - -#include <pbd/receiver.h> -#include <pbd/transmitter.h> - -using namespace sigc; - -Receiver::Receiver () {} - -Receiver::~Receiver () - -{ - hangup (); -} - -void -Receiver::hangup () -{ - vector<sigc::connection *>::iterator i; - - for (i = connections.begin(); i != connections.end (); i++) { - (*i)->disconnect (); - delete *i; - } - - connections.erase (connections.begin(), connections.end()); -} - -void -Receiver::listen_to (Transmitter &transmitter) - -{ - sigc::connection *c = new sigc::connection; - - (*c) = transmitter.sender().connect(mem_fun(*this, &Receiver::receive)); - - connections.push_back (c); -} diff --git a/libs/pbd/search_path.cc b/libs/pbd/search_path.cc deleted file mode 100644 index 9956c6c763..0000000000 --- a/libs/pbd/search_path.cc +++ /dev/null @@ -1,152 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/tokenizer.h> -#include <pbd/search_path.h> -#include <pbd/error.h> - -namespace { - -#ifdef WIN32 -const char * const path_delimiter = ";"; -#else -const char * const path_delimiter = ":"; -#endif - -} - -namespace PBD { - -SearchPath::SearchPath () -{ - -} - -SearchPath::SearchPath (const string& path) -{ - vector<sys::path> tmp; - - if(tokenize (path, string(path_delimiter), std::back_inserter (tmp))) - { - add_directories (tmp); - } -} - -SearchPath::SearchPath (const sys::path& directory_path) -{ - add_directory (directory_path); -} - -SearchPath::SearchPath (const vector<sys::path>& paths) -{ - add_directories (paths); -} - -SearchPath::SearchPath (const SearchPath& other) - : m_dirs(other.m_dirs) -{ - -} - -void -SearchPath::add_directory (const sys::path& directory_path) -{ - // test for existance and warn etc? - m_dirs.push_back(directory_path); -} - -void -SearchPath::add_directories (const vector<sys::path>& paths) -{ - for(vector<sys::path>::const_iterator i = paths.begin(); i != paths.end(); ++i) { - add_directory (*i); - } -} - -const string -SearchPath::to_string () const -{ - string path; - - for (vector<sys::path>::const_iterator i = m_dirs.begin(); i != m_dirs.end(); ++i) { - path += (*i).to_string(); - path += path_delimiter; - } - - path = path.substr (0, path.length() - 1); // drop final separator - - return path; -} - -SearchPath& -SearchPath::operator= (const SearchPath& path) -{ - m_dirs = path.m_dirs; - return *this; -} - -SearchPath& -SearchPath::operator+= (const SearchPath& spath) -{ - m_dirs.insert(m_dirs.end(), spath.m_dirs.begin(), spath.m_dirs.end()); - return *this; -} - -SearchPath& -SearchPath::operator+= (const sys::path& directory_path) -{ - add_directory (directory_path); - return *this; -} - -SearchPath& -SearchPath::operator+ (const sys::path& directory_path) -{ - add_directory (directory_path); - return *this; -} - -SearchPath& -SearchPath::operator+ (const SearchPath& spath) -{ - // concatenate paths into new SearchPath - m_dirs.insert(m_dirs.end(), spath.m_dirs.begin(), spath.m_dirs.end()); - return *this; -} - -SearchPath& -SearchPath::add_subdirectory_to_paths (const string& subdir) -{ - for (vector<sys::path>::iterator i = m_dirs.begin(); i != m_dirs.end(); ++i) - { - // should these new paths just be added to the end of - // the search path rather than replace? - *i /= subdir; - } - - return *this; -} - -SearchPath& -SearchPath::operator/= (const string& subdir) -{ - return add_subdirectory_to_paths (subdir); -} - -} // namespace PBD diff --git a/libs/pbd/shortpath.cc b/libs/pbd/shortpath.cc deleted file mode 100644 index 9f9598e617..0000000000 --- a/libs/pbd/shortpath.cc +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/shortpath.h> - -using namespace Glib; -using namespace std; - -ustring -short_path (const Glib::ustring& path, ustring::size_type target_characters) -{ - ustring::size_type last_sep; - ustring::size_type len = path.length(); - const char separator = '/'; - - if (len <= target_characters) { - return path; - } - - if ((last_sep = path.find_last_of (separator)) == ustring::npos) { - - /* just a filename, but its too long anyway */ - - if (target_characters > 3) { - return path.substr (0, target_characters - 3) + ustring ("..."); - } else { - /* stupid caller, just hand back the whole thing */ - return path; - } - } - - if (len - last_sep >= target_characters) { - - /* even the filename itself is too long */ - - if (target_characters > 3) { - return path.substr (last_sep+1, target_characters - 3) + ustring ("..."); - } else { - /* stupid caller, just hand back the whole thing */ - return path; - } - } - - uint32_t so_far = (len - last_sep); - uint32_t space_for = target_characters - so_far; - - if (space_for >= 3) { - ustring res = "..."; - res += path.substr (last_sep - space_for); - return res; - } else { - /* remove part of the end */ - ustring res = "..."; - res += path.substr (last_sep - space_for, len - last_sep + space_for - 3); - res += "..."; - return res; - - } -} diff --git a/libs/pbd/stacktrace.cc b/libs/pbd/stacktrace.cc deleted file mode 100644 index dc9a5e18ab..0000000000 --- a/libs/pbd/stacktrace.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/stacktrace.h> -#include <iostream> - -void -PBD::trace_twb () -{ -} - -/* Obtain a backtrace and print it to stdout. */ - -#ifdef HAVE_EXECINFO - -#include <execinfo.h> -#include <stdlib.h> - -void -PBD::stacktrace (std::ostream& out, int levels) -{ - void *array[200]; - size_t size; - char **strings; - size_t i; - - size = backtrace (array, 200); - strings = backtrace_symbols (array, size); - - if (strings) { - - printf ("Obtained %zd stack frames.\n", size); - - for (i = 0; i < size && (levels == 0 || i < size_t(levels)); i++) { - out << strings[i] << std::endl; - } - - free (strings); - } -} - -#else - -void -PBD::stacktrace (std::ostream& out, int levels) -{ - out << "stack tracing is not enabled on this platform" << std::endl; -} - -void -c_stacktrace () -{ - PBD::stacktrace (std::cout); -} - -#endif /* HAVE_EXECINFO */ diff --git a/libs/pbd/stateful.cc b/libs/pbd/stateful.cc deleted file mode 100644 index da014d738f..0000000000 --- a/libs/pbd/stateful.cc +++ /dev/null @@ -1,148 +0,0 @@ -/* - Copyright (C) 2000-2001 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: stateful.cc 629 2006-06-21 23:01:03Z paul $ -*/ - -#include <unistd.h> - -#include <pbd/stateful.h> -#include <pbd/filesystem.h> -#include <pbd/xml++.h> -#include <pbd/error.h> - -#include "i18n.h" - -namespace PBD { - -Stateful::Stateful () -{ - _extra_xml = 0; - _instant_xml = 0; -} - -Stateful::~Stateful () -{ - // Do not delete _extra_xml. The use of add_child_nocopy() - // means it needs to live on indefinately. - - if (_instant_xml) { - delete _instant_xml; - } -} - -void -Stateful::add_extra_xml (XMLNode& node) -{ - if (_extra_xml == 0) { - _extra_xml = new XMLNode ("extra"); - } - - _extra_xml->remove_nodes (node.name()); - _extra_xml->add_child_nocopy (node); -} - -XMLNode * -Stateful::extra_xml (const string& str) -{ - if (_extra_xml == 0) { - return 0; - } - - const XMLNodeList& nlist = _extra_xml->children(); - XMLNodeConstIterator i; - - for (i = nlist.begin(); i != nlist.end(); ++i) { - if ((*i)->name() == str) { - return (*i); - } - } - - return 0; -} - -void -Stateful::add_instant_xml (XMLNode& node, const sys::path& directory_path) -{ - sys::create_directories (directory_path); // may throw - - if (_instant_xml == 0) { - _instant_xml = new XMLNode ("instant"); - } - - _instant_xml->remove_nodes_and_delete (node.name()); - _instant_xml->add_child_copy (node); - - sys::path instant_xml_path(directory_path); - - instant_xml_path /= "instant.xml"; - - XMLTree tree; - tree.set_filename(instant_xml_path.to_string()); - - /* Important: the destructor for an XMLTree deletes - all of its nodes, starting at _root. We therefore - cannot simply hand it our persistent _instant_xml - node as its _root, because we will lose it whenever - the Tree goes out of scope. - - So instead, copy the _instant_xml node (which does - a deep copy), and hand that to the tree. - */ - - XMLNode* copy = new XMLNode (*_instant_xml); - tree.set_root (copy); - - if (!tree.write()) { - error << string_compose(_("Error: could not write %1"), instant_xml_path.to_string()) << endmsg; - } -} - -XMLNode * -Stateful::instant_xml (const string& str, const sys::path& directory_path) -{ - if (_instant_xml == 0) { - - sys::path instant_xml_path(directory_path); - instant_xml_path /= "instant.xml"; - - if (exists(instant_xml_path)) { - XMLTree tree; - if (tree.read(instant_xml_path.to_string())) { - _instant_xml = new XMLNode(*(tree.root())); - } else { - warning << string_compose(_("Could not understand XML file %1"), instant_xml_path.to_string()) << endmsg; - return 0; - } - } else { - return 0; - } - } - - const XMLNodeList& nlist = _instant_xml->children(); - XMLNodeConstIterator i; - - for (i = nlist.begin(); i != nlist.end(); ++i) { - if ((*i)->name() == str) { - return (*i); - } - } - - return 0; -} - -} // namespace PBD diff --git a/libs/pbd/strreplace.cc b/libs/pbd/strreplace.cc deleted file mode 100644 index 7999b5c6c9..0000000000 --- a/libs/pbd/strreplace.cc +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/replace_all.h> - -int -replace_all (std::string& str, - std::string const& target, - std::string const& replacement) -{ - std::string::size_type start = str.find (target, 0); - int cnt = 0; - - while (start != std::string::npos) { - str.replace (start, target.size(), replacement); - start = str.find (target, start+replacement.size()); - ++cnt; - } - - return cnt; -} - diff --git a/libs/pbd/strsplit.cc b/libs/pbd/strsplit.cc deleted file mode 100644 index 342daadaa2..0000000000 --- a/libs/pbd/strsplit.cc +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/strsplit.h> - -using namespace std; -using namespace Glib; - -void -split (string str, vector<string>& result, char splitchar) -{ - string::size_type pos; - string remaining; - string::size_type len = str.length(); - int cnt; - - cnt = 0; - - if (str.empty()) { - return; - } - - for (string::size_type n = 0; n < len; ++n) { - if (str[n] == splitchar) { - cnt++; - } - } - - if (cnt == 0) { - result.push_back (str); - return; - } - - remaining = str; - - while ((pos = remaining.find_first_of (splitchar)) != string::npos) { - result.push_back (remaining.substr (0, pos)); - remaining = remaining.substr (pos+1); - } - - if (remaining.length()) { - - result.push_back (remaining); - } -} - -void -split (ustring str, vector<ustring>& result, char splitchar) -{ - ustring::size_type pos; - ustring remaining; - ustring::size_type len = str.length(); - int cnt; - - cnt = 0; - - if (str.empty()) { - return; - } - - for (ustring::size_type n = 0; n < len; ++n) { - if (str[n] == gunichar(splitchar)) { - cnt++; - } - } - - if (cnt == 0) { - result.push_back (str); - return; - } - - remaining = str; - - while ((pos = remaining.find_first_of (splitchar)) != ustring::npos) { - result.push_back (remaining.substr (0, pos)); - remaining = remaining.substr (pos+1); - } - - if (remaining.length()) { - - result.push_back (remaining); - } -} diff --git a/libs/pbd/tests/Makefile b/libs/pbd/tests/Makefile deleted file mode 100644 index fc0da41812..0000000000 --- a/libs/pbd/tests/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -test: xpath - LD_LIBRARY_PATH=..:../../sigc++2:../../glibmm2 ./xpath - LD_LIBRARY_PATH=..:../../sigc++2:../../glibmm2 gprof ./xpath > gprof.out - -xpath: xpath.cc - gcc -o $@ -g -pg -I.. `xml2-config --libs --cflags` -L.. -L../../sigc++2 -L../../glibmm2 -lstdc++ -lpbd -lglibmm2 -lsigc++2 $< diff --git a/libs/pbd/tests/ProtoolsPatchFile.midnam b/libs/pbd/tests/ProtoolsPatchFile.midnam deleted file mode 100755 index 8656a312eb..0000000000 --- a/libs/pbd/tests/ProtoolsPatchFile.midnam +++ /dev/null @@ -1,11756 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE MIDINameDocument PUBLIC "-//MIDI Manufacturers Association//DTD MIDINameDocument 0.7//EN" "http://www.sonosphere.com/dtds/MIDINameDocument.dtd"> - -<MIDINameDocument> - <Author>Mark of the Unicorn - converted from FreeMIDI, 4/28/04</Author> - <MasterDeviceNames> - <Manufacturer>Roland</Manufacturer> - <Model>SC-88 Pro</Model> - <CustomDeviceMode Name="Mode 1" > - <DeviceModeEnable> - <MIDICommands> - <SysEx>F0 41 <SysExDeviceID Offset="00" /> 42 12 40 00 7F 00 41 F7</SysEx> - </MIDICommands> - </DeviceModeEnable> - <ChannelNameSetAssignments> - <ChannelNameSetAssign Channel="1" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="2" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="3" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="4" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="5" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="6" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="7" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="8" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="9" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="10" NameSet="Name Set 2" /> - <ChannelNameSetAssign Channel="11" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="12" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="13" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="14" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="15" NameSet="Name Set 1" /> - <ChannelNameSetAssign Channel="16" NameSet="Name Set 1" /> - </ChannelNameSetAssignments> - </CustomDeviceMode> - <ChannelNameSet Name="Name Set 1" > - <AvailableForChannels> - <AvailableChannel Channel="1" Available="true" /> - <AvailableChannel Channel="2" Available="true" /> - <AvailableChannel Channel="3" Available="true" /> - <AvailableChannel Channel="4" Available="true" /> - <AvailableChannel Channel="5" Available="true" /> - <AvailableChannel Channel="6" Available="true" /> - <AvailableChannel Channel="7" Available="true" /> - <AvailableChannel Channel="8" Available="true" /> - <AvailableChannel Channel="9" Available="true" /> - <AvailableChannel Channel="10" Available="false" /> - <AvailableChannel Channel="11" Available="true" /> - <AvailableChannel Channel="12" Available="true" /> - <AvailableChannel Channel="13" Available="true" /> - <AvailableChannel Channel="14" Available="true" /> - <AvailableChannel Channel="15" Available="true" /> - <AvailableChannel Channel="16" Available="true" /> - </AvailableForChannels> - <PatchBank Name="Piano" > - <PatchNameList> - <Patch Number="001" Name="Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="Piano 1w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="European Pf" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="Piano + Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002+" Name="Piano 2w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002+" Name="Dance Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="Piano 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="EG+Rhodes 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="EG+Rhodes 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="Piano 3w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004" Name="Honky-tonk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004+" Name="Honky-tonk 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005" Name="E.Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="St.Soft EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="Cho. E.Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="SilentRhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="FM+SA EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="Dist E.Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="Wurly" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="Hard Rhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="MellowRhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006" Name="E.Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="Detuned EP 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="St.FM EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="Hard FM EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="Harpsichord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="Harpsichord2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="Coupled Hps." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="Harpsi.w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="Harpsi.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="Synth Harpsi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="Comp Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="Reso Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="Clav.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="Analog Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="JP8 Clav. 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="JP8 Clav. 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="35" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="$Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="$Piano 1w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="$Piano 1d" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="$Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002+" Name="$Piano 2w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="$Piano 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="$EG+Rhodes 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="$EG+Rhodes 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="$Piano 3w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004" Name="$Honky-tonk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004+" Name="$Old Upright" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005" Name="$E.Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="$St.Soft EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="$FM+SA EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="$60'sE.Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="$Hard Rhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="$MellwRhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006" Name="$E.Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="$Detuned EP2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="$St.FM EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="$Hard FM EP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="$Harpsichord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="$Coupled Hps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="$Harpsi.w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="$Harpsi.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="$Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="*Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="*Piano 1w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001+" Name="*Piano 1d" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="*Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002+" Name="*Piano 2w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="*Piano 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003+" Name="*Piano 3w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004" Name="*Honky-tonk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004+" Name="*HonkyTonk w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005" Name="*E.Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="*Detuned EP1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="*E.Piano 1v" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005+" Name="*60s E.Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006" Name="*E.Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="*Detuned EP2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006+" Name="*E.Piano 2v" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="*Harpsichord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="*Coupled Hps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="*Harpsi.w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007+" Name="*Harpsi.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="*Clav." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="#Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="#Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="#Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004" Name="#Honky-tonk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005" Name="#Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006" Name="#Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="#Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="#E.Piano 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="#Detuned EP1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="#E.Piano 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="#Acou Piano1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="#Acou Piano2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="#Acou Piano3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="004" Name="#Elec Piano1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="3" /> - </PatchMIDICommands> - </Patch> - <Patch Number="005" Name="#Elec Piano2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="4" /> - </PatchMIDICommands> - </Patch> - <Patch Number="006" Name="#Elec Piano3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="5" /> - </PatchMIDICommands> - </Patch> - <Patch Number="007" Name="#Elec Piano4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="6" /> - </PatchMIDICommands> - </Patch> - <Patch Number="008" Name="#Honkytonk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="7" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="#Harpsi 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018" Name="#Harpsi 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019" Name="#Harpsi 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020" Name="#Clavi 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="#Clavi 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022" Name="#Clavi 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Chromatic Percussion" > - <PatchNameList> - <Patch Number="009" Name="Celesta" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009+" Name="Pop Celesta" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="Glockenspiel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="Music Box" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="Vibraphone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="Pop Vibe." > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="Vibraphone w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="Vibraphones" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013" Name="Marimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="Marimba w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="Barafon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="Barafon 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="Log drum" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="014" Name="Xylophone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="13" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015" Name="Tubular-bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="Church Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="Carillon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="Santur" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016+" Name="Santur 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016+" Name="Cimbalom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016+" Name="Zither 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016+" Name="Zither 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016+" Name="Dulcimer" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="$Celesta" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="$Glocknspiel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="$Music Box" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="$Vibraphone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="$Hard Vibe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="$Vib.w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013" Name="$Marimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="$Marimba w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="$Barafon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="$Barafon 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="$Log drum" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="014" Name="$Xylophone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="13" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015" Name="$Tubularbell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="$Church Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="$Carillon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="$Santur" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="$Santur 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="$Cimbalon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="*Celesta" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="*Glockenspl" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="*Music Box" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="*Vibraphone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012+" Name="*Vib.w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013" Name="*Marimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013+" Name="*Marimba w" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="014" Name="*Xylophone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="13" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015" Name="*Tubularbell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="*Church Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015+" Name="*Carillon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="*Santur" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023" Name="#Celesta 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024" Name="#Celesta 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098" Name="#Vibe 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099" Name="#Vibe 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102" Name="#Glock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103" Name="#Tube Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104" Name="#Xylophone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105" Name="#Marimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Organ" > - <PatchNameList> - <Patch Number="017" Name="Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Organ 101" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Trem. Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Organ o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="60's Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="60's Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="60's Organ 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Farf Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Cheese Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="D-50 Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="JUNO Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Hybrid Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="27" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="VS Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="28" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Digi Church" > - <PatchMIDICommands> - <ControlChange Control="0" Value="29" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="70's E.Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Even Bar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="Organ Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="40" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="5th Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="48" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018" Name="Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="Jazz Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="E.Organ 16+2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="Chorus Or.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="Octave Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="Perc. Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019" Name="Organ 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="Rotary Org." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="Rotary Org.S" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="Rock Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="Rock Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="Rotary Org.F" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020" Name="Church Org.1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="Church Org.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="Church Org.3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="Organ Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="Trem.Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="Theater Org." > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="Reed Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="Wind Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022" Name="Accordion Fr" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="Accordion It" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="Dist. Accord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="Cho. Accord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="Hard Accord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="Soft Accord" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023" Name="Harmonica" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023+" Name="Harmonica 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024" Name="Bandoneon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024+" Name="Bandoneon 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024+" Name="Bandoneon 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="$Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Organ 101" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Detuned Or.1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Organ 109" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$60'sOrgan 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$60'sOrgan 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$60'sOrgan 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$CheeseOrgan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Organ 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Even Bar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="$Organ Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="40" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018" Name="$Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="$Organ 201" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="$DetunedOr.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="$Organ 5" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019" Name="$Organ 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="$Rotary Org." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="$RotaryOrg.S" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019+" Name="$RotaryOrg.F" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020" Name="$ChurchOrg.1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="$ChurchOrg.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="$ChurchOrg.3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="$Organ Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="$Trem.Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="$Reed Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022" Name="$AccordionFr" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="$AccordionIt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023" Name="$Harmonica" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023+" Name="$Harmonica 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024" Name="$Bandoneon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="*Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="*Detuned Or1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="*60's Organ1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017+" Name="*Organ 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018" Name="*Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="*Detuned Or2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018+" Name="*Organ 5" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019" Name="*Organ 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020" Name="*Church Org1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="*Church Org2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020+" Name="*Church Org3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="*Reed Organ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022" Name="*Accordion F" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022+" Name="*Accordion I" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023" Name="*Harmonica" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024" Name="*Bandoneon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038" Name="#Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039" Name="#Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040" Name="#Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="#Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042" Name="#Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043" Name="#Organ 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="044" Name="#Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="43" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="#Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046" Name="#Organ 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="#Elec Org 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="#Elec Org 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="#Elec Org 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="#Elec Org 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013" Name="#Pipe Org 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="014" Name="#Pipe Org 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="13" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015" Name="#Pipe Org 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="#Accordion" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088" Name="#Harmonica" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Guitar" > - <PatchNameList> - <Patch Number="025" Name="Nylon-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="Ukulele" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="Nylon Gt.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="Velo Harmnix" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="Nylon Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="Lequint Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="40" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="Steel-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="12-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="Nylon+Steel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="Mandolin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="Mandolin 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="MandolinTrem" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="Steel Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="Jazz Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027+" Name="Mellow Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027+" Name="Pedal Steel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="Clean Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="Clean Half" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="Open Hard 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="Open Hard 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="JC Clean Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="Chorus Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="JC Chorus Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="TC FrontPick" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="TC Rear Pick" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="TC Clean ff" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="TC Clean 2:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="Muted Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="Muted Dis.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="TC Muted Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="Funk Pop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="Funk Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="Overdrive Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030+" Name="Overdrive 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030+" Name="Overdrive 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030+" Name="More Drive" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030+" Name="LP OverDrvGt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030+" Name="LP OverDrv:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="DistortionGt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Dist. Gt2 :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Dazed Guitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Distortion:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Dist.Fast :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Feedback Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Feedback Gt2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Power Guitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Power Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="5th Dist." > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Rock Rhythm" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="Rock Rhythm2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032" Name="Gt.Harmonics" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="Gt. Feedback" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="Gt.Feedback2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="Ac.Gt.Harmnx" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="E.Bass Harm." > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="$Nylonstr.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="$Ukulele" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="$Nylon Gt.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="$VeloHarmnix" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="$Nylon Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="$Lequint Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="40" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="$Steelstr.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="$12-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="$Nylon+Steel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="$Mandolin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="$Steel Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="$Jazz Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027+" Name="$Mellow Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027+" Name="$Pedal Steel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="$Clean Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="$Chorus Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="$Muted Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="$MutedDis.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="$Funk Pop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="$Funk Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="$OverdriveGt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="$DistortionG" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$Dist. Gt2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$DazedGuitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$FeedbackGt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$FeedbackGt2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$PowerGuitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$Power Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$5th Dist." > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$Rock Rhythm" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="$RockRhythm2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032" Name="$Gt.Harmonix" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="$Gt.Feedback" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="$Ac.Gt.Harm." > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="*Nylon Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="*Ukulele" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="*Nylon Gt.o" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025+" Name="*Nylon Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="*Steel Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="*12-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026+" Name="*Mandolin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="*Jazz Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027+" Name="*Hawaiian Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="*Clean Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028+" Name="*Chorus Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="*Muted Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="*Funk Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029+" Name="*Funk Gt.2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="*OverdriveGt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="*Dist.Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031+" Name="*Feedback Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032" Name="*Gt.Harmonix" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032+" Name="*Gt.Feedback" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="#Steel Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="#Steel Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="013" Name="#12-str.Gt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="12" /> - </PatchMIDICommands> - </Patch> - <Patch Number="014" Name="#Funk Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="13" /> - </PatchMIDICommands> - </Patch> - <Patch Number="015" Name="#Muted Gt." > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="14" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060" Name="#Guitar 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061" Name="#Guitar 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062" Name="#Elec Gtr 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="#Elec Gtr 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Bass" > - <PatchNameList> - <Patch Number="033" Name="Acoustic Bs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033+" Name="Rockabilly" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033+" Name="Wild A.Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033+" Name="Bass + OHH" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034" Name="Fingered Bs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="Fingered Bs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="Jazz Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="Jazz Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="Rock Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="ChorusJazzBs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="F.Bass/Harm." > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035" Name="Picked Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="Picked Bass2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="Picked Bass3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="Picked Bass4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="Mute PickBs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="P.Bass/Harm." > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036" Name="Fretless Bs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Fretless Bs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Fretless Bs3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Fretless Bs4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Syn Fretless" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Mr.Smooth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="Wood+FlessBs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037" Name="Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037+" Name="Slap Pop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037+" Name="Reso Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037+" Name="Unison Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038" Name="Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038+" Name="FM Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039" Name="Synth Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="SynthBass101" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="CS Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="JP-4 Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="JP-8 Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="P5 Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="JPMG Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Acid Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="TB303 Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Tekno Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="TB303 Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Kicked TB303" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="TB303 Saw Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="13" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Rubber303 Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="14" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Reso 303 Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="15" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Reso SH Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="TB303 Sqr Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="TB303 DistBs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="Arpeggio Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040" Name="Synth Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="SynthBass201" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Modular Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Seq Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="MG Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Mg Oct Bass1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="MG Oct Bass2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="MG Blip Bs:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Beef FM Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Dly Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="X Wire Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="WireStr Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Blip Bass :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="RubberBass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="13" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="RubberBass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="SH101 Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="SH101 Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Smooth Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="SH101 Bass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="20" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Spike Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="21" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="House Bass:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="22" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="KG Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="23" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Sync Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="MG 5th Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="RND Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="WowMG Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="27" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="Bubble Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="28" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="$AcousticBs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034" Name="$FingeredBs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="$FingeredBs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034+" Name="$Jazz Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035" Name="$Picked Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035+" Name="$MutePickBs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036" Name="$FretlessBs." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="$FretlessBs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="$FretlessBs3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="$FretlessBs4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="$SynFretless" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036+" Name="$Mr.Smooth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037" Name="$Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037+" Name="$Reso Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038" Name="$Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039" Name="$SynthBass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="$Syn.Bass101" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="$Acid Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="$TB303 Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="$Tekno Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="$Reso SHBass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040" Name="$SynthBass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$Syn.Bass201" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$ModularBass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$Seq Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$Beef FMBass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$X Wire Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$Rubber Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$SH101Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$SH101Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="$Smooth Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="*Acoustic Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034" Name="*Fingered Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035" Name="*Picked Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036" Name="*Fretless Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037" Name="*Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038" Name="*Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039" Name="*Syn.Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="*Syn.Bass101" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039+" Name="*Syn.Bass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040" Name="*Syn.Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="*Syn.Bass 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040+" Name="*Rubber Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="016" Name="#Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="15" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="#Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="018" Name="#Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="17" /> - </PatchMIDICommands> - </Patch> - <Patch Number="019" Name="#Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="18" /> - </PatchMIDICommands> - </Patch> - <Patch Number="020" Name="#Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="19" /> - </PatchMIDICommands> - </Patch> - <Patch Number="021" Name="#Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="20" /> - </PatchMIDICommands> - </Patch> - <Patch Number="022" Name="#Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="21" /> - </PatchMIDICommands> - </Patch> - <Patch Number="023" Name="#Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="22" /> - </PatchMIDICommands> - </Patch> - <Patch Number="024" Name="#Fingered Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="23" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="#Fingered Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="#Picked Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="#Picked Bass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="#Fretless Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="#Acoustic Bs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="#Syn Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="#Syn Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="#Syn Bass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032" Name="#Syn Bass 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="065" Name="#Acou Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="64" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066" Name="#Acou Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067" Name="#Elec Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="068" Name="#Elec Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="67" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069" Name="#Slap Bass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="070" Name="#Slap Bass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="69" /> - </PatchMIDICommands> - </Patch> - <Patch Number="071" Name="#Fretless 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="70" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072" Name="#Fretless 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Strings/orchestra" > - <PatchNameList> - <Patch Number="041" Name="Violin :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041+" Name="Violin Atk:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041+" Name="Slow Violin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042" Name="Viola :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042+" Name="Viola Atk.:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043" Name="Cello :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043+" Name="Cello Atk.:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="044" Name="Contrabass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="43" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="Tremolo Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="Slow Tremolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="Suspense Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046" Name="PizzicatoStr" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046+" Name="Vcs&Cbs Pizz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046+" Name="Chamber Pizz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046+" Name="St.Pizzicato" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046+" Name="Solo Pizz." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046+" Name="Solo Spic." > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047" Name="Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047+" Name="Synth Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="048" Name="Timpani" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="47" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="$Violin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041+" Name="$Slow Violin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042" Name="$Viola" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043" Name="$Cello" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="044" Name="$Contrabass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="43" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="$Tremolo Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045+" Name="$SlowTremolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045+" Name="$SuspenseStr" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046" Name="$Pizz. Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047" Name="$Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="048" Name="$Timpani" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="47" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="*Violin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041+" Name="*Slow Violin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042" Name="*Viola" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043" Name="*Cello" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="044" Name="*Contrabass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="43" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="*Tremolo Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046" Name="*Pizzicato" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047" Name="*Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="048" Name="*Timpani" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="47" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="#Str Sect 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="#Str Sect 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="#Str Sect 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052" Name="#Pizzicato" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="#Violin 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="#Violin 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055" Name="#Cello 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056" Name="#Cello 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="#Contrabass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="#Harp 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="#Harp 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113" Name="#Timpani" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Ensemble" > - <PatchNameList> - <Patch Number="049" Name="Strings :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Bright Str:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="ChamberStr:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Cello sect." > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Orchestra" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Orchestra 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Tremolo Orch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Choir Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Strings+Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="St. Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Velo Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Oct Strings1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="Oct Strings2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="Slow Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="SlowStrings2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="Legato Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="Warm Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="St.Slow Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="Syn.Strings1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="OB Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="StackStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="JP Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="Syn.Strings3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="Syn.Strings4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="High Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="Hybrid Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="Tron Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="Noiz Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052" Name="Syn.Strings2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052+" Name="Syn.Strings5" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052+" Name="JUNO Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052+" Name="Air Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="St.ChoirAahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Melted Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Church Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Choir Hahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Choir Lahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Chorus Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="Male Aah+Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="Voice Oohs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054+" Name="Voice Dahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055" Name="SynVox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055+" Name="Syn.Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055+" Name="Silent Night" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055+" Name="VP330 Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055+" Name="Vinyl Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056" Name="OrchestraHit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Impact Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Philly Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Double Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Perc. Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Shock Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Lo Fi Rave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Techno Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Dist. Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Bam Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Bit Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="20" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Bim Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="21" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Technorg Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="22" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Rave Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="23" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Strings Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="Stack Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="$Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$Strings 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$Orchestra" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$Orchestra 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$TremoloOrch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$Choir Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$St.Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="$VeloStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="$SlowStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="$Slow Str. 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="$Legato Str." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="$WarmStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050+" Name="$St.SlowStr." > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="$SynStrings1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="$OB Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="$SynStrings3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052" Name="$SynStrings2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="$Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="$St.Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="$Mello Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="$ChoirAahs 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="$Voice Oohs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055" Name="$SynVox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055+" Name="$Syn.Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056" Name="$Orch. Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="$Impact Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="$Philly Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="$Double Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056+" Name="$Lo Fi Rave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="*Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049+" Name="*Orchestra" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="*SlowStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="*SynStrings1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051+" Name="*SynStrings3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052" Name="*SynStrings2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="*Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053+" Name="*Choir Aahs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="*Voice Oohs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055" Name="*SynVox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056" Name="*Orchest.Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="#Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="#Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="032" Name="#Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="31" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="#Choir Aahs" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034" Name="#SlowStrings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035" Name="#Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036" Name="#SynStrings3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037" Name="#SynStrings3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064" Name="#Orchest.Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123" Name="#Orche Hit" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Brass" > - <PatchNameList> - <Patch Number="057" Name="Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Trumpet 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Trumpet :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Flugel Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="4th Trumpets" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Bright Tp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Warm Tp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="Syn. Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058+" Name="Trombone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058+" Name="Twin bones" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058+" Name="Bs. Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="Tuba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059+" Name="Tuba 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060" Name="MutedTrumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060+" Name="Muted Horns" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061" Name="French Horns" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="Fr.Horn 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="Horn + Orche" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="Wide FreHrns" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="F.Hrn Slow:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="Dual Horns" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="Synth Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="F.Horn Rip" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062" Name="Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass ff" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Bones Sect." > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass sfz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass Fall" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Trumpet Fall" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Octave Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="Brass + Reed" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="Synth Brass1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="JUNO Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="Stack Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="SH-5 Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="MKS Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="Pro Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="P5 Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="Oct SynBrass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="Hybrid Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064" Name="Synth Brass2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="Soft Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="Warm Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="SynBrass sfz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="OB Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="Reso Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="Velo Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="Transbrass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="$Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="$Trumpet 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="$Flugel Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="$Bright Tp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057+" Name="$Warm Tp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="$Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058+" Name="$Trombone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="$Tuba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059+" Name="$Tuba 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060" Name="$Muted Tp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061" Name="$FrenchHorns" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="$Fr.Horns 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="$Fr.HornSolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="$Horn Orch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062" Name="$Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="$Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="$Brass Fall" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="$SynthBrass1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="$Poly Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="$Syn.Brass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="$Quack Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="$OctaveBrass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064" Name="$Syn.Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="$Soft Brass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="$Syn.Brass 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="$VeloBrass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="$VeloBrass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="*Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="*Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="*Trombone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="*Tuba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060" Name="*MuteTrumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061" Name="*French Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061+" Name="*Fr.Horn 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062" Name="*Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062+" Name="*Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="*Syn.Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="*Syn.Brass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063+" Name="*Analog Brs1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064" Name="*Syn.Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="*Syn.Brass 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064+" Name="*Analog Brs2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047" Name="#Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="048" Name="#Trumpet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="47" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="052" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="51" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="#Trombone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="#Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="060" Name="#Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="59" /> - </PatchMIDICommands> - </Patch> - <Patch Number="061" Name="#Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="60" /> - </PatchMIDICommands> - </Patch> - <Patch Number="062" Name="#Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="61" /> - </PatchMIDICommands> - </Patch> - <Patch Number="063" Name="#Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="62" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="#Syn Brass 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="#Syn Brass 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="#Syn Brass 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="#Syn Brass 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089" Name="#Trumpet 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090" Name="#Trumpet 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091" Name="#Trombone 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092" Name="#Trombone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093" Name="#Fr Horn 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094" Name="#Fr Horn 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095" Name="#Tuba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096" Name="#Brs Sect 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097" Name="#Brs Sect 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Reed" > - <PatchNameList> - <Patch Number="065" Name="Soprano Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="64" /> - </PatchMIDICommands> - </Patch> - <Patch Number="065+" Name="Soprano Exp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="64" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066" Name="Alto Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066+" Name="AltoSax Exp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066+" Name="Grow Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066+" Name="AltoSax + Tp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067" Name="Tenor Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067+" Name="Tenor Sax :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067+" Name="BreathyTn.:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067+" Name="St. Tenor Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="068" Name="Baritone Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="67" /> - </PatchMIDICommands> - </Patch> - <Patch Number="068+" Name="Bari. Sax :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="67" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069" Name="Oboe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069+" Name="Oboe Exp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069+" Name="Multi Reed" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="070" Name="English Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="69" /> - </PatchMIDICommands> - </Patch> - <Patch Number="071" Name="Bassoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="70" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072" Name="Clarinet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072+" Name="Bs Clarinet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072+" Name="Multi Wind" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="065" Name="$Soprano Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="64" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066" Name="$Alto Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066+" Name="$Hyper Alto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067" Name="$Tenor Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067+" Name="$BreathyTnr." > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="068" Name="$BaritoneSax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="67" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069" Name="$Oboe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="070" Name="$EnglishHorn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="69" /> - </PatchMIDICommands> - </Patch> - <Patch Number="071" Name="$Bassoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="70" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072" Name="$Clarinet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072+" Name="$Bs Clarinet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="065" Name="*Soprano Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="64" /> - </PatchMIDICommands> - </Patch> - <Patch Number="066" Name="*Alto Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="65" /> - </PatchMIDICommands> - </Patch> - <Patch Number="067" Name="*Tenor Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="66" /> - </PatchMIDICommands> - </Patch> - <Patch Number="068" Name="*BaritoneSax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="67" /> - </PatchMIDICommands> - </Patch> - <Patch Number="069" Name="*Oboe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="68" /> - </PatchMIDICommands> - </Patch> - <Patch Number="070" Name="*EnglishHorn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="69" /> - </PatchMIDICommands> - </Patch> - <Patch Number="071" Name="*Bassoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="70" /> - </PatchMIDICommands> - </Patch> - <Patch Number="072" Name="*Clarinet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="71" /> - </PatchMIDICommands> - </Patch> - <Patch Number="055" Name="#Alto Sax " > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="54" /> - </PatchMIDICommands> - </Patch> - <Patch Number="056" Name="#Tenor Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="55" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="#BaritoneSax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="#Alto Sax" > - <PatchMIDICommands> - <ControlChange Control="0" Value="126" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="043" Name="#Oboe 2001" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="42" /> - </PatchMIDICommands> - </Patch> - <Patch Number="079" Name="#Sax 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="78" /> - </PatchMIDICommands> - </Patch> - <Patch Number="080" Name="#Sax 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="79" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081" Name="#Sax 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082" Name="#Sax 4" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083" Name="#Clarinet 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084" Name="#Clarinet 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085" Name="#Oboe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086" Name="#Engl Horn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087" Name="#Bassoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Pipe" > - <PatchNameList> - <Patch Number="073" Name="Piccolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073+" Name="Piccolo :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073+" Name="Nay" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073+" Name="Nay Tremolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073+" Name="Di" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074" Name="Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074+" Name="Flute 2 :" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074+" Name="Flute Exp." > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074+" Name="Flt Travelso" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074+" Name="Flute + Vln" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074+" Name="Tron Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="075" Name="Recorder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="74" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076" Name="Pan Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076+" Name="Kawala" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076+" Name="Zampona" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076+" Name="Zampona Atk" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="077" Name="Bottle Blow" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="76" /> - </PatchMIDICommands> - </Patch> - <Patch Number="078" Name="Shakuhachi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="77" /> - </PatchMIDICommands> - </Patch> - <Patch Number="078+" Name="Shakuhachi:" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="77" /> - </PatchMIDICommands> - </Patch> - <Patch Number="079" Name="Whistle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="78" /> - </PatchMIDICommands> - </Patch> - <Patch Number="079+" Name="Whistle 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="78" /> - </PatchMIDICommands> - </Patch> - <Patch Number="080" Name="Ocarina" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="79" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073" Name="$Piccolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074" Name="$Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="075" Name="$Recorder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="74" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076" Name="$Pan Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076+" Name="$Kawala" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="077" Name="$Bottle Blow" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="76" /> - </PatchMIDICommands> - </Patch> - <Patch Number="078" Name="$Shakuhachi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="77" /> - </PatchMIDICommands> - </Patch> - <Patch Number="079" Name="$Whistle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="78" /> - </PatchMIDICommands> - </Patch> - <Patch Number="080" Name="$Ocarina" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="79" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073" Name="*Piccolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074" Name="*Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="075" Name="*Recorder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="74" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076" Name="*Pan Flute" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="077" Name="*Bottle Blow" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="76" /> - </PatchMIDICommands> - </Patch> - <Patch Number="078" Name="*Shakuhachi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="77" /> - </PatchMIDICommands> - </Patch> - <Patch Number="079" Name="*Whistle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="78" /> - </PatchMIDICommands> - </Patch> - <Patch Number="080" Name="*Ocarina" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="79" /> - </PatchMIDICommands> - </Patch> - <Patch Number="073" Name="#Flute 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="72" /> - </PatchMIDICommands> - </Patch> - <Patch Number="074" Name="#Flute 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="73" /> - </PatchMIDICommands> - </Patch> - <Patch Number="075" Name="#Piccolo 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="74" /> - </PatchMIDICommands> - </Patch> - <Patch Number="076" Name="#Piccolo 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="75" /> - </PatchMIDICommands> - </Patch> - <Patch Number="077" Name="#Recorder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="76" /> - </PatchMIDICommands> - </Patch> - <Patch Number="078" Name="#Pan Pipes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="77" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108" Name="#Shakuhachi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="109" Name="#Whistle 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="108" /> - </PatchMIDICommands> - </Patch> - <Patch Number="110" Name="#Whistle 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="109" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111" Name="#Bottleblow" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112" Name="#Breathpipe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Synth lead" > - <PatchNameList> - <Patch Number="081" Name="Square Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="MG Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="Hollow Mini" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="Mellow FM" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="CC Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="Shmoog" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="LM Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="2600 Sine" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="Sine Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="KG Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="P5 Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="OB Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="JP-8 Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="Pulse Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="JP8 PulseLd1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="JP8 PulseLd2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="MG Reso. Pls" > - <PatchMIDICommands> - <ControlChange Control="0" Value="27" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082" Name="Saw Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="OB2 Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Pulse Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Feline GR" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Big Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Velo Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="GR-300" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="LA Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Doctor Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Fat Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="D-50 Fat Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Waspy Synth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="PM Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="CS Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="MG Saw 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="MG Saw 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="OB Saw 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="26" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="OB Saw 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="27" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="D50 Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="28" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="SH-101 Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="29" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="CS Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="30" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="MG Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="31" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="OB Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="P5 Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="MG unison" > - <PatchMIDICommands> - <ControlChange Control="0" Value="34" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Oct Saw Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="35" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="SequenceSaw1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="40" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="SequenceSaw2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="41" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Reso Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="42" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Cheese Saw 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="43" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Cheese Saw 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="44" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="Rhythmic Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="45" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083" Name="Syn.Calliope" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083+" Name="Vent Synth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083+" Name="Pure PanLead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084" Name="Chiffer Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084+" Name="TB Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084+" Name="Mad Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085" Name="Charang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Dist.Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Acid Guitar1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Acid Guitar2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="P5 Sync Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Fat SyncLead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Rock Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="5th DecaSync" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="Dirty Sync" > - <PatchMIDICommands> - <ControlChange Control="0" Value="20" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="JUNO Sub Osc" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086" Name="Solo Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086+" Name="Vox Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086+" Name="LFO Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087" Name="5th Saw Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087+" Name="Big Fives" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087+" Name="5th Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087+" Name="5th Ana.Clav" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087+" Name="4th Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088" Name="Bass & Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="Big & Raw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="Fat & Perky" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="JUNO Rave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="JP8 BsLead 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="JP8 BsLead 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="SH-5 Bs.Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081" Name="$Square Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$Hollow Mini" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$Mellow FM" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$CC Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$Shmoog" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$LM Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="$Sine Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082" Name="$Saw Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Pulse Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Feline GR" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Big Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Velo Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$GR-300" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$LA Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Doctor Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="$Waspy Synth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083" Name="$SynCalliope" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083+" Name="$Vent Synth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083+" Name="$PurePanLead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084" Name="$ChifferLead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085" Name="$Charang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085+" Name="$Dist.Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086" Name="$Solo Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087" Name="$5th Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087+" Name="$Big Fives" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088" Name="$Bass & Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="$Big & Raw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088+" Name="$Fat & Perky" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081" Name="*Square Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="*Square" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="081+" Name="*Sine Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="80" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082" Name="*Saw Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="*Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="082+" Name="*Doctor Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="81" /> - </PatchMIDICommands> - </Patch> - <Patch Number="083" Name="*SynCalliope" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="82" /> - </PatchMIDICommands> - </Patch> - <Patch Number="084" Name="*ChifferLead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="83" /> - </PatchMIDICommands> - </Patch> - <Patch Number="085" Name="*Charang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="84" /> - </PatchMIDICommands> - </Patch> - <Patch Number="086" Name="*Solo Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="85" /> - </PatchMIDICommands> - </Patch> - <Patch Number="087" Name="*5th Saw" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="86" /> - </PatchMIDICommands> - </Patch> - <Patch Number="088" Name="*Bass & Lead" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="87" /> - </PatchMIDICommands> - </Patch> - <Patch Number="045" Name="#Doctor Solo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="44" /> - </PatchMIDICommands> - </Patch> - <Patch Number="046" Name="#School Daze" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="45" /> - </PatchMIDICommands> - </Patch> - <Patch Number="047" Name="#Bellsinger" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="46" /> - </PatchMIDICommands> - </Patch> - <Patch Number="048" Name="#Square Wave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="47" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Synth pad, etc." > - <PatchNameList> - <Patch Number="089" Name="Fantasia" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089+" Name="Fantasia 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089+" Name="New Age Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089+" Name="Bell Heaven" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090" Name="Warm Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="Thick Matrix" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="Horn Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="Rotary Strng" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="OB Soft Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="Octave Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="Stack Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091" Name="Polysynth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="80's PolySyn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Polysynth 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Poly King" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Power Stack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Octave Stack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Reso Stack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="Techno Stack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092" Name="Space Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="Heaven II" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="SC Heaven" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="Cosmic Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="Auh Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="AuhAuh" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="Vocorderman" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093" Name="Bowed Glass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093+" Name="SoftBellPad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093+" Name="JP8 Sqr Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093+" Name="7thBelPad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094" Name="Metal Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094+" Name="Tine Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094+" Name="Panner Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095" Name="Halo Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095+" Name="Vox Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095+" Name="Vox Sweep" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095+" Name="Horror Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096" Name="Sweep Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="Polar Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="Converge" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="Shwimmer" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="Celestial Pd" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="Bag Sweep" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089" Name="$Fantasia" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089+" Name="$Fantasia 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090" Name="$Warm Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="$Thick Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="$Horn Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="$RotaryStrng" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090+" Name="$Soft Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091" Name="$Polysynth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091+" Name="$80'sPolySyn" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092" Name="$Space Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092+" Name="$Heaven II" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093" Name="$Bowed Glass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094" Name="$Metal Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094+" Name="$Tine Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094+" Name="$Panner Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095" Name="$Halo Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096" Name="$Sweep Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="$Polar Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="$Converge" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="$Shwimmer" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096+" Name="$CelestialPd" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="089" Name="*Fantasia" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="88" /> - </PatchMIDICommands> - </Patch> - <Patch Number="090" Name="*Warm Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="89" /> - </PatchMIDICommands> - </Patch> - <Patch Number="091" Name="*Polysynth" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="90" /> - </PatchMIDICommands> - </Patch> - <Patch Number="092" Name="*Space Voice" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="91" /> - </PatchMIDICommands> - </Patch> - <Patch Number="093" Name="*Bowed Glass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="92" /> - </PatchMIDICommands> - </Patch> - <Patch Number="094" Name="*Metal Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="93" /> - </PatchMIDICommands> - </Patch> - <Patch Number="095" Name="*Halo Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="94" /> - </PatchMIDICommands> - </Patch> - <Patch Number="096" Name="*Sweep Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="95" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="#Fantasy" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="034" Name="#Harmo Pan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="33" /> - </PatchMIDICommands> - </Patch> - <Patch Number="035" Name="#Chorale" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="34" /> - </PatchMIDICommands> - </Patch> - <Patch Number="036" Name="#Glasses" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="35" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Synth SFX" > - <PatchNameList> - <Patch Number="097" Name="Ice Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="Harmo Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="African wood" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="Anklung Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="Rattle Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="Clavi Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098" Name="Soundtrack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="Ancestral" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="Prologue" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="Prologue 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="Hols Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="Rave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099" Name="Crystal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Syn Mallet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Soft Crystal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Round Glock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Loud Glock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="GlockenChime" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Clear Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="ChristmasBel" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Vibra Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Digi Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Music Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Analog Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Choral Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Air Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Bell Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="Gamelimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="JUNO Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="20" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100" Name="Atmosphere" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Warm Atmos" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Nylon Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Harpvox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="HollowReleas" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Nylon+Rhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Ambient Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Invisible" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Pulsey Key" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="Noise Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101" Name="Brightness" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101+" Name="Shining Star" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101+" Name="OB Stab" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101+" Name="Org Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102" Name="Goblin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Goblinson" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="50's Sci-Fi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Abduction" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Auhbient" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="LFO Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Random Str" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Random Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="LowBirds Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Falling Down" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="LFO RAVE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="LFO Horror" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="LFO Techno" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Alternative" > - <PatchMIDICommands> - <ControlChange Control="0" Value="13" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="UFO FX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="14" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Gargle Man" > - <PatchMIDICommands> - <ControlChange Control="0" Value="15" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="Sweep FX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103" Name="Echo Drops" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Echo Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Echo Pan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Echo Pan 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Big Panner" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Reso Panner" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Water Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Pan Sequence" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="Aqua" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104" Name="Star Theme" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="Star Theme 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="Dream Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="Silky Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="New Century" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="7th Atmos." > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="Galaxy Way" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097" Name="$Ice Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="$Harmo Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="$AfricanWood" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097+" Name="$Clavi Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098" Name="$Soundtrack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="$Ancestral" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="$Prologue" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098+" Name="$Rave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099" Name="$Crystal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Syn Mallet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$SoftCrystal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Round Glock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Loud Glock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$GlocknChime" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Clear Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Xmas Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Vibra Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Digi Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$ChoralBells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Air Bells" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Bell Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="$Gamelimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100" Name="$Atmosphere" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$Warm Atmos" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$Nylon Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$Harpvox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$HollowRels." > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$NylonRhodes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100+" Name="$Ambient Pad" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101" Name="$Brightness" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102" Name="$Goblin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="$Goblinson" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102+" Name="$50's Sci-Fi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103" Name="$Echo Drops" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Echo Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Echo Pan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Echo Pan 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Big Panner" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Reso Panner" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="$Water Piano" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104" Name="$Star Theme" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104+" Name="$Star Theme 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="097" Name="*Ice Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="96" /> - </PatchMIDICommands> - </Patch> - <Patch Number="098" Name="*Soundtrack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="97" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099" Name="*Crystal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="099+" Name="*Syn Mallet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="98" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100" Name="*Atmosphere" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101" Name="*Brightness" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - <Patch Number="102" Name="*Goblin" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="101" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103" Name="*Echo Drops" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="*Echo Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="103+" Name="*Echo Pan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="102" /> - </PatchMIDICommands> - </Patch> - <Patch Number="104" Name="*Star Theme" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="103" /> - </PatchMIDICommands> - </Patch> - <Patch Number="037" Name="#Soundtrack" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="36" /> - </PatchMIDICommands> - </Patch> - <Patch Number="038" Name="#Atmosphere" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="37" /> - </PatchMIDICommands> - </Patch> - <Patch Number="039" Name="#Warm Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="38" /> - </PatchMIDICommands> - </Patch> - <Patch Number="040" Name="#Funny Vox" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="39" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="#Echo Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="042" Name="#Ice Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="41" /> - </PatchMIDICommands> - </Patch> - <Patch Number="044" Name="#Echo Pan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="43" /> - </PatchMIDICommands> - </Patch> - <Patch Number="100" Name="#Syn Mallet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="99" /> - </PatchMIDICommands> - </Patch> - <Patch Number="101" Name="#Windbell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="100" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Ethnic, etc." > - <PatchNameList> - <Patch Number="105" Name="Sitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="Sitar 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="Detune Sitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="Sitar 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="Tambra" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="Tamboura" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106" Name="Banjo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Muted Banjo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Rabab" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="San Xian" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Gopichant" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Oud" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Oud+Strings" > - <PatchMIDICommands> - <ControlChange Control="0" Value="28" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="Pi Pa" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107" Name="Shamisen" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107+" Name="Tsugaru" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107+" Name="Syn Shamisen" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108" Name="Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="Gu Zheng" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="Taisho Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="Kanoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="Kanoon+Choir" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="Oct Harp" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="109" Name="Kalimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="108" /> - </PatchMIDICommands> - </Patch> - <Patch Number="109+" Name="Sanza" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="108" /> - </PatchMIDICommands> - </Patch> - <Patch Number="110" Name="Bagpipe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="109" /> - </PatchMIDICommands> - </Patch> - <Patch Number="110+" Name="Didgeridoo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="109" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111" Name="Fiddle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111+" Name="Er Hu" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111+" Name="Gao Hu" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112" Name="Shanai" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Shanai 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Pungi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Hichiriki" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Mizmar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Suona 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="Suona 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="33" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105" Name="$Sitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="$Sitar 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="$DetuneSitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="$Tambra" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="$Tamboura" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106" Name="$Banjo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="$Muted Banjo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="$Rabab" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="$Gopichant" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106+" Name="$Oud" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107" Name="$Shamisen" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107+" Name="$Tsugaru" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108" Name="$Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="$Taisho Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="$Kanoon" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="109" Name="$Kalimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="108" /> - </PatchMIDICommands> - </Patch> - <Patch Number="110" Name="$Bagpipe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="109" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111" Name="$Fiddle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112" Name="$Shanai" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="$Shanai 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="$Pungi" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112+" Name="$Hichiriki" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105" Name="*Sitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="105+" Name="*Sitar 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="104" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106" Name="*Banjo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107" Name="*Shamisen" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108" Name="*Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="108+" Name="*Taisho Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="107" /> - </PatchMIDICommands> - </Patch> - <Patch Number="109" Name="*Kalimba" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="108" /> - </PatchMIDICommands> - </Patch> - <Patch Number="110" Name="*Bagpipe" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="109" /> - </PatchMIDICommands> - </Patch> - <Patch Number="111" Name="*Fiddle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="110" /> - </PatchMIDICommands> - </Patch> - <Patch Number="112" Name="*Shanai" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="111" /> - </PatchMIDICommands> - </Patch> - <Patch Number="064#" Name="#Sitar" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="63" /> - </PatchMIDICommands> - </Patch> - <Patch Number="106#" Name="#Koto" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="105" /> - </PatchMIDICommands> - </Patch> - <Patch Number="107#" Name="#Sho" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="106" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="Percussive" > - <PatchNameList> - <Patch Number="113" Name="Tinkle Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="Bonang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="Gender" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="Gamelan Gong" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="St.Gamelan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="Jang Gu" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="RAMA Cymbal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114" Name="Agogo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114+" Name="Atarigane" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114+" Name="Tambourine" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="115" Name="Steel Drums" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="114" /> - </PatchMIDICommands> - </Patch> - <Patch Number="115+" Name="Island Mlt" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="114" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116" Name="Woodblock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="Castanets" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="Angklung" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="Angkl Rhythm" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="Finger Snaps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="909 HandClap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="32" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117" Name="Taiko" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="Small Taiko" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="Concert BD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="Jungle BD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="Techno BD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="Bounce" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118" Name="Melo. Tom 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="Real Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="Melo. Tom 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="Rock Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="Rash SD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="House SD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="Jungle SD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="909 SD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119" Name="Synth Drum" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="808 Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="Elec Perc" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="Sine Perc." > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="606 Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="909 Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120" Name="Reverse Cym." > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Reverse Cym2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Reverse Cym3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.Snare 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.Snare 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.Kick 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.ConBD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.Tom 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="Rev.Tom 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113" Name="$Tinkle Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="$Bonang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="$Gender" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="$GamelanGong" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="$St.Gamelan" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113+" Name="$RAMA Cymbal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114" Name="$Agogo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114+" Name="$Atarigane" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="115" Name="$Steel Drums" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="114" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116" Name="$Woodblock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="$Castanets" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117" Name="$Taiko" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="$Concert BD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118" Name="$Melo. Tom 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="$Real Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="$Melo. Tom 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="$Rock Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119" Name="$Synth Drum" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="$808 Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="$Elec Perc" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120" Name="$Reverse Cym" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$ReverseCym2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.Snare 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.Snare 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.Kick 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.ConBD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.Tom 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="24" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120+" Name="$Rev.Tom 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="25" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="113" Name="*Tinkle Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="112" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114" Name="*Agogo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="115" Name="*Steel Drums" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="114" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116" Name="*Woodblock" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116+" Name="*Castanets" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117" Name="*Taiko" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117+" Name="*Concert BD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118" Name="*Melo. Tom 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118+" Name="*Melo. Tom 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119" Name="*Synth Drum" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="*808 Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119+" Name="*Elec Perc" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120" Name="*Reverse Cym" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="114#" Name="#Melodic Tom" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="113" /> - </PatchMIDICommands> - </Patch> - <Patch Number="115#" Name="#Deep Snare" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="114" /> - </PatchMIDICommands> - </Patch> - <Patch Number="116#" Name="#Elec Perc 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="115" /> - </PatchMIDICommands> - </Patch> - <Patch Number="117#" Name="#Elec Perc 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="116" /> - </PatchMIDICommands> - </Patch> - <Patch Number="118#" Name="#Taiko" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="117" /> - </PatchMIDICommands> - </Patch> - <Patch Number="119#" Name="#Taiko Rim" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="118" /> - </PatchMIDICommands> - </Patch> - <Patch Number="120#" Name="#Cymbal" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="119" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121#" Name="#Castanets" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122#" Name="#Triangle" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - <PatchBank Name="SFX" > - <PatchNameList> - <Patch Number="121" Name="Gt.FretNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Gt.Cut Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="String Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Gt.CutNoise2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Dist.CutNoiz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Bass Slide" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Pick Scrape" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Gtr. FX Menu" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Bartok Pizz." > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Guitar Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Chord Stroke" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Biwa Stroke" > - <PatchMIDICommands> - <ControlChange Control="0" Value="12" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="Biwa Tremolo" > - <PatchMIDICommands> - <ControlChange Control="0" Value="13" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122" Name="Breath Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122+" Name="Fl.Key Click" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123" Name="Seashore" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Thunder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Wind" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Stream" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Bubble" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Wind 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="Pink Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="White Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124" Name="Bird" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="Dog" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="Horse-Gallop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="Bird 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="Kitty" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="Growl" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125" Name="Telephone 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Telephone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="DoorCreaking" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Door" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Scratch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Wind Chimes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Scratch 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="ScratchKey" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="TapeRewind" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="Phono Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="MC-500 Beep" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126" Name="Helicopter" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Car-Engine" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Car-Stop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Car-Pass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Car-Crash" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Siren" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Train" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Jetplane" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Starship" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Burst Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Calculating" > - <PatchMIDICommands> - <ControlChange Control="0" Value="10" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="Perc. Bang" > - <PatchMIDICommands> - <ControlChange Control="0" Value="11" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127" Name="Applause" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Laughing" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Screaming" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Punch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Heart Beat" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Footsteps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Applause 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Small Club" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="ApplauseWave" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Voice One" > - <PatchMIDICommands> - <ControlChange Control="0" Value="16" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Voice Two" > - <PatchMIDICommands> - <ControlChange Control="0" Value="17" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Voice Three" > - <PatchMIDICommands> - <ControlChange Control="0" Value="18" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Voice Tah" > - <PatchMIDICommands> - <ControlChange Control="0" Value="19" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="Voice Whey" > - <PatchMIDICommands> - <ControlChange Control="0" Value="20" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128" Name="Gun Shot" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="Machine Gun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="Lasergun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="Explosion" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="Eruption" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="Big Shot" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121" Name="$Gt.FretNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$Gt.CutNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$String Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$Gt.CutNz. 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$Dist.CutNz." > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$Bass Slide" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="$Pick Scrape" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122" Name="$BreathNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122+" Name="$Fl.KeyClick" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123" Name="$Seashore" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="$Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="$Thunder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="$Wind" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="$Stream" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="$Bubble" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124" Name="$Bird" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="$Dog" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="$HorseGallop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="$Bird 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="$Kitty" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="$Growl" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125" Name="$Telephone 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Telephone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Creaking" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Door" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Scratch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Wind Chimes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="$Scratch 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126" Name="$Helicopter" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Car-Engine" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Car-Stop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Car-Pass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Car-Crash" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Siren" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Train" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Jetplane" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Starship" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="$Burst Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127" Name="$Applause" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Laughing" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Screaming" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Punch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Heart Beat" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Footsteps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="$Applause 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128" Name="$Gun Shot" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="$Machine Gun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="$Lasergun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="$Explosion" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121" Name="*Gt.FretNoiz" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="*Gt.CutNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="121+" Name="*String Slap" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="120" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122" Name="*BreathNoise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="122+" Name="*Fl.KeyClick" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="121" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123" Name="*Seashore" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="*Rain" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="*Thunder" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="*Wind" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="*Stream" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="123+" Name="*Bubble" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="122" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124" Name="*Bird" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="*Dog" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="*HorseGallop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124+" Name="*Bird 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125" Name="*Telephone 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="*Telephone 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="*Creaking" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="*Door" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="*Scratch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125+" Name="*Wind Chimes" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126" Name="*Helicopter" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Car-Engine" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Car-Stop" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Car-Pass" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Car-Crash" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Siren" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Train" > - <PatchMIDICommands> - <ControlChange Control="0" Value="6" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Jetplane" > - <PatchMIDICommands> - <ControlChange Control="0" Value="7" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Starship" > - <PatchMIDICommands> - <ControlChange Control="0" Value="8" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126+" Name="*Burst Noise" > - <PatchMIDICommands> - <ControlChange Control="0" Value="9" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127" Name="*Applause" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="*Laughing" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="*Screaming" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="*Punch" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="*Heart Beat" > - <PatchMIDICommands> - <ControlChange Control="0" Value="4" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127+" Name="*Footsteps" > - <PatchMIDICommands> - <ControlChange Control="0" Value="5" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128" Name="*Gun Shot" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="*Machine Gun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="1" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="*Lasergun" > - <PatchMIDICommands> - <ControlChange Control="0" Value="2" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128+" Name="*Explosion" > - <PatchMIDICommands> - <ControlChange Control="0" Value="3" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - <Patch Number="124#" Name="#Telephone" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="123" /> - </PatchMIDICommands> - </Patch> - <Patch Number="125#" Name="#Bird Tweet" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="124" /> - </PatchMIDICommands> - </Patch> - <Patch Number="126#" Name="#OneNote Jam" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="125" /> - </PatchMIDICommands> - </Patch> - <Patch Number="127#" Name="#Water Bell" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="126" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128#" Name="#Jungle Tune" > - <PatchMIDICommands> - <ControlChange Control="0" Value="127" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - </ChannelNameSet> - <ChannelNameSet Name="Name Set 2" > - <AvailableForChannels> - <AvailableChannel Channel="1" Available="false" /> - <AvailableChannel Channel="2" Available="false" /> - <AvailableChannel Channel="3" Available="false" /> - <AvailableChannel Channel="4" Available="false" /> - <AvailableChannel Channel="5" Available="false" /> - <AvailableChannel Channel="6" Available="false" /> - <AvailableChannel Channel="7" Available="false" /> - <AvailableChannel Channel="8" Available="false" /> - <AvailableChannel Channel="9" Available="false" /> - <AvailableChannel Channel="10" Available="true" /> - <AvailableChannel Channel="11" Available="false" /> - <AvailableChannel Channel="12" Available="false" /> - <AvailableChannel Channel="13" Available="false" /> - <AvailableChannel Channel="14" Available="false" /> - <AvailableChannel Channel="15" Available="false" /> - <AvailableChannel Channel="16" Available="false" /> - </AvailableForChannels> - <PatchBank Name="Drum sets" > - <PatchNameList> - <Patch Number="001" Name="STANDARD 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="STANDARD 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="003" Name="STANDARD 3" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="2" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="ROOM" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="010" Name="HIP HOP" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="9" /> - </PatchMIDICommands> - </Patch> - <Patch Number="011" Name="JUNGLE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="10" /> - </PatchMIDICommands> - </Patch> - <Patch Number="012" Name="TECHNO" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="11" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="POWER" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="ELECTRONIC" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="TR-808" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="DANCE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="028" Name="CR-78" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="27" /> - </PatchMIDICommands> - </Patch> - <Patch Number="029" Name="TR-606" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="28" /> - </PatchMIDICommands> - </Patch> - <Patch Number="030" Name="TR-707" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="29" /> - </PatchMIDICommands> - </Patch> - <Patch Number="031" Name="TR-909" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="30" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="JAZZ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="BRUSH" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="ORCHESTRA" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="ETHNIC" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="KICK & SNARE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="053" Name="ASIA" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="52" /> - </PatchMIDICommands> - </Patch> - <Patch Number="054" Name="CYMBAL&CLAPS" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="53" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="SFX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="RHYTHM FX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="059" Name="RHYTHM FX 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="3" /> - <ProgramChange Number="58" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="$STANDARD 1" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="002" Name="$STANDARD 2" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="1" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="$ROOM" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="$POWER" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="$ELECTRONIC" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="$TR-808/909" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="027" Name="$DANCE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="26" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="$JAZZ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="$BRUSH" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="$ORCHESTRA" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="050" Name="$ETHNIC" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="49" /> - </PatchMIDICommands> - </Patch> - <Patch Number="051" Name="$KICK & SNARE" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="50" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="$SFX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="058" Name="$RHYTHM FX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="2" /> - <ProgramChange Number="57" /> - </PatchMIDICommands> - </Patch> - <Patch Number="001" Name="*STANDARD" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="0" /> - </PatchMIDICommands> - </Patch> - <Patch Number="009" Name="*ROOM" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="8" /> - </PatchMIDICommands> - </Patch> - <Patch Number="017" Name="*POWER" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="16" /> - </PatchMIDICommands> - </Patch> - <Patch Number="025" Name="*ELECTRONIC" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="24" /> - </PatchMIDICommands> - </Patch> - <Patch Number="026" Name="*TR-808" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="25" /> - </PatchMIDICommands> - </Patch> - <Patch Number="033" Name="*JAZZ" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="32" /> - </PatchMIDICommands> - </Patch> - <Patch Number="041" Name="*BRUSH" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="40" /> - </PatchMIDICommands> - </Patch> - <Patch Number="049" Name="*ORCHESTRA" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="48" /> - </PatchMIDICommands> - </Patch> - <Patch Number="057" Name="*SFX" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="56" /> - </PatchMIDICommands> - </Patch> - <Patch Number="128" Name="#CM-64/32L" > - <PatchMIDICommands> - <ControlChange Control="0" Value="0" /> - <ControlChange Control="32" Value="1" /> - <ProgramChange Number="127" /> - </PatchMIDICommands> - </Patch> - </PatchNameList> - </PatchBank> - </ChannelNameSet> - </MasterDeviceNames> -</MIDINameDocument>
\ No newline at end of file diff --git a/libs/pbd/tests/RosegardenPatchFile.xml b/libs/pbd/tests/RosegardenPatchFile.xml deleted file mode 100644 index 11db71560f..0000000000 --- a/libs/pbd/tests/RosegardenPatchFile.xml +++ /dev/null @@ -1,519 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE rosegarden-data> -<rosegarden-data version="1.5.1"> -<studio thrufilter="0" recordfilter="0" audioinputpairs="2" mixerdisplayoptions="0" metronomedevice="0"> - - - <device id="0" name="Roland E-09 GM Banks" direction="play" variation="MSB" connection="16:0 ES1371 (duplex)" type="midi"> - - <librarian name="Sasha Clarkson" email="sashaclarkson@yahoo.co.uk"/> - <metronome instrument="2009" barpitch="37" beatpitch="37" subbeatpitch="37" depth="2" barvelocity="120" beatvelocity="100" subbeatvelocity="80"/> - - <bank name="GM2 Standard" percussion="false" msb="0" lsb="2"> - <program id="0" name="Piano 1" /> - <program id="1" name="Piano 2" /> - <program id="2" name="Piano 3" /> - <program id="3" name="Honkytonk" /> - <program id="4" name="E.Piano 1" /> - <program id="5" name="E.Piano 2" /> - <program id="6" name="Harpsi 1" /> - <program id="7" name="Clav" /> - <program id="8" name="Celesta" /> - <program id="9" name="Glocken" /> - <program id="10" name="Music Box" /> - <program id="11" name="Vibraphone" /> - <program id="12" name="Marimba" /> - <program id="13" name="Xylophone" /> - <program id="14" name="Tublr Bell" /> - <program id="15" name="Santur 1" /> - <program id="16" name="Organ 1" /> - <program id="17" name="Organ 2" /> - <program id="18" name="Organ 3" /> - <program id="19" name="ChurchOrg1" /> - <program id="20" name="Reed Organ" /> - <program id="21" name="Accrdn Fr" /> - <program id="22" name="Harmonica1" /> - <program id="23" name="Bandoneon" /> - <program id="24" name="Nylon Gt 1" /> - <program id="25" name="StlStr Gt1" /> - <program id="26" name="Jazz Gt 1" /> - <program id="27" name="Clean Gt 1" /> - <program id="28" name="Muted Gt" /> - <program id="29" name="Overdrive" /> - <program id="30" name="Dist Gt 1" /> - <program id="31" name="E.Gt Harm" /> - <program id="32" name="Ac.Bass 1" /> - <program id="33" name="Fingrd Bs1" /> - <program id="34" name="Pick Bass1" /> - <program id="35" name="Frtlss Bs1" /> - <program id="36" name="Slap Bass1" /> - <program id="37" name="Slap Bass2" /> - <program id="38" name="Syn Bass 1" /> - <program id="39" name="Syn Bass 2" /> - <program id="40" name="Violin 1" /> - <program id="41" name="Viola 1" /> - <program id="42" name="Cello 1" /> - <program id="43" name="Contrabass" /> - <program id="44" name="Trem Str" /> - <program id="45" name="Pizz Str" /> - <program id="46" name="Harp" /> - <program id="47" name="Timpani" /> - <program id="48" name="Strings 1" /> - <program id="49" name="Slow Str 1" /> - <program id="50" name="SynStrings" /> - <program id="51" name="Syn Str 2" /> - <program id="52" name="ChoirAahs1" /> - <program id="53" name="Voice Doos" /> - <program id="54" name="Syn Vox" /> - <program id="55" name="Orch Hit" /> - <program id="56" name="Trumpet 1" /> - <program id="57" name="Trombone 1" /> - <program id="58" name="Tuba 1" /> - <program id="59" name="Mute Tp 1" /> - <program id="60" name="Fr.Horns 1" /> - <program id="61" name="Brass 1" /> - <program id="62" name="Syn Brass1" /> - <program id="63" name="Syn Brass2" /> - <program id="64" name="Sop Sax 1" /> - <program id="65" name="Alto Sax 1" /> - <program id="66" name="Tenor Sax1" /> - <program id="67" name="Baritn Sax" /> - <program id="68" name="Oboe" /> - <program id="69" name="EnglshHorn" /> - <program id="70" name="Bassoon" /> - <program id="71" name="JzClarinet" /> - <program id="72" name="Piccolo" /> - <program id="73" name="Flute" /> - <program id="74" name="Recorder" /> - <program id="75" name="Pan Flute" /> - <program id="76" name="BottleBlow" /> - <program id="77" name="Shakuhachi" /> - <program id="78" name="Whistle" /> - <program id="79" name="Ocarina" /> - <program id="80" name="SquareWave" /> - <program id="81" name="Saw Wave 1" /> - <program id="82" name="SynCalliop" /> - <program id="83" name="Chiffer Ld" /> - <program id="84" name="Charang" /> - <program id="85" name="Solo Vox" /> - <program id="86" name="5thSawWave" /> - <program id="87" name="Bass and Lead" /> - <program id="88" name="Fantasia 1" /> - <program id="89" name="Warm Pad" /> - <program id="90" name="Poly Syn" /> - <program id="91" name="SpaceVoice" /> - <program id="92" name="BowedGlass" /> - <program id="93" name="Metal Pad" /> - <program id="94" name="Halo Pad" /> - <program id="95" name="Sweep Pad" /> - <program id="96" name="Ice Rain" /> - <program id="97" name="Soundtrack" /> - <program id="98" name="Crystal" /> - <program id="99" name="Atmosphere" /> - <program id="100" name="Brightness" /> - <program id="101" name="Goblin" /> - <program id="102" name="Echo Drops" /> - <program id="103" name="StarTheme1" /> - <program id="104" name="Sitar 1" /> - <program id="105" name="Banjo 1" /> - <program id="106" name="Shamisen" /> - <program id="107" name="Koto" /> - <program id="108" name="Kalimba 1" /> - <program id="109" name="Bagpipe" /> - <program id="110" name="Fiddle" /> - <program id="111" name="Shehnai 1" /> - <program id="112" name="TinkleBell" /> - <program id="113" name="Agogo Bell" /> - <program id="114" name="SteelDrums" /> - <program id="115" name="Woodblock" /> - <program id="116" name="Taiko" /> - <program id="117" name="Melo Tom 1" /> - <program id="118" name="Synth Drum" /> - <program id="119" name="RevCymbal1" /> - <program id="120" name="Gt Fret Nz" /> - <program id="121" name="Breath Nz" /> - <program id="122" name="Seashore" /> - <program id="123" name="Bird 1" /> - <program id="124" name="Telephone1" /> - <program id="125" name="Helicopter" /> - <program id="126" name="Applause 1" /> - <program id="127" name="Gun Shot" /> - </bank> - - <bank name="Alternative 1" percussion="false" msb="1" lsb="2"> - <program id="2" name="EG+EP 1" /> - <program id="11" name="Hard Vibe" /> - <program id="15" name="Santur 2" /> - <program id="16" name="Organ 101" /> - <program id="17" name="Organ 201" /> - <program id="22" name="Harmonica2" /> - <program id="26" name="Mellow Gt" /> - <program id="27" name="Clean Gt 2" /> - <program id="28" name="Mt Dist Bs" /> - <program id="30" name="Dist Gt 2" /> - <program id="32" name="Ac.Bass 2" /> - <program id="33" name="Fingrd Bs2" /> - <program id="35" name="Frtlss Bs2" /> - <program id="38" name="Syn Bs 101" /> - <program id="39" name="Syn Bs 201" /> - <program id="40" name="Violin 2" /> - <program id="41" name="Viola 2" /> - <program id="42" name="Cello 2" /> - <program id="48" name="Strings 2" /> - <program id="49" name="Slow Str 2" /> - <program id="50" name="OB Strings" /> - <program id="51" name="Syn Str 3" /> - <program id="55" name="Bass Hit" /> - <program id="56" name="Trumpet 2" /> - <program id="57" name="Trombone 2" /> - <program id="58" name="Tuba 2" /> - <program id="60" name="Fr.Horns 2" /> - <program id="61" name="Brass 2" /> - <program id="62" name="Poly Brass" /> - <program id="63" name="Soft Brass" /> - <program id="65" name="Alto Sax 2" /> - <program id="66" name="Tenor Sax2" /> - <program id="71" name="Clarinet" /> - <program id="80" name="Square" /> - <program id="81" name="P5 Saw" /> - <program id="82" name="Vent Synth" /> - <program id="84" name="Wire Lead" /> - <program id="86" name="Big Fives" /> - <program id="87" name="Big and Raw" /> - <program id="88" name="Fantasia 2" /> - <program id="89" name="Thick Pad" /> - <program id="90" name="80sPolySyn" /> - <program id="91" name="Heaven II" /> - <program id="93" name="Tine Pad" /> - <program id="95" name="Polar Pad" /> - <program id="96" name="Harm Rain" /> - <program id="97" name="Ancestral" /> - <program id="98" name="Syn Mallet" /> - <program id="99" name="Warm Atoms" /> - <program id="102" name="Echo Bell" /> - <program id="103" name="StarTheme2" /> - <program id="104" name="Sitar 2" /> - <program id="105" name="Mute Banjo" /> - <program id="106" name="Tsugaru" /> - <program id="111" name="Shehnai 2" /> - <program id="117" name="Real Tom" /> - <program id="119" name="RevCymbal2" /> - <program id="120" name="Gt CutNz 1" /> - <program id="121" name="FlKeyClick" /> - <program id="122" name="Rain" /> - <program id="123" name="Dog" /> - <program id="124" name="Telephone2" /> - <program id="125" name="Car Engine" /> - <program id="126" name="Laughing" /> - <program id="127" name="MachineGun" /> - </bank> - - <bank name="Alternative 2" percussion="false" msb="2" lsb="2"> - <program id="2" name="EG+EP 2" /> - <program id="26" name="Jazz Gt 2" /> - <program id="30" name="Dazed Gt" /> - <program id="32" name="Ac.Bass 3" /> - <program id="33" name="Jazz Bass" /> - <program id="35" name="Frtlss Bs3" /> - <program id="38" name="Juno Bass" /> - <program id="39" name="Mod Bass" /> - <program id="50" name="Syn Str 1" /> - <program id="55" name="6th Hit" /> - <program id="56" name="Trumpet 3" /> - <program id="57" name="Trombone 3" /> - <program id="59" name="Mute Tp 2" /> - <program id="80" name="Hollow Min" /> - <program id="81" name="Pulse Saw" /> - <program id="82" name="PurePan Ld" /> - <program id="87" name="Fat and Perky" /> - <program id="89" name="Horn Pad" /> - <program id="93" name="Panner Pad" /> - <program id="96" name="African wd" /> - <program id="97" name="Prologue" /> - <program id="98" name="Sft Crystl" /> - <program id="99" name="Nylon Harp" /> - <program id="101" name="50s Sci-Fi" /> - <program id="102" name="Echo Pan 1" /> - <program id="104" name="Dtnd Sitar" /> - <program id="120" name="Str Slap" /> - <program id="122" name="Thunder" /> - <program id="123" name="HorseGallp" /> - <program id="124" name="Door Creak" /> - <program id="125" name="Car-Stop" /> - <program id="126" name="Screaming" /> - <program id="127" name="Laser Gun" /> - </bank> - - <bank name="Alternative 8" percussion="false" msb="8" lsb="2"> - <program id="0" name="St.Piano 1" /> - <program id="1" name="St.Piano 2" /> - <program id="2" name="St.Piano 3" /> - <program id="3" name="OldUpright" /> - <program id="4" name="St.Soft EP" /> - <program id="5" name="Detuned EP" /> - <program id="6" name="CoupledHps" /> - <program id="7" name="Comp Clav" /> - <program id="11" name="St.Vibe" /> - <program id="12" name="St.Marimba" /> - <program id="14" name="ChurchBell" /> - <program id="15" name="Cimbalom" /> - <program id="16" name="Trem Organ" /> - <program id="17" name="Chorus Org" /> - <program id="18" name="Rotary Org" /> - <program id="19" name="ChurchOrg2" /> - <program id="21" name="Accrdn It" /> - <program id="24" name="Ukulele" /> - <program id="25" name="12 Str Gt" /> - <program id="26" name="PedalSteel" /> - <program id="27" name="Chorus Gt" /> - <program id="28" name="Funk Pop" /> - <program id="30" name="Feedback 1" /> - <program id="31" name="Feedback 3" /> - <program id="34" name="Mt Pick Bs" /> - <program id="35" name="Frtlss Bs5" /> - <program id="36" name="Reso Slap" /> - <program id="38" name="Acid Bass" /> - <program id="39" name="Beef FM Bs" /> - <program id="40" name="SlowVioln1" /> - <program id="44" name="Slow Trem" /> - <program id="48" name="Orchestra1" /> - <program id="49" name="Legato Str" /> - <program id="50" name="70s Str 1" /> - <program id="52" name="St.Choir" /> - <program id="54" name="Syn Voice" /> - <program id="55" name="Impact Hit" /> - <program id="56" name="FlugelHorn" /> - <program id="60" name="FrHornSolo" /> - <program id="61" name="Brass 3" /> - <program id="62" name="Syn Brass3" /> - <program id="63" name="Syn Brass4" /> - <program id="64" name="Sop Sax 2" /> - <program id="65" name="Hyper Alto" /> - <program id="66" name="Blow Tenor" /> - <program id="71" name="BsClarinet" /> - <program id="75" name="Kawala 1" /> - <program id="80" name="Sine Wave" /> - <program id="81" name="Dr.Solo" /> - <program id="84" name="Dist Lead" /> - <program id="95" name="Converge" /> - <program id="96" name="Clav Pad" /> - <program id="97" name="Rave" /> - <program id="98" name="VibraBells" /> - <program id="105" name="Rabab 1" /> - <program id="107" name="TaishoKoto" /> - <program id="111" name="Pungi" /> - <program id="112" name="Bonang 1" /> - <program id="113" name="Atarigane" /> - <program id="115" name="Castanets" /> - <program id="116" name="Concert BD" /> - <program id="117" name="Melo Tom 2" /> - <program id="118" name="808 Tom" /> - <program id="119" name="Rev Snare1" /> - <program id="125" name="Starship" /> - </bank> - - <bank name="Alternative 16" percussion="false" msb="16" lsb="2"> - <program id="0" name="EuropeanPf" /> - <program id="4" name="FM+SA EP" /> - <program id="5" name="St.FM EP" /> - <program id="6" name="St.Harpsi" /> - <program id="12" name="Balafon 1" /> - <program id="16" name="60s Organ1" /> - <program id="18" name="RotarySlow" /> - <program id="19" name="ChurchOrg3" /> - <program id="20" name="Puff Organ" /> - <program id="24" name="Nylon Gt 2" /> - <program id="25" name="Mandolin" /> - <program id="28" name="Funk Gt" /> - <program id="30" name="Power Gt 1" /> - <program id="31" name="Ac.Gt Harm" /> - <program id="38" name="Reso SH Bs" /> - <program id="39" name="RubberBass" /> - <program id="48" name="St.Strings" /> - <program id="55" name="Lo-Fi Rave" /> - <program id="60" name="Horn Orch" /> - <program id="61" name="Brass Fall" /> - <program id="62" name="OctSynBrss" /> - <program id="63" name="VeloBrass1" /> - <program id="80" name="DistSquare" /> - <program id="81" name="Waspy Syn" /> - <program id="98" name="Choir and Bell" /> - <program id="105" name="Gopichant" /> - <program id="107" name="Kanoon 1" /> - <program id="111" name="Hichiriki" /> - <program id="112" name="RamaCymbal" /> - <program id="119" name="Rev Kick" /> - </bank> - - <bank name="Standard" percussion="true" msb="0" lsb="2"> - <program id="0" name="Standard 1" /> - <program id="1" name="Standard 2" /> - <program id="2" name="Standard 3" /> - <program id="8" name="Room" /> - <program id="9" name="Hip Hop" /> - <program id="10" name="Drum’n’Bss" /> - <program id="11" name="Tech and House" /> - <program id="13" name="R and B" /> - <program id="16" name="Power" /> - <program id="24" name="Electronic" /> - <program id="25" name="TR-808 and 909" /> - <program id="26" name="Dance" /> - <program id="30" name="New TR-909" /> - <program id="32" name="Jazz Kit 1" /> - <program id="33" name="Jazz Kit 2" /> - <program id="40" name="Brush Kit" /> - <program id="48" name="Orchestra" /> - <program id="49" name="Ethnic" /> - <program id="50" name="Kick and Snare" /> - <program id="56" name="SFX" /> - </bank> - - <bank name="Extra" percussion="true" msb="0" lsb="3"> - <program id="116" name="OR Kit 2" /> - </bank> - - <bank name="Ethnic" percussion="true" msb="0" lsb="4"> - <program id="43" name="China Perc" /> - <program id="44" name="India Perc" /> - <program id="45" name="GamelanPrc" /> - <program id="46" name="Latin Perc" /> - <program id="66" name="Std Asia" /> - <program id="67" name="Jazz Asia" /> - <program id="68" name="TR909 Asia" /> - <program id="69" name="HipHopAsia" /> - <program id="70" name="R and B Asia" /> - <program id="71" name="TechnoAsia" /> - <program id="72" name="D’n’B Asia" /> - <program id="74" name="Std Latin" /> - <program id="75" name="Jazz Latin" /> - <program id="76" name="TR909Latin" /> - <program id="77" name="TechnoLatn" /> - <program id="78" name="D’n’B Latn" /> - <program id="79" name="HipHopLatn" /> - <program id="80" name="R and B Latin" /> - <program id="81" name="Std OR1" /> - <program id="82" name="Jazz OR1" /> - <program id="83" name="TR-909 OR1" /> - <program id="84" name="Techno OR1" /> - <program id="85" name="D’n’B OR1" /> - <program id="86" name="HipHop OR1" /> - <program id="87" name="R and B OR1" /> - <program id="88" name="MxKit and Latn" /> - <program id="89" name="MxKt and India" /> - <program id="90" name="MxKit and Chin" /> - <program id="91" name="MxKit and OR1" /> - <program id="92" name="OR Kit 1" /> - <program id="93" name="India Kit" /> - <program id="94" name="OrientPerc" /> - <program id="95" name="Std OR2" /> - <program id="96" name="Jazz OR2" /> - <program id="97" name="TR-909 OR2" /> - <program id="98" name="HipHop OR2" /> - <program id="99" name="R and B OR2" /> - <program id="100" name="Techno OR2" /> - <program id="101" name="D’n’B OR2" /> - <program id="102" name="MxKit and OR2" /> - </bank> - - <controls> - <control name="Pan" type="controller" description="<none>" min="0" max="127" default="64" controllervalue="10" colourindex="2" ipbposition="0"/> - <control name="Chorus" type="controller" description="<none>" min="0" max="127" default="0" controllervalue="93" colourindex="3" ipbposition="1"/> - <control name="Volume" type="controller" description="<none>" min="0" max="127" default="0" controllervalue="7" colourindex="1" ipbposition="2"/> - <control name="Reverb" type="controller" description="<none>" min="0" max="127" default="0" controllervalue="91" colourindex="3" ipbposition="3"/> - <control name="Sustain" type="controller" description="<none>" min="0" max="127" default="0" controllervalue="64" colourindex="4" ipbposition="-1"/> - <control name="Expression" type="controller" description="<none>" min="0" max="127" default="100" controllervalue="11" colourindex="2" ipbposition="-1"/> - <control name="Modulation" type="controller" description="<none>" min="0" max="127" default="0" controllervalue="1" colourindex="4" ipbposition="-1"/> - <control name="PitchBend" type="pitchbend" description="<none>" min="0" max="16383" default="8192" controllervalue="1" colourindex="4" ipbposition="-1"/> - </controls> - - <instrument id="2000" channel="0" type="midi"> - <bank percussion="false" msb="0" lsb="2"/> - <program id="0"/> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2001" channel="1" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2002" channel="2" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2003" channel="3" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2004" channel="4" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2005" channel="5" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2006" channel="6" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2007" channel="7" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2008" channel="8" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2009" channel="9" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2010" channel="10" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2011" channel="11" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2012" channel="12" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2013" channel="13" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2014" channel="14" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - <instrument id="2015" channel="15" type="midi"> - <pan value="64"/> - <volume value="100"/> - </instrument> - - </device> - - - - -</studio> - - -</rosegarden-data> diff --git a/libs/pbd/tests/TestSession.ardour b/libs/pbd/tests/TestSession.ardour deleted file mode 100644 index d3bffd33a5..0000000000 --- a/libs/pbd/tests/TestSession.ardour +++ /dev/null @@ -1,3392 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Session version="2.0.0" name="BookPoint25Jan2008" sample-rate="44100" id-counter="55596"> - <Config> - <Option name="output-auto-connect" value="2"/> - <Option name="input-auto-connect" value="1"/> - <Option name="mtc-port-name" value="control"/> - <Option name="mmc-port-name" value="control"/> - <Option name="midi-port-name" value="control"/> - <Option name="mmc-control" value="0"/> - <Option name="edit-mode" value="11015"/> - <Option name="monitoring-model" value="1"/> - <Option name="all-safe" value="0"/> - <Option name="clicking" value="0"/> - <Option name="auto-play" value="0"/> - <Option name="auto-return" value="0"/> - <Option name="auto-input" value="1"/> - <Option name="punch-in" value="1"/> - <Option name="punch-out" value="1"/> - <Option name="seamless-loop" value="1"/> - <Option name="rf-speed" value="2"/> - <Option name="shuttle-speed-factor" value="1"/> - <Option name="shuttle-speed-threshold" value="5"/> - <Option name="slave-source" value="0"/> - <Option name="meter-hold" value="100"/> - <Option name="meter-falloff" value="32"/> - <Option name="save-history-depth" value="100"/> - <Option name="history-depth" value="100"/> - <Option name="default-narrow_ms" value="0"/> - <end-marker-is-free val="no"/> - </Config> - <Sources> - <Source name="Guitar clean-1.wav" id="14361" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Guitar-2.wav" id="14457" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-2%L.wav" id="14470" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-2%R.wav" id="14472" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Sax Analog-2.wav" id="14485" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Guitar-3.wav" id="14556" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-3%L.wav" id="14569" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-3%R.wav" id="14571" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-2.wav" id="14584" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-3.wav" id="14597" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Guitar-4.wav" id="14637" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-4%L.wav" id="14650" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-4%R.wav" id="14652" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-3.wav" id="14665" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-4.wav" id="14678" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Guitar-5.wav" id="14717" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-5%L.wav" id="14730" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-5%R.wav" id="14732" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-4.wav" id="14745" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-5.wav" id="14758" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Guitar-6.wav" id="14797" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-6%L.wav" id="14810" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-6%R.wav" id="14812" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-5.wav" id="14825" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-6.wav" id="14839" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Vocal1-3.wav" id="15601" captured-for="Vocal1" flags="" channel="0"/> - <Source name="Guitar-7.wav" id="15607" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-7%L.wav" id="15609" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-7%R.wav" id="15611" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-6.wav" id="15613" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-7.wav" id="15615" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Guitar-8.wav" id="15815" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-8%L.wav" id="15828" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-8%R.wav" id="15830" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-7.wav" id="15843" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-8.wav" id="15856" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Vocal1-4.wav" id="15902" captured-for="Vocal1" flags="" channel="0"/> - <Source name="Guitar-9.wav" id="15915" captured-for="Guitar" flags="" channel="0"/> - <Source name="Keyboard-9%L.wav" id="15928" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Keyboard-9%R.wav" id="15930" captured-for="Keyboard" flags="" channel="0"/> - <Source name="Guitar clean-8.wav" id="15943" captured-for="Guitar clean" flags="" channel="0"/> - <Source name="Sax Analog-9.wav" id="15956" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-1.wav" id="30179" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-10.wav" id="30406" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-12.wav" id="30709" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-13.wav" id="30735" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-15.wav" id="30796" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-11.wav" id="31371" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-16.wav" id="31390" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-18.wav" id="31579" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-14.wav" id="31622" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-20.wav" id="31644" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-17.wav" id="31979" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-19.wav" id="32006" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-21.wav" id="32038" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-23.wav" id="36735" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-24.wav" id="36968" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-22.wav" id="36998" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-25.wav" id="37029" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-26.wav" id="38497" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-29.wav" id="38836" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-27.wav" id="38871" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-28.wav" id="38926" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-30.wav" id="38965" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-34.wav" id="39141" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-33.wav" id="39208" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-35.wav" id="42079" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-36.wav" id="47440" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-37.wav" id="49381" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-38.wav" id="49455" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-40.wav" id="49521" captured-for="Sax Analog" flags="" channel="0"/> - <Source name="Sax Analog-41.wav" id="49617" captured-for="Sax Analog" flags="" channel="0"/> - </Sources> - <Regions> - <Region id="14545" name="Guitar-2" start="0" length="23484096" position="1999229" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14457" channels="1" master-source-0="14457"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14558" name="Keyboard-2" start="0" length="23484096" position="1999229" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14470" source-1="14472" channels="2" master-source-0="14470" master-source-1="14472"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14573" name="Guitar clean-1" start="0" length="23484096" position="1999226" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14361" channels="1" master-source-0="14361"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14586" name="Sax Analog-2" start="0" length="23484096" position="1999226" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14485" channels="1" master-source-0="14485"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14626" name="Guitar-3" start="0" length="21616701" position="25483395" ancestral-start="0" ancestral-length="21616701" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14556" channels="1" master-source-0="14556"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14639" name="Keyboard-3" start="0" length="21616701" position="25483395" ancestral-start="0" ancestral-length="21616701" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14569" source-1="14571" channels="2" master-source-0="14569" master-source-1="14571"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14654" name="Guitar clean-2" start="0" length="21616698" position="25483398" ancestral-start="0" ancestral-length="21616698" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14584" channels="1" master-source-0="14584"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14667" name="Sax Analog-3" start="0" length="21616698" position="25483398" ancestral-start="0" ancestral-length="21616698" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14597" channels="1" master-source-0="14597"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14706" name="Guitar-4" start="0" length="49923645" position="47100163" ancestral-start="0" ancestral-length="49923645" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14637" channels="1" master-source-0="14637"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14711" name="Guitar-4.1" start="1555424" length="48368221" position="48655587" ancestral-start="0" ancestral-length="49923645" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14637" channels="1" master-source-0="14637"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14719" name="Keyboard-4" start="0" length="49923645" position="47100163" ancestral-start="0" ancestral-length="49923645" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14650" source-1="14652" channels="2" master-source-0="14650" master-source-1="14652"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14724" name="Keyboard-4.1" start="1555424" length="48368221" position="48655587" ancestral-start="0" ancestral-length="49923645" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14650" source-1="14652" channels="2" master-source-0="14650" master-source-1="14652"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14734" name="Guitar clean-3" start="0" length="49923642" position="47100166" ancestral-start="0" ancestral-length="49923642" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14665" channels="1" master-source-0="14665"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14739" name="Guitar clean-3.1" start="0" length="49923642" position="47100166" ancestral-start="0" ancestral-length="49923642" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14665" channels="1" master-source-0="14665"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14747" name="Sax Analog-4" start="0" length="49923642" position="47100166" ancestral-start="0" ancestral-length="49923642" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14678" channels="1" master-source-0="14678"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14752" name="Sax Analog-4.1" start="5054531" length="44869111" position="52154697" ancestral-start="0" ancestral-length="49923642" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14678" channels="1" master-source-0="14678"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="20215" default="1" min_yval="0" max_yval="2" max_xval="44869111" state="Off" style="Absolute"> - <events>0 0.945643 -4.48691e+07 1 -4.48691e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14786" name="Guitar-5" start="0" length="19038717" position="97023875" ancestral-start="0" ancestral-length="19038717" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14717" channels="1" master-source-0="14717"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14799" name="Keyboard-5" start="0" length="19038717" position="97023875" ancestral-start="0" ancestral-length="19038717" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14730" source-1="14732" channels="2" master-source-0="14730" master-source-1="14732"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14814" name="Guitar clean-4" start="0" length="19038714" position="97023878" ancestral-start="0" ancestral-length="19038714" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14745" channels="1" master-source-0="14745"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14827" name="Sax Analog-5" start="0" length="19038714" position="97023878" ancestral-start="0" ancestral-length="19038714" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14758" channels="1" master-source-0="14758"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14866" name="Guitar-6" start="0" length="103562173" position="116062659" ancestral-start="0" ancestral-length="103562173" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14871" name="Guitar-6.1" start="2618212" length="100943961" position="118680871" ancestral-start="0" ancestral-length="103562173" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="20267" default="1" min_yval="0" max_yval="2" max_xval="100943961" state="Off" style="Absolute"> - <events>0 1 -1.29824e+07 1.00019 -1.30507e+07 2 -1.42752e+07 2 -1.44042e+07 1.00019 -2.79031e+07 1.00019 -2.79729e+07 1.88026 -3.21798e+07 2 -3.22396e+07 1.00019 -1.00944e+08 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14879" name="Keyboard-6" start="0" length="103562173" position="116062659" ancestral-start="0" ancestral-length="103562173" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14884" name="Keyboard-6.1" start="2618212" length="100943961" position="118680871" ancestral-start="0" ancestral-length="103562173" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14894" name="Guitar clean-5" start="0" length="103562170" position="116062662" ancestral-start="0" ancestral-length="103562170" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14825" channels="1" master-source-0="14825"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14907" name="Sax Analog-6" start="0" length="103562170" position="116062662" ancestral-start="0" ancestral-length="103562170" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="14912" name="Sax Analog-6.1" start="2618212" length="100943958" position="118680874" ancestral-start="0" ancestral-length="103562170" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="20225" default="1" min_yval="0" max_yval="2" max_xval="100943958" state="Off" style="Absolute"> - <events>0 0 -5.08932e+06 0 -5.32422e+06 1.00019 -1.14314e+07 1.01536 -1.14575e+07 0 -1.5268e+07 0 -1.54246e+07 0.996323 -3.0505e+07 1.09402 -3.05449e+07 0.287178 -3.19203e+07 0.287178 -3.19505e+07 0 -3.37848e+07 0 -3.38048e+07 0.559071 -3.49113e+07 0.569296 -3.5001e+07 0 -1.00944e+08 0.999982 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15804" name="Guitar-7" start="0" length="59080509" position="219624899" ancestral-start="0" ancestral-length="59080509" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15607" channels="1" master-source-0="15607"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15809" name="Guitar-7.1" start="19857992" length="39035711" position="239482891" ancestral-start="0" ancestral-length="59080509" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15607" channels="1" master-source-0="15607"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15817" name="Keyboard-7" start="0" length="59080509" position="219624899" ancestral-start="0" ancestral-length="59080509" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15609" source-1="15611" channels="2" master-source-0="15609" master-source-1="15611"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15822" name="Keyboard-7.1" start="19857992" length="39035711" position="239482891" ancestral-start="0" ancestral-length="59080509" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15609" source-1="15611" channels="2" master-source-0="15609" master-source-1="15611"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15832" name="Guitar clean-6" start="0" length="59080506" position="219624902" ancestral-start="0" ancestral-length="59080506" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15613" channels="1" master-source-0="15613"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15845" name="Sax Analog-7" start="0" length="59080506" position="219624902" ancestral-start="0" ancestral-length="59080506" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15615" channels="1" master-source-0="15615"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15850" name="Sax Analog-7.1" start="19857989" length="39035711" position="239482891" ancestral-start="0" ancestral-length="59080506" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15615" channels="1" master-source-0="15615"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15891" name="Vocal1-3" start="0" length="17624061" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15601" channels="1" master-source-0="15601"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15904" name="Guitar-8" start="0" length="17624061" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15815" channels="1" master-source-0="15815"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15917" name="Keyboard-8" start="0" length="17624061" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15828" source-1="15830" channels="2" master-source-0="15828" master-source-1="15830"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15932" name="Guitar clean-7" start="0" length="17624058" position="278705478" ancestral-start="0" ancestral-length="17624058" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15843" channels="1" master-source-0="15843"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15945" name="Sax Analog-8" start="0" length="17624058" position="278705478" ancestral-start="0" ancestral-length="17624058" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15856" channels="1" master-source-0="15856"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="15990" name="Vocal1-4" start="0" length="15979773" position="296329603" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15902" channels="1" master-source-0="15902"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="16003" name="Guitar-9" start="0" length="15979773" position="296329603" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15915" channels="1" master-source-0="15915"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="16016" name="Keyboard-9" start="0" length="15979773" position="296329603" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15928" source-1="15930" channels="2" master-source-0="15928" master-source-1="15930"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="16031" name="Guitar clean-8" start="0" length="15979770" position="296329606" ancestral-start="0" ancestral-length="15979770" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15943" channels="1" master-source-0="15943"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="16044" name="Sax Analog-9" start="0" length="15979770" position="296329606" ancestral-start="0" ancestral-length="15979770" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="15956" channels="1" master-source-0="15956"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="17254" name="Sax Analog-6.5" start="51993229" length="8868137" position="168055891" ancestral-start="51993229" ancestral-length="51568939" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1.18232405186" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="17270" name="Guitar-6.5" start="51993232" length="8868137" position="168055891" ancestral-start="51993232" ancestral-length="51568939" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1.18238317966" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="17285" name="Guitar clean-5.5" start="51993229" length="8868137" position="168055891" ancestral-start="51993229" ancestral-length="51568939" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1.78929579258" source-0="14825" channels="1" master-source-0="14825"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="17300" name="Keyboard-6.5" start="51993232" length="8868137" position="168055891" ancestral-start="51993232" ancestral-length="51568939" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="2.24578332901" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21668" name="Sax Analog-6.3" start="39475018" length="64087152" position="155537680" ancestral-start="34922826" ancestral-length="66021132" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21671" default="1" min_yval="0" max_yval="2" max_xval="64087152" state="Off" style="Absolute"> - <events>0 0 -1.16637e+06 0 -1.20624e+06 1.09402 -5.87651e+06 1.11432 -5.8875e+06 0 -1.03768e+07 0.00032384 -1.03878e+07 1.03465 -6.40872e+07 0.999999 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21683" name="Guitar-6.3" start="39475021" length="64087152" position="155537680" ancestral-start="34922829" ancestral-length="66021132" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21686" default="1" min_yval="0" max_yval="2" max_xval="64087152" state="Off" style="Absolute"> - <events>-1.44935e+08 0.83721 -0 1.00017 -5.84425e+06 1.00019 -5.98942e+06 1.93949 -8.1941e+06 2 -8.23151e+06 1.03465 -9.89292e+06 1.01928 -1.00168e+07 2 -1.0522e+07 2 -1.05975e+07 1.01536 -6.40872e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21698" name="Keyboard-6.3" start="39475021" length="64087152" position="155537680" ancestral-start="34922829" ancestral-length="66021132" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22019" name="Sax Analog-6.14" start="60757649" length="42804521" position="176820311" ancestral-start="46981133" ancestral-length="52028845" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22022" default="1" min_yval="0" max_yval="2" max_xval="42804521" state="Off" style="Absolute"> - <events>0 1.02847 -4.28045e+07 0.999999 -4.28045e+07 0.999999 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22034" name="Guitar-6.14" start="60757652" length="42804521" position="176820311" ancestral-start="46981136" ancestral-length="52028845" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22037" default="1" min_yval="0" max_yval="2" max_xval="42804521" state="Off" style="Absolute"> - <events>0 1.01196 -4.28045e+07 1 -4.28045e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22049" name="Keyboard-6.14" start="60757652" length="42804521" position="176820311" ancestral-start="46981136" ancestral-length="52028845" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22893" name="Vocal1-3.5" start="14595593" length="3028466" position="293301068" ancestral-start="14595593" ancestral-length="3028466" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15601" channels="1" master-source-0="15601"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22909" name="Sax Analog-8.5" start="14595590" length="3028466" position="293301068" ancestral-start="14595590" ancestral-length="3028466" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15856" channels="1" master-source-0="15856"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22924" name="Guitar-8.5" start="14595593" length="3028466" position="293301068" ancestral-start="14595593" ancestral-length="3028466" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15815" channels="1" master-source-0="15815"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22939" name="Keyboard-8.5" start="14595593" length="3028466" position="293301068" ancestral-start="14595593" ancestral-length="3028466" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15828" source-1="15830" channels="2" master-source-0="15828" master-source-1="15830"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22942" default="1" min_yval="0" max_yval="2" max_xval="3028466" state="Off" style="Absolute"> - <events>0 0.693863 -2.96421e+06 0.708776 -3.02847e+06 0.999446 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="30381" name="Sax Analog-1" start="0" length="6673894" position="3756071" ancestral-start="0" ancestral-length="6673894" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="30179" channels="1" master-source-0="30179"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="30411" name="Sax Analog-10" start="0" length="308541" position="0" ancestral-start="0" ancestral-length="308541" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="30406" channels="1" master-source-0="30406"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="30416" name="Sax Analog-10.1" start="0" length="308541" position="0" ancestral-start="0" ancestral-length="308541" stretch="1" shift="1" first_edit="nothing" layer="19" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="30406" channels="1" master-source-0="30406"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="30718" name="Sax Analog-12" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="30709" channels="1" master-source-0="30709"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="30723" name="Sax Analog-12.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="20" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="30709" channels="1" master-source-0="30709"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="30744" name="Sax Analog-13" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="30735" channels="1" master-source-0="30735"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="30749" name="Sax Analog-13.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="21" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="30735" channels="1" master-source-0="30735"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31376" name="Sax Analog-11" start="0" length="351805" position="0" ancestral-start="0" ancestral-length="351805" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31371" channels="1" master-source-0="31371"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31381" name="Sax Analog-11.1" start="0" length="351805" position="0" ancestral-start="0" ancestral-length="351805" stretch="1" shift="1" first_edit="nothing" layer="20" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31371" channels="1" master-source-0="31371"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31399" name="Sax Analog-16" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31390" channels="1" master-source-0="31390"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31404" name="Sax Analog-16.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="21" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31390" channels="1" master-source-0="31390"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31588" name="Sax Analog-18" start="0" length="6673894" position="3756071" ancestral-start="0" ancestral-length="6673894" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31579" channels="1" master-source-0="31579"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31593" name="Sax Analog-18.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="21" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31579" channels="1" master-source-0="31579"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31627" name="Sax Analog-14" start="0" length="156285" position="0" ancestral-start="0" ancestral-length="156285" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31622" channels="1" master-source-0="31622"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31632" name="Sax Analog-14.1" start="0" length="156285" position="0" ancestral-start="0" ancestral-length="156285" stretch="1" shift="1" first_edit="nothing" layer="22" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31622" channels="1" master-source-0="31622"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31959" name="Sax Analog-20" start="0" length="6240429" position="3756071" ancestral-start="0" ancestral-length="6240429" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31644" channels="1" master-source-0="31644"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31964" name="Sax Analog-20.1" start="0" length="6240429" position="3756071" ancestral-start="0" ancestral-length="6240429" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31644" channels="1" master-source-0="31644"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31986" name="Sax Analog-17" start="0" length="668360" position="0" ancestral-start="0" ancestral-length="668360" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="31979" channels="1" master-source-0="31979"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="31991" name="Sax Analog-17.1" start="0" length="668360" position="0" ancestral-start="0" ancestral-length="668360" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="31979" channels="1" master-source-0="31979"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="32606" name="Sax Analog-21" start="0" length="6271498" position="3756071" ancestral-start="0" ancestral-length="6271498" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="32038" channels="1" master-source-0="32038"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="32611" name="Sax Analog-21.1" start="0" length="6271498" position="3756071" ancestral-start="0" ancestral-length="6271498" stretch="1" shift="1" first_edit="nothing" layer="24" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="32038" channels="1" master-source-0="32038"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="36744" name="Sax Analog-23" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="36735" channels="1" master-source-0="36735"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="36749" name="Sax Analog-23.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="24" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="36735" channels="1" master-source-0="36735"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="36977" name="Sax Analog-24" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="36968" channels="1" master-source-0="36968"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="37006" name="Sax Analog-22" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="36998" channels="1" master-source-0="36998"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="37038" name="Sax Analog-25" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="37029" channels="1" master-source-0="37029"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="37043" name="Sax Analog-25.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="26" sync-position="0" flags="DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="37029" channels="1" master-source-0="37029"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="38689" name="Sax Analog-26" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="38497" channels="1" master-source-0="38497"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="38694" name="Sax Analog-26.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="22" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="38497" channels="1" master-source-0="38497"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="38845" name="Sax Analog-29" start="0" length="2902419" position="3756071" ancestral-start="0" ancestral-length="2902419" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="38836" channels="1" master-source-0="38836"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="38850" name="Sax Analog-29.1" start="0" length="2902419" position="3756071" ancestral-start="0" ancestral-length="2902419" stretch="1" shift="1" first_edit="nothing" layer="22" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="38836" channels="1" master-source-0="38836"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="38900" name="Sax Analog-27" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="38871" channels="1" master-source-0="38871"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="38905" name="Sax Analog-27.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="22" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="38871" channels="1" master-source-0="38871"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="38935" name="Sax Analog-28" start="0" length="1963165" position="3756071" ancestral-start="0" ancestral-length="1963165" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="38926" channels="1" master-source-0="38926"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="38940" name="Sax Analog-28.1" start="0" length="1963165" position="3756071" ancestral-start="0" ancestral-length="1963165" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="38926" channels="1" master-source-0="38926"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="38982" name="Sax Analog-30" start="0" length="2490654" position="3756071" ancestral-start="0" ancestral-length="2490654" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="38965" channels="1" master-source-0="38965"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="38987" name="Sax Analog-30.1" start="0" length="2490654" position="3756071" ancestral-start="0" ancestral-length="2490654" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="38965" channels="1" master-source-0="38965"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="39150" name="Sax Analog-34" start="0" length="6673894" position="3756071" ancestral-start="0" ancestral-length="6673894" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="39141" channels="1" master-source-0="39141"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="39155" name="Sax Analog-34.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="39141" channels="1" master-source-0="39141"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="39213" name="Sax Analog-33" start="0" length="109562" position="0" ancestral-start="0" ancestral-length="109562" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="39208" channels="1" master-source-0="39208"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="39218" name="Sax Analog-33.1" start="0" length="109562" position="0" ancestral-start="0" ancestral-length="109562" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="39208" channels="1" master-source-0="39208"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="42195" name="Sax Analog-35" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="42079" channels="1" master-source-0="42079"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="42200" name="Sax Analog-35.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="25" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="42079" channels="1" master-source-0="42079"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="47608" name="Sax Analog-36" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="47440" channels="1" master-source-0="47440"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="49391" name="Sax Analog-37" start="0" length="6673894" position="3756071" ancestral-start="0" ancestral-length="6673894" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="49381" channels="1" master-source-0="49381"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="49460" name="Sax Analog-38" start="0" length="50362" position="0" ancestral-start="0" ancestral-length="50362" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="49455" channels="1" master-source-0="49455"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="49529" name="Sax Analog-40" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="49521" channels="1" master-source-0="49521"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - <Region id="49626" name="Sax Analog-41" start="0" length="5550642" position="3756071" ancestral-start="0" ancestral-length="5550642" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,WholeFile,FadeIn,FadeOut" scale-gain="1" source-0="49617" channels="1" master-source-0="49617"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - </Region> - </Regions> - <DiskStreams> - <AudioDiskstream flags="Recordable" channels="1" playlist="Vocal1" speed="1" name="Vocal1" id="91"/> - <AudioDiskstream flags="Recordable" channels="1" playlist="Vocal2" speed="1" name="Vocal2" id="108"/> - <AudioDiskstream flags="Recordable" channels="1" playlist="Sax" speed="1" name="Sax" id="123"/> - <AudioDiskstream flags="Recordable" channels="1" playlist="Guitar" speed="1" name="Guitar" id="138"/> - <AudioDiskstream flags="Recordable" channels="2" playlist="Keyboard" speed="1" name="Keyboard" id="159"/> - <AudioDiskstream flags="Recordable" channels="1" playlist="Guitar clean" speed="1" name="Guitar clean" id="8831"/> - <AudioDiskstream flags="Recordable" channels="1" playlist="Sax Analog" speed="1" name="Sax Analog" id="9282"/> - </DiskStreams> - <Locations> - <Location id="13180" name="Anfang" start="0" end="0" flags="IsMark,IsStart" locked="no"/> - <Location id="19553" name="01-SoundCheck" start="1999229" end="24434440" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="13542" name="Punch" start="3756071" end="10429901" flags="IsAutoPunch" locked="no"/> - <Location id="22222" name="02-PopSong" start="26355161" end="44503619" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="51432" name="Thema" start="28520731" end="31351217" flags="IsRangeMarker" locked="no"/> - <Location id="22231" name="03-KnownBossa" start="48655587" end="62922768" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="51975" name="Schleife" start="62922769" end="97023808" flags="IsAutoLoop" locked="no"/> - <Location id="22240" name="04-BluesyPopSong" start="67907696" end="93709222" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="42353" name="A-Teil" start="68936346" end="70196425" flags="IsRangeMarker" locked="no"/> - <Location id="42368" name="B-Teil" start="70199756" end="71376385" flags="IsRangeMarker" locked="no"/> - <Location id="42374" name="C-Teil" start="71378548" end="72730373" flags="IsRangeMarker" locked="no"/> - <Location id="21392" name="05-Easy" start="97467562" end="114204505" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="21731" name="06-Black Orpheus" start="118680874" end="153603699" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="22074" name="07-Lullaby of Birdland" start="155537680" end="167595986" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="22159" name="08-Summertime" start="176820311" end="194729255" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="22333" name="09-SaxLickPopSong" start="158760000" end="219054001" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="52045" name="Verse" start="201648010" end="201648010" flags="IsMark" locked="no"/> - <Location id="44090" name="VerseRiff" start="202285001" end="203535169" flags="IsRangeMarker" locked="no"/> - <Location id="22479" name="10-PopBallad" start="230207880" end="236403110" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="52055" name="Thema" start="222195294" end="222195294" flags="IsMark" locked="no"/> - <Location id="22527" name="11-Close To You-Instrumental" start="239482891" end="261198164" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="22635" name="12-Route 66" start="263276478" end="278344873" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="24910" name="13-Outside The Rain Began" start="278716806" end="292344780" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="24903" name="14-Close To You-Vocal" start="300111349" end="311562149" flags="IsCDMarker,IsRangeMarker" locked="no"> - <CD-Info name="composer" value="Various"/> - <CD-Info name="performer" value="TatokAntonHans"/> - </Location> - <Location id="52063" name="Thema" start="301953144" end="301953144" flags="IsMark" locked="no"/> - <Location id="52072" name="B-Teil" start="303880379" end="304799522" flags="IsRangeMarker" locked="no"/> - <Location id="13181" name="Ende" start="312309440" end="312309440" flags="IsMark,IsEnd" locked="no"/> - </Locations> - <Connections/> - <Routes> - <Route flags="MasterOut" default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=0:signal=0"> - <IO name="master" id="19" active="yes" inputs="{Reverb/out 1,Keyboard/out 1,Guitar clean/out 1,Guitar/out 1,Sax Analog/out 1,Sax/out 1,Vocals/out 1,Vocal2/out 1,Vocal1/out 1}{Reverb/out 2,Keyboard/out 2,Guitar clean/out 2,Guitar/out 2,Sax Analog/out 2,Sax/out 2,Vocals/out 2,Vocal2/out 2,Vocal1/out 2}" outputs="{alsa_pcm:playback_1}{alsa_pcm:playback_2}" gain="0.888838410378" iolimits="-1,2,-1,2"> - <Panner linked="yes" link_direction="OppositeDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.484848558903" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="75" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="74"/> - </StreamPanner> - <StreamPanner x="0.515151500702" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="78" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="77"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="20"/> - <Automation> - <AutomationList id="13204" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="23"/> - <controllable name="mute" id="24"/> - <remote_control id="1"/> - <Insert type="ladspa" unique-id="1901" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="DJ EQ" id="38875" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="38876"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <controllable name="Lo gain (dB)" id="38879"/> - <port number="1" value="+0.000000"/> - <controllable name="Mid gain (dB)" id="38881"/> - <port number="2" value="-9.010328"/> - <controllable name="Hi gain (dB)" id="38883"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="38879" parameter="0"/> - <controllable name="Mid gain (dB)" id="38881" parameter="1"/> - <controllable name="Hi gain (dB)" id="38883" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="38880" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="38882" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="38884" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <extra> - <GUI color="42954:32449:29913" shown_mixer="yes" shown_editor="yes" track_height="normal"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=1:signal=1" mode="Normal" diskstream-id="91"> - <IO name="Vocal1" id="84" active="yes" inputs="{alsa_pcm:capture_1}" outputs="{Vocals/in 1,master/in 1}{Vocals/in 2,master/in 2}" gain="1.259130716324" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8064" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8063"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="85"/> - <Automation> - <AutomationList id="13216" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="88"/> - <controllable name="mute" id="89"/> - <remote_control id="2"/> - <Insert type="ladspa" unique-id="1907" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="DJ EQ (mono)" id="8875" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8876"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <controllable name="Lo gain (dB)" id="13985"/> - <port number="1" value="+0.000000"/> - <controllable name="Mid gain (dB)" id="13986"/> - <port number="2" value="-10.969069"/> - <controllable name="Hi gain (dB)" id="13987"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="13985" parameter="0"/> - <controllable name="Mid gain (dB)" id="13986" parameter="1"/> - <controllable name="Hi gain (dB)" id="13987" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="8884" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="8885" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="8886" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <extra> - <GUI color="4753:32745:31282" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55027"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=2:signal=2" mode="Normal" diskstream-id="108"> - <IO name="Vocal2" id="101" active="yes" inputs="{alsa_pcm:capture_2}" outputs="{Vocals/in 1,master/in 1}{Vocals/in 2,master/in 2}" gain="0.999999940395" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="113" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="112"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="102"/> - <Automation> - <AutomationList id="13226" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="105"/> - <controllable name="mute" id="106"/> - <remote_control id="3"/> - <Insert type="ladspa" unique-id="1907" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="DJ EQ (mono)" id="8880" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8881"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <port number="1" value="+0.000000"/> - <port number="2" value="+0.000000"/> - </ladspa> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="8887" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="8888" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="8889" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <extra> - <GUI color="44751:45361:14681" shown_mixer="no" track_height="normal" shown_editor="no" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55037"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=3:signal=3"> - <IO name="Vocals" id="175" active="yes" inputs="{Vocal2/out 1,Vocal1/out 1}{Vocal2/out 2,Vocal1/out 2}" outputs="{master/in 1}{master/in 2}" gain="1.723705410957" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="183" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="182"/> - </StreamPanner> - <StreamPanner x="1" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="186" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="185"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="176"/> - <Automation> - <AutomationList id="13236" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="179"/> - <controllable name="mute" id="180"/> - <remote_control id="4"/> - <Insert type="ladspa" unique-id="1901" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="DJ EQ" id="8859" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8860"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <controllable name="Lo gain (dB)" id="8863"/> - <port number="1" value="-1.958763"/> - <controllable name="Mid gain (dB)" id="8865"/> - <port number="2" value="-9.278351"/> - <controllable name="Hi gain (dB)" id="8867"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="8863" parameter="0"/> - <controllable name="Mid gain (dB)" id="8865" parameter="1"/> - <controllable name="Hi gain (dB)" id="8867" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="8864" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="8866" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="8868" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="1068" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="Amplifier (Stereo)" id="22748" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="22749"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+4.000000"/> - <controllable name="Gain" id="22752"/> - </ladspa> - <controls> - <controllable name="Gain" id="22752" parameter="0"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="22753" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Send bitslot="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="Send 2" id="8777" active="yes" inputs="" outputs="{Reverb/in 1}{Reverb/in 2}" gain="0.153675407171" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8783" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8782"/> - </StreamPanner> - <StreamPanner x="1" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8786" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8785"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="8778"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - </Send> - <extra> - <GUI color="45813:32382:11263" track_height="normal" shown_mixer="yes" shown_editor="no" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - </Route> - <Route default-type="audio" muted="yes" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=4:signal=4" mode="Normal" diskstream-id="123"> - <IO name="Sax" id="116" active="yes" inputs="{alsa_pcm:capture_10}" outputs="{master/in 1}{master/in 2}" gain="0.992923974991" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8706" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8705"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="117"/> - <Automation> - <AutomationList id="13248" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="120"/> - <controllable name="mute" id="121"/> - <remote_control id="5"/> - <Insert type="ladspa" unique-id="1907" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="DJ EQ (mono)" id="8897" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8898"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <controllable name="Lo gain (dB)" id="8918"/> - <port number="1" value="-0.000026"/> - <controllable name="Mid gain (dB)" id="8919"/> - <port number="2" value="-10.969076"/> - <controllable name="Hi gain (dB)" id="8920"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="8918" parameter="0"/> - <controllable name="Mid gain (dB)" id="8919" parameter="1"/> - <controllable name="Hi gain (dB)" id="8920" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="8902" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="8903" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="8904" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Send bitslot="0"> - <Redirect active="yes" placement="PostFader"> - <IO name="Send 1" id="8754" active="yes" inputs="" outputs="{Reverb/in 1}{Reverb/in 2}" gain="0.204929262400" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8760" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8759"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="8755"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - </Send> - <extra> - <GUI color="27599:26320:35771" shown_mixer="no" track_height="normal" shown_editor="no" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55059"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=5:signal=5" mode="Normal" diskstream-id="9282"> - <IO name="Sax Analog" id="9275" active="yes" inputs="{alsa_pcm:capture_8}" outputs="{master/in 1}{master/in 2}" gain="0.516950190067" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.666666686535" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="9287" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="9286"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="9276"/> - <Automation> - <AutomationList id="13258" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="9279"/> - <controllable name="mute" id="9280"/> - <remote_control id="6"/> - <Send bitslot="3"> - <Redirect active="yes" placement="PostFader"> - <IO name="Send 4" id="9661" active="yes" inputs="" outputs="{Reverb/in 1}{Reverb/in 2}" gain="0.188051998615" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="9667" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="9666"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="9662"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - </Send> - <extra> - <GUI color="13014:22241:36296" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55069"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=6:signal=6" mode="Normal" diskstream-id="138"> - <IO name="Guitar" id="131" active="yes" inputs="{alsa_pcm:capture_3}" outputs="{master/in 1}{master/in 2}" gain="0.298304080963" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.212121218443" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="143" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="142"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="132"/> - <Automation> - <AutomationList id="13268" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="135"/> - <controllable name="mute" id="136"/> - <remote_control id="7"/> - <Insert type="ladspa" unique-id="1907" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="DJ EQ (mono)" id="602" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="603"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+1.958763"/> - <controllable name="Lo gain (dB)" id="606"/> - <port number="1" value="-1.567014"/> - <controllable name="Mid gain (dB)" id="608"/> - <port number="2" value="-12.412366"/> - <controllable name="Hi gain (dB)" id="610"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="606" parameter="0"/> - <controllable name="Mid gain (dB)" id="608" parameter="1"/> - <controllable name="Hi gain (dB)" id="610" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="607" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="609" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="611" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="1048" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="Mono Amplifier" id="18666" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="18667"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+4.000000"/> - <controllable name="Gain" id="18670"/> - </ladspa> - <controls> - <controllable name="Gain" id="18670" parameter="0"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="18671" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Send bitslot="2"> - <Redirect active="yes" placement="PostFader"> - <IO name="Send 3" id="9298" active="yes" inputs="" outputs="{Reverb/in 1}{Reverb/in 2}" gain="0.043564416468" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="9304" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="9303"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="9299"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - </Send> - <extra> - <GUI color="22134:13930:46120" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55079"/> - </Route> - <Route default-type="audio" muted="yes" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=7:signal=7" mode="Normal" diskstream-id="8831"> - <IO name="Guitar clean" id="8824" active="yes" inputs="{alsa_pcm:capture_4}" outputs="{master/in 1}{master/in 2}" gain="1.000000000000" iolimits="1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0.5" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8836" default="0.5" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8835"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="8825"/> - <Automation> - <AutomationList id="13278" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="8828"/> - <controllable name="mute" id="8829"/> - <remote_control id="8"/> - <Insert type="vst" unique-id="1648644921" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="Boss DS-1" id="45898" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="45899"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <vst> - <parameters param_0="0.5" param_1="0.5" param_2="0.8125"/> - </vst> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="45922" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="45923" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="45924" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="vst" unique-id="1649624121" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="Boss SD-1" id="45903" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="45904"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <vst> - <parameters param_0="0.5" param_1="0.5" param_2="0.8125"/> - </vst> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="45925" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="45926" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="45927" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="vst" unique-id="1245924665" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="JCM900" id="45908" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="45909"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <vst> - <parameters param_0="0" param_1="0.5" param_2="0.5" param_3="0.5" param_4="0.5" param_5="0.5" param_6="0" param_7="0.875" param_8="0" param_9="0"/> - </vst> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="45928" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="45929" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="45930" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="3"> - <AutomationList id="45931" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="4"> - <AutomationList id="45932" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="5"> - <AutomationList id="45933" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="6"> - <AutomationList id="45934" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="7"> - <AutomationList id="45935" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="8"> - <AutomationList id="45936" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="9"> - <AutomationList id="45937" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="vst" unique-id="1867535161" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="PS-1" id="45913" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="45914"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <vst> - <parameters param_0="0.5" param_1="0.5"/> - </vst> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="45938" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="45939" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="vst" unique-id="1415008854" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="Rednef Twin" id="45918" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="45919"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <vst> - <parameters param_0="0.9921875" param_1="0.875" param_2="0.5" param_3="0.5" param_4="0.5" param_5="0.5" param_6="0"/> - </vst> - <controls/> - <PortAutomation> - <port number="0"> - <AutomationList id="45940" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="45941" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="45942" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="3"> - <AutomationList id="45943" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="4"> - <AutomationList id="45944" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="5"> - <AutomationList id="45945" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="6"> - <AutomationList id="45946" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <extra> - <GUI color="28248:46605:39585" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55089"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=8:signal=8" mode="Normal" diskstream-id="159"> - <IO name="Keyboard" id="152" active="yes" inputs="{alsa_pcm:capture_5}{alsa_pcm:capture_6}" outputs="{master/in 1}{master/in 2}" gain="0.888838410378" iolimits="1,-1,-1,-1"> - <Panner linked="yes" link_direction="OppositeDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="164" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="163"/> - </StreamPanner> - <StreamPanner x="1" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="167" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="166"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="153"/> - <Automation> - <AutomationList id="13288" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="156"/> - <controllable name="mute" id="157"/> - <remote_control id="9"/> - <Insert type="ladspa" unique-id="1901" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="DJ EQ" id="8848" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8849"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+6.000000"/> - <controllable name="Lo gain (dB)" id="8852"/> - <port number="1" value="-7.443299"/> - <controllable name="Mid gain (dB)" id="8854"/> - <port number="2" value="-7.835052"/> - <controllable name="Hi gain (dB)" id="8856"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="8852" parameter="0"/> - <controllable name="Mid gain (dB)" id="8854" parameter="1"/> - <controllable name="Hi gain (dB)" id="8856" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="8853" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="8855" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="8857" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Send bitslot="4"> - <Redirect active="yes" placement="PostFader"> - <IO name="Send 5" id="13567" active="yes" inputs="" outputs="{Reverb/in 1}{Reverb/in 2}" gain="0.159596890211" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="0" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="13573" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="13572"/> - </StreamPanner> - <StreamPanner x="1" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="13576" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="13575"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="13568"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - </Send> - <extra> - <GUI color="11656:16611:26947" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - <alignment style="ExistingMaterial"/> - <controllable name="recenable" id="55102"/> - </Route> - <Route default-type="audio" muted="no" soloed="no" phase-invert="no" denormal-protection="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=9:signal=9"> - <IO name="Reverb" id="8708" active="yes" inputs="{Send 5/out 1,Send 3/out 1,Send 4/out 1,Send 1/out 1,Send 2/out 1}{Send 5/out 2,Send 3/out 2,Send 4/out 2,Send 1/out 2,Send 2/out 2}" outputs="{master/in 1}{master/in 2}" gain="0.549319982529" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="OppositeDirection" bypassed="no"> - <Output x="0" y="0"/> - <Output x="1" y="0"/> - <StreamPanner x="5.96046447754e-08" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8716" default="0" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8715"/> - </StreamPanner> - <StreamPanner x="1" type="Equal Power Stereo" muted="no"> - <Automation> - <AutomationList id="8719" default="1" min_yval="0" max_yval="1" max_xval="0" state="Off" style="Absolute"/> - </Automation> - <controllable name="panner" id="8718"/> - </StreamPanner> - </Panner> - <controllable name="gaincontrol" id="8709"/> - <Automation> - <AutomationList id="13301" default="0" min_yval="0" max_yval="0" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - <controllable name="solo" id="8712"/> - <controllable name="mute" id="8713"/> - <remote_control id="10"/> - <Insert type="ladspa" unique-id="1901" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="DJ EQ" id="9308" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="9309"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+0.000000"/> - <controllable name="Lo gain (dB)" id="9312"/> - <port number="1" value="-25.340206"/> - <controllable name="Mid gain (dB)" id="9314"/> - <port number="2" value="-55.505154"/> - <controllable name="Hi gain (dB)" id="9316"/> - </ladspa> - <controls> - <controllable name="Lo gain (dB)" id="9312" parameter="0"/> - <controllable name="Mid gain (dB)" id="9314" parameter="1"/> - <controllable name="Hi gain (dB)" id="9316" parameter="2"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="9313" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="9315" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="9317" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="1123" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="Freeverb (Version 3)" id="8762" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="8763"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="4" value="+0.000000"/> - <controllable name="Freeze Mode" id="8766"/> - <port number="5" value="+0.402062"/> - <controllable name="Room Size" id="8767"/> - <port number="6" value="+0.500000"/> - <controllable name="Damping" id="8769"/> - <port number="7" value="+1.000000"/> - <controllable name="Wet Level" id="8771"/> - <port number="8" value="+0.000100"/> - <controllable name="Dry Level" id="8773"/> - <port number="9" value="+0.737113"/> - <controllable name="Width" id="8775"/> - </ladspa> - <controls> - <controllable name="Freeze Mode" id="8766" parameter="4"/> - <controllable name="Room Size" id="8767" parameter="5"/> - <controllable name="Damping" id="8769" parameter="6"/> - <controllable name="Wet Level" id="8771" parameter="7"/> - <controllable name="Dry Level" id="8773" parameter="8"/> - <controllable name="Width" id="8775" parameter="9"/> - </controls> - <PortAutomation> - <port number="4"> - <AutomationList id="8787" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="5"> - <AutomationList id="8768" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="6"> - <AutomationList id="8770" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="7"> - <AutomationList id="8772" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="8"> - <AutomationList id="8774" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="9"> - <AutomationList id="8776" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="2142" count="1"> - <Redirect active="no" placement="PostFader"> - <IO name="TAP Reverberator" id="9324" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="9325"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+2500.000000"/> - <controllable name="Decay [ms]" id="9328"/> - <port number="1" value="-70.000000"/> - <controllable name="Dry Level [dB]" id="9330"/> - <port number="2" value="+0.000000"/> - <controllable name="Wet Level [dB]" id="9332"/> - <port number="3" value="+1.000000"/> - <controllable name="Comb Filters" id="9334"/> - <port number="4" value="+1.000000"/> - <controllable name="Allpass Filters" id="9336"/> - <port number="5" value="+1.000000"/> - <controllable name="Bandpass Filter" id="9338"/> - <port number="6" value="+1.000000"/> - <controllable name="Enhanced Stereo" id="9340"/> - <port number="7" value="+15.000000"/> - <controllable name="Reverb Type" id="9342"/> - </ladspa> - <controls> - <controllable name="Decay [ms]" id="9328" parameter="0"/> - <controllable name="Dry Level [dB]" id="9330" parameter="1"/> - <controllable name="Wet Level [dB]" id="9332" parameter="2"/> - <controllable name="Comb Filters" id="9334" parameter="3"/> - <controllable name="Allpass Filters" id="9336" parameter="4"/> - <controllable name="Bandpass Filter" id="9338" parameter="5"/> - <controllable name="Enhanced Stereo" id="9340" parameter="6"/> - <controllable name="Reverb Type" id="9342" parameter="7"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="9329" default="2500" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="1"> - <AutomationList id="9331" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="2"> - <AutomationList id="9333" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="3"> - <AutomationList id="9335" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="4"> - <AutomationList id="9337" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="5"> - <AutomationList id="9339" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="6"> - <AutomationList id="9341" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="7"> - <AutomationList id="9343" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="1950" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="Stereo reverb" id="12495" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="12496"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="4" value="+56.185566"/> - <controllable name="Room size" id="12499"/> - <port number="5" value="+2.266000"/> - <controllable name="Reverb time" id="12501"/> - <port number="6" value="+1.000000"/> - <controllable name="Input BW" id="12503"/> - <port number="7" value="+0.752577"/> - <controllable name="Damping" id="12505"/> - <port number="8" value="-80.000000"/> - <controllable name="Dry sound" id="12507"/> - <port number="9" value="-11.546391"/> - <controllable name="Reflections" id="12509"/> - <port number="10" value="-16.907217"/> - <controllable name="Reverb tail" id="12511"/> - </ladspa> - <controls> - <controllable name="Room size" id="12499" parameter="4"/> - <controllable name="Reverb time" id="12501" parameter="5"/> - <controllable name="Input BW" id="12503" parameter="6"/> - <controllable name="Damping" id="12505" parameter="7"/> - <controllable name="Dry sound" id="12507" parameter="8"/> - <controllable name="Reflections" id="12509" parameter="9"/> - <controllable name="Reverb tail" id="12511" parameter="10"/> - </controls> - <PortAutomation> - <port number="4"> - <AutomationList id="12500" default="10" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="5"> - <AutomationList id="12502" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="6"> - <AutomationList id="12504" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="7"> - <AutomationList id="12506" default="0" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="8"> - <AutomationList id="12508" default="-80" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="9"> - <AutomationList id="12510" default="-80" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - <port number="10"> - <AutomationList id="12512" default="-80" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <Insert type="ladspa" unique-id="1049" count="1"> - <Redirect active="yes" placement="PostFader"> - <IO name="Stereo Amplifier" id="12518" active="yes" inputs="" outputs="" gain="1.000000000000" iolimits="-1,-1,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="12519"/> - <Automation> - <Automation/> - </Automation> - </IO> - <Automation visible=""/> - </Redirect> - <ladspa> - <port number="0" value="+3.814533"/> - <controllable name="Gain" id="12522"/> - </ladspa> - <controls> - <controllable name="Gain" id="12522" parameter="0"/> - </controls> - <PortAutomation> - <port number="0"> - <AutomationList id="12523" default="1" min_yval="1" max_yval="3" max_xval="0" state="Off" style="Absolute"/> - </port> - </PortAutomation> - </Insert> - <extra> - <GUI color="23284:24313:1573" shown_mixer="yes" shown_editor="yes" track_height="normal" strip_width="Wide"> - <gain track_height="normal" shown="no"/> - <pan track_height="normal" shown="no"/> - </GUI> - </extra> - </Route> - </Routes> - <EditGroups/> - <MixGroups/> - <Playlists> - <Playlist name="Keyboard" orig_diskstream_id="159" frozen="no"> - <Region id="14563" name="Keyboard-2.1" start="0" length="22435212" position="1999229" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14470" source-1="14472" channels="2" master-source-0="14470" master-source-1="14472"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14644" name="Keyboard-3.1" start="871763" length="18148462" position="26355158" ancestral-start="0" ancestral-length="21616701" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14569" source-1="14571" channels="2" master-source-0="14569" master-source-1="14571"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21155" name="Keyboard-4.8" start="1555424" length="14267182" position="48655587" ancestral-start="0" ancestral-length="14267182" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="1555424" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14650" source-1="14652" channels="2" master-source-0="14650" master-source-1="14652"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21161" name="Keyboard-4.9" start="20807533" length="25801527" position="67907696" ancestral-start="14267182" ancestral-length="34101039" stretch="1" shift="1" first_edit="nothing" layer="2" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14650" source-1="14652" channels="2" master-source-0="14650" master-source-1="14652"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14804" name="Keyboard-5.1" start="443684" length="16736947" position="97467559" ancestral-start="0" ancestral-length="19038717" stretch="1" shift="1" first_edit="nothing" layer="3" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14730" source-1="14732" channels="2" master-source-0="14730" master-source-1="14732"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21692" name="Keyboard-6.2" start="2618212" length="34922829" position="118680871" ancestral-start="0" ancestral-length="34922829" stretch="1" shift="1" first_edit="nothing" layer="4" sync-position="2618212" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22043" name="Keyboard-6.13" start="39475021" length="12058307" position="155537680" ancestral-start="34922829" ancestral-length="12058307" stretch="1" shift="1" first_edit="nothing" layer="5" sync-position="39475021" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22398" name="Keyboard-6.17" start="39475021" length="12058306" position="155537680" ancestral-start="34922829" ancestral-length="12058306" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="39475021" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22132" name="Keyboard-6.15" start="60757652" length="17908945" position="176820311" ancestral-start="46981136" ancestral-length="18065539" stretch="1" shift="1" first_edit="nothing" layer="6" sync-position="60757652" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22138" name="Keyboard-6.16" start="81407001" length="21584342" position="197469660" ancestral-start="65046675" ancestral-length="24738982" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14810" source-1="14812" channels="2" master-source-0="14810" master-source-1="14812"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22404" name="Keyboard-7.2" start="0" length="16778212" position="219624899" ancestral-start="0" ancestral-length="16778212" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15609" source-1="15611" channels="2" master-source-0="15609" master-source-1="15611"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22572" name="Keyboard-7.3" start="19857992" length="21724330" position="239482891" ancestral-start="0" ancestral-length="21724330" stretch="1" shift="1" first_edit="nothing" layer="11" sync-position="19857992" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15609" source-1="15611" channels="2" master-source-0="15609" master-source-1="15611"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22578" name="Keyboard-7.4" start="43651579" length="15068396" position="263276478" ancestral-start="21724330" ancestral-length="17311381" stretch="1" shift="1" first_edit="nothing" layer="12" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15609" source-1="15611" channels="2" master-source-0="15609" master-source-1="15611"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15922" name="Keyboard-8.1" start="0" length="8407596" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="15828" source-1="15830" channels="2" master-source-0="15828" master-source-1="15830"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope> - <AutomationList id="20151" default="1" min_yval="0" max_yval="2" max_xval="8407596" state="Off" style="Absolute"> - <events>0 0.667538 -8.4076e+06 0.679681 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22933" name="Keyboard-8.4" start="9328480" length="5267113" position="287069909" ancestral-start="9294894" ancestral-length="5300699" stretch="1" shift="1" first_edit="nothing" layer="15" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,Automatic,FadeOut" scale-gain="1" source-0="15828" source-1="15830" channels="2" master-source-0="15828" master-source-1="15830"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22936" default="1" min_yval="0" max_yval="2" max_xval="5267113" state="Off" style="Absolute"> - <events>0 0.681594 -5.26711e+06 0.693863 -5.26711e+06 0.693863 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22850" name="Keyboard-8.3" start="9289542" length="5352" position="287995017" ancestral-start="9289542" ancestral-length="8334518" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15828" source-1="15830" channels="2" master-source-0="15828" master-source-1="15830"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22853" default="1" min_yval="0" max_yval="2" max_xval="5352" state="Off" style="Absolute"> - <events>0 0.681507 -5352 0.681516 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="16021" name="Keyboard-9.1" start="3781746" length="11450801" position="300111349" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="16" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15928" source-1="15930" channels="2" master-source-0="15928" master-source-1="15930"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Crossfade out="22398" in="22043" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="167595325"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="15922" in="22933" active="yes" follow-overlap="yes" fixed="no" length="43162" anchor-point="0" position="287069909"> - <FadeIn> - <point x="0" y="0"/> - <point x="4316" y="0.00999999977648"/> - <point x="8632" y="0.0299999993294"/> - <point x="34529" y="0.97000002861"/> - <point x="38845" y="0.990000009537"/> - <point x="43162" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="4316" y="0.990000009537"/> - <point x="8632" y="0.97000002861"/> - <point x="34529" y="0.0299999993294"/> - <point x="38845" y="0.00999999977648"/> - <point x="43162" y="0"/> - </FadeOut> - </Crossfade> - </Playlist> - <Playlist name="Guitar" orig_diskstream_id="138" frozen="no"> - <Region id="14550" name="Guitar-2.1" start="0" length="22435212" position="1999229" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14457" channels="1" master-source-0="14457"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="17947" default="1" min_yval="0" max_yval="2" max_xval="22435212" state="Off" style="Absolute"> - <events>0 1 -8.48359e+06 0.981345 -8.5083e+06 1.41418 -1.36699e+07 1.41418 -1.37542e+07 1.00019 -2.24352e+07 1 -2.24352e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14631" name="Guitar-3.1" start="871763" length="17630288" position="26355158" ancestral-start="0" ancestral-length="21616701" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14556" channels="1" master-source-0="14556"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="17952" default="1" min_yval="0" max_yval="2" max_xval="17630288" state="Off" style="Absolute"> - <events>0 1.00001 -8.3262e+06 1.00019 -8.35092e+06 1.45319 -1.26129e+07 1.41418 -1.26458e+07 1.00019 -1.76303e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21125" name="Guitar-4.6" start="1555424" length="14267182" position="48655587" ancestral-start="0" ancestral-length="14267182" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="1555424" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14637" channels="1" master-source-0="14637"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21131" name="Guitar-4.7" start="20807533" length="25801527" position="67907696" ancestral-start="14267182" ancestral-length="34101039" stretch="1" shift="1" first_edit="nothing" layer="2" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14637" channels="1" master-source-0="14637"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21134" default="1" min_yval="0" max_yval="2" max_xval="25801527" state="Off" style="Absolute"> - <events>-2.533e+07 0.996323 -0 1 -1.63663e+07 0.996323 -1.65236e+07 1.41418 -1.90523e+07 1.41418 -1.92872e+07 1.00019 -2.58015e+07 1.00019 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14791" name="Guitar-5.1" start="443684" length="16736947" position="97467559" ancestral-start="0" ancestral-length="19038717" stretch="1" shift="1" first_edit="nothing" layer="3" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14717" channels="1" master-source-0="14717"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="20262" default="1" min_yval="0" max_yval="2" max_xval="16736947" state="Off" style="Absolute"> - <events>0 1 -1.16467e+07 1.01928 -1.17032e+07 1.42992 -1.44052e+07 1.41418 -1.46344e+07 1.00019 -1.63824e+07 0.981345 -1.67369e+07 1 -1.67369e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21677" name="Guitar-6.2" start="2618212" length="34922829" position="118680871" ancestral-start="0" ancestral-length="34922829" stretch="1" shift="1" first_edit="nothing" layer="4" sync-position="2618212" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21680" default="1" min_yval="0" max_yval="2" max_xval="34922829" state="Off" style="Absolute"> - <events>0 1 -1.29824e+07 1.00019 -1.30357e+07 1.42992 -1.42752e+07 1.42992 -1.44042e+07 1.00019 -2.79031e+07 1.00019 -2.79915e+07 1.45953 -3.21488e+07 1.49408 -3.22396e+07 1.00019 -3.49228e+07 1.00018 -3.49228e+07 1.00018 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22028" name="Guitar-6.13" start="39475021" length="12058307" position="155537680" ancestral-start="34922829" ancestral-length="12058307" stretch="1" shift="1" first_edit="nothing" layer="5" sync-position="39475021" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22031" default="1" min_yval="0" max_yval="2" max_xval="12058307" state="Off" style="Absolute"> - <events>0 1.00017 -5.84425e+06 1.00019 -5.98942e+06 1.93949 -8.1941e+06 2 -8.23151e+06 1.03465 -9.89292e+06 1.01928 -1.00168e+07 2 -1.0522e+07 2 -1.05975e+07 1.01536 -1.20583e+07 1.01454 -1.20583e+07 1.01454 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22371" name="Guitar-6.17" start="39475021" length="12058306" position="155537680" ancestral-start="34922829" ancestral-length="12058306" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="39475021" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope> - <AutomationList id="22374" default="1" min_yval="0" max_yval="2" max_xval="12058306" state="Off" style="Absolute"> - <events>-1.49548e+08 1.43228 -0 1.00017 -5.84425e+06 1.00019 -5.98157e+06 1.41418 -8.15612e+06 1.42992 -8.23151e+06 1.03465 -9.89292e+06 1.01928 -9.97054e+06 1.44578 -1.05519e+07 1.44578 -1.05975e+07 1.01536 -1.20583e+07 1.01454 -1.20583e+07 1.01454 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22117" name="Guitar-6.15" start="60757652" length="17908945" position="176820311" ancestral-start="46981136" ancestral-length="18065539" stretch="1" shift="1" first_edit="nothing" layer="6" sync-position="60757652" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22120" default="1" min_yval="0" max_yval="2" max_xval="17908945" state="Off" style="Absolute"> - <events>0 1.01196 -8.82149e+06 1.11432 -8.84173e+06 1.41418 -1.05871e+07 1.42882 -1.06504e+07 1.00019 -1.79089e+07 1.00696 -1.79089e+07 1.00696 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22123" name="Guitar-6.16" start="81407001" length="21584342" position="197469660" ancestral-start="65046675" ancestral-length="24738982" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14797" channels="1" master-source-0="14797"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22126" default="1" min_yval="0" max_yval="2" max_xval="21584342" state="Off" style="Absolute"> - <events>-1.80897e+08 0.881277 -0 1.00619 -1.10489e+07 1.00019 -1.10627e+07 1.39856 -1.61185e+07 1.39856 -1.63256e+07 1.00019 -2.15843e+07 1.00016 -2.15843e+07 1.00016 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22377" name="Guitar-7.2" start="0" length="16778212" position="219624899" ancestral-start="0" ancestral-length="16778212" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15607" channels="1" master-source-0="15607"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22557" name="Guitar-7.3" start="19857992" length="21724330" position="239482891" ancestral-start="0" ancestral-length="21724330" stretch="1" shift="1" first_edit="nothing" layer="11" sync-position="19857992" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15607" channels="1" master-source-0="15607"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22560" default="1" min_yval="0" max_yval="2" max_xval="21724330" state="Off" style="Absolute"> - <events>0 1 -1.26373e+07 1.09402 -1.26481e+07 1.41418 -1.53786e+07 1.41418 -1.55313e+07 1.01928 -2.17243e+07 1 -2.17243e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22563" name="Guitar-7.4" start="43651579" length="15068396" position="263276478" ancestral-start="21724330" ancestral-length="17311381" stretch="1" shift="1" first_edit="nothing" layer="12" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15607" channels="1" master-source-0="15607"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22566" default="1" min_yval="0" max_yval="2" max_xval="15068396" state="Off" style="Absolute"> - <events>0 1 -5.77799e+06 1.00019 -5.84844e+06 1.44578 -8.20896e+06 1.42039 -8.27634e+06 1.00019 -1.50684e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15909" name="Guitar-8.1" start="0" length="8407596" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="15815" channels="1" master-source-0="15815"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22918" name="Guitar-8.4" start="9328480" length="5267113" position="287069909" ancestral-start="9294894" ancestral-length="5300699" stretch="1" shift="1" first_edit="nothing" layer="15" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeOut" scale-gain="1" source-0="15815" channels="1" master-source-0="15815"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22829" name="Guitar-8.3" start="9289542" length="5352" position="287995017" ancestral-start="9289542" ancestral-length="8334518" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15815" channels="1" master-source-0="15815"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="16008" name="Guitar-9.1" start="3781746" length="11450801" position="300111349" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="16" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15915" channels="1" master-source-0="15915"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Crossfade out="22371" in="22028" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="167595325"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="15909" in="22918" active="yes" follow-overlap="yes" fixed="no" length="43162" anchor-point="0" position="287069909"> - <FadeIn> - <point x="0" y="0"/> - <point x="4316" y="0.00999999977648"/> - <point x="8632" y="0.0299999993294"/> - <point x="34529" y="0.97000002861"/> - <point x="38845" y="0.990000009537"/> - <point x="43162" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="4316" y="0.990000009537"/> - <point x="8632" y="0.97000002861"/> - <point x="34529" y="0.0299999993294"/> - <point x="38845" y="0.00999999977648"/> - <point x="43162" y="0"/> - </FadeOut> - </Crossfade> - </Playlist> - <Playlist name="Guitar clean" orig_diskstream_id="8831" frozen="no"> - <Region id="14578" name="Guitar clean-1.1" start="0" length="22435215" position="1999226" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14361" channels="1" master-source-0="14361"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14659" name="Guitar clean-2.1" start="0" length="21616698" position="25483398" ancestral-start="0" ancestral-length="21616698" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14584" channels="1" master-source-0="14584"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21140" name="Guitar clean-3.6" start="0" length="15822603" position="47100166" ancestral-start="0" ancestral-length="15822603" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14665" channels="1" master-source-0="14665"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21146" name="Guitar clean-3.7" start="15822603" length="34101039" position="62922769" ancestral-start="15822603" ancestral-length="34101039" stretch="1" shift="1" first_edit="nothing" layer="2" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14665" channels="1" master-source-0="14665"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14819" name="Guitar clean-4.1" start="0" length="19038714" position="97023878" ancestral-start="0" ancestral-length="19038714" stretch="1" shift="1" first_edit="nothing" layer="3" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14745" channels="1" master-source-0="14745"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14899" name="Guitar clean-5.1" start="0" length="103562170" position="116062662" ancestral-start="0" ancestral-length="103562170" stretch="1" shift="1" first_edit="nothing" layer="4" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14825" channels="1" master-source-0="14825"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15837" name="Guitar clean-6.1" start="0" length="59080506" position="219624902" ancestral-start="0" ancestral-length="59080506" stretch="1" shift="1" first_edit="nothing" layer="5" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15613" channels="1" master-source-0="15613"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15937" name="Guitar clean-7.1" start="0" length="17624058" position="278705478" ancestral-start="0" ancestral-length="17624058" stretch="1" shift="1" first_edit="nothing" layer="6" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15843" channels="1" master-source-0="15843"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="16036" name="Guitar clean-8.1" start="0" length="15979770" position="296329606" ancestral-start="0" ancestral-length="15979770" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15943" channels="1" master-source-0="15943"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - </Playlist> - <Playlist name="Vocal1" orig_diskstream_id="91" frozen="no"> - <Region id="15896" name="Vocal1-3.1" start="0" length="8407596" position="278705475" ancestral-start="0" ancestral-length="17624061" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="15601" channels="1" master-source-0="15601"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22887" name="Vocal1-3.4" start="9328480" length="5267113" position="287069909" ancestral-start="9294894" ancestral-length="5300699" stretch="1" shift="1" first_edit="nothing" layer="2" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeOut" scale-gain="1" source-0="15601" channels="1" master-source-0="15601"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22877" name="Vocal1-3.3" start="9289542" length="5352" position="287995017" ancestral-start="9289542" ancestral-length="8334518" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15601" channels="1" master-source-0="15601"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15995" name="Vocal1-4.1" start="3781746" length="11450801" position="300111349" ancestral-start="0" ancestral-length="15979773" stretch="1" shift="1" first_edit="nothing" layer="3" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15902" channels="1" master-source-0="15902"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="23945" default="1" min_yval="0" max_yval="2" max_xval="11450801" state="Off" style="Absolute"> - <events>0 0.66443 -1.13727e+07 0.821401 -1.14508e+07 1 -1.14508e+07 1 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Crossfade out="15896" in="22887" active="yes" follow-overlap="yes" fixed="no" length="43162" anchor-point="0" position="287069909"> - <FadeIn> - <point x="0" y="0"/> - <point x="4316" y="0.00999999977648"/> - <point x="8632" y="0.0299999993294"/> - <point x="34529" y="0.97000002861"/> - <point x="38845" y="0.990000009537"/> - <point x="43162" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="4316" y="0.990000009537"/> - <point x="8632" y="0.97000002861"/> - <point x="34529" y="0.0299999993294"/> - <point x="38845" y="0.00999999977648"/> - <point x="43162" y="0"/> - </FadeOut> - </Crossfade> - </Playlist> - <Playlist name="Sax Analog" orig_diskstream_id="9282" frozen="no"> - <Region id="49465" name="Sax Analog-38.1" start="0" length="50362" position="0" ancestral-start="0" ancestral-length="50362" stretch="1" shift="1" first_edit="nothing" layer="26" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="49455" channels="1" master-source-0="49455"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="30386" name="Sax Analog-1.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="17" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="30179" channels="1" master-source-0="30179"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="30391" name="Sax Analog-1.2" start="6673830" length="64" position="3756071" ancestral-start="6673830" ancestral-length="64" stretch="1" shift="1" first_edit="nothing" layer="18" sync-position="6673830" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="30179" channels="1" master-source-0="30179"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="31598" name="Sax Analog-18.2" start="6673830" length="64" position="3756071" ancestral-start="6673830" ancestral-length="64" stretch="1" shift="1" first_edit="nothing" layer="19" sync-position="6673830" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="31579" channels="1" master-source-0="31579"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="36982" name="Sax Analog-24.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="20" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="36968" channels="1" master-source-0="36968"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="37011" name="Sax Analog-22.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="21" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="36998" channels="1" master-source-0="36998"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="39160" name="Sax Analog-34.2" start="6673830" length="64" position="3756071" ancestral-start="6673830" ancestral-length="64" stretch="1" shift="1" first_edit="nothing" layer="22" sync-position="6673830" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="39141" channels="1" master-source-0="39141"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="47613" name="Sax Analog-36.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="23" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="47440" channels="1" master-source-0="47440"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="49396" name="Sax Analog-37.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="24" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="49381" channels="1" master-source-0="49381"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="49401" name="Sax Analog-37.2" start="6673830" length="64" position="3756071" ancestral-start="6673830" ancestral-length="64" stretch="1" shift="1" first_edit="nothing" layer="25" sync-position="6673830" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="49381" channels="1" master-source-0="49381"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="49534" name="Sax Analog-40.1" start="0" length="6673830" position="3756071" ancestral-start="0" ancestral-length="6673830" stretch="1" shift="1" first_edit="nothing" layer="27" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="49521" channels="1" master-source-0="49521"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="49631" name="Sax Analog-41.1" start="0" length="5550642" position="3756071" ancestral-start="0" ancestral-length="5550642" stretch="1" shift="1" first_edit="nothing" layer="28" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="49617" channels="1" master-source-0="49617"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14591" name="Sax Analog-2.1" start="1773009" length="20662206" position="3772235" ancestral-start="0" ancestral-length="23484096" stretch="1" shift="1" first_edit="nothing" layer="0" sync-position="0" flags="Muted,Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14485" channels="1" master-source-0="14485"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14672" name="Sax Analog-3.1" start="871763" length="18148459" position="26355161" ancestral-start="0" ancestral-length="21616698" stretch="1" shift="1" first_edit="nothing" layer="7" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14597" channels="1" master-source-0="14597"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21110" name="Sax Analog-4.8" start="5054531" length="10768072" position="52154697" ancestral-start="0" ancestral-length="10768072" stretch="1" shift="1" first_edit="nothing" layer="1" sync-position="5054531" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14678" channels="1" master-source-0="14678"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21113" default="1" min_yval="0" max_yval="2" max_xval="10768072" state="Off" style="Absolute"> - <events>0 0.945643 -1.07681e+07 0.964835 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21116" name="Sax Analog-4.9" start="20807530" length="25801527" position="67907696" ancestral-start="10768072" ancestral-length="34101039" stretch="1" shift="1" first_edit="nothing" layer="2" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14678" channels="1" master-source-0="14678"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21119" default="1" min_yval="0" max_yval="2" max_xval="25801527" state="Off" style="Absolute"> - <events>-3.86611e+07 0.0530382 -0 0 -4.61954e+06 3.41123e-05 -4.82833e+06 0.711842 -1.64446e+07 0.723881 -1.65207e+07 0 -2.17807e+07 0 -2.17845e+07 0.0283181 -2.17883e+07 0.723881 -2.58015e+07 0.711842 -2.58015e+07 0.711842 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="14832" name="Sax Analog-5.1" start="443684" length="16736944" position="97467562" ancestral-start="0" ancestral-length="19038714" stretch="1" shift="1" first_edit="nothing" layer="3" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14758" channels="1" master-source-0="14758"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="20220" default="1" min_yval="0" max_yval="2" max_xval="16736944" state="Off" style="Absolute"> - <events>0 0.711692 -1.66805e+07 0.711842 -1.67369e+07 0.711692 -1.67369e+07 0.711692 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="21662" name="Sax Analog-6.2" start="2618212" length="34922826" position="118680874" ancestral-start="0" ancestral-length="34922826" stretch="1" shift="1" first_edit="nothing" layer="4" sync-position="2618212" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="21665" default="1" min_yval="0" max_yval="2" max_xval="34922826" state="Off" style="Absolute"> - <events>0 0 -5.08932e+06 0 -5.32422e+06 1.00019 -1.14314e+07 1.01536 -1.14575e+07 0 -1.5268e+07 0 -1.54246e+07 0.996323 -3.0505e+07 1.09402 -3.05449e+07 0.287178 -3.19203e+07 0.287178 -3.19505e+07 0 -3.37848e+07 0 -3.38048e+07 0.559071 -3.49113e+07 0.569296 -3.49228e+07 0.543627 -3.49228e+07 0.543627 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22013" name="Sax Analog-6.13" start="39475018" length="12058307" position="155537680" ancestral-start="34922826" ancestral-length="12058307" stretch="1" shift="1" first_edit="nothing" layer="5" sync-position="39475018" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22016" default="1" min_yval="0" max_yval="2" max_xval="12058307" state="Off" style="Absolute"> - <events>0 0 -1.16637e+06 0 -1.20624e+06 1.09402 -5.87651e+06 1.11432 -5.8875e+06 0 -1.03768e+07 0.00032384 -1.03878e+07 1.03465 -1.20583e+07 1.0346 -1.20583e+07 1.0346 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22340" name="Sax Analog-6.19" start="39475018" length="12058306" position="155537680" ancestral-start="34922826" ancestral-length="12058306" stretch="1" shift="1" first_edit="nothing" layer="9" sync-position="39475018" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope> - <AutomationList id="22343" default="1" min_yval="0" max_yval="2" max_xval="12058306" state="Off" style="Absolute"> - <events>0 0 -1.16637e+06 0 -1.20624e+06 1.09402 -5.87651e+06 1.11432 -5.8875e+06 0 -1.03768e+07 0.00032384 -1.03878e+07 1.03465 -1.20583e+07 1.0346 -1.20583e+07 1.0346 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22102" name="Sax Analog-6.17" start="60757649" length="17908945" position="176820311" ancestral-start="46981133" ancestral-length="18065539" stretch="1" shift="1" first_edit="nothing" layer="6" sync-position="60757649" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22105" default="1" min_yval="0" max_yval="2" max_xval="17908945" state="Off" style="Absolute"> - <events>0 0.711842 -1.79089e+07 0.711842 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22108" name="Sax Analog-6.18" start="81406998" length="21584342" position="197469660" ancestral-start="65046672" ancestral-length="24738982" stretch="1" shift="1" first_edit="nothing" layer="8" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="14839" channels="1" master-source-0="14839"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22111" default="1" min_yval="0" max_yval="2" max_xval="21584342" state="Off" style="Absolute"> - <events>0 0 -7.25429e+06 0 -7.37322e+06 1.00019 -2.15843e+07 1.00019 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22346" name="Sax Analog-7.2" start="0" length="16778209" position="219624902" ancestral-start="0" ancestral-length="16778209" stretch="1" shift="1" first_edit="nothing" layer="10" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15615" channels="1" master-source-0="15615"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22542" name="Sax Analog-7.3" start="19857989" length="21724330" position="239482891" ancestral-start="0" ancestral-length="21724330" stretch="1" shift="1" first_edit="nothing" layer="11" sync-position="19857989" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15615" channels="1" master-source-0="15615"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22548" name="Sax Analog-7.4" start="43651576" length="15068396" position="263276478" ancestral-start="21724330" ancestral-length="17311381" stretch="1" shift="1" first_edit="nothing" layer="12" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15615" channels="1" master-source-0="15615"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="22551" default="1" min_yval="0" max_yval="2" max_xval="15068396" state="Off" style="Absolute"> - <events>0 1 -1.48675e+07 1.01928 -1.48716e+07 0 -1.50684e+07 0 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="15950" name="Sax Analog-8.1" start="0" length="8407593" position="278705478" ancestral-start="0" ancestral-length="17624058" stretch="1" shift="1" first_edit="nothing" layer="13" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,FadeIn" scale-gain="1" source-0="15856" channels="1" master-source-0="15856"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="no"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22903" name="Sax Analog-8.4" start="9328477" length="5267113" position="287069909" ancestral-start="9294891" ancestral-length="5300699" stretch="1" shift="1" first_edit="nothing" layer="15" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeOut" scale-gain="1" source-0="15856" channels="1" master-source-0="15856"> - <FadeIn default="yes" active="no"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="22799" name="Sax Analog-8.3" start="9289539" length="5352" position="287995017" ancestral-start="9289539" ancestral-length="8334518" stretch="1" shift="1" first_edit="nothing" layer="14" sync-position="0" flags="Opaque,DefaultFadeIn,DefaultFadeOut,Automatic,FadeIn,FadeOut" scale-gain="1" source-0="15856" channels="1" master-source-0="15856"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope default="yes"/> - <extra> - <GUI waveform-visible="yes" envelope-visible="no" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Region id="16049" name="Sax Analog-9.1" start="3781746" length="11450798" position="300111352" ancestral-start="0" ancestral-length="15979770" stretch="1" shift="1" first_edit="nothing" layer="16" sync-position="0" flags="Opaque,EnvelopeActive,DefaultFadeIn,DefaultFadeOut,FadeIn,FadeOut" scale-gain="1" source-0="15956" channels="1" master-source-0="15956"> - <FadeIn default="yes" active="yes"/> - <FadeOut default="yes" active="yes"/> - <Envelope> - <AutomationList id="24087" default="1" min_yval="0" max_yval="2" max_xval="11450798" state="Off" style="Absolute"> - <events>-2.99934e+08 0.835992 --2.99895e+08 1.01555 -0 1.00019 -9.86425e+06 1.03465 -9.90955e+06 0.754746 -1.14508e+07 0.625281 -</events> - </AutomationList> - </Envelope> - <extra> - <GUI waveform-visible="yes" envelope-visible="yes" waveform-rectified="no" waveform-logscaled="no"/> - </extra> - </Region> - <Crossfade out="22340" in="22013" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="167595325"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="15950" in="22903" active="yes" follow-overlap="yes" fixed="no" length="43162" anchor-point="0" position="287069909"> - <FadeIn> - <point x="0" y="0"/> - <point x="4316" y="0.00999999977648"/> - <point x="8632" y="0.0299999993294"/> - <point x="34529" y="0.97000002861"/> - <point x="38845" y="0.990000009537"/> - <point x="43162" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="4316" y="0.990000009537"/> - <point x="8632" y="0.97000002861"/> - <point x="34529" y="0.0299999993294"/> - <point x="38845" y="0.00999999977648"/> - <point x="43162" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="30391" in="30386" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="10429836"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="31598" in="30386" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="39160" in="30386" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="39160" in="36982" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="39160" in="37011" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49401" in="49396" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="10429836"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49401" in="30386" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49401" in="36982" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49401" in="37011" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49401" in="47613" active="yes" follow-overlap="no" fixed="yes" length="64" anchor-point="1" position="3755473"> - <FadeIn> - <point x="0" y="0"/> - <point x="6" y="0.00999999977648"/> - <point x="12" y="0.0299999993294"/> - <point x="51" y="0.97000002861"/> - <point x="57" y="0.990000009537"/> - <point x="64" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="6" y="0.990000009537"/> - <point x="12" y="0.97000002861"/> - <point x="51" y="0.0299999993294"/> - <point x="57" y="0.00999999977648"/> - <point x="64" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="30386" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="36982" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="37011" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="47613" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="49396" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - <Crossfade out="49631" in="49534" active="yes" follow-overlap="no" fixed="yes" length="661" anchor-point="1" position="9306051"> - <FadeIn> - <point x="0" y="0"/> - <point x="66" y="0.00999999977648"/> - <point x="132" y="0.0299999993294"/> - <point x="528" y="0.97000002861"/> - <point x="594" y="0.990000009537"/> - <point x="661" y="1"/> - </FadeIn> - <FadeOut> - <point x="0" y="1"/> - <point x="66" y="0.990000009537"/> - <point x="132" y="0.97000002861"/> - <point x="528" y="0.0299999993294"/> - <point x="594" y="0.00999999977648"/> - <point x="661" y="0"/> - </FadeOut> - </Crossfade> - </Playlist> - </Playlists> - <UnusedPlaylists/> - <Click> - <IO name="click" id="25" active="yes" inputs="" outputs="{alsa_pcm:playback_1,alsa_pcm:playback_2}" gain="1.423893570900" iolimits="0,0,-1,-1"> - <Panner linked="no" link_direction="SameDirection" bypassed="no"/> - <controllable name="gaincontrol" id="26"/> - <Automation> - <AutomationList id="13313" default="1" min_yval="0" max_yval="2" max_xval="0" state="Off" style="Absolute"/> - </Automation> - </IO> - </Click> - <NamedSelections/> - <TempoMap> - <Tempo start="1|1|0" beats-per-minute="145.000000" note-type="4.000000" movable="no"/> - <Meter start="1|1|0" note-type="4.000000" beats-per-bar="5.000000" movable="no"/> - </TempoMap> - <ControlProtocols> - <Protocol name="Generic MIDI" feedback="0" feedback_interval="10000" active="yes"> - <controls/> - </Protocol> - <Protocol name="Mackie" active="no"/> - </ControlProtocols> - <extra> - <ClockModes primary="SMPTE" secondary="BBT" preroll="MinSec" postroll="MinSec" bigclock="SMPTE" editpoint="SMPTE" zoomrange="SMPTE" nudge="SMPTE"/> - </extra> -</Session> diff --git a/libs/pbd/tests/xpath.cc b/libs/pbd/tests/xpath.cc deleted file mode 100644 index 54b844f16c..0000000000 --- a/libs/pbd/tests/xpath.cc +++ /dev/null @@ -1,98 +0,0 @@ -#include "assert.h" -#include <iostream> - -#include "pbd/xml++.h" - -using namespace std; - -int main() -{ - cout << "Test 1: RosegardenPatchFile.xml: Find all banks in the file" << endl; - XMLTree doc("./RosegardenPatchFile.xml"); - // "//bank" gives as last element an empty element libxml bug???? - boost::shared_ptr<XMLSharedNodeList> result = doc.root()->find("//bank[@name]"); - - cout << "Found " << result->size() << " banks" << endl; - assert(result->size() == 8); - int counter = 1; - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - assert((*i)->name() == "bank"); - assert((*i)->property("name")); - cout << "Found bank number " << counter++ << " with name: " << (*i)->property("name")->value() << endl; - for(XMLNodeList::const_iterator j = (*i)->children().begin(); j != (*i)->children().end(); ++j) { - cout << "\t found program " << (*j)->property("id")->value() << - " with name: " << (*j)->property("name")->value() << endl; - } - } - - cout << endl << endl << "Test 2: RosegardenPatchFile.xml: Find all programs whose program name contains 'Latin'" << endl; - - result = doc.root()->find("/rosegarden-data/studio/device/bank/program[contains(@name, 'Latin')]"); - assert(result->size() == 5); - - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - cout << "\t found program " << (*i)->property("id")->value() << - " with name: " << (*i)->property("name")->value() << endl; - } - - cout << endl << endl << "Test 3: TestSession.ardour: find all Sources where captured-for contains the string 'Guitar'" << endl; - - // We have to allocate a new document here, or we get segfaults - XMLTree doc2("./TestSession.ardour"); - result = doc2.root()->find("/Session/Sources/Source[contains(@captured-for, 'Guitar')]"); - assert(result->size() == 16); - - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - cout << "\t found source '" << (*i)->property("name")->value() << - "' with id: " << (*i)->property("id")->value() << endl; - } - - cout << endl << endl << "Test 4: TestSession.ardour: Find all elements with an 'id' and 'name' attribute" << endl; - - result = doc2.root()->find("//*[@id and @name]"); - - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - assert((*i)->property("id")); - assert((*i)->property("name")); - cout << "\t found element '" << (*i)->name() << - "' with id: " << (*i)->property("id")->value() << - "' and name: " << (*i)->property("name")->value() << endl; - } - - cout << endl << endl << "Test 5: ProtoolsPatchFile.midnam: Get Banks and Patches for 'Name Set 1'" << endl; - - // We have to allocate a new document here, or we get segfaults - XMLTree doc3("./ProtoolsPatchFile.midnam"); - result = doc3.root()->find("/MIDINameDocument/MasterDeviceNames/ChannelNameSet[@Name='Name Set 1']/PatchBank"); - assert(result->size() == 16); - - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - cout << "\t found Patchbank " << (*i)->property("Name")->value() << endl; - boost::shared_ptr<XMLSharedNodeList> patches = (*i)->find("//Patch[@Name]"); - for(XMLSharedNodeList::const_iterator p = patches->begin(); p != patches->end(); ++p) { - cout << "\t\t found patch number " << (*p)->property("Number")->value() - << " with name: " << (*p)->property("Name")->value() << endl; - } - } - - cout << endl << endl << "Test 5: ProtoolsPatchFile.midnam: Find attribute nodes" << endl; - result = doc3.root()->find("//@Value"); - - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - boost::shared_ptr<XMLNode> node = (*i); - cout << "\t found attribute node: " << node->name() - << " value: " << node->attribute_value() << endl; - } - - cout << endl << endl << "Test 6: ProtoolsPatchFile.midnam: Find available channels on 'Name Set 1'" << endl; - result = doc3.root()->find( - "//ChannelNameSet[@Name = 'Name Set 1']//AvailableChannel[@Available = 'true']/@Channel"); - - assert(result->size() == 15); - for(XMLSharedNodeList::const_iterator i = result->begin(); i != result->end(); ++i) { - boost::shared_ptr<XMLNode> node = (*i); - cout << "\t found available Channel: " << node->name() - << " value: " << node->attribute_value() << endl; - } - -} diff --git a/libs/pbd/textreceiver.cc b/libs/pbd/textreceiver.cc deleted file mode 100644 index 43620e9830..0000000000 --- a/libs/pbd/textreceiver.cc +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <iostream> -#include <cstdlib> - -#include <pbd/textreceiver.h> - -TextReceiver::TextReceiver (const string &n) - -{ - name = n; -} - -void -TextReceiver::receive (Transmitter::Channel chn, const char *str) - -{ - const char *prefix = ""; - - switch (chn) { - case Transmitter::Error: - prefix = ": [ERROR]: "; - break; - case Transmitter::Info: - prefix = ": [INFO]: "; - break; - case Transmitter::Warning: - prefix = ": [WARNING]: "; - break; - case Transmitter::Fatal: - prefix = ": [FATAL]: "; - break; - case Transmitter::Throw: - /* this isn't supposed to happen */ - abort (); - } - - /* note: iostreams are already thread-safe: no external - lock required. - */ - - cout << name << prefix << str << endl; - - if (chn == Transmitter::Fatal) { - exit (9); - } -} - diff --git a/libs/pbd/transmitter.cc b/libs/pbd/transmitter.cc deleted file mode 100644 index 876a9d86e5..0000000000 --- a/libs/pbd/transmitter.cc +++ /dev/null @@ -1,115 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <cstdlib> -#include <signal.h> -#include <iostream> -#include <string> - -#include <pbd/transmitter.h> -#include <pbd/error.h> - -using std::string; -using std::ios; - -Transmitter::Transmitter (Channel c) -{ - channel = c; - switch (c) { - case Error: - send = &error; - break; - case Warning: - send = &warning; - break; - case Info: - send = &info; - break; - case Fatal: - send = &fatal; - break; - case Throw: - /* we should never call Transmitter::deliver - for thrown messages (because its overridden in the - class heirarchy). force a segv if we do. - */ - send = 0; - break; - } -} - -void -Transmitter::deliver () - -{ - string foo; - - /* NOTE: this is just a default action for a Transmitter or a - derived class. Any class can override this to produce some - other action when deliver() is called. - */ - - *this << '\0'; - - /* send the SigC++ signal */ - - foo = str(); - (*send) (channel, foo.c_str()); - - /* XXX when or how can we delete this ? */ - // delete foo; - - /* return to a pristine state */ - - clear (); - seekp (0, ios::beg); - seekg (0, ios::beg); - - /* do the right thing if this should not return */ - - if (does_not_return()) { - sigset_t mask; - - sigemptyset (&mask); - sigsuspend (&mask); - /*NOTREACHED*/ - exit (1); - } -} - -bool -Transmitter::does_not_return () - -{ - if (channel == Fatal || channel == Throw) { - return true; - } else { - return false; - } -} - - -extern "C" { - void pbd_c_error (const char *str) - - { - PBD::error << str << endmsg; - } -} diff --git a/libs/pbd/undo.cc b/libs/pbd/undo.cc deleted file mode 100644 index aeff37cce7..0000000000 --- a/libs/pbd/undo.cc +++ /dev/null @@ -1,293 +0,0 @@ -/* - Copyright (C) 2001 Brett Viren & Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <iostream> -#include <string> -#include <sstream> - -#include <pbd/undo.h> -#include <pbd/xml++.h> -#include <pbd/shiva.h> - -#include <sigc++/bind.h> - -using namespace std; -using namespace sigc; - -UndoTransaction::UndoTransaction () - : _clearing(false) -{ -} - -UndoTransaction::UndoTransaction (const UndoTransaction& rhs) - : Command(rhs._name) - , _clearing(false) -{ - clear (); - actions.insert(actions.end(),rhs.actions.begin(),rhs.actions.end()); -} - -UndoTransaction::~UndoTransaction () -{ - GoingAway (); - clear (); -} - -void -command_death (UndoTransaction* ut, Command* c) -{ - if (ut->clearing()) { - return; - } - - ut->remove_command (c); - - if (ut->empty()) { - delete ut; - } -} - -UndoTransaction& -UndoTransaction::operator= (const UndoTransaction& rhs) -{ - if (this == &rhs) return *this; - _name = rhs._name; - clear (); - actions.insert(actions.end(),rhs.actions.begin(),rhs.actions.end()); - return *this; -} - -void -UndoTransaction::add_command (Command *const action) -{ - /* catch death */ - new PBD::ProxyShiva<Command,UndoTransaction> (*action, *this, &command_death); - actions.push_back (action); -} - -void -UndoTransaction::remove_command (Command* const action) -{ - actions.remove (action); -} - -bool -UndoTransaction::empty () const -{ - return actions.empty(); -} - -void -UndoTransaction::clear () -{ - _clearing = true; - for (list<Command*>::iterator i = actions.begin(); i != actions.end(); ++i) { - delete *i; - } - actions.clear (); - _clearing = false; -} - -void -UndoTransaction::operator() () -{ - for (list<Command*>::iterator i = actions.begin(); i != actions.end(); ++i) { - (*(*i))(); - } -} - -void -UndoTransaction::undo () -{ - for (list<Command*>::reverse_iterator i = actions.rbegin(); i != actions.rend(); ++i) { - (*i)->undo(); - } -} - -void -UndoTransaction::redo () -{ - (*this)(); -} - -XMLNode &UndoTransaction::get_state() -{ - XMLNode *node = new XMLNode ("UndoTransaction"); - stringstream ss; - ss << _timestamp.tv_sec; - node->add_property("tv_sec", ss.str()); - ss.str(""); - ss << _timestamp.tv_usec; - node->add_property("tv_usec", ss.str()); - node->add_property("name", _name); - - list<Command*>::iterator it; - for (it=actions.begin(); it!=actions.end(); it++) - node->add_child_nocopy((*it)->get_state()); - - return *node; -} - -UndoHistory::UndoHistory () -{ - _clearing = false; - _depth = 0; -} - -void -UndoHistory::set_depth (int32_t d) -{ - _depth = d; - - while (_depth > 0 && UndoList.size() > (uint32_t) _depth) { - UndoList.pop_front (); - } -} - -void -UndoHistory::add (UndoTransaction* const ut) -{ - ut->GoingAway.connect (bind (mem_fun (*this, &UndoHistory::remove), ut)); - - while (_depth > 0 && UndoList.size() > (uint32_t) _depth) { - UndoList.pop_front (); - } - - UndoList.push_back (ut); - - /* we are now owners of the transaction */ - - Changed (); /* EMIT SIGNAL */ -} - -void -UndoHistory::remove (UndoTransaction* const ut) -{ - if (_clearing) { - return; - } - - UndoList.remove (ut); - RedoList.remove (ut); - - Changed (); /* EMIT SIGNAL */ -} - -/** Undo some transactions. - * @param n Number of transactions to undo. - */ -void -UndoHistory::undo (unsigned int n) -{ - while (n--) { - if (UndoList.size() == 0) { - return; - } - UndoTransaction* ut = UndoList.back (); - UndoList.pop_back (); - ut->undo (); - RedoList.push_back (ut); - } - - Changed (); /* EMIT SIGNAL */ -} - -void -UndoHistory::redo (unsigned int n) -{ - while (n--) { - if (RedoList.size() == 0) { - return; - } - UndoTransaction* ut = RedoList.back (); - RedoList.pop_back (); - ut->redo (); - UndoList.push_back (ut); - } - - Changed (); /* EMIT SIGNAL */ -} - -void -UndoHistory::clear_redo () -{ - _clearing = true; - RedoList.clear (); - _clearing = false; - - Changed (); /* EMIT SIGNAL */ - -} - -void -UndoHistory::clear_undo () -{ - _clearing = true; - UndoList.clear (); - _clearing = false; - - Changed (); /* EMIT SIGNAL */ -} - -void -UndoHistory::clear () -{ - clear_undo (); - clear_redo (); - - Changed (); /* EMIT SIGNAL */ -} - -XMLNode& -UndoHistory::get_state (int32_t depth) -{ - XMLNode *node = new XMLNode ("UndoHistory"); - - if (depth == 0) { - - return (*node); - - } else if (depth < 0) { - - /* everything */ - - for (list<UndoTransaction*>::iterator it = UndoList.begin(); it != UndoList.end(); ++it) { - node->add_child_nocopy((*it)->get_state()); - } - - } else { - - /* just the last "depth" transactions */ - - list<UndoTransaction*> in_order; - - for (list<UndoTransaction*>::reverse_iterator it = UndoList.rbegin(); it != UndoList.rend() && depth; ++it, depth--) { - in_order.push_front (*it); - } - - for (list<UndoTransaction*>::iterator it = in_order.begin(); it != in_order.end(); it++) { - node->add_child_nocopy((*it)->get_state()); - } - } - - return *node; -} - - diff --git a/libs/pbd/whitespace.cc b/libs/pbd/whitespace.cc deleted file mode 100644 index b09d830103..0000000000 --- a/libs/pbd/whitespace.cc +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (C) 2000-2007 Paul Davis - - 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., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include <pbd/whitespace.h> - -using namespace std; - -namespace PBD { - -void -strip_whitespace_edges (string& str) -{ - string::size_type i; - string::size_type len; - string::size_type s = 0; - - len = str.length(); - - if (len == 1) { - return; - } - - /* strip front */ - - for (i = 0; i < len; ++i) { - if (isgraph (str[i])) { - break; - } - } - - if (i == len) { - /* it's all whitespace, not much we can do */ - str = ""; - return; - } - - /* strip back */ - - if (len > 1) { - - s = i; - i = len - 1; - - if (s == i) { - return; - } - - do { - if (isgraph (str[i]) || i == 0) { - break; - } - - --i; - - } while (true); - - str = str.substr (s, (i - s) + 1); - - } else { - str = str.substr (s); - } -} - -} // namespace PBD diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc deleted file mode 100644 index ec1ca5d2b9..0000000000 --- a/libs/pbd/xml++.cc +++ /dev/null @@ -1,590 +0,0 @@ -/* xml++.cc - * libxml++ and this file are copyright (C) 2000 by Ari Johnson, and - * are covered by the GNU Lesser General Public License, which should be - * included with libxml++ as the file COPYING. - */ - -#include <pbd/xml++.h> -#include <libxml/debugXML.h> -#include <libxml/xpath.h> -#include <libxml/xpathInternals.h> - -#define XML_VERSION "1.0" - -static XMLNode *readnode(xmlNodePtr); -static void writenode(xmlDocPtr, XMLNode *, xmlNodePtr, int); -static XMLSharedNodeList* find_impl(xmlXPathContext* ctxt, const string xpath); - -XMLTree::XMLTree() - : _filename(), - _root(0), - _compression(0) -{ -} - -XMLTree::XMLTree(const string &fn, bool validate) - : _filename(fn), - _root(0), - _compression(0) -{ - read_internal(validate); -} - -XMLTree::XMLTree(const XMLTree * from) -{ - _filename = from->filename(); - _root = new XMLNode(*from->root()); - _compression = from->compression(); -} - -XMLTree::~XMLTree() -{ - if (_root) { - delete _root; - } -} - -int -XMLTree::set_compression(int c) -{ - if (c > 9) { - c = 9; - } else if (c < 0) { - c = 0; - } - - _compression = c; - - return _compression; -} - -bool -XMLTree::read_internal(bool validate) -{ - //shouldnt be used anywhere ATM, remove if so! - assert(!validate); - if (_root) { - delete _root; - _root = 0; - } - - xmlParserCtxtPtr ctxt; /* the parser context */ - xmlDocPtr doc; /* the resulting document tree */ - - xmlKeepBlanksDefault(0); - /* parse the file, activating the DTD validation option */ - if(validate) { - /* create a parser context */ - ctxt = xmlNewParserCtxt(); - if (ctxt == NULL) { - return false; - } - doc = xmlCtxtReadFile(ctxt, _filename.c_str(), NULL, XML_PARSE_DTDVALID); - } else { - doc = xmlParseFile(_filename.c_str()); - } - - /* check if parsing suceeded */ - if (doc == NULL) { - if(validate) { - xmlFreeParserCtxt(ctxt); - } - return false; - } else { - /* check if validation suceeded */ - if (validate && ctxt->valid == 0) { - xmlFreeParserCtxt(ctxt); - xmlFreeDoc(doc); - xmlCleanupParser(); - throw XMLException("Failed to validate document " + _filename); - } - } - - _root = readnode(xmlDocGetRootElement(doc)); - - /* free up the parser context */ - if(validate) { - xmlFreeParserCtxt(ctxt); - } - xmlFreeDoc(doc); - xmlCleanupParser(); - - return true; -} - -bool -XMLTree::read_buffer(const string & buffer) -{ - xmlDocPtr doc; - - _filename = ""; - - if (_root) { - delete _root; - _root = 0; - } - - doc = xmlParseMemory((char *) buffer.c_str(), buffer.length()); - if (!doc) { - return false; - } - - _root = readnode(xmlDocGetRootElement(doc)); - xmlFreeDoc(doc); - - return true; -} - - -bool -XMLTree::write(void) const -{ - xmlDocPtr doc; - XMLNodeList children; - int result; - - xmlKeepBlanksDefault(0); - doc = xmlNewDoc((xmlChar *) XML_VERSION); - xmlSetDocCompressMode(doc, _compression); - writenode(doc, _root, doc->children, 1); - result = xmlSaveFormatFileEnc(_filename.c_str(), doc, "UTF-8", 1); - xmlFreeDoc(doc); - - if (result == -1) { - return false; - } - - return true; -} - -void -XMLTree::debug(FILE* out) const -{ - xmlDocPtr doc; - XMLNodeList children; - - xmlKeepBlanksDefault(0); - doc = xmlNewDoc((xmlChar *) XML_VERSION); - xmlSetDocCompressMode(doc, _compression); - writenode(doc, _root, doc->children, 1); - xmlDebugDumpDocument (out, doc); - xmlFreeDoc(doc); -} - -const string & -XMLTree::write_buffer(void) const -{ - static string retval; - char *ptr; - int len; - xmlDocPtr doc; - XMLNodeList children; - - xmlKeepBlanksDefault(0); - doc = xmlNewDoc((xmlChar *) XML_VERSION); - xmlSetDocCompressMode(doc, _compression); - writenode(doc, _root, doc->children, 1); - xmlDocDumpMemory(doc, (xmlChar **) & ptr, &len); - xmlFreeDoc(doc); - - retval = ptr; - - free(ptr); - - return retval; -} - -XMLNode::XMLNode(const string & n) - : _name(n), _is_content(false), _content(string()) -{ -} - -XMLNode::XMLNode(const string & n, const string & c) - :_name(n), _is_content(true), _content(c) -{ -} - -XMLNode::XMLNode(const XMLNode& from) -{ - XMLPropertyList props; - XMLPropertyIterator curprop; - XMLNodeList nodes; - XMLNodeIterator curnode; - - _name = from.name(); - set_content(from.content()); - - props = from.properties(); - for (curprop = props.begin(); curprop != props.end(); ++curprop) { - add_property((*curprop)->name().c_str(), (*curprop)->value()); - } - - nodes = from.children(); - for (curnode = nodes.begin(); curnode != nodes.end(); ++curnode) { - add_child_copy(**curnode); - } -} - -XMLNode::~XMLNode() -{ - XMLNodeIterator curchild; - XMLPropertyIterator curprop; - - for (curchild = _children.begin(); curchild != _children.end(); ++curchild) { - delete *curchild; - } - - for (curprop = _proplist.begin(); curprop != _proplist.end(); ++curprop) { - delete *curprop; - } -} - -const string & -XMLNode::set_content(const string & c) -{ - if (c.empty()) { - _is_content = false; - } else { - _is_content = true; - } - - _content = c; - - return _content; -} - -XMLNode* -XMLNode::child (const char *name) const -{ - /* returns first child matching name */ - - XMLNodeConstIterator cur; - - if (name == 0) { - return 0; - } - - for (cur = _children.begin(); cur != _children.end(); ++cur) { - if ((*cur)->name() == name) { - return *cur; - } - } - - return 0; -} - -const XMLNodeList & -XMLNode::children(const string& n) const -{ - /* returns all children matching name */ - - static XMLNodeList retval; - XMLNodeConstIterator cur; - - if (n.empty()) { - return _children; - } - - retval.erase(retval.begin(), retval.end()); - - for (cur = _children.begin(); cur != _children.end(); ++cur) { - if ((*cur)->name() == n) { - retval.insert(retval.end(), *cur); - } - } - - return retval; -} - -XMLNode * -XMLNode::add_child(const char * n) -{ - return add_child_copy(XMLNode (n)); -} - -void -XMLNode::add_child_nocopy (XMLNode& n) -{ - _children.insert(_children.end(), &n); -} - -XMLNode * -XMLNode::add_child_copy(const XMLNode& n) -{ - XMLNode *copy = new XMLNode (n); - _children.insert(_children.end(), copy); - return copy; -} - -boost::shared_ptr<XMLSharedNodeList> -XMLNode::find(const string xpath) const -{ - xmlDocPtr doc = xmlNewDoc((xmlChar *) XML_VERSION); - writenode(doc, (XMLNode *) this, doc->children, 1); - xmlXPathContext* ctxt = xmlXPathNewContext(doc); - - boost::shared_ptr<XMLSharedNodeList> result = - boost::shared_ptr<XMLSharedNodeList>(find_impl(ctxt, xpath)); - - xmlXPathFreeContext(ctxt); - xmlFreeDoc(doc); - - return result; -} - -std::string -XMLNode::attribute_value() -{ - XMLNodeList children = this->children(); - assert(!_is_content); - assert(children.size() == 1); - XMLNode* child = *(children.begin()); - assert(child->is_content()); - return child->content(); -} - -XMLNode * -XMLNode::add_content(const string & c) -{ - return add_child_copy(XMLNode (string(), c)); -} - -XMLProperty * -XMLNode::property(const char * n) -{ - string ns(n); - map<string,XMLProperty*>::iterator iter; - - if ((iter = _propmap.find(ns)) != _propmap.end()) { - return iter->second; - } - - return 0; -} - -XMLProperty * -XMLNode::property(const string & ns) -{ - map<string,XMLProperty*>::iterator iter; - - if ((iter = _propmap.find(ns)) != _propmap.end()) { - return iter->second; - } - - return 0; -} - -XMLProperty * -XMLNode::add_property(const char * n, const string & v) -{ - string ns(n); - if(_propmap.find(ns) != _propmap.end()){ - remove_property(ns); - } - - XMLProperty *tmp = new XMLProperty(ns, v); - - if (!tmp) { - return 0; - } - - _propmap[tmp->name()] = tmp; - _proplist.insert(_proplist.end(), tmp); - - return tmp; -} - -XMLProperty * -XMLNode::add_property(const char * n, const char * v) -{ - string vs(v); - return add_property(n, vs); -} - -XMLProperty * -XMLNode::add_property(const char *name, const long value) -{ - static char str[1024]; - snprintf(str, 1024, "%ld", value); - return add_property(name, str); -} - -void -XMLNode::remove_property(const string & n) -{ - if (_propmap.find(n) != _propmap.end()) { - _proplist.remove(_propmap[n]); - _propmap.erase(n); - } -} - -void -XMLNode::remove_nodes(const string & n) -{ - XMLNodeIterator i = _children.begin(); - XMLNodeIterator tmp; - - while (i != _children.end()) { - tmp = i; - ++tmp; - if ((*i)->name() == n) { - _children.erase (i); - } - i = tmp; - } -} - -void -XMLNode::remove_nodes_and_delete(const string & n) -{ - XMLNodeIterator i = _children.begin(); - XMLNodeIterator tmp; - - while (i != _children.end()) { - tmp = i; - ++tmp; - if ((*i)->name() == n) { - delete *i; - _children.erase (i); - } - i = tmp; - } -} - -void -XMLNode::remove_nodes_and_delete(const string& propname, const string& val) -{ - XMLNodeIterator i = _children.begin(); - XMLNodeIterator tmp; - XMLProperty* prop; - - while (i != _children.end()) { - tmp = i; - ++tmp; - - prop = (*i)->property(propname); - if(prop && prop->value() == val) { - delete *i; - _children.erase(i); - } - - i = tmp; - } -} - -XMLProperty::XMLProperty(const string &n, const string &v) - : _name(n), - _value(v) -{ -} - -XMLProperty::~XMLProperty() -{ -} - -static XMLNode * -readnode(xmlNodePtr node) -{ - string name, content; - xmlNodePtr child; - XMLNode *tmp; - xmlAttrPtr attr; - - if (node->name) { - name = (char *) node->name; - } - - tmp = new XMLNode(name); - - for (attr = node->properties; attr; attr = attr->next) { - content = ""; - if (attr->children) { - content = (char *) attr->children->content; - } - tmp->add_property((char *) attr->name, content); - } - - if (node->content) { - tmp->set_content((char *) node->content); - } else { - tmp->set_content(string()); - } - - for (child = node->children; child; child = child->next) { - tmp->add_child_nocopy (*readnode(child)); - } - - return tmp; -} - -static void -writenode(xmlDocPtr doc, XMLNode * n, xmlNodePtr p, int root = 0) -{ - XMLPropertyList props; - XMLPropertyIterator curprop; - XMLNodeList children; - XMLNodeIterator curchild; - xmlNodePtr node; - - if (root) { - node = doc->children = xmlNewDocNode(doc, 0, (xmlChar *) n->name().c_str(), 0); - } else { - node = xmlNewChild(p, 0, (xmlChar *) n->name().c_str(), 0); - } - - if (n->is_content()) { - node->type = XML_TEXT_NODE; - xmlNodeSetContentLen(node, (const xmlChar *) n->content().c_str(), n->content().length()); - } - - props = n->properties(); - for (curprop = props.begin(); curprop != props.end(); ++curprop) { - xmlSetProp(node, (xmlChar *) (*curprop)->name().c_str(), (xmlChar *) (*curprop)->value().c_str()); - } - - children = n->children(); - for (curchild = children.begin(); curchild != children.end(); ++curchild) { - writenode(doc, *curchild, node); - } -} - -static XMLSharedNodeList* find_impl(xmlXPathContext* ctxt, const string xpath) -{ - xmlXPathObject* result = xmlXPathEval((const xmlChar*)xpath.c_str(), ctxt); - - if(!result) - { - xmlXPathFreeContext(ctxt); - xmlFreeDoc(ctxt->doc); - - throw XMLException("Invalid XPath: " + xpath); - } - - if(result->type != XPATH_NODESET) - { - xmlXPathFreeObject(result); - xmlXPathFreeContext(ctxt); - xmlFreeDoc(ctxt->doc); - - throw XMLException("Only nodeset result types are supported."); - } - - xmlNodeSet* nodeset = result->nodesetval; - XMLSharedNodeList* nodes = new XMLSharedNodeList(); - if( nodeset ) - { - for (int i = 0; i < nodeset->nodeNr; ++i) { - XMLNode* node = readnode(nodeset->nodeTab[i]); - nodes->push_back(boost::shared_ptr<XMLNode>(node)); - } - } - else - { - // return empty set - } - - xmlXPathFreeObject(result); - - return nodes; -} - |