[SCM] drumgizmo/master: Imported Upstream version 0.9.9
viccuad-guest at users.alioth.debian.org
viccuad-guest at users.alioth.debian.org
Sat Mar 26 19:05:26 UTC 2016
The following commit has been merged in the master branch:
commit 730604550f81eb1e3dd3b2a50e2b59e3ddf702a5
Author: VÃctor Cuadrado Juan <me at viccuad.me>
Date: Fri Mar 25 14:34:50 2016 +0100
Imported Upstream version 0.9.9
diff --git a/AUTHORS b/AUTHORS
index 4aee056..056ec04 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -4,6 +4,12 @@ Founder and lead developer:
Developer:
Jonas Suhr Christensen [suhr] (jsc at umbraculum.org)
+Developer:
+ André Nusser [chaot4]
+
+Developer:
+ Christian Glöckner [cglocke]
+
Developer, Graphics, GUI design and logo:
Lars Muldjord [muldjord] (muldjordlars at gmail.com)
diff --git a/COPYING b/COPYING
index 94a9ed0..65c5ca8 100644
--- a/COPYING
+++ b/COPYING
@@ -1,674 +1,165 @@
- GNU GENERAL PUBLIC LICENSE
+ GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. 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
-them 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 prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. 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.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey 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;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If 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 convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU 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 that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- 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.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-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.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- 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
-state 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 3 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, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program 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, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU 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 Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser 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
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/ChangeLog b/ChangeLog
index 9c4cfd7..8e8afe5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,61 @@
+Version 0.9.9
+=============
+Release date: March 24th 2016
+Contributors: cglocke, chaot4, deva, muldjord, suhr, viccuad
+
+Highlighted changes / fixes:
+ - Switch to LGPLv3
+ - Linux VST
+ - Embedded UI
+ - Prepped for diskstreaming (but not yet implemented in UI)
+ - Load of bug fixes
+
+All changes / fixes:
+ - Remove unused libraries
+ - Headers are currently a mix and gpl2 and gpl3. Should be fixed
+
+ - UI refactor
+ - Move textedit widget to refactor branch
+ - Move autolayout to refactor branch
+ - Use new notifier and refactor to new code guidelines:
+ - LineEdit fixes:
+ - Follow marker
+ - Scroll with long line and cursor in beginning of line
+ - Update Linux build agents so they support C++11
+
+ - Refactor CLI
+ - Rewrite all modules to be compiled directly into the binary
+ - Modernise all cli files
+
+ - Add diskstreaming feature with infinite buffer size:
+ - Test on windows
+ - Make sure on-the-fly framesize change is working
+ - Set pre-cache size to "infinite"
+ - Make std::mutex work with mingw
+ - Make unit tests:
+ - AudioCacheIDManager
+ - AudioCacheFile
+ - AudioCacheEventHandler
+ - AudioCache
+ - Design and implement AudioCache
+ - Use AudioCache in inner-loop
+ - Get framesize dynamically from output engine
+ - Handle snd files with refcounter
+ - Collapse events from same file and position into single multichannel event
+ - Make sure free-wheel-mode works in jack, lv2 and vst
+
+ - Add referenced drumkit/midi files feature
+ - Remove version number from man page
+
+ - Make benchmark performance comparisons with the "old" engine
+ - Add a valgrind test script
+ - Fix some problems reported by valgrind
+
+ - Add memory check to warn the user if the drumkit about to be loaded cannot fit into memory
+
+ - LV2/VST: Make UI event handling based on idle/run calls from the plugin host instead of in a thread
+ - Port "The Aasimonster" to new velocity format
+
Version 0.9.8.1-hotfix
======================
Released March 16th 2015
diff --git a/Makefile.am b/Makefile.am
index 84bcaa7..3784c39 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = gnu
-SUBDIRS = plugingui tools include src vst lv2 drumgizmo man test
-DISTDIRS = plugingui tools include src vst lv2 drumgizmo man test
+SUBDIRS = plugingui tools include src plugin drumgizmo man test
+DISTDIRS = plugingui tools include src plugin drumgizmo man test
EXTRA_DIST = \
version.h \
@@ -9,5 +9,6 @@ EXTRA_DIST = \
hugin/hugin.c \
hugin/hugin_util.h \
hugin/hugin_syslog.h \
- hugin/hugin_syslog.c
-
+ hugin/hugin_syslog.c \
+ hugin/hugin_filter.h \
+ hugin/hugin_filter.c
diff --git a/Makefile.in b/Makefile.in
index 56b7794..623febd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -229,7 +229,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -293,8 +293,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -350,8 +348,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
-SUBDIRS = plugingui tools include src vst lv2 drumgizmo man test
-DISTDIRS = plugingui tools include src vst lv2 drumgizmo man test
+SUBDIRS = plugingui tools include src plugin drumgizmo man test
+DISTDIRS = plugingui tools include src plugin drumgizmo man test
EXTRA_DIST = \
version.h \
hugin/hugin.h \
@@ -359,7 +357,9 @@ EXTRA_DIST = \
hugin/hugin.c \
hugin/hugin_util.h \
hugin/hugin_syslog.h \
- hugin/hugin_syslog.c
+ hugin/hugin_syslog.c \
+ hugin/hugin_filter.h \
+ hugin/hugin_filter.c
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
diff --git a/README b/README
index f73cf72..f75599a 100644
--- a/README
+++ b/README
@@ -1,41 +1,71 @@
Installation Instructions
*************************
+NOTE1: Certain audio-centric Linux distros such as KxStudio has DrumGizmo
+included in the repository. To install it on such systems, use the distros
+package manager, search for it and install it. Please refer to each distro's
+documentation for detailed instructions on how to do this.
-Compiling and installing the LV2 plugin
+NOTE2: Be aware that if you are planning on running the LV2 plugin from within
+one of the binary releases of Ardour, you must make sure that drumgizmo is using
+the same version of libpng, pthread and expat as Ardour was compiled with (or
+at least versions matching the ABI), otherwise the plugin will show strange
+behaviour or even crash upon load.
+
+Compiling and Installing on linux (LV2)
=======================================
-If you extracted the code from a tar-ball skip to the "Configuring" section.
-
-Preparing code from git
------------------------
-If you cloned the repository from git, make sure to run the following commands
-in order to obtain the hugin debug code:
- git submodule init
- git submodule update
-
-After that you need to run ./autogen.sh
-
-Configuring
------------
-Run ./configure --enable-lv2 --prefix=/usr
-Then run 'make && make install' and the plugin should be installed in
-/usr/lib/lv2/drumgizmo.lv2
+This guide will show you how to unpack, compile and install the lv2 version
+of the drumgizmo plugin. It will also show how to make it usable for the LV2
+host Ardour3.
+
+Prerequisites
+-------------
+* lv2-devel package >= 1.0
+* libsndfile-devel >= 1.0.21
+* zita-resampler-devel (no minimal version specified)
+* libexpat-devel (no minimal version specified)
+* pkg-config >= 0.23
+* Xlib >= 1.0
+* libpng >= 1.2
+* libsmf (no minimal version specified)
+* pthread (no minimal version specified)
+* libcppunit-dev (only necessary when compiling from git sources)
+
+Compiling source tarball
+------------------------
+$ tar xvzf drumgizmo-[version].tar.gz (you probably already did this)
+$ cd drumgizmo-[version]
+$ ./configure --prefix=$PWD/install --enable-lv2
+$ make
+$ make install
+
+Compiling from git sources
+--------------------------
+$ git clone http://git.drumgizmo.org/drumgizmo.git
+$ git submodule init
+$ git submodule update
+$ ./autogen.sh
+$ ./configure --prefix=$PWD/install --enable-lv2
+
If you want to compile only the LV2 parts of the plugin use
'--disable-editor --disable-cli' as additional parameters to the configure
script.
-The LV2 plugin requires the following dependencies:
-pkg-config >= 0.23
-lv2 >= 1.0
-Xlib >= 1.0
-sndfile >= 1.0.21
-libpng >= 1.2
-pthread (no minimal version specified)
-expat (no minimal version specified)
-
-Be aware that if you are planning on running the LV2 plugin from within one
-of the binary releases of Ardour, you must make sure that drumgizmo is using
-the same version of libpng, pthread and expat as Ardour was compiled with (or
-at least versions matching the ABI), otherwise the plugin will show strange
-behaviour or even crash upon load.
+Now compile and install
+$ make
+$ make install
+
+Installing for use with Ardour3
+-------------------------------
+When the make install step has been successfully performed the source directory
+will contain a folder named install. In this folder the:
+
+ install/lib/lv2/drumgizmo.lv2
+
+... is located. This folder contain all the files needed for the plugin to run.
+In order to make it work with Ardour3, either copy this directory to the lv2
+plugin dir (usually /usr/lib/lv2) or create a symbolic link to the directory
+$ ln -s [dg path]/install/lib/lv2/drumgizmo.lv2 /usr/lib/lv2/drumgizmo.lv2
+You need to be root to do this. Keep in mind that the lv2 directory differs from
+distro to distro, so do a search for it in order to verify the correct location.
\ No newline at end of file
diff --git a/config.h.in b/config.h.in
index 7a53563..01a4e91 100644
--- a/config.h.in
+++ b/config.h.in
@@ -81,3 +81,14 @@
/* Use resample */
#undef WITH_RESAMPLER
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
diff --git a/configure b/configure
index 6d87794..687acbd 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for drumgizmo 0.9.8.1.
+# Generated by GNU Autoconf 2.69 for drumgizmo 0.9.9.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='drumgizmo'
PACKAGE_TARNAME='drumgizmo'
-PACKAGE_VERSION='0.9.8.1'
-PACKAGE_STRING='drumgizmo 0.9.8.1'
+PACKAGE_VERSION='0.9.9'
+PACKAGE_STRING='drumgizmo 0.9.9'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -640,8 +640,6 @@ EXPAT_LIBS
EXPAT_CFLAGS
PTHREAD_LIBS
PTHREAD_CFLAGS
-ZLIB_LIBS
-ZLIB_CFLAGS
ZITA_LIBS
ZITA_CPPFLAGS
SAMPLERATE_LIBS
@@ -686,10 +684,14 @@ LV2_CFLAGS
CPPUNIT_LIBS
CPPUNIT_CFLAGS
CPPUNIT_CONFIG
+ENABLE_X11_FALSE
+ENABLE_X11_TRUE
+ENABLE_WIN32_FALSE
+ENABLE_WIN32_TRUE
ENABLE_PUGL_FALSE
ENABLE_PUGL_TRUE
GUI_LIBS
-GUI_CFLAGS
+GUI_CPPFLAGS
X11_LIBS
X11_CFLAGS
PKG_CONFIG_LIBDIR
@@ -826,6 +828,7 @@ enable_fast_install
with_gnu_ld
with_sysroot
enable_libtool_lock
+enable_largefile
with_debug
enable_gui
with_test
@@ -874,8 +877,6 @@ SNDFILE_CFLAGS
SNDFILE_LIBS
SAMPLERATE_CFLAGS
SAMPLERATE_LIBS
-ZLIB_CFLAGS
-ZLIB_LIBS
JACK_CFLAGS
JACK_LIBS'
@@ -1418,7 +1419,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures drumgizmo 0.9.8.1 to adapt to many kinds of systems.
+\`configure' configures drumgizmo 0.9.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1488,7 +1489,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of drumgizmo 0.9.8.1:";;
+ short | recursive ) echo "Configuration of drumgizmo 0.9.9:";;
esac
cat <<\_ACEOF
@@ -1507,6 +1508,7 @@ Optional Features:
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-largefile omit support for large files
--enable-gui=backend Use specified gui backend. Can be win32, x11, pugl
or auto [default=auto]
--enable-lv2 Compile the LV2 plugin [default=no]
@@ -1576,8 +1578,6 @@ Some influential environment variables:
C compiler flags for SAMPLERATE, overriding pkg-config
SAMPLERATE_LIBS
linker flags for SAMPLERATE, overriding pkg-config
- ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config
- ZLIB_LIBS linker flags for ZLIB, overriding pkg-config
JACK_CFLAGS C compiler flags for JACK, overriding pkg-config
JACK_LIBS linker flags for JACK, overriding pkg-config
@@ -1647,7 +1647,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-drumgizmo configure 0.9.8.1
+drumgizmo configure 0.9.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2133,7 +2133,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by drumgizmo $as_me 0.9.8.1, which was
+It was created by drumgizmo $as_me 0.9.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2997,7 +2997,7 @@ fi
# Define the identity of the package.
PACKAGE='drumgizmo'
- VERSION='0.9.8.1'
+ VERSION='0.9.9'
cat >>confdefs.h <<_ACEOF
@@ -15348,8 +15348,311 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+
+
+fi
+
+
need_jack=no
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+TMP_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS=-std=c++11
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CXX supports -std=c++11" >&5
+$as_echo_n "checking whether CXX supports -std=c++11... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CXXFLAGS=-std=c++0x
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CXX supports -std=c++0x" >&5
+$as_echo_n "checking whether CXX supports -std=c++0x... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "Compiler does not support c++11" "$LINENO" 5
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CXXFLAGS="$TMP_CXXFLAGS $CXXFLAGS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 'override' and 'final' keywords are supported" >&5
+$as_echo_n "checking whether 'override' and 'final' keywords are supported... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ class A { virtual void foo() {} };
+ class B : public A { virtual void foo() override {} };
+ class C : public B { virtual void foo() final {} };
+
+
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (deploying fix)" >&5
+$as_echo "no (deploying fix)" >&6; }
+ CXXFLAGS="$CXXFLAGS -Doverride=\"\" -Dfinal=\"\""
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
@@ -15482,7 +15785,7 @@ fi
if test "x$with_debug" == "xyes"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Building with debug support!" >&5
$as_echo "$as_me: WARNING: *** Building with debug support!" >&2;}
- CXXFLAGS="$CXXFLAGS -Wall -Werror -g"
+ CXXFLAGS="$CXXFLAGS -Wall -Werror -g -Wl,--no-undefined"
HUGIN_PARM=""
fi
@@ -15508,7 +15811,7 @@ $as_echo "Auto setting gui based on host: $host_os" >&6; }
case $host_os in #(
darwin*) :
enable_gui="" ;; #(
- linux*|*BSD*) :
+ linux*|*bsd*) :
enable_gui="x11" ;; #(
mingw*|windows*|winnt|cygwin) :
enable_gui="win32" ;; #(
@@ -15614,17 +15917,17 @@ $as_echo "yes" >&6; }
fi
- GUI_CFLAGS="-DX11 $X11_CFLAGS"
+ GUI_CPPFLAGS="-DX11 $X11_CFLAGS"
GUI_LIBS="$X11_LIBS"
elif test "x$enable_gui" = "xwin32"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting gui backend to Win32" >&5
$as_echo "Setting gui backend to Win32" >&6; }
- GUI_CFLAGS="-DWIN32"
+ GUI_CPPFLAGS="-DWIN32"
GUI_LIBS="-lgdi32 -lsetupapi -lws2_32"
elif test "x$enable_gui" = "xpugl"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting gui backend to Pugl" >&5
$as_echo "Setting gui backend to Pugl" >&6; }
- GUI_CFLAGS="-DPUGL -I../../pugl"
+ GUI_CPPFLAGS="-DPUGL -I../../pugl"
GUI_LIBS="-lGLU -lGL -lglut"
else
as_fn_error $? "*** No GUI backend has been selected ***" "$LINENO" 5
@@ -15642,6 +15945,22 @@ else
ENABLE_PUGL_FALSE=
fi
+ if test "x$enable_gui" = "xwin32"; then
+ ENABLE_WIN32_TRUE=
+ ENABLE_WIN32_FALSE='#'
+else
+ ENABLE_WIN32_TRUE='#'
+ ENABLE_WIN32_FALSE=
+fi
+
+ if test "x$enable_gui" = "xx11"; then
+ ENABLE_X11_TRUE=
+ ENABLE_X11_FALSE='#'
+else
+ ENABLE_X11_TRUE='#'
+ ENABLE_X11_FALSE=
+fi
+
# Check whether --with-test was given.
@@ -15934,7 +16253,7 @@ if test "x$enable_vst" = "xyes"; then :
VST_SOURCE_PATH="$with_vst_sources"
- ac_config_files="$ac_config_files vst/Makefile.mingw32"
+ ac_config_files="$ac_config_files plugin/Makefile.mingw32"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: *** VST plugin will not be compiled ***" >&5
@@ -16679,101 +16998,6 @@ fi
fi
-#dnl ======================
-#dnl Check for zlib
-#dnl ======================
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZLIB" >&5
-$as_echo_n "checking for ZLIB... " >&6; }
-
-if test -n "$ZLIB_CFLAGS"; then
- pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.3") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.3" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$ZLIB_LIBS"; then
- pkg_cv_ZLIB_LIBS="$ZLIB_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.3") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.3" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib >= 1.2.3" 2>&1`
- else
- ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib >= 1.2.3" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$ZLIB_PKG_ERRORS" >&5
-
- as_fn_error $? "Package requirements (zlib >= 1.2.3) were not met:
-
-$ZLIB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables ZLIB_CFLAGS
-and ZLIB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables ZLIB_CFLAGS
-and ZLIB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
- ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS
- ZLIB_LIBS=$pkg_cv_ZLIB_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
tmp_CXXFLAGS="$CXXFLAGS"
tmp_CPPFLAGS="$CPPFLAGS"
tmp_CFLAGS="$CFLAGS"
@@ -17097,11 +17321,7 @@ fi
-
-
-# au/Makefile
-
-ac_config_files="$ac_config_files Makefile tools/Makefile src/Makefile vst/Makefile lv2/Makefile plugingui/Makefile include/Makefile man/Makefile test/Makefile drumgizmo/Makefile drumgizmo/input/Makefile drumgizmo/input/dummy/Makefile drumgizmo/input/test/Makefile drumgizmo/input/jackmidi/Makefile drumgizmo/input/midifile/Makefile drumgizmo/output/Makefile drumgizmo/output/dummy/Makefile drumgizmo/output/alsa/Makefile drumgizmo/output/jackaudio/Makefile drumgizmo/output/wavfile/Makefile"
+ac_config_files="$ac_config_files Makefile tools/Makefile src/Makefile plugin/Makefile plugingui/Makefile include/Makefile man/Makefile test/Makefile drumgizmo/Makefile"
cat >confcache <<\_ACEOF
@@ -17245,6 +17465,14 @@ if test -z "${ENABLE_PUGL_TRUE}" && test -z "${ENABLE_PUGL_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_PUGL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ENABLE_WIN32_TRUE}" && test -z "${ENABLE_WIN32_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_X11_TRUE}" && test -z "${ENABLE_X11_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ENABLE_LV2_TRUE}" && test -z "${ENABLE_LV2_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_LV2\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -17686,7 +17914,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by drumgizmo $as_me 0.9.8.1, which was
+This file was extended by drumgizmo $as_me 0.9.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17752,7 +17980,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-drumgizmo config.status 0.9.8.1
+drumgizmo config.status 0.9.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -18259,27 +18487,16 @@ do
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "vst/Makefile.mingw32") CONFIG_FILES="$CONFIG_FILES vst/Makefile.mingw32" ;;
+ "plugin/Makefile.mingw32") CONFIG_FILES="$CONFIG_FILES plugin/Makefile.mingw32" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "vst/Makefile") CONFIG_FILES="$CONFIG_FILES vst/Makefile" ;;
- "lv2/Makefile") CONFIG_FILES="$CONFIG_FILES lv2/Makefile" ;;
+ "plugin/Makefile") CONFIG_FILES="$CONFIG_FILES plugin/Makefile" ;;
"plugingui/Makefile") CONFIG_FILES="$CONFIG_FILES plugingui/Makefile" ;;
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
"drumgizmo/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/Makefile" ;;
- "drumgizmo/input/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/input/Makefile" ;;
- "drumgizmo/input/dummy/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/input/dummy/Makefile" ;;
- "drumgizmo/input/test/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/input/test/Makefile" ;;
- "drumgizmo/input/jackmidi/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/input/jackmidi/Makefile" ;;
- "drumgizmo/input/midifile/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/input/midifile/Makefile" ;;
- "drumgizmo/output/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/output/Makefile" ;;
- "drumgizmo/output/dummy/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/output/dummy/Makefile" ;;
- "drumgizmo/output/alsa/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/output/alsa/Makefile" ;;
- "drumgizmo/output/jackaudio/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/output/jackaudio/Makefile" ;;
- "drumgizmo/output/wavfile/Makefile") CONFIG_FILES="$CONFIG_FILES drumgizmo/output/wavfile/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/configure.ac b/configure.ac
index 02027da..1745714 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,8 +10,56 @@ LT_INIT
AC_CONFIG_HEADERS(config.h)
+AC_SYS_LARGEFILE
+
need_jack=no
+dnl ===========================
+dnl Compile with C++11 support.
+dnl ===========================
+AC_LANG_PUSH([C++])
+TMP_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS=-std=c++11
+AC_MSG_CHECKING([whether CXX supports -std=c++11])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ CXXFLAGS=-std=c++0x
+ AC_MSG_CHECKING([whether CXX supports -std=c++0x])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Compiler does not support c++11])
+ ]
+ )
+]
+)
+CXXFLAGS="$TMP_CXXFLAGS $CXXFLAGS"
+AC_LANG_POP([C++])
+
+dnl ===========================
+dnl Check for override /final keywords support
+dnl ===========================
+AC_LANG_PUSH([C++])
+AC_MSG_CHECKING([whether 'override' and 'final' keywords are supported])
+AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [
+ class A { virtual void foo() {} };
+ class B : public A { virtual void foo() override {} };
+ class C : public B { virtual void foo() final {} };
+ ]
+ )
+ ],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no (deploying fix)])
+ CXXFLAGS="$CXXFLAGS -Doverride=\"\" -Dfinal=\"\""
+ ]
+)
+AC_LANG_POP([C++])
+
dnl ======================
dnl Init pkg-config
dnl ======================
@@ -23,7 +71,7 @@ AC_ARG_WITH([debug],
AS_IF([test "x$with_debug" == "xyes"],
[AC_MSG_WARN([*** Building with debug support!])
- CXXFLAGS="$CXXFLAGS -Wall -Werror -g"
+ CXXFLAGS="$CXXFLAGS -Wall -Werror -g -Wl,--no-undefined"
HUGIN_PARM=""]
)
@@ -43,7 +91,7 @@ AS_IF([test "x$enable_gui" = "xauto"],
[AC_MSG_RESULT([Auto setting gui based on host: $host_os])
AS_CASE([$host_os],
[darwin*], [enable_gui=""],
- [linux*|*BSD*], [enable_gui="x11"],
+ [linux*|*bsd*], [enable_gui="x11"],
[mingw*|windows*|winnt|cygwin], [enable_gui="win32"],
AC_MSG_ERROR([Your platform is not currently supported])
@@ -58,26 +106,28 @@ AS_IF(
dnl ======================
PKG_CHECK_MODULES(X11, x11 >= 1.0)
- GUI_CFLAGS="-DX11 $X11_CFLAGS"
+ GUI_CPPFLAGS="-DX11 $X11_CFLAGS"
GUI_LIBS="$X11_LIBS"],
[test "x$enable_gui" = "xwin32"],
[AC_MSG_RESULT([Setting gui backend to Win32])
- GUI_CFLAGS="-DWIN32"
+ GUI_CPPFLAGS="-DWIN32"
GUI_LIBS="-lgdi32 -lsetupapi -lws2_32"],
[test "x$enable_gui" = "xpugl"],
[AC_MSG_RESULT([Setting gui backend to Pugl])
- GUI_CFLAGS="-DPUGL -I../../pugl"
+ GUI_CPPFLAGS="-DPUGL -I../../pugl"
GUI_LIBS="-lGLU -lGL -lglut"],
AC_MSG_ERROR([*** No GUI backend has been selected ***])
)
-AC_SUBST(GUI_CFLAGS)
+AC_SUBST(GUI_CPPFLAGS)
AC_SUBST(GUI_LIBS)
AM_CONDITIONAL([ENABLE_PUGL], [test "x$enable_gui" = "xpugl"])
+AM_CONDITIONAL([ENABLE_WIN32], [test "x$enable_gui" = "xwin32"])
+AM_CONDITIONAL([ENABLE_X11], [test "x$enable_gui" = "xx11"])
dnl ======================
dnl Compile unit tests
@@ -127,7 +177,7 @@ AS_IF(
VST_SOURCE_PATH="$with_vst_sources"
AC_SUBST(VST_SOURCE_PATH)
AC_SUBST(VST_CPPFLAGS)
- AC_CONFIG_FILES(vst/Makefile.mingw32)],
+ AC_CONFIG_FILES(plugin/Makefile.mingw32)],
[AC_MSG_RESULT([*** VST plugin will not be compiled ***])
enable_vst=no]
@@ -182,7 +232,7 @@ AS_IF(
[AC_MSG_RESULT([*** input dummy plugin disabled per user request ***])
have_input_dummy=no]
)
-
+
dnl *** Test
AC_ARG_ENABLE([input_test],
AS_HELP_STRING([--disable-input-test], [Disable input test plugin [default=enabled]]),,
@@ -326,7 +376,7 @@ PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.20)
AC_ARG_ENABLE([resampler],
- AS_HELP_STRING([--enable-resampler[=lib]],
+ AS_HELP_STRING([--enable-resampler[=lib]],
[Enable resampling using libzita-resampler, set to 'src' to force use of libsamplerate (slow). [default=yes]]),,
[enable_resampler="yes"])
@@ -398,11 +448,6 @@ AS_IF([test x$enable_resampler == xsrc],
)]
)
-#dnl ======================
-#dnl Check for zlib
-#dnl ======================
-PKG_CHECK_MODULES(ZLIB, zlib >= 1.2.3)
-
dnl ======================
dnl Check for the pthread library
dnl ======================
@@ -519,30 +564,15 @@ AC_SUBST(CPPFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(LDFLAGS)
-
-
-# au/Makefile
-
AC_CONFIG_FILES(
Makefile
tools/Makefile
src/Makefile
- vst/Makefile
- lv2/Makefile
+ plugin/Makefile
plugingui/Makefile
include/Makefile
man/Makefile
test/Makefile
- drumgizmo/Makefile
- drumgizmo/input/Makefile
- drumgizmo/input/dummy/Makefile
- drumgizmo/input/test/Makefile
- drumgizmo/input/jackmidi/Makefile
- drumgizmo/input/midifile/Makefile
- drumgizmo/output/Makefile
- drumgizmo/output/dummy/Makefile
- drumgizmo/output/alsa/Makefile
- drumgizmo/output/jackaudio/Makefile
- drumgizmo/output/wavfile/Makefile)
+ drumgizmo/Makefile)
AC_OUTPUT()
diff --git a/drumgizmo/Makefile.am b/drumgizmo/Makefile.am
index 5220ae3..01a69af 100644
--- a/drumgizmo/Makefile.am
+++ b/drumgizmo/Makefile.am
@@ -4,30 +4,78 @@ if ENABLE_CLI
include $(top_srcdir)/src/Makefile.am.drumgizmo
-SUBDIRS = input output
-
bin_PROGRAMS = drumgizmo
drumgizmo_LDADD = $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS) -ldl $(JACK_LIBS)
+drumgizmo_LDFLAGS =
+
drumgizmo_CXXFLAGS = $(SNDFILE_CXXFLAGS) $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) \
-I$(top_srcdir)/include -I$(top_srcdir)/src \
- -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX $(JACK_CFLAGS) $(SSEFLAGS) \
- -DINPUT_PLUGIN_DIR=\"${INPUT_PLUGIN_DIR}\" \
- -DOUTPUT_PLUGIN_DIR=\"${OUTPUT_PLUGIN_DIR}\"
+ -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX -DWITH_HUG_FILTER \
+ $(JACK_CFLAGS) $(SSEFLAGS)
+
+drumgizmo_CFLAGS = -DWITH_HUG_MUTEX -DWITH_HUG_FILTER
drumgizmo_SOURCES = \
- audioinputenginedl.cc \
- audiooutputenginedl.cc \
drumgizmoc.cc \
jackclient.cc \
+ enginefactory.cc \
$(DRUMGIZMO_SOURCES) \
- $(top_srcdir)/hugin/hugin.c
+ $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/hugin/hugin_filter.c
+
+if HAVE_INPUT_DUMMY
+drumgizmo_SOURCES += input/inputdummy.cc
+drumgizmo_CXXFLAGS += -DHAVE_INPUT_DUMMY
+endif # HAVE_INPUT_DUMMY
+
+if HAVE_INPUT_MIDIFILE
+drumgizmo_CXXFLAGS += $(SMF_CFLAGS)
+drumgizmo_LDADD += $(SMF_LIBS)
+drumgizmo_SOURCES += input/midifile.cc
+drumgizmo_CXXFLAGS += -DHAVE_INPUT_MIDIFILE
+endif # HAVE_INPUT_MIDIFILE
+
+if HAVE_INPUT_JACKMIDI
+drumgizmo_SOURCES += input/jackmidi.cc
+drumgizmo_CXXFLAGS += -DHAVE_INPUT_JACKMIDI
+endif # HAVE_INPUT_JACKMIDI
+
+if HAVE_OUTPUT_DUMMY
+drumgizmo_SOURCES += output/outputdummy.cc
+drumgizmo_CXXFLAGS += -DHAVE_OUTPUT_DUMMY
+endif # HAVE_OUTPUT_DUMMY
+
+if HAVE_OUTPUT_WAVFILE
+drumgizmo_SOURCES += output/wavfile.cc
+drumgizmo_CXXFLAGS += -DHAVE_OUTPUT_WAVFILE
+endif # HAVE_OUTPUT_WAVFILE
+
+if HAVE_OUTPUT_ALSA
+drumgizmo_CXXFLAGS += $(ALSA_CFLAGS)
+drumgizmo_LDFLAGS += $(ALSA_LIBS)
+drumgizmo_SOURCES += output/alsa.cc
+drumgizmo_CXXFLAGS += -DHAVE_OUTPUT_ALSA
+endif # HAVE_OUTPUT_ALSA
+
+if HAVE_OUTPUT_JACKAUDIO
+drumgizmo_CXXFLAGS += $(JACK_CFLAGS)
+drumgizmo_LDFLAGS += $(JACK_LIBS)
+drumgizmo_SOURCES += output/jackaudio.cc
+drumgizmo_CXXFLAGS += -DHAVE_OUTPUT_JACKAUDIO
+endif # HAVE_OUTPUT_JACKAUDIO
EXTRA_DIST = \
- audioinputenginedl.h \
- audiooutputenginedl.h \
drumgizmoc.h \
- jackclient.h
+ jackclient.h \
+ enginefactory.h \
+ input/inputdummy.h \
+ input/jackmidi.h \
+ input/midifile.h \
+ output/alsa.h \
+ output/jackaudio.h \
+ output/outputdummy.h \
+ output/wavfile.h
-endif
+endif # ENABLE_CLI
diff --git a/drumgizmo/Makefile.in b/drumgizmo/Makefile.in
index f1d4ad3..b2ab3fa 100644
--- a/drumgizmo/Makefile.in
+++ b/drumgizmo/Makefile.in
@@ -14,6 +14,8 @@
@SET_MAKE@
+# -*- Makefile -*-
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -82,6 +84,29 @@ DIST_COMMON = $(top_srcdir)/src/Makefile.am.drumgizmo \
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp
@ENABLE_CLI_TRUE at bin_PROGRAMS = drumgizmo$(EXEEXT)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_DUMMY_TRUE at am__append_1 = input/inputdummy.cc
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_DUMMY_TRUE at am__append_2 = -DHAVE_INPUT_DUMMY
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE at am__append_3 = \
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE@ $(SMF_CFLAGS) \
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE@ -DHAVE_INPUT_MIDIFILE
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE at am__append_4 = $(SMF_LIBS)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE at am__append_5 = input/midifile.cc
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_JACKMIDI_TRUE at am__append_6 = input/jackmidi.cc
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_JACKMIDI_TRUE at am__append_7 = -DHAVE_INPUT_JACKMIDI
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_DUMMY_TRUE at am__append_8 = output/outputdummy.cc
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_DUMMY_TRUE at am__append_9 = -DHAVE_OUTPUT_DUMMY
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_WAVFILE_TRUE at am__append_10 = output/wavfile.cc
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_WAVFILE_TRUE at am__append_11 = -DHAVE_OUTPUT_WAVFILE
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE at am__append_12 = \
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE@ $(ALSA_CFLAGS) \
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE@ -DHAVE_OUTPUT_ALSA
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE at am__append_13 = $(ALSA_LIBS)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE at am__append_14 = output/alsa.cc
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE at am__append_15 = \
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE@ $(JACK_CFLAGS) \
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE@ -DHAVE_OUTPUT_JACKAUDIO
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE at am__append_16 = $(JACK_LIBS)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE at am__append_17 = output/jackaudio.cc
subdir = drumgizmo
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -93,12 +118,16 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
-am__drumgizmo_SOURCES_DIST = audioinputenginedl.cc \
- audiooutputenginedl.cc drumgizmoc.cc jackclient.cc \
+am__drumgizmo_SOURCES_DIST = drumgizmoc.cc jackclient.cc \
+ enginefactory.cc $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
$(top_srcdir)/src/audioinputenginemidi.cc \
$(top_srcdir)/src/audiofile.cc $(top_srcdir)/src/channel.cc \
$(top_srcdir)/src/channelmixer.cc \
$(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
$(top_srcdir)/src/configuration.cc \
$(top_srcdir)/src/configparser.cc \
$(top_srcdir)/src/drumgizmo.cc $(top_srcdir)/src/drumkit.cc \
@@ -106,6 +135,7 @@ am__drumgizmo_SOURCES_DIST = audioinputenginedl.cc \
$(top_srcdir)/src/drumkitparser.cc $(top_srcdir)/src/events.cc \
$(top_srcdir)/src/instrument.cc \
$(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
$(top_srcdir)/src/messagehandler.cc \
$(top_srcdir)/src/messagereceiver.cc \
$(top_srcdir)/src/midimapparser.cc \
@@ -114,13 +144,20 @@ am__drumgizmo_SOURCES_DIST = audioinputenginedl.cc \
$(top_srcdir)/src/sample.cc $(top_srcdir)/src/semaphore.cc \
$(top_srcdir)/src/saxparser.cc $(top_srcdir)/src/thread.cc \
$(top_srcdir)/src/velocity.cc $(top_srcdir)/src/versionstr.cc \
- $(top_srcdir)/hugin/hugin.c
- at ENABLE_CLI_TRUE@am__objects_1 = \
+ $(top_srcdir)/hugin/hugin.c $(top_srcdir)/hugin/hugin_filter.c \
+ input/inputdummy.cc input/midifile.cc input/jackmidi.cc \
+ output/outputdummy.cc output/wavfile.cc output/alsa.cc \
+ output/jackaudio.cc
+ at ENABLE_CLI_TRUE@am__objects_1 = drumgizmo-audiocachefile.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-audiocache.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-audiocacheeventhandler.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-audiocacheidmanager.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-audioinputenginemidi.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-audiofile.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-channel.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-channelmixer.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-chresampler.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-configfile.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-configuration.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-configparser.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-drumgizmo.$(OBJEXT) \
@@ -130,6 +167,7 @@ am__drumgizmo_SOURCES_DIST = audioinputenginedl.cc \
@ENABLE_CLI_TRUE@ drumgizmo-events.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-instrument.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-instrumentparser.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-memchecker.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-messagehandler.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-messagereceiver.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-midimapparser.$(OBJEXT) \
@@ -143,26 +181,39 @@ am__drumgizmo_SOURCES_DIST = audioinputenginedl.cc \
@ENABLE_CLI_TRUE@ drumgizmo-thread.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-velocity.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-versionstr.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_DUMMY_TRUE at am__objects_2 = drumgizmo-inputdummy.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE at am__objects_3 = drumgizmo-midifile.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_JACKMIDI_TRUE at am__objects_4 = drumgizmo-jackmidi.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_DUMMY_TRUE at am__objects_5 = drumgizmo-outputdummy.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_WAVFILE_TRUE at am__objects_6 = drumgizmo-wavfile.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_ALSA_TRUE at am__objects_7 = drumgizmo-alsa.$(OBJEXT)
+ at ENABLE_CLI_TRUE@@HAVE_OUTPUT_JACKAUDIO_TRUE at am__objects_8 = drumgizmo-jackaudio.$(OBJEXT)
@ENABLE_CLI_TRUE at am_drumgizmo_OBJECTS = \
- at ENABLE_CLI_TRUE@ drumgizmo-audioinputenginedl.$(OBJEXT) \
- at ENABLE_CLI_TRUE@ drumgizmo-audiooutputenginedl.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-drumgizmoc.$(OBJEXT) \
@ENABLE_CLI_TRUE@ drumgizmo-jackclient.$(OBJEXT) \
- at ENABLE_CLI_TRUE@ $(am__objects_1) hugin.$(OBJEXT)
+ at ENABLE_CLI_TRUE@ drumgizmo-enginefactory.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ $(am__objects_1) drumgizmo-hugin.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ drumgizmo-hugin_filter.$(OBJEXT) \
+ at ENABLE_CLI_TRUE@ $(am__objects_2) $(am__objects_3) \
+ at ENABLE_CLI_TRUE@ $(am__objects_4) $(am__objects_5) \
+ at ENABLE_CLI_TRUE@ $(am__objects_6) $(am__objects_7) \
+ at ENABLE_CLI_TRUE@ $(am__objects_8)
drumgizmo_OBJECTS = $(am_drumgizmo_OBJECTS)
am__DEPENDENCIES_1 =
@ENABLE_CLI_TRUE at am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
@ENABLE_CLI_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- at ENABLE_CLI_TRUE@ $(am__DEPENDENCIES_1)
- at ENABLE_CLI_TRUE@drumgizmo_DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ENABLE_CLI_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ at ENABLE_CLI_TRUE@@HAVE_INPUT_MIDIFILE_TRUE at am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
+ at ENABLE_CLI_TRUE@drumgizmo_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ at ENABLE_CLI_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ at ENABLE_CLI_TRUE@ $(am__DEPENDENCIES_3)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
drumgizmo_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(drumgizmo_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ $(CXXFLAGS) $(drumgizmo_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_ at AM_V@)
am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
am__v_P_0 = false
@@ -217,27 +268,11 @@ am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(drumgizmo_SOURCES)
DIST_SOURCES = $(am__drumgizmo_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -257,33 +292,7 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = input output
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
@@ -321,7 +330,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -385,8 +394,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -443,11 +450,16 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
DISTDIRS = input output
@ENABLE_CLI_TRUE at DRUMGIZMO_SOURCES = \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/audiocachefile.cc \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/audiocache.cc \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/audiocacheidmanager.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/audioinputenginemidi.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/audiofile.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/channel.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/channelmixer.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/chresampler.cc \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/configfile.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/configuration.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/configparser.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/drumgizmo.cc \
@@ -457,6 +469,7 @@ DISTDIRS = input output
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/events.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/instrument.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/instrumentparser.cc \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/src/memchecker.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/messagehandler.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/messagereceiver.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/midimapparser.cc \
@@ -471,30 +484,50 @@ DISTDIRS = input output
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/velocity.cc \
@ENABLE_CLI_TRUE@ $(top_srcdir)/src/versionstr.cc
- at ENABLE_CLI_TRUE@DRUMGIZMO_LIBS = $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS)
- at ENABLE_CLI_TRUE@SUBDIRS = input output
- at ENABLE_CLI_TRUE@drumgizmo_LDADD = $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS) -ldl $(JACK_LIBS)
- at ENABLE_CLI_TRUE@drumgizmo_CXXFLAGS = $(SNDFILE_CXXFLAGS) $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) \
+ at ENABLE_CLI_TRUE@DRUMGIZMO_LIBS = \
+ at ENABLE_CLI_TRUE@ $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS) \
+ at ENABLE_CLI_TRUE@ $(PTHREAD_LIBS)
+
+ at ENABLE_CLI_TRUE@DRUMGIZMO_CPPFLAGS = \
+ at ENABLE_CLI_TRUE@ -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/hugin \
+ at ENABLE_CLI_TRUE@ $(SSEFLAGS) \
+ at ENABLE_CLI_TRUE@ $(ZITA_CPPFLAGS) $(SNDFILE_CXXFLAGS) $(EXPAT_CFLAGS) $(SAMPLERATE_CFLAGS) \
+ at ENABLE_CLI_TRUE@ $(PTHREAD_CFLAGS)
+
+ at ENABLE_CLI_TRUE@drumgizmo_LDADD = $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS) \
+ at ENABLE_CLI_TRUE@ -ldl $(JACK_LIBS) $(am__append_4)
+ at ENABLE_CLI_TRUE@drumgizmo_LDFLAGS = $(am__append_13) $(am__append_16)
+ at ENABLE_CLI_TRUE@drumgizmo_CXXFLAGS = $(SNDFILE_CXXFLAGS) \
+ at ENABLE_CLI_TRUE@ $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) \
@ENABLE_CLI_TRUE@ -I$(top_srcdir)/include -I$(top_srcdir)/src \
- at ENABLE_CLI_TRUE@ -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX $(JACK_CFLAGS) $(SSEFLAGS) \
- at ENABLE_CLI_TRUE@ -DINPUT_PLUGIN_DIR=\"${INPUT_PLUGIN_DIR}\" \
- at ENABLE_CLI_TRUE@ -DOUTPUT_PLUGIN_DIR=\"${OUTPUT_PLUGIN_DIR}\"
-
- at ENABLE_CLI_TRUE@drumgizmo_SOURCES = \
- at ENABLE_CLI_TRUE@ audioinputenginedl.cc \
- at ENABLE_CLI_TRUE@ audiooutputenginedl.cc \
- at ENABLE_CLI_TRUE@ drumgizmoc.cc \
- at ENABLE_CLI_TRUE@ jackclient.cc \
- at ENABLE_CLI_TRUE@ $(DRUMGIZMO_SOURCES) \
- at ENABLE_CLI_TRUE@ $(top_srcdir)/hugin/hugin.c
-
+ at ENABLE_CLI_TRUE@ -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX \
+ at ENABLE_CLI_TRUE@ -DWITH_HUG_FILTER $(JACK_CFLAGS) $(SSEFLAGS) \
+ at ENABLE_CLI_TRUE@ $(am__append_2) $(am__append_3) \
+ at ENABLE_CLI_TRUE@ $(am__append_7) $(am__append_9) \
+ at ENABLE_CLI_TRUE@ $(am__append_11) $(am__append_12) \
+ at ENABLE_CLI_TRUE@ $(am__append_15)
+ at ENABLE_CLI_TRUE@drumgizmo_CFLAGS = -DWITH_HUG_MUTEX -DWITH_HUG_FILTER
+ at ENABLE_CLI_TRUE@drumgizmo_SOURCES = drumgizmoc.cc jackclient.cc \
+ at ENABLE_CLI_TRUE@ enginefactory.cc $(DRUMGIZMO_SOURCES) \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/hugin/hugin.c \
+ at ENABLE_CLI_TRUE@ $(top_srcdir)/hugin/hugin_filter.c \
+ at ENABLE_CLI_TRUE@ $(am__append_1) $(am__append_5) \
+ at ENABLE_CLI_TRUE@ $(am__append_6) $(am__append_8) \
+ at ENABLE_CLI_TRUE@ $(am__append_10) $(am__append_14) \
+ at ENABLE_CLI_TRUE@ $(am__append_17)
@ENABLE_CLI_TRUE at EXTRA_DIST = \
- at ENABLE_CLI_TRUE@ audioinputenginedl.h \
- at ENABLE_CLI_TRUE@ audiooutputenginedl.h \
@ENABLE_CLI_TRUE@ drumgizmoc.h \
- at ENABLE_CLI_TRUE@ jackclient.h
-
-all: all-recursive
+ at ENABLE_CLI_TRUE@ jackclient.h \
+ at ENABLE_CLI_TRUE@ enginefactory.h \
+ at ENABLE_CLI_TRUE@ input/inputdummy.h \
+ at ENABLE_CLI_TRUE@ input/jackmidi.h \
+ at ENABLE_CLI_TRUE@ input/midifile.h \
+ at ENABLE_CLI_TRUE@ output/alsa.h \
+ at ENABLE_CLI_TRUE@ output/jackaudio.h \
+ at ENABLE_CLI_TRUE@ output/outputdummy.h \
+ at ENABLE_CLI_TRUE@ output/wavfile.h
+
+all: all-am
.SUFFIXES:
.SUFFIXES: .c .cc .lo .o .obj
@@ -589,13 +622,17 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-alsa.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiocache.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiocacheeventhandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiocacheidmanager.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiofile.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audioinputenginedl.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audioinputenginemidi.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-audiooutputenginedl.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-channel.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-channelmixer.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-chresampler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-configfile.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-configparser.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-configuration.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-drumgizmo.Po at am__quote@
@@ -603,15 +640,24 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-drumkit.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-drumkitloader.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-drumkitparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-enginefactory.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-events.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-hugin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-hugin_filter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-inputdummy.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-instrument.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-instrumentparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-jackaudio.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-jackclient.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-jackmidi.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-memchecker.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-messagehandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-messagereceiver.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-midifile.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-midimapparser.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-midimapper.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-outputdummy.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-path.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-powerlist.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-sample.Po at am__quote@
@@ -620,7 +666,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-thread.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-velocity.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-versionstr.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo-wavfile.Po at am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -643,19 +689,33 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-hugin.o: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.o -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.o' libtool=no @AMDEPBACKSLASH@
+drumgizmo-hugin.o: $(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -MT drumgizmo-hugin.o -MD -MP -MF $(DEPDIR)/drumgizmo-hugin.Tpo -c -o drumgizmo-hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-hugin.Tpo $(DEPDIR)/drumgizmo-hugin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='drumgizmo-hugin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -c -o drumgizmo-hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+
+drumgizmo-hugin.obj: $(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -MT drumgizmo-hugin.obj -MD -MP -MF $(DEPDIR)/drumgizmo-hugin.Tpo -c -o drumgizmo-hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-hugin.Tpo $(DEPDIR)/drumgizmo-hugin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='drumgizmo-hugin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -c -o drumgizmo-hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
+
+drumgizmo-hugin_filter.o: $(top_srcdir)/hugin/hugin_filter.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -MT drumgizmo-hugin_filter.o -MD -MP -MF $(DEPDIR)/drumgizmo-hugin_filter.Tpo -c -o drumgizmo-hugin_filter.o `test -f '$(top_srcdir)/hugin/hugin_filter.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_filter.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-hugin_filter.Tpo $(DEPDIR)/drumgizmo-hugin_filter.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_filter.c' object='drumgizmo-hugin_filter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -c -o drumgizmo-hugin_filter.o `test -f '$(top_srcdir)/hugin/hugin_filter.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_filter.c
-hugin.obj: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.obj -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.obj' libtool=no @AMDEPBACKSLASH@
+drumgizmo-hugin_filter.obj: $(top_srcdir)/hugin/hugin_filter.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -MT drumgizmo-hugin_filter.obj -MD -MP -MF $(DEPDIR)/drumgizmo-hugin_filter.Tpo -c -o drumgizmo-hugin_filter.obj `if test -f '$(top_srcdir)/hugin/hugin_filter.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin_filter.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin_filter.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-hugin_filter.Tpo $(DEPDIR)/drumgizmo-hugin_filter.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_filter.c' object='drumgizmo-hugin_filter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CFLAGS) $(CFLAGS) -c -o drumgizmo-hugin_filter.obj `if test -f '$(top_srcdir)/hugin/hugin_filter.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin_filter.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin_filter.c'; fi`
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -678,34 +738,6 @@ hugin.obj: $(top_srcdir)/hugin/hugin.c
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-drumgizmo-audioinputenginedl.o: audioinputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audioinputenginedl.o -MD -MP -MF $(DEPDIR)/drumgizmo-audioinputenginedl.Tpo -c -o drumgizmo-audioinputenginedl.o `test -f 'audioinputenginedl.cc' || echo '$(srcdir)/'`audioinputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audioinputenginedl.Tpo $(DEPDIR)/drumgizmo-audioinputenginedl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audioinputenginedl.cc' object='drumgizmo-audioinputenginedl.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audioinputenginedl.o `test -f 'audioinputenginedl.cc' || echo '$(srcdir)/'`audioinputenginedl.cc
-
-drumgizmo-audioinputenginedl.obj: audioinputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audioinputenginedl.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audioinputenginedl.Tpo -c -o drumgizmo-audioinputenginedl.obj `if test -f 'audioinputenginedl.cc'; then $(CYGPATH_W) 'audioinputenginedl.cc'; else $(CYGPATH_W) '$(srcdir)/audioinputenginedl.cc'; fi`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audioinputenginedl.Tpo $(DEPDIR)/drumgizmo-audioinputenginedl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audioinputenginedl.cc' object='drumgizmo-audioinputenginedl.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audioinputenginedl.obj `if test -f 'audioinputenginedl.cc'; then $(CYGPATH_W) 'audioinputenginedl.cc'; else $(CYGPATH_W) '$(srcdir)/audioinputenginedl.cc'; fi`
-
-drumgizmo-audiooutputenginedl.o: audiooutputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiooutputenginedl.o -MD -MP -MF $(DEPDIR)/drumgizmo-audiooutputenginedl.Tpo -c -o drumgizmo-audiooutputenginedl.o `test -f 'audiooutputenginedl.cc' || echo '$(srcdir)/'`audiooutputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiooutputenginedl.Tpo $(DEPDIR)/drumgizmo-audiooutputenginedl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiooutputenginedl.cc' object='drumgizmo-audiooutputenginedl.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiooutputenginedl.o `test -f 'audiooutputenginedl.cc' || echo '$(srcdir)/'`audiooutputenginedl.cc
-
-drumgizmo-audiooutputenginedl.obj: audiooutputenginedl.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiooutputenginedl.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audiooutputenginedl.Tpo -c -o drumgizmo-audiooutputenginedl.obj `if test -f 'audiooutputenginedl.cc'; then $(CYGPATH_W) 'audiooutputenginedl.cc'; else $(CYGPATH_W) '$(srcdir)/audiooutputenginedl.cc'; fi`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiooutputenginedl.Tpo $(DEPDIR)/drumgizmo-audiooutputenginedl.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiooutputenginedl.cc' object='drumgizmo-audiooutputenginedl.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiooutputenginedl.obj `if test -f 'audiooutputenginedl.cc'; then $(CYGPATH_W) 'audiooutputenginedl.cc'; else $(CYGPATH_W) '$(srcdir)/audiooutputenginedl.cc'; fi`
-
drumgizmo-drumgizmoc.o: drumgizmoc.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-drumgizmoc.o -MD -MP -MF $(DEPDIR)/drumgizmo-drumgizmoc.Tpo -c -o drumgizmo-drumgizmoc.o `test -f 'drumgizmoc.cc' || echo '$(srcdir)/'`drumgizmoc.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-drumgizmoc.Tpo $(DEPDIR)/drumgizmo-drumgizmoc.Po
@@ -734,6 +766,76 @@ drumgizmo-jackclient.obj: jackclient.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-jackclient.obj `if test -f 'jackclient.cc'; then $(CYGPATH_W) 'jackclient.cc'; else $(CYGPATH_W) '$(srcdir)/jackclient.cc'; fi`
+drumgizmo-enginefactory.o: enginefactory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-enginefactory.o -MD -MP -MF $(DEPDIR)/drumgizmo-enginefactory.Tpo -c -o drumgizmo-enginefactory.o `test -f 'enginefactory.cc' || echo '$(srcdir)/'`enginefactory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-enginefactory.Tpo $(DEPDIR)/drumgizmo-enginefactory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='enginefactory.cc' object='drumgizmo-enginefactory.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-enginefactory.o `test -f 'enginefactory.cc' || echo '$(srcdir)/'`enginefactory.cc
+
+drumgizmo-enginefactory.obj: enginefactory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-enginefactory.obj -MD -MP -MF $(DEPDIR)/drumgizmo-enginefactory.Tpo -c -o drumgizmo-enginefactory.obj `if test -f 'enginefactory.cc'; then $(CYGPATH_W) 'enginefactory.cc'; else $(CYGPATH_W) '$(srcdir)/enginefactory.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-enginefactory.Tpo $(DEPDIR)/drumgizmo-enginefactory.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='enginefactory.cc' object='drumgizmo-enginefactory.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-enginefactory.obj `if test -f 'enginefactory.cc'; then $(CYGPATH_W) 'enginefactory.cc'; else $(CYGPATH_W) '$(srcdir)/enginefactory.cc'; fi`
+
+drumgizmo-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocachefile.o -MD -MP -MF $(DEPDIR)/drumgizmo-audiocachefile.Tpo -c -o drumgizmo-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocachefile.Tpo $(DEPDIR)/drumgizmo-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='drumgizmo-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+drumgizmo-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocachefile.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audiocachefile.Tpo -c -o drumgizmo-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocachefile.Tpo $(DEPDIR)/drumgizmo-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='drumgizmo-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+drumgizmo-audiocache.o: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocache.o -MD -MP -MF $(DEPDIR)/drumgizmo-audiocache.Tpo -c -o drumgizmo-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocache.Tpo $(DEPDIR)/drumgizmo-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='drumgizmo-audiocache.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+drumgizmo-audiocache.obj: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocache.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audiocache.Tpo -c -o drumgizmo-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocache.Tpo $(DEPDIR)/drumgizmo-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='drumgizmo-audiocache.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+
+drumgizmo-audiocacheeventhandler.o: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocacheeventhandler.o -MD -MP -MF $(DEPDIR)/drumgizmo-audiocacheeventhandler.Tpo -c -o drumgizmo-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocacheeventhandler.Tpo $(DEPDIR)/drumgizmo-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='drumgizmo-audiocacheeventhandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+drumgizmo-audiocacheeventhandler.obj: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocacheeventhandler.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audiocacheeventhandler.Tpo -c -o drumgizmo-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocacheeventhandler.Tpo $(DEPDIR)/drumgizmo-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='drumgizmo-audiocacheeventhandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+
+drumgizmo-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/drumgizmo-audiocacheidmanager.Tpo -c -o drumgizmo-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocacheidmanager.Tpo $(DEPDIR)/drumgizmo-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='drumgizmo-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+drumgizmo-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/drumgizmo-audiocacheidmanager.Tpo -c -o drumgizmo-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audiocacheidmanager.Tpo $(DEPDIR)/drumgizmo-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='drumgizmo-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
drumgizmo-audioinputenginemidi.o: $(top_srcdir)/src/audioinputenginemidi.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-audioinputenginemidi.o -MD -MP -MF $(DEPDIR)/drumgizmo-audioinputenginemidi.Tpo -c -o drumgizmo-audioinputenginemidi.o `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-audioinputenginemidi.Tpo $(DEPDIR)/drumgizmo-audioinputenginemidi.Po
@@ -804,6 +906,20 @@ drumgizmo-chresampler.obj: $(top_srcdir)/src/chresampler.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-chresampler.obj `if test -f '$(top_srcdir)/src/chresampler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/chresampler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/chresampler.cc'; fi`
+drumgizmo-configfile.o: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-configfile.o -MD -MP -MF $(DEPDIR)/drumgizmo-configfile.Tpo -c -o drumgizmo-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-configfile.Tpo $(DEPDIR)/drumgizmo-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='drumgizmo-configfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+drumgizmo-configfile.obj: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-configfile.obj -MD -MP -MF $(DEPDIR)/drumgizmo-configfile.Tpo -c -o drumgizmo-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-configfile.Tpo $(DEPDIR)/drumgizmo-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='drumgizmo-configfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+
drumgizmo-configuration.o: $(top_srcdir)/src/configuration.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-configuration.o -MD -MP -MF $(DEPDIR)/drumgizmo-configuration.Tpo -c -o drumgizmo-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-configuration.Tpo $(DEPDIR)/drumgizmo-configuration.Po
@@ -930,6 +1046,20 @@ drumgizmo-instrumentparser.obj: $(top_srcdir)/src/instrumentparser.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-instrumentparser.obj `if test -f '$(top_srcdir)/src/instrumentparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrumentparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrumentparser.cc'; fi`
+drumgizmo-memchecker.o: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-memchecker.o -MD -MP -MF $(DEPDIR)/drumgizmo-memchecker.Tpo -c -o drumgizmo-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-memchecker.Tpo $(DEPDIR)/drumgizmo-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='drumgizmo-memchecker.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+
+drumgizmo-memchecker.obj: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-memchecker.obj -MD -MP -MF $(DEPDIR)/drumgizmo-memchecker.Tpo -c -o drumgizmo-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-memchecker.Tpo $(DEPDIR)/drumgizmo-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='drumgizmo-memchecker.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+
drumgizmo-messagehandler.o: $(top_srcdir)/src/messagehandler.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-messagehandler.o -MD -MP -MF $(DEPDIR)/drumgizmo-messagehandler.Tpo -c -o drumgizmo-messagehandler.o `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-messagehandler.Tpo $(DEPDIR)/drumgizmo-messagehandler.Po
@@ -1112,67 +1242,118 @@ drumgizmo-versionstr.obj: $(top_srcdir)/src/versionstr.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-versionstr.obj `if test -f '$(top_srcdir)/src/versionstr.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/versionstr.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/versionstr.cc'; fi`
+drumgizmo-inputdummy.o: input/inputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-inputdummy.o -MD -MP -MF $(DEPDIR)/drumgizmo-inputdummy.Tpo -c -o drumgizmo-inputdummy.o `test -f 'input/inputdummy.cc' || echo '$(srcdir)/'`input/inputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-inputdummy.Tpo $(DEPDIR)/drumgizmo-inputdummy.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/inputdummy.cc' object='drumgizmo-inputdummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-inputdummy.o `test -f 'input/inputdummy.cc' || echo '$(srcdir)/'`input/inputdummy.cc
+
+drumgizmo-inputdummy.obj: input/inputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-inputdummy.obj -MD -MP -MF $(DEPDIR)/drumgizmo-inputdummy.Tpo -c -o drumgizmo-inputdummy.obj `if test -f 'input/inputdummy.cc'; then $(CYGPATH_W) 'input/inputdummy.cc'; else $(CYGPATH_W) '$(srcdir)/input/inputdummy.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-inputdummy.Tpo $(DEPDIR)/drumgizmo-inputdummy.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/inputdummy.cc' object='drumgizmo-inputdummy.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-inputdummy.obj `if test -f 'input/inputdummy.cc'; then $(CYGPATH_W) 'input/inputdummy.cc'; else $(CYGPATH_W) '$(srcdir)/input/inputdummy.cc'; fi`
+
+drumgizmo-midifile.o: input/midifile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-midifile.o -MD -MP -MF $(DEPDIR)/drumgizmo-midifile.Tpo -c -o drumgizmo-midifile.o `test -f 'input/midifile.cc' || echo '$(srcdir)/'`input/midifile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-midifile.Tpo $(DEPDIR)/drumgizmo-midifile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/midifile.cc' object='drumgizmo-midifile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-midifile.o `test -f 'input/midifile.cc' || echo '$(srcdir)/'`input/midifile.cc
+
+drumgizmo-midifile.obj: input/midifile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-midifile.obj -MD -MP -MF $(DEPDIR)/drumgizmo-midifile.Tpo -c -o drumgizmo-midifile.obj `if test -f 'input/midifile.cc'; then $(CYGPATH_W) 'input/midifile.cc'; else $(CYGPATH_W) '$(srcdir)/input/midifile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-midifile.Tpo $(DEPDIR)/drumgizmo-midifile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/midifile.cc' object='drumgizmo-midifile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-midifile.obj `if test -f 'input/midifile.cc'; then $(CYGPATH_W) 'input/midifile.cc'; else $(CYGPATH_W) '$(srcdir)/input/midifile.cc'; fi`
+
+drumgizmo-jackmidi.o: input/jackmidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-jackmidi.o -MD -MP -MF $(DEPDIR)/drumgizmo-jackmidi.Tpo -c -o drumgizmo-jackmidi.o `test -f 'input/jackmidi.cc' || echo '$(srcdir)/'`input/jackmidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-jackmidi.Tpo $(DEPDIR)/drumgizmo-jackmidi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/jackmidi.cc' object='drumgizmo-jackmidi.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-jackmidi.o `test -f 'input/jackmidi.cc' || echo '$(srcdir)/'`input/jackmidi.cc
+
+drumgizmo-jackmidi.obj: input/jackmidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-jackmidi.obj -MD -MP -MF $(DEPDIR)/drumgizmo-jackmidi.Tpo -c -o drumgizmo-jackmidi.obj `if test -f 'input/jackmidi.cc'; then $(CYGPATH_W) 'input/jackmidi.cc'; else $(CYGPATH_W) '$(srcdir)/input/jackmidi.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-jackmidi.Tpo $(DEPDIR)/drumgizmo-jackmidi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input/jackmidi.cc' object='drumgizmo-jackmidi.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-jackmidi.obj `if test -f 'input/jackmidi.cc'; then $(CYGPATH_W) 'input/jackmidi.cc'; else $(CYGPATH_W) '$(srcdir)/input/jackmidi.cc'; fi`
+
+drumgizmo-outputdummy.o: output/outputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-outputdummy.o -MD -MP -MF $(DEPDIR)/drumgizmo-outputdummy.Tpo -c -o drumgizmo-outputdummy.o `test -f 'output/outputdummy.cc' || echo '$(srcdir)/'`output/outputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-outputdummy.Tpo $(DEPDIR)/drumgizmo-outputdummy.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/outputdummy.cc' object='drumgizmo-outputdummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-outputdummy.o `test -f 'output/outputdummy.cc' || echo '$(srcdir)/'`output/outputdummy.cc
+
+drumgizmo-outputdummy.obj: output/outputdummy.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-outputdummy.obj -MD -MP -MF $(DEPDIR)/drumgizmo-outputdummy.Tpo -c -o drumgizmo-outputdummy.obj `if test -f 'output/outputdummy.cc'; then $(CYGPATH_W) 'output/outputdummy.cc'; else $(CYGPATH_W) '$(srcdir)/output/outputdummy.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-outputdummy.Tpo $(DEPDIR)/drumgizmo-outputdummy.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/outputdummy.cc' object='drumgizmo-outputdummy.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-outputdummy.obj `if test -f 'output/outputdummy.cc'; then $(CYGPATH_W) 'output/outputdummy.cc'; else $(CYGPATH_W) '$(srcdir)/output/outputdummy.cc'; fi`
+
+drumgizmo-wavfile.o: output/wavfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-wavfile.o -MD -MP -MF $(DEPDIR)/drumgizmo-wavfile.Tpo -c -o drumgizmo-wavfile.o `test -f 'output/wavfile.cc' || echo '$(srcdir)/'`output/wavfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-wavfile.Tpo $(DEPDIR)/drumgizmo-wavfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/wavfile.cc' object='drumgizmo-wavfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-wavfile.o `test -f 'output/wavfile.cc' || echo '$(srcdir)/'`output/wavfile.cc
+
+drumgizmo-wavfile.obj: output/wavfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-wavfile.obj -MD -MP -MF $(DEPDIR)/drumgizmo-wavfile.Tpo -c -o drumgizmo-wavfile.obj `if test -f 'output/wavfile.cc'; then $(CYGPATH_W) 'output/wavfile.cc'; else $(CYGPATH_W) '$(srcdir)/output/wavfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-wavfile.Tpo $(DEPDIR)/drumgizmo-wavfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/wavfile.cc' object='drumgizmo-wavfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-wavfile.obj `if test -f 'output/wavfile.cc'; then $(CYGPATH_W) 'output/wavfile.cc'; else $(CYGPATH_W) '$(srcdir)/output/wavfile.cc'; fi`
+
+drumgizmo-alsa.o: output/alsa.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-alsa.o -MD -MP -MF $(DEPDIR)/drumgizmo-alsa.Tpo -c -o drumgizmo-alsa.o `test -f 'output/alsa.cc' || echo '$(srcdir)/'`output/alsa.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-alsa.Tpo $(DEPDIR)/drumgizmo-alsa.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/alsa.cc' object='drumgizmo-alsa.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-alsa.o `test -f 'output/alsa.cc' || echo '$(srcdir)/'`output/alsa.cc
+
+drumgizmo-alsa.obj: output/alsa.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-alsa.obj -MD -MP -MF $(DEPDIR)/drumgizmo-alsa.Tpo -c -o drumgizmo-alsa.obj `if test -f 'output/alsa.cc'; then $(CYGPATH_W) 'output/alsa.cc'; else $(CYGPATH_W) '$(srcdir)/output/alsa.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-alsa.Tpo $(DEPDIR)/drumgizmo-alsa.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/alsa.cc' object='drumgizmo-alsa.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-alsa.obj `if test -f 'output/alsa.cc'; then $(CYGPATH_W) 'output/alsa.cc'; else $(CYGPATH_W) '$(srcdir)/output/alsa.cc'; fi`
+
+drumgizmo-jackaudio.o: output/jackaudio.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-jackaudio.o -MD -MP -MF $(DEPDIR)/drumgizmo-jackaudio.Tpo -c -o drumgizmo-jackaudio.o `test -f 'output/jackaudio.cc' || echo '$(srcdir)/'`output/jackaudio.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-jackaudio.Tpo $(DEPDIR)/drumgizmo-jackaudio.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/jackaudio.cc' object='drumgizmo-jackaudio.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-jackaudio.o `test -f 'output/jackaudio.cc' || echo '$(srcdir)/'`output/jackaudio.cc
+
+drumgizmo-jackaudio.obj: output/jackaudio.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo-jackaudio.obj -MD -MP -MF $(DEPDIR)/drumgizmo-jackaudio.Tpo -c -o drumgizmo-jackaudio.obj `if test -f 'output/jackaudio.cc'; then $(CYGPATH_W) 'output/jackaudio.cc'; else $(CYGPATH_W) '$(srcdir)/output/jackaudio.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo-jackaudio.Tpo $(DEPDIR)/drumgizmo-jackaudio.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output/jackaudio.cc' object='drumgizmo-jackaudio.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo-jackaudio.obj `if test -f 'output/jackaudio.cc'; then $(CYGPATH_W) 'output/jackaudio.cc'; else $(CYGPATH_W) '$(srcdir)/output/jackaudio.cc'; fi`
+
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
+tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
@@ -1185,7 +1366,7 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$$unique; \
fi; \
fi
-ctags: ctags-recursive
+ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
@@ -1198,7 +1379,7 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
+cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
@@ -1247,48 +1428,22 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
check-am: all-am
-check: check-recursive
+check: check-am
all-am: Makefile $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
+installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-recursive
+installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
@@ -1310,92 +1465,91 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
+clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-distclean: distclean-recursive
+distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
-dvi: dvi-recursive
+dvi: dvi-am
dvi-am:
-html: html-recursive
+html: html-am
html-am:
-info: info-recursive
+info: info-am
info-am:
install-data-am:
-install-dvi: install-dvi-recursive
+install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
-install-html: install-html-recursive
+install-html: install-html-am
install-html-am:
-install-info: install-info-recursive
+install-info: install-info-am
install-info-am:
install-man:
-install-pdf: install-pdf-recursive
+install-pdf: install-pdf-am
install-pdf-am:
-install-ps: install-ps-recursive
+install-ps: install-ps-am
install-ps-am:
installcheck-am:
-maintainer-clean: maintainer-clean-recursive
+maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-recursive
+mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
-pdf: pdf-recursive
+pdf: pdf-am
pdf-am:
-ps: ps-recursive
+ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-binPROGRAMS clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-binPROGRAMS
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/drumgizmo/audioinputenginedl.cc b/drumgizmo/audioinputenginedl.cc
deleted file mode 100644
index 93c7079..0000000
--- a/drumgizmo/audioinputenginedl.cc
+++ /dev/null
@@ -1,249 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audioinputenginedl.cc
- *
- * Wed Jul 13 14:39:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "audioinputenginedl.h"
-
-#include <stdio.h>
-
-#include <dlfcn.h>
-
-#include <config.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "jackclient.h"
-
-AudioInputEngineDL::AudioInputEngineDL(std::string name)
-{
- is_jack_plugin = strstr(name.c_str(), "jack");
-
- std::string plugin = INPUT_PLUGIN_DIR"/" + name + ".so";
- void *lib = dlopen(plugin.c_str(), RTLD_LAZY);
- if(!lib) {
- printf("Cannot load device: %s\n", dlerror());
- return;
- }
-
- i_create = (input_create_func_t) dlsym(lib, "create");
- const char* dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol create: %s\n", dlsym_error);
- return;
- }
-
- i_destroy = (input_destroy_func_t) dlsym(lib, "destroy");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- i_init = (input_init_func_t) dlsym(lib, "init");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol init: %s\n", dlsym_error);
- return;
- }
-
- i_setparm = (input_setparm_func_t) dlsym(lib, "setparm");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol setparm: %s\n", dlsym_error);
- return;
- }
-
- i_start = (input_start_func_t) dlsym(lib, "start");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol start: %s\n", dlsym_error);
- return;
- }
-
- i_stop = (input_stop_func_t) dlsym(lib, "stop");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol stop: %s\n", dlsym_error);
- return;
- }
-
- i_pre = (input_pre_func_t) dlsym(lib, "pre");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol pre: %s\n", dlsym_error);
- return;
- }
-
- i_run = (input_run_func_t) dlsym(lib, "run");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol run: %s\n", dlsym_error);
- return;
- }
-
- i_post = (input_post_func_t) dlsym(lib, "post");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol post: %s\n", dlsym_error);
- return;
- }
-
- ptr = i_create();
-
- if(is_jack_plugin) {
- char ptrbuf[32];
- jackclient = init_jack_client();
- sprintf(ptrbuf, "%p", jackclient);
- setParm("jack_client", ptrbuf);
- }
-}
-
-AudioInputEngineDL::~AudioInputEngineDL()
-{
- i_destroy(ptr);
- if(is_jack_plugin) close_jack_client();
-}
-
-bool AudioInputEngineDL::init(Instruments &instruments)
-{
- char **n = (char**)malloc(sizeof(char*)*instruments.size());
- for(size_t i = 0; i < instruments.size(); i++) {
- n[i] = strdup(instruments[i]->name().c_str());
- }
-
- bool ret = i_init(ptr, instruments.size(), n);
-
- for(size_t i = 0; i < instruments.size(); i++) {
- free(n[i]);
- }
- free(n);
-
- return ret;
-}
-
-void AudioInputEngineDL::setParm(std::string parm, std::string value)
-{
- i_setparm(ptr, parm.c_str(), value.c_str());
-}
-
-bool AudioInputEngineDL::start()
-{
- if(is_jack_plugin) jackclient->activate();
- return i_start(ptr);
-}
-
-void AudioInputEngineDL::stop()
-{
- return i_stop(ptr);
-}
-
-void AudioInputEngineDL::pre()
-{
- return i_pre(ptr);
-}
-
-event_t *AudioInputEngineDL::run(size_t pos, size_t len, size_t *nevents)
-{
- return i_run(ptr, pos, len, nevents);
-}
-
-void AudioInputEngineDL::post()
-{
- return i_post(ptr);
-}
-
-//#include "audioinputenginedummy.h"
-//#include "audioinputenginejackmidi.h"
-//#include "audioinputenginemidifile.h"
-
-/*
-
-typedef Device* (*create_func_t)(void);
-typedef void (*destroy_func_t)(Device*);
-
-struct device_t {
- Device* dev;
- destroy_func_t destroyer;
- void* lib;
-};
-
-int load_shared_device(device_t &dev, std::string devlib,
- std::string devfile, ConfMap devconfmap) {
- // load library
- dev.lib = dlopen(devlib.c_str(), RTLD_LAZY);
- if(!dev.lib ) {
- printf("Cannot load device: %s\n", dlerror());
- return -1;
- }
-
- create_func_t create_device = (create_func_t) dlsym(dev.lib, "create");
- const char* dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol create: %s\n", dlsym_error);
- return -1;
- }
-
- dev.destroyer = (destroy_func_t) dlsym(dev.lib, "destroy");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return -1;
- }
-
- dev.dev = create_device();
-
- // initialize device
- DevData devdata = dev.dev->init(devfile, devconfmap);
- if(devdata.retval != DevData::VALUE_SUCCESS) {
- printf("Error while initializing device: %s\n", devdata.msg.c_str());
- return -1;
- }
-
- return 0;
-}
-
-void unload_shared_device(device_t &dev) {
-
- dev.destroyer(dev.dev);
- dlclose(dev.lib);
-}
-*/
-
-#ifdef TEST_AUDIOINPUTENGINEDL
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINEDL*/
diff --git a/drumgizmo/audioinputenginedl.h b/drumgizmo/audioinputenginedl.h
deleted file mode 100644
index ed1fb27..0000000
--- a/drumgizmo/audioinputenginedl.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audioinputenginedl.h
- *
- * Wed Jul 13 14:39:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_AUDIOINPUTENGINEDL_H__
-#define __DRUMGIZMO_AUDIOINPUTENGINEDL_H__
-
-#include "audioinputengine.h"
-#include "jackclient.h"
-
-typedef void* (*input_create_func_t)(void);
-typedef void (*input_destroy_func_t)(void*);
-typedef bool (*input_init_func_t)(void*,int,char**);
-typedef void (*input_setparm_func_t)(void*,const char*,const char*);
-typedef bool (*input_start_func_t)(void*);
-typedef void (*input_stop_func_t)(void*);
-typedef void (*input_pre_func_t)(void*);
-typedef event_t* (*input_run_func_t)(void*,size_t,size_t,size_t*);
-typedef void (*input_post_func_t)(void*);
-
-class AudioInputEngineDL : public AudioInputEngine {
-public:
- AudioInputEngineDL(std::string name);
- ~AudioInputEngineDL();
-
- bool init(Instruments &instruments);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
-private:
- void *ptr;
- input_create_func_t i_create;
- input_destroy_func_t i_destroy;
- input_init_func_t i_init;
- input_setparm_func_t i_setparm;
- input_start_func_t i_start;
- input_stop_func_t i_stop;
- input_pre_func_t i_pre;
- input_run_func_t i_run;
- input_post_func_t i_post;
-
- bool is_jack_plugin;
- JackClient *jackclient;
-};
-
-#endif/*__DRUMGIZMO_AUDIOINPUTENGINEDL_H__*/
diff --git a/drumgizmo/audiooutputenginedl.cc b/drumgizmo/audiooutputenginedl.cc
deleted file mode 100644
index dad2c5c..0000000
--- a/drumgizmo/audiooutputenginedl.cc
+++ /dev/null
@@ -1,195 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audiooutputenginedl.cc
- *
- * Wed Jul 13 14:40:01 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "audiooutputenginedl.h"
-
-#include <dlfcn.h>
-#include <stdio.h>
-#include <config.h>
-#include <string.h>
-
-AudioOutputEngineDL::AudioOutputEngineDL(std::string name)
-{
- is_jack_plugin = strstr(name.c_str(), "jack");
-
- std::string plugin = OUTPUT_PLUGIN_DIR"/" + name + ".so";
- void *lib = dlopen(plugin.c_str(), RTLD_LAZY);
- if(!lib) {
- printf("Cannot load device: %s\n", dlerror());
- return;
- }
-
- o_create = (output_create_func_t) dlsym(lib, "create");
- const char* dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol create: %s\n", dlsym_error);
- return;
- }
-
- o_destroy = (output_destroy_func_t) dlsym(lib, "destroy");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_init = (output_init_func_t) dlsym(lib, "init");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_setparm = (output_setparm_func_t) dlsym(lib, "setparm");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_start = (output_start_func_t) dlsym(lib, "start");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_stop = (output_stop_func_t) dlsym(lib, "stop");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_pre = (output_pre_func_t) dlsym(lib, "pre");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_run = (output_run_func_t) dlsym(lib, "run");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_post = (output_post_func_t) dlsym(lib, "post");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol destroy: %s\n", dlsym_error);
- return;
- }
-
- o_bufsize = (output_bufsize_func_t) dlsym(lib, "bufsize");
- dlsym_error = dlerror();
- if(dlsym_error) {
- o_bufsize = NULL;
- }
-
- o_samplerate = (output_samplerate_func_t) dlsym(lib, "samplerate");
- dlsym_error = dlerror();
- if(dlsym_error) {
- printf("Cannot load symbol samplerate: %s\n", dlsym_error);
- return;
- }
-
- ptr = o_create();
-
- if(is_jack_plugin) {
- char ptrbuf[32];
- jackclient = init_jack_client();
- sprintf(ptrbuf, "%p", jackclient);
- setParm("jack_client", ptrbuf);
- }
-}
-
-AudioOutputEngineDL::~AudioOutputEngineDL()
-{
- o_destroy(ptr);
- if(is_jack_plugin) close_jack_client();
-}
-
-bool AudioOutputEngineDL::init(Channels channels)
-{
- char **n = (char**)malloc(sizeof(char*)*channels.size());
- for(size_t i = 0; i < channels.size(); i++) {
- n[i] = strdup(channels[i].name.c_str());
- }
-
- bool ret = o_init(ptr, channels.size(), n);
-
- for(size_t i = 0; i < channels.size(); i++) {
- free(n[i]);
- }
- free(n);
-
- return ret;
-}
-
-void AudioOutputEngineDL::setParm(std::string parm, std::string value)
-{
- o_setparm(ptr, parm.c_str(), value.c_str());
-}
-
-bool AudioOutputEngineDL::start()
-{
- if(is_jack_plugin) jackclient->activate();
- return o_start(ptr);
-}
-
-void AudioOutputEngineDL::stop()
-{
- return o_stop(ptr);
-}
-
-void AudioOutputEngineDL::pre(size_t size)
-{
- return o_pre(ptr, size);
-}
-
-void AudioOutputEngineDL::run(int ch, sample_t *samples, size_t nsamples)
-{
- o_run(ptr, ch, samples, nsamples);
-}
-
-void AudioOutputEngineDL::post(size_t size)
-{
- return o_post(ptr, size);
-}
-
-size_t AudioOutputEngineDL::getBufferSize()
-{
- if(o_bufsize) return o_bufsize(ptr);
- return 1024;
-}
-
-size_t AudioOutputEngineDL::samplerate()
-{
- if(o_samplerate) return o_samplerate(ptr);
- return 44100;
-}
diff --git a/drumgizmo/audiooutputenginedl.h b/drumgizmo/audiooutputenginedl.h
deleted file mode 100644
index 75460f3..0000000
--- a/drumgizmo/audiooutputenginedl.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audiooutputenginedl.h
- *
- * Wed Jul 13 14:40:01 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__
-#define __DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__
-
-#include <string>
-#include <stdlib.h>
-#include <audiotypes.h>
-
-#include "channel.h"
-
-#include "audiooutputengine.h"
-#include "jackclient.h"
-
-typedef void* (*output_create_func_t)(void);
-typedef void (*output_destroy_func_t)(void*);
-typedef bool (*output_start_func_t)(void*);
-typedef void (*output_stop_func_t)(void*);
-typedef bool (*output_init_func_t)(void*,int,char**);
-typedef void (*output_setparm_func_t)(void*,const char*,const char*);
-typedef void (*output_pre_func_t)(void*, size_t);
-typedef void (*output_run_func_t)(void*,int,sample_t*,size_t);
-typedef void (*output_post_func_t)(void*, size_t);
-typedef size_t (*output_bufsize_func_t)(void*);
-typedef size_t (*output_samplerate_func_t)(void*);
-
-class AudioOutputEngineDL : public AudioOutputEngine {
-public:
- AudioOutputEngineDL(std::string name);
- ~AudioOutputEngineDL();
-
- bool init(Channels channels);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre(size_t nsamples);
- void run(int ch, sample_t *samples, size_t nsamples);
- void post(size_t nsamples);
-
- size_t getBufferSize();
- size_t samplerate();
-
-private:
- void *ptr;
- output_create_func_t o_create;
- output_destroy_func_t o_destroy;
- output_init_func_t o_init;
- output_setparm_func_t o_setparm;
- output_start_func_t o_start;
- output_stop_func_t o_stop;
- output_pre_func_t o_pre;
- output_run_func_t o_run;
- output_post_func_t o_post;
- output_bufsize_func_t o_bufsize;
- output_samplerate_func_t o_samplerate;
-
- bool is_jack_plugin;
- JackClient *jackclient;
-};
-
-#endif/*__DRUMGIZMO_AUDIOOUTPUTENGINEDL_H__*/
diff --git a/drumgizmo/drumgizmoc.cc b/drumgizmo/drumgizmoc.cc
index 02e926e..14a71b3 100644
--- a/drumgizmo/drumgizmoc.cc
+++ b/drumgizmo/drumgizmoc.cc
@@ -1,6 +1,6 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
- * cli.cc
+ * drumgizmoc.cc
*
* Thu Sep 16 10:23:22 CEST 2010
* Copyright 2010 Bent Bisballe Nyeng
@@ -11,19 +11,21 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
+#include <iostream>
+
#include <config.h>
#include <getopt.h>
@@ -32,306 +34,391 @@
#include <stdlib.h>
#include <unistd.h>
+#include <hugin.hpp>
+
#include "drumgizmo.h"
#include "drumgizmoc.h"
-
-#include "audiooutputenginedl.h"
-#include "audioinputenginedl.h"
+#include "enginefactory.h"
#include "event.h"
-static const char version_str[] =
-"DrumGizmo v" VERSION "\n"
-;
+static const char version_str[] = "DrumGizmo v" VERSION "\n";
static const char copyright_str[] =
-"Copyright (C) 2008-2011 Bent Bisballe Nyeng - Aasimon.org.\n"
-"This is free software. You may redistribute copies of it under the terms of\n"
-"the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n"
-"There is NO WARRANTY, to the extent permitted by law.\n"
-"\n"
-"Written by Bent Bisballe Nyeng (deva at aasimon.org)\n"
-;
+ "Copyright (C) 2008-2011 Bent Bisballe Nyeng - Aasimon.org.\n"
+ "This is free software. You may redistribute copies of it under the terms "
+ "of\n"
+ "the GNU Lesser General Public License <http://www.gnu.org/licenses/gpl.html>.\n"
+ "There is NO WARRANTY, to the extent permitted by law.\n"
+ "\n"
+ "Written by Bent Bisballe Nyeng (deva at aasimon.org)\n";
static const char usage_str[] =
-"Usage: %s [options] drumkitfile\n"
-"Options:\n"
-" -a, --async-load Load drumkit in the background and start the engine immediately.\n"
-" -i, --inputengine dummy|test|jackmidi|midifile Use said event input engine.\n"
-" -I, --inputparms parmlist Set input engine parameters.\n"
-" -o, --outputengine dummy|alsa|jackaudio|wavfile Use said audio output engine.\n"
-" -O, --outputparms parmlist Set output engine parameters.\n"
-" -e, --endpos Number of samples to process, -1: infinite.\n"
-" -v, --version Print version information and exit.\n"
-" -h, --help Print this message and exit.\n"
-"\n"
-"Input engine parameters:\n"
-" jackmidi: midimap=<midimapfile>\n"
-" midifile: file=<midifile>, speed=<tempo> (default 1.0),\n"
-" track=<miditrack> (default -1, all tracks)\n"
-" midimap=<midimapfile>, loop=<true|false>\n"
-" test: p=<hit_propability> (default 0.1)\n"
-" instr=<instrument> (default -1, random instrument)\n"
-" len=<seconds> (default -1, forever)\n"
-" dummy:\n"
-"\n"
-"Output engine parameters:\n"
-" alsa: dev=<device> (default 'default'), frames=<frames> (default 32)\n"
-" srate=<samplerate> (default 441000)\n"
-" wavfile: file=<filename> (default 'output'), srate=<samplerate> (default 44100)\n"
-" jackaudio:\n"
-" dummy:\n"
-"\n"
-;
-
-CliMain::CliMain() : MessageReceiver(MSGRCV_UI)
+ "Usage: %s [options] drumkitfile\n"
+ "Options:\n"
+ " -a, --async-load Load drumkit in the background and start the "
+ "engine immediately.\n"
+ " -i, --inputengine dummy|test|jackmidi|midifile Use said event "
+ "input engine.\n"
+ " -I, --inputparms parmlist Set input engine parameters.\n"
+ " -o, --outputengine dummy|alsa|jackaudio|wavfile Use said audio "
+ "output engine.\n"
+ " -O, --outputparms parmlist Set output engine parameters.\n"
+ " -e, --endpos Number of samples to process, -1: infinite.\n"
+#ifndef DISABLE_HUGIN
+ " -D, --debug ddd Enable debug messages on 'ddd'; see hugin "
+ "documentation for details\n"
+#endif /*DISABLE_HUGIN*/
+ " -v, --version Print version information and exit.\n"
+ " -h, --help Print this message and exit.\n"
+ "\n"
+ "Input engine parameters:\n"
+ " jackmidi: midimap=<midimapfile>\n"
+ " midifile: file=<midifile>, speed=<tempo> (default 1.0),\n"
+ " track=<miditrack> (default -1, all tracks)\n"
+ " midimap=<midimapfile>, loop=<true|false>\n"
+ " test: p=<hit_propability> (default 0.1)\n"
+ " instr=<instrument> (default -1, random instrument)\n"
+ " len=<seconds> (default -1, forever)\n"
+ " dummy:\n"
+ "\n"
+ "Output engine parameters:\n"
+ " alsa: dev=<device> (default 'default'), frames=<frames> (default "
+ "32)\n"
+ " srate=<samplerate> (default 441000)\n"
+ " wavfile: file=<filename> (default 'output'), srate=<samplerate> "
+ "(default 44100)\n"
+ " jackaudio:\n"
+ " dummy:\n"
+ "\n";
+
+CliMain::CliMain()
+ : MessageReceiver(MSGRCV_UI)
{
- loading = true; // Block by default
+ loading = true; // Block by default
}
CliMain::~CliMain()
{
+ hug_close();
}
-void CliMain::handleMessage(Message *msg)
+void CliMain::handleMessage(Message* msg)
{
- switch(msg->type()) {
- case Message::LoadStatus:
- {
- LoadStatusMessage *ls = (LoadStatusMessage*)msg;
- if(ls->numer_of_files_loaded == ls->number_of_files) {
- loading = false;
- }
- }
- break;
- default:
- break;
- }
+ switch(msg->type())
+ {
+ case Message::LoadStatus:
+ {
+ auto ls = static_cast<LoadStatusMessage*>(msg);
+ if(ls->numer_of_files_loaded == ls->number_of_files)
+ {
+ loading = false;
+ }
+ }
+ break;
+ default:
+ break;
+ }
}
-int CliMain::run(int argc, char *argv[])
+int CliMain::run(int argc, char* argv[])
{
- int c;
-
- std::string outputengine;
- std::string inputengine;
- std::string iparms;
- std::string oparms;
- bool async = false;
- int endpos = -1;
-
- int option_index = 0;
- while(1) {
- static struct option long_options[] = {
- {"async-load", no_argument, 0, 'a'},
- {"inputengine", required_argument, 0, 'i'},
- {"inputparms", required_argument, 0, 'I'},
- {"outputengine", required_argument, 0, 'o'},
- {"outputparms", required_argument, 0, 'O'},
- {"endpos", required_argument, 0, 'e'},
- {"version", no_argument, 0, 'v'},
- {"help", no_argument, 0, 'h'},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "hvpo:O:i:I:e:", long_options, &option_index);
-
- if (c == -1)
- break;
-
- switch(c) {
- case 'i':
- inputengine = optarg;
- if(inputengine == "help") {
- printf("Available input engines: jackmidi, midifile.\n");
- return 0;
- }
- break;
-
- case 'I':
- iparms = optarg;
- break;
-
- case 'o':
- outputengine = optarg;
- if(outputengine == "help") {
- printf("Available output engines: alsa, jackaudio, wavfile.\n");
- return 0;
- }
- break;
-
- case 'O':
- oparms = optarg;
- break;
-
- case 'a':
- async = true;
- break;
-
- case 'e':
- endpos = atoi(optarg);
- break;
-
- case '?':
- case 'h':
- printf("%s", version_str);
- printf(usage_str, argv[0]);
- return 0;
-
- case 'v':
- printf("%s", version_str);
- printf("%s", copyright_str);
- return 0;
-
- default:
- break;
- }
- }
-
- if(inputengine == "") {
- printf("Missing input engine\n");
- return 1;
- }
-
- AudioInputEngine *ie = new AudioInputEngineDL(inputengine);
-
- if(ie == NULL) {
- printf("Invalid input engine: %s\n", inputengine.c_str());
- return 1;
- }
-
- {
- std::string parm;
- std::string val;
- bool inval = false;
- for(size_t i = 0; i < iparms.size(); i++) {
- if(iparms[i] == ',') {
- ie->setParm(parm, val);
- parm = "";
- val = "";
- inval = false;
- continue;
- }
-
- if(iparms[i] == '=') {
- inval = true;
- continue;
- }
-
- if(inval) {
- val += iparms[i];
- } else {
- parm += iparms[i];
- }
- }
- if(parm != "") ie->setParm(parm, val);
- }
-
- if(outputengine == "") {
- printf("Missing output engine\n");
- return 1;
- }
-
- AudioOutputEngineDL *oe = new AudioOutputEngineDL(outputengine);
-
- if(oe == NULL) {
- printf("Invalid output engine: %s\n", outputengine.c_str());
- return 1;
- }
-
- {
- std::string parm;
- std::string val;
- bool inval = false;
- for(size_t i = 0; i < oparms.size(); i++) {
- if(oparms[i] == ',') {
- oe->setParm(parm, val);
- parm = "";
- val = "";
- inval = false;
- continue;
- }
-
- if(oparms[i] == '=') {
- inval = true;
- continue;
- }
-
- if(inval) {
- val += oparms[i];
- } else {
- parm += oparms[i];
- }
- }
- if(parm != "") oe->setParm(parm, val);
- }
-
- std::string kitfile;
-
- if(option_index < argc) {
- printf("non-option ARGV-elements: ");
- while (optind < argc) {
- if(kitfile != "") {
- fprintf(stderr, "Can only handle a single kitfile.\n");
- printf(usage_str, argv[0]);
- return 1;
- }
- kitfile = argv[optind++];
- }
- printf("\n");
- } else {
- fprintf(stderr, "Missing kitfile.\n");
- printf(usage_str, argv[0]);
- return 1;
- }
-
- printf("Using kitfile: %s\n", kitfile.c_str());
-
- DrumGizmo gizmo(oe, ie);
-
- if(kitfile == "" || !gizmo.loadkit(kitfile)) {
- printf("Failed to load \"%s\".\n", kitfile.c_str());
- return 1;
- }
-
- printf("Loading drumkit, this may take a while...");
- fflush(stdout);
- loading = true;
- while(async == false && loading) {
+ int c;
+
+ std::string hugin_filter;
+ unsigned int hugin_flags = 0;
+#ifndef DISABLE_HUGIN
+ hugin_flags = HUG_FLAG_DEFAULT;
+#endif /*DISABLE_HUGIN*/
+
+ std::string outputengine;
+ std::string inputengine;
+ std::string iparms;
+ std::string oparms;
+ bool async = false;
+ int endpos = -1;
+
+ EngineFactory factory;
+
+ int option_index = 0;
+ while(1)
+ {
+ static struct option long_options[] = {
+ {"async-load", no_argument, 0, 'a'},
+ {"inputengine", required_argument, 0, 'i'},
+ {"inputparms", required_argument, 0, 'I'},
+ {"outputengine", required_argument, 0, 'o'},
+ {"outputparms", required_argument, 0, 'O'},
+ {"endpos", required_argument, 0, 'e'},
+#ifndef DISABLE_HUGIN
+ {"debug", required_argument, 0, 'D'},
+#endif /*DISABLE_HUGIN*/
+ {"version", no_argument, 0, 'v'},
+ {"help", no_argument, 0, 'h'},
+ {0, 0, 0, 0}};
+
+ c = getopt_long(argc, argv, "hvpo:O:i:I:e:a"
+#ifndef DISABLE_HUGIN
+ "D:"
+#endif /*DISABLE_HUGIN*/
+ , long_options, &option_index);
+
+ if(c == -1)
+ {
+ break;
+ }
+
+ switch(c)
+ {
+ case 'i':
+ inputengine = optarg;
+ if(inputengine == "help")
+ {
+ std::cout << "Available Input Engines = { ";
+ for(auto const& name : factory.getInputEngines())
+ {
+ std::cout << name << " ";
+ }
+ std::cout << "}\n";
+ return 0;
+ }
+ break;
+
+#ifndef DISABLE_HUGIN
+ case 'D':
+ hugin_flags |= HUG_FLAG_USE_FILTER;
+ hugin_filter = optarg;
+ break;
+#endif /*DISABLE_HUGIN*/
+
+ case 'I':
+ iparms = optarg;
+ break;
+
+ case 'o':
+ outputengine = optarg;
+ if(outputengine == "help")
+ {
+ std::cout << "Available Output Engines = { ";
+ for(auto const& name : factory.getOutputEngines())
+ {
+ std::cout << name << " ";
+ }
+ std::cout << "}\n";
+ return 0;
+ }
+ break;
+
+ case 'O':
+ oparms = optarg;
+ break;
+
+ case 'a':
+ async = true;
+ break;
+
+ case 'e':
+ endpos = atoi(optarg);
+ break;
+
+ case '?':
+ case 'h':
+ printf("%s", version_str);
+ printf(usage_str, argv[0]);
+ return 0;
+
+ case 'v':
+ printf("%s", version_str);
+ printf("%s", copyright_str);
+ return 0;
+
+ default:
+ break;
+ }
+ }
+
+ hug_status_t status = hug_init(hugin_flags, HUG_OPTION_FILTER,
+ hugin_filter.c_str(), HUG_OPTION_END);
+ if(status != HUG_STATUS_OK)
+ {
+ printf("Error: %d\n", status);
+ return 1;
+ }
+
+ DEBUG(drumgizmo, "Debug enabled.");
+
+ if(inputengine == "")
+ {
+ printf("Missing input engine\n");
+ return 1;
+ }
+
+ auto ie = factory.createInput(inputengine);
+
+ if(ie == NULL)
+ {
+ printf("Invalid input engine: %s\n", inputengine.c_str());
+ return 1;
+ }
+
+ {
+ std::string parm;
+ std::string val;
+ bool inval = false;
+ for(size_t i = 0; i < iparms.size(); i++)
+ {
+ if(iparms[i] == ',')
+ {
+ ie->setParm(parm, val);
+ parm = "";
+ val = "";
+ inval = false;
+ continue;
+ }
+
+ if(iparms[i] == '=')
+ {
+ inval = true;
+ continue;
+ }
+
+ if(inval)
+ {
+ val += iparms[i];
+ }
+ else
+ {
+ parm += iparms[i];
+ }
+ }
+ if(parm != "")
+ {
+ ie->setParm(parm, val);
+ }
+ }
+
+ if(outputengine == "")
+ {
+ printf("Missing output engine\n");
+ return 1;
+ }
+
+ auto oe = factory.createOutput(outputengine);
+
+ if(oe == NULL)
+ {
+ printf("Invalid output engine: %s\n", outputengine.c_str());
+ return 1;
+ }
+
+ {
+ std::string parm;
+ std::string val;
+ bool inval = false;
+ for(size_t i = 0; i < oparms.size(); i++)
+ {
+ if(oparms[i] == ',')
+ {
+ oe->setParm(parm, val);
+ parm = "";
+ val = "";
+ inval = false;
+ continue;
+ }
+
+ if(oparms[i] == '=')
+ {
+ inval = true;
+ continue;
+ }
+
+ if(inval)
+ {
+ val += oparms[i];
+ }
+ else
+ {
+ parm += oparms[i];
+ }
+ }
+ if(parm != "")
+ {
+ oe->setParm(parm, val);
+ }
+ }
+
+ std::string kitfile;
+
+ if(option_index < argc)
+ {
+ while(optind < argc)
+ {
+ if(kitfile != "")
+ {
+ printf("Can only handle a single kitfile.\n");
+ printf(usage_str, argv[0]);
+ return 1;
+ }
+ kitfile = argv[optind++];
+ }
+ printf("\n");
+ }
+ else
+ {
+ printf("Missing kitfile.\n");
+ printf(usage_str, argv[0]);
+ return 1;
+ }
+
+ printf("Using kitfile: %s\n", kitfile.c_str());
+
+ DrumGizmo gizmo(oe.get(), ie.get());
+
+ gizmo.setFrameSize(oe->getBufferSize());
+
+ if(kitfile == "" || !gizmo.loadkit(kitfile))
+ {
+ printf("Failed to load \"%s\".\n", kitfile.c_str());
+ return 1;
+ }
+
+ printf("Loading drumkit, this may take a while...");
+ fflush(stdout);
+ loading = true;
+ while(async == false && loading)
+ {
#ifdef WIN32
- SleepEx(500, FALSE);
+ SleepEx(500, FALSE);
#else
- usleep(500000);
-#endif/*WIN32*/
- handleMessages();
- printf(".");
- fflush(stdout);
- }
- printf("done.\n");
+ usleep(500000);
+#endif /*WIN32*/
+ handleMessages();
+ printf(".");
+ fflush(stdout);
+ }
+ printf("done.\n");
- gizmo.setSamplerate(oe->samplerate());
+ gizmo.setSamplerate(oe->samplerate());
- if(!gizmo.init()) {
- printf("Failed init engine.\n");
- return 1;
- }
+ if(!gizmo.init())
+ {
+ printf("Failed init engine.\n");
+ return 1;
+ }
- gizmo.run(endpos);
+ gizmo.run(endpos);
- printf("Quit.\n"); fflush(stdout);
+ printf("Quit.\n");
+ fflush(stdout);
- delete oe;
- delete ie;
-
- return 0;
+ return 0;
}
-int main(int argc, char *argv[])
+int main(int argc, char* argv[])
{
- CliMain cli;
-
- cli.run(argc, argv);
+ CliMain cli;
- return 0;
+ cli.run(argc, argv);
+ return 0;
}
diff --git a/drumgizmo/drumgizmoc.h b/drumgizmo/drumgizmoc.h
index 4b6d4a1..231aec6 100644
--- a/drumgizmo/drumgizmoc.h
+++ b/drumgizmo/drumgizmoc.h
@@ -11,35 +11,34 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMOC_H__
-#define __DRUMGIZMOC_H__
+#pragma once
#include "messagereceiver.h"
-class CliMain : public MessageReceiver {
+class CliMain : public MessageReceiver
+{
public:
- CliMain();
- virtual ~CliMain();
+ CliMain();
+ virtual ~CliMain();
+
+ int run(int argc, char* argv[]);
+ void handleMessage(Message* msg);
- int run(int argc, char *argv[]);
- void handleMessage(Message *msg);
private:
- bool loading;
+ bool loading;
};
-#endif//__DRUMGIZMOC_H__
-
diff --git a/drumgizmo/enginefactory.cc b/drumgizmo/enginefactory.cc
new file mode 100644
index 0000000..d3e08c6
--- /dev/null
+++ b/drumgizmo/enginefactory.cc
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * enginefactory.cc
+ *
+ * Mi 20. Jan 10:46:07 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <iostream>
+
+#include "cpp11fix.h" // required for c++11
+#include "enginefactory.h"
+
+EngineFactory::EngineFactory()
+ : input{}
+ , output{}
+#ifdef USE_JACK
+ , jack{nullptr}
+#endif
+{
+// list available input engines
+#ifdef HAVE_INPUT_DUMMY
+ input.push_back("inputdummy");
+#endif
+#ifdef HAVE_INPUT_MIDIFILE
+ input.push_back("midifile");
+#endif
+#ifdef HAVE_INPUT_JACKMIDI
+ input.push_back("jackmidi");
+#endif
+
+// list available output engines
+#ifdef HAVE_OUTPUT_DUMMY
+ output.push_back("outputdummy");
+#endif
+#ifdef HAVE_OUTPUT_WAVFILE
+ output.push_back("wavfile");
+#endif
+#ifdef HAVE_OUTPUT_ALSA
+ output.push_back("alsa");
+#endif
+#ifdef HAVE_OUTPUT_JACKAUDIO
+ output.push_back("jackaudio");
+#endif
+}
+
+#ifdef USE_JACK
+void EngineFactory::prepareJack()
+{
+ if(jack == nullptr)
+ {
+ jack = std::make_unique<JackClient>();
+ }
+}
+#endif
+
+const std::list<std::string>& EngineFactory::getInputEngines() const
+{
+ return input;
+}
+
+const std::list<std::string>& EngineFactory::getOutputEngines() const
+{
+ return output;
+}
+
+std::unique_ptr<AudioInputEngine> EngineFactory::createInput(const std::string& name)
+{
+#ifdef HAVE_INPUT_DUMMY
+ if(name == "dummy")
+ {
+ return std::make_unique<DummyInputEngine>();
+ }
+#endif
+#ifdef HAVE_INPUT_MIDIFILE
+ if(name == "midifile")
+ {
+ return std::make_unique<MidifileInputEngine>();
+ }
+#endif
+#ifdef HAVE_INPUT_JACKMIDI
+ if(name == "jackmidi")
+ {
+ prepareJack();
+ return std::make_unique<JackMidiInputEngine>(*jack);
+ }
+#endif
+
+ // todo: add more engines
+
+ std::cerr << "[EngineFactory] Unsupported input engine '" << name << "'\n";
+ return nullptr;
+}
+
+std::unique_ptr<AudioOutputEngine> EngineFactory::createOutput(const std::string& name)
+{
+#ifdef HAVE_OUTPUT_DUMMY
+ if(name == "dummy")
+ {
+ return std::make_unique<DummyOutputEngine>();
+ }
+#endif
+#ifdef HAVE_OUTPUT_WAVFILE
+ if(name == "wavfile")
+ {
+ return std::make_unique<WavfileOutputEngine>();
+ }
+#endif
+#ifdef HAVE_OUTPUT_ALSA
+ if(name == "alsa")
+ {
+ return std::make_unique<AlsaOutputEngine>();
+ }
+#endif
+#ifdef HAVE_OUTPUT_JACKAUDIO
+ if(name == "jackaudio")
+ {
+ prepareJack();
+ return std::make_unique<JackAudioOutputEngine>(*jack);
+ }
+#endif
+
+ // todo: add more engines
+
+ std::cerr << "[EngineFactory] Unsupported output engine '" << name << "'\n";
+ return nullptr;
+}
diff --git a/drumgizmo/enginefactory.h b/drumgizmo/enginefactory.h
new file mode 100644
index 0000000..803f476
--- /dev/null
+++ b/drumgizmo/enginefactory.h
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * enginefactory.h
+ *
+ * Mi 20. Jan 10:46:07 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <list>
+#include <string>
+#include <memory>
+
+#include "audioinputengine.h"
+#include "audiooutputengine.h"
+
+#if defined(HAVE_INPUT_JACKMIDI) || defined(HAVE_OUTPUT_JACKAUDIO)
+#define USE_JACK
+#include "jackclient.h"
+#endif
+
+#ifdef HAVE_INPUT_DUMMY
+#include "input/inputdummy.h"
+#endif
+
+#ifdef HAVE_INPUT_MIDIFILE
+#include "input/midifile.h"
+#endif
+
+#ifdef HAVE_INPUT_JACKMIDI
+#include "input/jackmidi.h"
+#endif
+
+#ifdef HAVE_OUTPUT_DUMMY
+#include "output/outputdummy.h"
+#endif
+
+#ifdef HAVE_OUTPUT_WAVFILE
+#include "output/wavfile.h"
+#endif
+
+#ifdef HAVE_OUTPUT_ALSA
+#include "output/alsa.h"
+#endif
+
+#ifdef HAVE_OUTPUT_JACKAUDIO
+#include "output/jackaudio.h"
+#endif
+
+//! Factory for various input- and output engines
+class EngineFactory
+{
+public:
+ //! Initialized lists of available engines (depending on enabled settings)
+ EngineFactory();
+
+ //! Query list of available input engines' names
+ //! \return const reference to the list
+ const std::list<std::string>& getInputEngines() const;
+
+ //! Query list of available output engines' names
+ //! \return const reference to the list
+ const std::list<std::string>& getOutputEngines() const;
+
+ //! Create input engine by name
+ //! \param name Name of the input engine that should be initialized
+ //! \return unique_ptr to input engine or nullptr if engine is not supported
+ std::unique_ptr<AudioInputEngine> createInput(const std::string& name);
+
+ //! Create input engine by name
+ //! \param name Name of the output engine that should be initialized
+ //! \return unique_ptr to input engine or nullptr if engine is not supported
+ std::unique_ptr<AudioOutputEngine> createOutput(const std::string& name);
+
+protected:
+ std::list<std::string> input, output; // available engines
+
+#ifdef USE_JACK
+ // Client that is used by all jack-related engines
+ std::unique_ptr<JackClient> jack;
+
+ // Utility to initialize jack (once)
+ void prepareJack();
+#endif
+};
diff --git a/drumgizmo/input/Makefile.am b/drumgizmo/input/Makefile.am
deleted file mode 100644
index ee82f63..0000000
--- a/drumgizmo/input/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-DISTDIRS = midifile jackmidi dummy test
-SUBDIRS = @INPUT_PLUGINS@
diff --git a/drumgizmo/input/Makefile.in b/drumgizmo/input/Makefile.in
deleted file mode 100644
index 46d7f18..0000000
--- a/drumgizmo/input/Makefile.in
+++ /dev/null
@@ -1,643 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/input
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-DISTDIRS = midifile jackmidi dummy test
-SUBDIRS = @INPUT_PLUGINS@
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/input/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/input/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-generic clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/input/dummy/Makefile.am b/drumgizmo/input/dummy/Makefile.am
deleted file mode 100644
index dfe0a57..0000000
--- a/drumgizmo/input/dummy/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-
-dummysources = \
- dummy.cc
-
-if HAVE_INPUT_DUMMY
-
-dummyltlibs = dummy.la
-dummybuildsources = $(dummysources)
-
-else
-
-dummyltlibs =
-dummybuildsources =
-
-endif
-
-EXTRA_DIST = $(dummysources)
-
-lib_LTLIBRARIES = $(dummyltlibs)
-
-libdir = $(INPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/include
-dummy_la_LDFLAGS = -module -avoid-version -shared
-dummy_la_LIBADD =
-dummy_la_SOURCES = $(dummybuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/dummy.la
diff --git a/drumgizmo/input/dummy/Makefile.in b/drumgizmo/input/dummy/Makefile.in
deleted file mode 100644
index 332710d..0000000
--- a/drumgizmo/input/dummy/Makefile.in
+++ /dev/null
@@ -1,688 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/input/dummy
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-dummy_la_DEPENDENCIES =
-am__dummy_la_SOURCES_DIST = dummy.cc
-am__objects_1 = dummy.lo
- at HAVE_INPUT_DUMMY_TRUE@am__objects_2 = $(am__objects_1)
-am_dummy_la_OBJECTS = $(am__objects_2)
-dummy_la_OBJECTS = $(am_dummy_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-dummy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dummy_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_INPUT_DUMMY_TRUE@am_dummy_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(dummy_la_SOURCES)
-DIST_SOURCES = $(am__dummy_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(INPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dummysources = \
- dummy.cc
-
- at HAVE_INPUT_DUMMY_FALSE@dummyltlibs =
- at HAVE_INPUT_DUMMY_TRUE@dummyltlibs = dummy.la
- at HAVE_INPUT_DUMMY_FALSE@dummybuildsources =
- at HAVE_INPUT_DUMMY_TRUE@dummybuildsources = $(dummysources)
-EXTRA_DIST = $(dummysources)
-lib_LTLIBRARIES = $(dummyltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/include
-dummy_la_LDFLAGS = -module -avoid-version -shared
-dummy_la_LIBADD =
-dummy_la_SOURCES = $(dummybuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/input/dummy/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/input/dummy/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-dummy.la: $(dummy_la_OBJECTS) $(dummy_la_DEPENDENCIES) $(EXTRA_dummy_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(dummy_la_LINK) $(am_dummy_la_rpath) $(dummy_la_OBJECTS) $(dummy_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dummy.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/dummy.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/input/dummy/dummy.cc b/drumgizmo/input/dummy/dummy.cc
deleted file mode 100644
index 4a570db..0000000
--- a/drumgizmo/input/dummy/dummy.cc
+++ /dev/null
@@ -1,185 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * dummy.cc
- *
- * Sat Apr 30 21:11:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <string>
-#include <event.h>
-
-class Dummy {
-public:
- Dummy() {}
- ~Dummy() {}
-
- bool init(int instruments, char *inames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-};
-
-bool Dummy::init(int instruments, char *inames[])
-{
- return true;
-}
-
-void Dummy::setParm(std::string parm, std::string value)
-{
-}
-
-bool Dummy::start()
-{
- return true;
-}
-
-void Dummy::stop()
-{
-}
-
-void Dummy::pre()
-{
-}
-
-event_t *Dummy::run(size_t pos, size_t len, size_t *nevents)
-{
- *nevents = 0;
- return NULL;
- /*
- if(rand() % 10 != 0) return;
-
- Instrument *i = NULL;
- int d = rand() % drumkit->instruments.size();
- Instruments::iterator it = drumkit->instruments.begin();
- while(d--) {
- i = &(it->second);
- it++;
- }
-
- if(i == NULL) return;
-
- Sample *s = i->sample((double)rand()/(double)RAND_MAX);
-
- if(s == NULL) {
- printf("Missing Sample.\n");
- // continue;
- }
-
- Channels::iterator j = drumkit->channels.begin();
- while(j != drumkit->channels.end()) {
- Channel &ch = *j;
- AudioFile *af = s->getAudioFile(&ch);
- if(af == NULL) {
- printf("Missing AudioFile.\n");
- } else {
- printf("Adding event.\n");
- Event *evt = new EventSample(ch.num, 1.0, af);
- eventqueue->post(evt, pos);
- }
- j++;
- }
- */
-}
-
-void Dummy::post()
-{
-}
-
-extern "C" {
- void *create()
- {
- return new Dummy();
- }
-
- void destroy(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- delete dummy;
- }
-
- bool init(void *h, int i, char *inames[])
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->init(i, inames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->start();
- }
-
- void stop(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->stop();
- }
-
- void pre(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->pre();
- }
-
- event_t *run(void *h, size_t pos, size_t len, size_t *nev)
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->run(pos, len, nev);
- }
-
- void post(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->post();
- }
-}
-
-#ifdef TEST_AUDIOINPUTENGINEDUMMY
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINEDUMMY*/
diff --git a/drumgizmo/input/inputdummy.cc b/drumgizmo/input/inputdummy.cc
new file mode 100644
index 0000000..74464ef
--- /dev/null
+++ b/drumgizmo/input/inputdummy.cc
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * inputdummy.cc
+ *
+ * Fr 22. Jan 08:14:58 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "inputdummy.h"
+
+DummyInputEngine::DummyInputEngine()
+{
+}
+
+DummyInputEngine::~DummyInputEngine()
+{
+}
+
+bool DummyInputEngine::init(Instruments& instruments)
+{
+ return true;
+}
+
+void DummyInputEngine::setParm(std::string parm, std::string value)
+{
+}
+
+bool DummyInputEngine::start()
+{
+ return true;
+}
+
+void DummyInputEngine::stop()
+{
+}
+
+void DummyInputEngine::pre()
+{
+}
+
+void DummyInputEngine::run(size_t pos, size_t len, std::vector<event_t>& events)
+{
+}
+
+void DummyInputEngine::post()
+{
+}
diff --git a/drumgizmo/input/inputdummy.h b/drumgizmo/input/inputdummy.h
new file mode 100644
index 0000000..79f325a
--- /dev/null
+++ b/drumgizmo/input/inputdummy.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * inputdummy.h
+ *
+ * Fr 22. Jan 08:14:58 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <audioinputengine.h>
+
+class DummyInputEngine
+ : public AudioInputEngine
+{
+public:
+ DummyInputEngine();
+ ~DummyInputEngine();
+
+ // based on AudioInputEngine
+ bool init(Instruments& instruments) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre() override;
+ void run(size_t pos, size_t len, std::vector<event_t>& events) override;
+ void post() override;
+};
diff --git a/drumgizmo/input/jackmidi.cc b/drumgizmo/input/jackmidi.cc
new file mode 100644
index 0000000..ff2f030
--- /dev/null
+++ b/drumgizmo/input/jackmidi.cc
@@ -0,0 +1,135 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * jackmidi.cc
+ *
+ * Mo 25. Jan 11:26:06 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <iostream>
+#include <cassert>
+
+#include "cpp11fix.h" // required for c++11
+#include "jackmidi.h"
+
+static int const NOTE_ON = 0x90;
+
+JackMidiInputEngine::JackMidiInputEngine(JackClient& client)
+ : AudioInputEngineMidi{}
+ , JackProcess{}
+ , client(client)
+ , port{nullptr}
+ , pos{0u}
+ , events{}
+{
+ client.add(*this);
+}
+
+JackMidiInputEngine::~JackMidiInputEngine()
+{
+ client.remove(*this);
+}
+
+bool JackMidiInputEngine::init(Instruments& instruments)
+{
+ if(!loadMidiMap(midimap, instruments))
+ {
+ std::cerr << "[MidifileInputEngine] Failed to parse midimap '"
+ << midimap << "'\n";
+ return false;
+ }
+ port = std::make_unique<JackPort>(client, "drumgizmo_midiin",
+ JACK_DEFAULT_MIDI_TYPE,
+ JackPortIsInput);
+ return true;
+}
+
+void JackMidiInputEngine::setParm(std::string parm, std::string value)
+{
+ if(parm == "midimap")
+ {
+ // apply midimap filename
+ midimap = value;
+ }
+ else
+ {
+ std::cerr << "[JackMidiInputEngine] Unsupported parameter '" << parm
+ << "'\n";
+ }
+}
+
+bool JackMidiInputEngine::start()
+{
+ client.activate();
+ return true;
+}
+
+void JackMidiInputEngine::stop()
+{
+}
+
+void JackMidiInputEngine::pre()
+{
+}
+
+void JackMidiInputEngine::run(size_t pos, size_t len,
+ std::vector<event_t>& events)
+{
+ assert(events.empty());
+ std::swap(events, this->events);
+}
+
+void JackMidiInputEngine::post()
+{
+}
+
+void JackMidiInputEngine::process(jack_nframes_t num_frames)
+{
+ assert(port != nullptr);
+ void* buffer = jack_port_get_buffer(port->port, num_frames);
+ jack_nframes_t num_events = jack_midi_get_event_count(buffer);
+
+ assert(events.empty());
+ events.reserve(num_events);
+ for(jack_nframes_t i = 0; i < num_events; ++i)
+ {
+ jack_midi_event_t event;
+ jack_midi_event_get(&event, buffer, i);
+ if(event.size != 3)
+ {
+ continue;
+ }
+ if((event.buffer[0] & NOTE_ON) != NOTE_ON)
+ {
+ continue;
+ }
+ int key = event.buffer[1];
+ int velocity = event.buffer[2];
+ printf("Event key:%d vel:%d\n", key, velocity);
+ int k = mmap.lookup(key);
+ if(k != -1 && velocity)
+ {
+ events.push_back({TYPE_ONSET, (size_t)k, event.time, velocity / 127.f});
+ }
+ }
+ jack_midi_clear_buffer(buffer);
+ pos += num_frames;
+}
diff --git a/drumgizmo/input/jackmidi.h b/drumgizmo/input/jackmidi.h
new file mode 100644
index 0000000..fbf6ef1
--- /dev/null
+++ b/drumgizmo/input/jackmidi.h
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * jackmidi.h
+ *
+ * Mo 25. Jan 11:26:06 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <memory>
+#include <jack/jack.h>
+#include <jack/midiport.h>
+
+#include "audioinputenginemidi.h"
+#include "midimapper.h"
+#include "midimapparser.h"
+#include "../jackclient.h"
+
+class JackMidiInputEngine
+ : public AudioInputEngineMidi
+ , public JackProcess
+{
+public:
+ JackMidiInputEngine(JackClient& client);
+ ~JackMidiInputEngine();
+
+ // based on AudioInputEngineMidi
+ bool init(Instruments& instruments) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre() override;
+ void run(size_t pos, size_t len, std::vector<event_t>& events) override;
+ void post() override;
+
+ // based on JackProcess
+ void process(jack_nframes_t num_frames) override;
+
+private:
+ JackClient& client;
+ std::unique_ptr<JackPort> port;
+
+ std::size_t pos;
+ std::vector<event_t> events;
+};
diff --git a/drumgizmo/input/jackmidi/Makefile.am b/drumgizmo/input/jackmidi/Makefile.am
deleted file mode 100644
index fd63944..0000000
--- a/drumgizmo/input/jackmidi/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-
-jackmidisources = \
- jackmidi.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/hugin/hugin.c
-
-if HAVE_INPUT_JACKMIDI
-
-jackmidiltlibs = jackmidi.la
-jackmidibuildsources = $(jackmidisources)
-
-else
-
-jackmidiltlibs =
-jackmidibuildsources =
-
-endif
-
-EXTRA_DIST = $(jackmidisources)
-
-lib_LTLIBRARIES = $(jackmidiltlibs)
-
-libdir = $(INPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_srcdir)/hugin
-jackmidi_la_LDFLAGS = -module -avoid-version -shared
-jackmidi_la_LIBADD =
-jackmidi_la_SOURCES = $(jackmidibuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/jackmidi.la
diff --git a/drumgizmo/input/jackmidi/Makefile.in b/drumgizmo/input/jackmidi/Makefile.in
deleted file mode 100644
index 1946673..0000000
--- a/drumgizmo/input/jackmidi/Makefile.in
+++ /dev/null
@@ -1,767 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/input/jackmidi
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-jackmidi_la_DEPENDENCIES =
-am__jackmidi_la_SOURCES_DIST = jackmidi.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc $(top_srcdir)/hugin/hugin.c
-am__objects_1 = jackmidi.lo midimapper.lo midimapparser.lo \
- saxparser.lo hugin.lo
- at HAVE_INPUT_JACKMIDI_TRUE@am__objects_2 = $(am__objects_1)
-am_jackmidi_la_OBJECTS = $(am__objects_2)
-jackmidi_la_OBJECTS = $(am_jackmidi_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-jackmidi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(jackmidi_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_INPUT_JACKMIDI_TRUE@am_jackmidi_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(jackmidi_la_SOURCES)
-DIST_SOURCES = $(am__jackmidi_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(INPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-jackmidisources = \
- jackmidi.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/hugin/hugin.c
-
- at HAVE_INPUT_JACKMIDI_FALSE@jackmidiltlibs =
- at HAVE_INPUT_JACKMIDI_TRUE@jackmidiltlibs = jackmidi.la
- at HAVE_INPUT_JACKMIDI_FALSE@jackmidibuildsources =
- at HAVE_INPUT_JACKMIDI_TRUE@jackmidibuildsources = $(jackmidisources)
-EXTRA_DIST = $(jackmidisources)
-lib_LTLIBRARIES = $(jackmidiltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_srcdir)/hugin
-jackmidi_la_LDFLAGS = -module -avoid-version -shared
-jackmidi_la_LIBADD =
-jackmidi_la_SOURCES = $(jackmidibuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/input/jackmidi/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/input/jackmidi/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-jackmidi.la: $(jackmidi_la_OBJECTS) $(jackmidi_la_DEPENDENCIES) $(EXTRA_jackmidi_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(jackmidi_la_LINK) $(am_jackmidi_la_rpath) $(jackmidi_la_OBJECTS) $(jackmidi_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/jackmidi.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midimapparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midimapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/saxparser.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-hugin.lo: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-midimapper.lo: $(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT midimapper.lo -MD -MP -MF $(DEPDIR)/midimapper.Tpo -c -o midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midimapper.Tpo $(DEPDIR)/midimapper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='midimapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
-
-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT midimapparser.lo -MD -MP -MF $(DEPDIR)/midimapparser.Tpo -c -o midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midimapparser.Tpo $(DEPDIR)/midimapparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
-
-saxparser.lo: $(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT saxparser.lo -MD -MP -MF $(DEPDIR)/saxparser.Tpo -c -o saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/saxparser.Tpo $(DEPDIR)/saxparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='saxparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/jackmidi.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/input/jackmidi/jackmidi.cc b/drumgizmo/input/jackmidi/jackmidi.cc
deleted file mode 100644
index 5496195..0000000
--- a/drumgizmo/input/jackmidi/jackmidi.cc
+++ /dev/null
@@ -1,250 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * jackmidi.cc
- *
- * Sat Apr 30 21:11:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <event.h>
-#include <string>
-
-#include <stdio.h>
-#include <midimapper.h>
-#include <midimapparser.h>
-
-#define NOTE_ON 0x90
-
-#include "../../jackclient.h"
-
-#include <jack/midiport.h>
-
-class JackMidi : public JackProcess {
-public:
- JackMidi();
- virtual ~JackMidi();
-
- bool init(int instruments, char *inames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
- void jack_process(jack_nframes_t nframes);
-
-private:
- void loadMap(std::string map) {}
-
- JackClient *jackclient;
- jack_port_t *midi_port;
-
- size_t pos;
-
- event_t *list;
- size_t listsize;
-
- std::string midimapfile;
- MidiMapper mmap;
-};
-
-JackMidi::JackMidi()
-{
- pos = 0;
-
- list = (event_t *)malloc(sizeof(event_t) * 1000);
- listsize = 0;
-}
-
-JackMidi::~JackMidi()
-{
-}
-
-bool JackMidi::init(int instruments, char *inames[])
-{
- midi_port = jack_port_register(jackclient->jack_client,
- "drumgizmo_midiin",
- JACK_DEFAULT_MIDI_TYPE,
- JackPortIsInput,// | JackPortIsTerminal,
- 0);
-
- MidiMapParser p(midimapfile);
- if(p.parse()) return false;
- mmap.midimap = p.midimap;
-
- for(int i = 0; i < instruments; i++) {
- mmap.instrmap[inames[i]] = i;
- }
-
- return true;
-}
-
-void JackMidi::setParm(std::string parm, std::string value)
-{
- if(parm == "midimap") midimapfile = value;
- if(parm == "jack_client") {
- sscanf(value.c_str(), "%p", &jackclient);
- if(jackclient) jackclient->addJackProcess(this);
- }
-}
-
-bool JackMidi::start()
-{
- // jackclient->activate();
- return true;
-}
-
-void JackMidi::stop()
-{
-}
-
-void JackMidi::pre()
-{
-}
-
-event_t *JackMidi::run(size_t pos, size_t len, size_t *nevents)
-{
- *nevents = listsize;
- event_t *l = list;
- list = (event_t *)malloc(sizeof(event_t) * 1000);
- listsize = 0;
- return l;
-}
-
-void JackMidi::jack_process(jack_nframes_t nframes)
-{
- // printf("i"); fflush(stdout);
-
- void *midibuffer = jack_port_get_buffer(midi_port, nframes);
-
- jack_nframes_t midievents = jack_midi_get_event_count(midibuffer);
-
- for(jack_nframes_t i = 0; i < midievents; i++) {
- jack_midi_event_t event;
- jack_midi_event_get(&event, midibuffer, i);
-
- if(event.size != 3) continue;
- if((event.buffer[0] & NOTE_ON) != NOTE_ON) continue;
-
- int key = event.buffer[1];
- int velocity = event.buffer[2];
-
- printf("Event key:%d vel:%d\n", key, velocity);
-
- int k = mmap.lookup(key);
- if(k != -1) {
-
- if(velocity) {
- list[listsize].type = TYPE_ONSET;
- list[listsize].instrument = k;
- list[listsize].velocity = velocity / 127.0;
- list[listsize].offset = event.time;
- listsize++;
- }
- }
- }
-
- jack_midi_clear_buffer(midibuffer);
-
- pos += nframes;
-}
-
-void JackMidi::post()
-{
-}
-
-extern "C" {
- void *create()
- {
- return new JackMidi();
- }
-
- void destroy(void *h)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- delete jackmidi;
- }
-
- bool init(void *h, int i, char *inames[])
- {
- JackMidi *jackmidi = (JackMidi*)h;
- return jackmidi->init(i, inames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- jackmidi->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- return jackmidi->start();
- }
-
- void stop(void *h)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- jackmidi->stop();
- }
-
- void pre(void *h)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- jackmidi->pre();
- }
-
- event_t *run(void *h, size_t pos, size_t len, size_t *nev)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- return jackmidi->run(pos, len, nev);
- }
-
- void post(void *h)
- {
- JackMidi *jackmidi = (JackMidi*)h;
- jackmidi->post();
- }
-}
-
-#ifdef TEST_AUDIOINPUTENGINEJACKMIDI
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINEJACKMIDI*/
diff --git a/drumgizmo/input/midifile.cc b/drumgizmo/input/midifile.cc
new file mode 100644
index 0000000..5fc1a42
--- /dev/null
+++ b/drumgizmo/input/midifile.cc
@@ -0,0 +1,192 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * midifile.cc
+ *
+ * Mi 20. Jan 16:07:57 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <iostream>
+#include <cassert>
+
+#include "midifile.h"
+
+static int const NOTE_ON = 0x90;
+
+MidifileInputEngine::MidifileInputEngine()
+ : AudioInputEngineMidi{}
+ , smf{nullptr}
+ , current_event{nullptr}
+ , file{}
+ , speed{1.f}
+ , track{-1} // all tracks
+ , loop{false}
+ , offset{0.0}
+ , samplerate{44100.0} // todo: via ctor arg
+{
+}
+
+MidifileInputEngine::~MidifileInputEngine()
+{
+ if(smf != nullptr)
+ {
+ smf_delete(smf);
+ }
+}
+
+bool MidifileInputEngine::init(Instruments& instruments)
+{
+ if(file == "")
+ {
+ std::cerr << "[MidifileInputEngine] Missing midi filename\n";
+ return false;
+ }
+ if(midimap == "")
+ {
+ std::cerr << "[MidifileInputEngine] Missing midimap filename\n";
+ return false;
+ }
+ smf = smf_load(file.c_str());
+ if(smf == nullptr)
+ {
+ std::cerr << "[MidifileInputEngine] Failed to load midifile '" << file
+ << "'\n";
+ return false;
+ }
+ if(!loadMidiMap(midimap, instruments))
+ {
+ std::cerr << "[MidifileInputEngine] Failed to parse midimap '"
+ << midimap << "'\n";
+ return false;
+ }
+ return true;
+}
+
+void MidifileInputEngine::setParm(std::string parm, std::string value)
+{
+ if(parm == "file")
+ {
+ // apply midi input filename
+ file = value;
+ }
+ else if(parm == "speed")
+ {
+ // try to apply speed
+ try
+ {
+ speed = std::stof(value);
+ }
+ catch(...)
+ {
+ std::cerr << "[MidifileInputEngine] Invalid speed " << value
+ << "\n";
+ }
+ }
+ else if(parm == "midimap")
+ {
+ // apply midimap filename
+ midimap = value;
+ }
+ else if(parm == "loop")
+ {
+ // apply looping
+ loop = true;
+ }
+ else
+ {
+ std::cerr << "[MidifileInputEngine] Unsupported parameter '" << parm
+ << "'\n";
+ }
+}
+
+bool MidifileInputEngine::start()
+{
+ return true;
+}
+
+void MidifileInputEngine::stop()
+{
+}
+
+void MidifileInputEngine::pre()
+{
+}
+
+void MidifileInputEngine::run(size_t pos, size_t len, std::vector<event_t>& events)
+{
+ assert(events.empty());
+
+ double current_max_time = (1.0 + pos + len) / (samplerate / speed);
+ current_max_time -= offset;
+
+ if(!current_event)
+ {
+ current_event = smf_get_next_event(smf);
+ }
+
+ while(current_event && current_event->time_seconds < current_max_time)
+ {
+ if(!smf_event_is_metadata(current_event))
+ {
+ if((current_event->midi_buffer_length == 3) &&
+ ((current_event->midi_buffer[0] & NOTE_ON) == NOTE_ON) &&
+ (track == -1 || current_event->track_number == track) &&
+ current_event->midi_buffer[2] > 0)
+ {
+ int key = current_event->midi_buffer[1];
+ int velocity = current_event->midi_buffer[2];
+
+ events.emplace_back();
+ auto& event = events.back();
+ event.type = TYPE_ONSET;
+ size_t evpos = current_event->time_seconds * (samplerate / speed);
+ event.offset = evpos - pos;
+
+ int i = mmap.lookup(key);
+ if(i != -1)
+ {
+ event.instrument = i;
+ event.velocity = velocity / 127.0;
+ }
+ }
+ }
+
+ current_event = smf_get_next_event(smf);
+ }
+
+ if(!current_event)
+ {
+ if(loop)
+ {
+ smf_rewind(smf);
+ offset += current_max_time;
+ }
+ else
+ {
+ assert(len >= 1);
+ events.push_back({TYPE_STOP, 0, len-1, 0.f});
+ }
+ }
+}
+
+void MidifileInputEngine::post()
+{
+}
diff --git a/drumgizmo/input/midifile.h b/drumgizmo/input/midifile.h
new file mode 100644
index 0000000..a5c79e4
--- /dev/null
+++ b/drumgizmo/input/midifile.h
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * minifile.h
+ *
+ * Mi 20. Jan 16:07:57 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <string>
+
+#include <event.h>
+#include <smf.h>
+
+#include "audioinputenginemidi.h"
+#include "midimapper.h"
+#include "midimapparser.h"
+
+class MidifileInputEngine
+ : public AudioInputEngineMidi
+{
+public:
+ MidifileInputEngine();
+ ~MidifileInputEngine();
+
+ // based on AudioInputEngineMidi
+ bool init(Instruments& instruments) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre() override;
+ void run(size_t pos, size_t len, std::vector<event_t>& events) override;
+ void post() override;
+
+private:
+ smf_t* smf;
+ smf_event_t* current_event;
+
+ std::string file;
+ float speed;
+ int track;
+ bool loop;
+ double offset, samplerate;
+};
diff --git a/drumgizmo/input/midifile/Makefile.am b/drumgizmo/input/midifile/Makefile.am
deleted file mode 100644
index f95a289..0000000
--- a/drumgizmo/input/midifile/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-
-midifilesources = \
- midifile.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/hugin/hugin.c
-
-
-if HAVE_INPUT_MIDIFILE
-
-midifileltlibs = midifile.la
-midifilebuildsources = $(midifilesources)
-
-else
-
-midifileltlibs =
-midifilebuildsources =
-
-endif
-
-EXTRA_DIST = $(midifilesources)
-
-lib_LTLIBRARIES = $(midifileltlibs)
-
-libdir = $(INPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SMF_CFLAGS) \
- $(EXPAT_CFLAGS) -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX
-midifile_la_LDFLAGS = $(SMF_LIBS) $(EXPAT_LIBS) -module -avoid-version -shared
-midifile_la_LIBADD =
-midifile_la_SOURCES = $(midifilebuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/midifile.la
diff --git a/drumgizmo/input/midifile/Makefile.in b/drumgizmo/input/midifile/Makefile.in
deleted file mode 100644
index 28d4ea9..0000000
--- a/drumgizmo/input/midifile/Makefile.in
+++ /dev/null
@@ -1,769 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/input/midifile
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-midifile_la_DEPENDENCIES =
-am__midifile_la_SOURCES_DIST = midifile.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc $(top_srcdir)/hugin/hugin.c
-am__objects_1 = midifile.lo midimapper.lo midimapparser.lo \
- saxparser.lo hugin.lo
- at HAVE_INPUT_MIDIFILE_TRUE@am__objects_2 = $(am__objects_1)
-am_midifile_la_OBJECTS = $(am__objects_2)
-midifile_la_OBJECTS = $(am_midifile_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-midifile_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(midifile_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_INPUT_MIDIFILE_TRUE@am_midifile_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(midifile_la_SOURCES)
-DIST_SOURCES = $(am__midifile_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(INPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-midifilesources = \
- midifile.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/hugin/hugin.c
-
- at HAVE_INPUT_MIDIFILE_FALSE@midifileltlibs =
- at HAVE_INPUT_MIDIFILE_TRUE@midifileltlibs = midifile.la
- at HAVE_INPUT_MIDIFILE_FALSE@midifilebuildsources =
- at HAVE_INPUT_MIDIFILE_TRUE@midifilebuildsources = $(midifilesources)
-EXTRA_DIST = $(midifilesources)
-lib_LTLIBRARIES = $(midifileltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SMF_CFLAGS) \
- $(EXPAT_CFLAGS) -I$(top_srcdir)/hugin -DWITH_HUG_MUTEX
-
-midifile_la_LDFLAGS = $(SMF_LIBS) $(EXPAT_LIBS) -module -avoid-version -shared
-midifile_la_LIBADD =
-midifile_la_SOURCES = $(midifilebuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/input/midifile/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/input/midifile/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-midifile.la: $(midifile_la_OBJECTS) $(midifile_la_DEPENDENCIES) $(EXTRA_midifile_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(midifile_la_LINK) $(am_midifile_la_rpath) $(midifile_la_OBJECTS) $(midifile_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midifile.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midimapparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midimapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/saxparser.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-hugin.lo: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-midimapper.lo: $(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT midimapper.lo -MD -MP -MF $(DEPDIR)/midimapper.Tpo -c -o midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midimapper.Tpo $(DEPDIR)/midimapper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='midimapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
-
-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT midimapparser.lo -MD -MP -MF $(DEPDIR)/midimapparser.Tpo -c -o midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midimapparser.Tpo $(DEPDIR)/midimapparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
-
-saxparser.lo: $(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT saxparser.lo -MD -MP -MF $(DEPDIR)/saxparser.Tpo -c -o saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/saxparser.Tpo $(DEPDIR)/saxparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='saxparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/midifile.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/input/midifile/midifile.cc b/drumgizmo/input/midifile/midifile.cc
deleted file mode 100644
index d73d382..0000000
--- a/drumgizmo/input/midifile/midifile.cc
+++ /dev/null
@@ -1,271 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * dummy.cc
- *
- * Sat Apr 30 21:11:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <string>
-#include <event.h>
-
-#include <smf.h>
-
-#include <midimapper.h>
-#include <midimapparser.h>
-
-#define NOTE_ON 0x90
-
-class MidiFile {
-public:
- MidiFile();
- ~MidiFile() {}
-
- bool init(int instruments, char *inames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
-private:
- smf_t *smf;
- smf_event_t *cur_event;
-
- MidiMapper mmap;
-
- // Parameters
- std::string filename;
- float speed;
- int track;
- std::string midimapfile;
- bool loop;
- double offset;
-};
-
-MidiFile::MidiFile()
-{
- cur_event = NULL;
- smf = NULL;
-
- speed = 1.0;
- track = -1; // -1 is OMNI/all tracks
- loop = false;
- offset = 0;
-}
-
-bool MidiFile::init(int instruments, char *inames[])
-{
- if(filename == "") {
- fprintf(stderr, "Missing midifile argument 'file'\n");
- return false;
- }
-
- if(midimapfile == "") {
- fprintf(stderr, "Missing midimapfile argument 'midimap'.\n");
- return false;
- }
-
- smf = smf_load(filename.c_str());
-
- if(!smf) {
- fprintf(stderr, "Could not open midifile '%s'.\n", filename.c_str());
- return false;
- }
-
- MidiMapParser p(midimapfile);
- if(p.parse()) {
- fprintf(stderr, "Could not parse midimapfile '%s'.\n", midimapfile.c_str());
- return false;
- }
- mmap.midimap = p.midimap;
-
- for(int i = 0; i < instruments; i++) {
- mmap.instrmap[inames[i]] = i;
- }
-
- return true;
-}
-
-void MidiFile::setParm(std::string parm, std::string value)
-{
- if(parm == "file") filename = value;
- if(parm == "speed") speed = atof(value.c_str());
- if(parm == "track") track = atoi(value.c_str());
- if(parm == "midimap") midimapfile = value;
- if(parm == "loop") loop = true;
-}
-
-bool MidiFile::start()
-{
- return true;
-}
-
-void MidiFile::stop()
-{
-}
-
-void MidiFile::pre()
-{
-}
-
-event_t *MidiFile::run(size_t pos, size_t len, size_t *nevents)
-{
- event_t *evs = NULL;
- size_t nevs = 0;
-
- double cur_max_time = (double)(pos + len) / (44100.0 / speed);
- cur_max_time -= offset;
- // double cur_min_time = (double)(pos) / (44100.0 / speed);
-
- if(!cur_event) cur_event = smf_get_next_event(smf);
-
- while(cur_event && cur_event->time_seconds < cur_max_time) {
- if(!smf_event_is_metadata(cur_event)) {
- if( (cur_event->midi_buffer_length == 3) &&
- ((cur_event->midi_buffer[0] & NOTE_ON) == NOTE_ON) &&
- (track == -1 || cur_event->track_number == track) &&
- cur_event->midi_buffer[2] > 0) {
-
- if(evs == NULL) evs = (event_t *)malloc(sizeof(event_t) * 1000);
-
- int key = cur_event->midi_buffer[1];
- int velocity = cur_event->midi_buffer[2];
-
- evs[nevs].type = TYPE_ONSET;
- size_t evpos = cur_event->time_seconds * (44100.0 / speed);
- evs[nevs].offset = evpos - pos;
-
- int i = mmap.lookup(key);
- if(i != -1) {
- evs[nevs].instrument = i;
- evs[nevs].velocity = velocity / 127.0;
-
- nevs++;
- if(nevs > 999) {
- fprintf(stderr, "PANIC!\n");
- break;
- }
- }
- }
- }
-
- cur_event = smf_get_next_event(smf);
- }
-
- if(!cur_event) {
- if(loop) {
- smf_rewind(smf);
- offset += cur_max_time;
- } else {
- if(evs == NULL) evs = (event_t *)malloc(sizeof(event_t) * 1000);
- evs[nevs].type = TYPE_STOP;
- evs[nevs].offset = len - 1;
- nevs++;
- }
- }
-
- *nevents = nevs;
-
- return evs;
-}
-
-void MidiFile::post()
-{
-}
-
-extern "C" {
- void *create()
- {
- return new MidiFile();
- }
-
- void destroy(void *h)
- {
- MidiFile *midifile = (MidiFile*)h;
- delete midifile;
- }
-
- bool init(void *h, int i, char *inames[])
- {
- MidiFile *midifile = (MidiFile*)h;
- return midifile->init(i, inames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- MidiFile *midifile = (MidiFile*)h;
- midifile->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- MidiFile *midifile = (MidiFile*)h;
- return midifile->start();
- }
-
- void stop(void *h)
- {
- MidiFile *midifile = (MidiFile*)h;
- midifile->stop();
- }
-
- void pre(void *h)
- {
- MidiFile *midifile = (MidiFile*)h;
- midifile->pre();
- }
-
- event_t *run(void *h, size_t pos, size_t len, size_t *nev)
- {
- MidiFile *midifile = (MidiFile*)h;
- return midifile->run(pos, len, nev);
- }
-
- void post(void *h)
- {
- MidiFile *midifile = (MidiFile*)h;
- midifile->post();
- }
-}
-
-#ifdef TEST_AUDIOINPUTENGINEMIDIFILE
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINEMIDIFILE*/
diff --git a/drumgizmo/input/test/Makefile.am b/drumgizmo/input/test/Makefile.am
deleted file mode 100644
index 35466ab..0000000
--- a/drumgizmo/input/test/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-
-testsources = \
- test.cc
-
-if HAVE_INPUT_TEST
-
-testltlibs = test.la
-testbuildsources = $(testsources)
-
-else
-
-testltlibs =
-testbuildsources =
-
-endif
-
-EXTRA_DIST = $(testsources)
-
-lib_LTLIBRARIES = $(testltlibs)
-
-libdir = $(INPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/include
-test_la_LDFLAGS = -module -avoid-version -shared
-test_la_LIBADD =
-test_la_SOURCES = $(testbuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/test.la
diff --git a/drumgizmo/input/test/Makefile.in b/drumgizmo/input/test/Makefile.in
deleted file mode 100644
index e429cb6..0000000
--- a/drumgizmo/input/test/Makefile.in
+++ /dev/null
@@ -1,688 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/input/test
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-test_la_DEPENDENCIES =
-am__test_la_SOURCES_DIST = test.cc
-am__objects_1 = test.lo
- at HAVE_INPUT_TEST_TRUE@am__objects_2 = $(am__objects_1)
-am_test_la_OBJECTS = $(am__objects_2)
-test_la_OBJECTS = $(am_test_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-test_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(test_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_INPUT_TEST_TRUE@am_test_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(test_la_SOURCES)
-DIST_SOURCES = $(am__test_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(INPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-testsources = \
- test.cc
-
- at HAVE_INPUT_TEST_FALSE@testltlibs =
- at HAVE_INPUT_TEST_TRUE@testltlibs = test.la
- at HAVE_INPUT_TEST_FALSE@testbuildsources =
- at HAVE_INPUT_TEST_TRUE@testbuildsources = $(testsources)
-EXTRA_DIST = $(testsources)
-lib_LTLIBRARIES = $(testltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/include
-test_la_LDFLAGS = -module -avoid-version -shared
-test_la_LIBADD =
-test_la_SOURCES = $(testbuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/input/test/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/input/test/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-test.la: $(test_la_OBJECTS) $(test_la_DEPENDENCIES) $(EXTRA_test_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(test_la_LINK) $(am_test_la_rpath) $(test_la_OBJECTS) $(test_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/test.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/test.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/input/test/test.cc b/drumgizmo/input/test/test.cc
deleted file mode 100644
index b7b4a7d..0000000
--- a/drumgizmo/input/test/test.cc
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audioinputenginedummy.cc
- *
- * Sat Apr 30 21:11:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <event.h>
-#include <string>
-
-class Test {
-public:
- Test() { p = 0.1; instr = -1; len = -1; }
- ~Test() {}
-
- bool init(int instruments, char *inames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
-private:
- float p;
- int instr;
- int len;
-};
-
-bool Test::init(int instruments, char *inames[])
-{
- return true;
-}
-
-void Test::setParm(std::string parm, std::string value)
-{
- if(parm == "p") p = atof(value.c_str());
- if(parm == "instr") instr = atoi(value.c_str());
- if(parm == "len") len = atoi(value.c_str());
-}
-
-bool Test::start()
-{
- return true;
-}
-
-void Test::stop()
-{
-}
-
-void Test::pre()
-{
-}
-
-event_t *Test::run(size_t pos, size_t nsamples, size_t *nevents)
-{
- if((float)rand() / (float)RAND_MAX > p) {
- *nevents = 0;
- return NULL;
- }
-
- *nevents = 1;
- event_t *evs = (event_t *)malloc(sizeof(event_t));
- evs[0].type = TYPE_ONSET;
- if(len != -1 && (int)pos > len * 44100) evs[0].type = TYPE_STOP;
-
- if(instr != -1) evs[0].instrument = instr;
- else evs[0].instrument = rand() % 32;
-
- evs[0].velocity = (float)rand()/(float)RAND_MAX;
- evs[0].offset = nsamples?rand()%nsamples:0;
- return evs;
-}
-
-void Test::post()
-{
-}
-
-extern "C" {
- void *create()
- {
- return new Test();
- }
-
- void destroy(void *h)
- {
- Test *test = (Test*)h;
- delete test;
- }
-
- bool init(void *h, int i, char *inames[])
- {
- Test *test = (Test*)h;
- return test->init(i, inames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- Test *test = (Test*)h;
- test->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- Test *test = (Test*)h;
- return test->start();
- }
-
- void stop(void *h)
- {
- Test *test = (Test*)h;
- test->stop();
- }
-
- void pre(void *h)
- {
- Test *test = (Test*)h;
- test->pre();
- }
-
- event_t *run(void *h, size_t pos, size_t len, size_t *nev)
- {
- Test *test = (Test*)h;
- return test->run(pos, len, nev);
- }
-
- void post(void *h)
- {
- Test *test = (Test*)h;
- test->post();
- }
-}
-
-#ifdef TEST_AUDIOINPUTENGINETEST
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINETEST*/
diff --git a/drumgizmo/jackclient.cc b/drumgizmo/jackclient.cc
index e4af141..e493e1b 100644
--- a/drumgizmo/jackclient.cc
+++ b/drumgizmo/jackclient.cc
@@ -11,90 +11,104 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
+#include <cassert>
+
#include "jackclient.h"
-extern "C"
+JackProcess::~JackProcess()
{
- int _wrap_jack_process(jack_nframes_t nframes, void *arg){
- return ((JackClient*)arg)->process(nframes);}
-} // extern "C"
+}
-JackClient::JackClient()
- : refcnt(0)
+// --------------------------------------------------------------------
+
+JackPort::JackPort(JackClient& client, const std::string& name,
+ const char* type, JackPortFlags flags)
+ : client{client.client} // register jack port for given client
+ , port{jack_port_register(this->client, name.c_str(), type, flags, 0)}
{
- jack_status_t status;
+}
- jack_client = jack_client_open("DrumGizmo", JackNullOption, &status);
+JackPort::~JackPort()
+{
+ if(port != nullptr)
+ {
+ assert(client != nullptr);
+ jack_port_unregister(client, port);
+ }
+}
- jack_set_process_callback(jack_client, _wrap_jack_process, this);
+// --------------------------------------------------------------------
- active = false;
+int JackClient::wrapJackProcess(jack_nframes_t nframes, void* arg)
+{
+ return static_cast<JackClient*>(arg)->process(nframes);
+}
+
+JackClient::JackClient()
+ : client{nullptr}
+ , processes{}
+ , is_active{false}
+{
+ jack_status_t status;
+ client = jack_client_open("DrumGizmo", JackNullOption, &status);
+ jack_set_process_callback(client, JackClient::wrapJackProcess, this);
}
JackClient::~JackClient()
{
- jack_client_close(jack_client);
+ if(client != nullptr)
+ {
+ jack_client_close(client);
+ }
}
-/*
-void JackClient::addJackProcess(JackProcess *process)
+void JackClient::add(JackProcess& process)
{
- jack_processes.insert(process);
+ processes.insert(&process);
}
-*/
-void JackClient::removeJackProcess(JackProcess *process)
+void JackClient::remove(JackProcess& process)
{
- jack_processes.erase(process);
+ processes.erase(&process);
}
void JackClient::activate()
{
- if(!active) jack_activate(jack_client);
- active = true;
+ if(!is_active)
+ {
+ jack_activate(client);
+ }
+ is_active = true;
}
-int JackClient::process(jack_nframes_t nframes)
+int JackClient::process(jack_nframes_t num_frames)
{
- std::set<JackProcess *>::iterator i = jack_processes.begin();
- while(i != jack_processes.end()) {
- JackProcess *jp = *i;
- jp->jack_process(nframes);
- i++;
- }
-
+ for(auto& ptr : processes)
+ {
+ ptr->process(num_frames);
+ }
return 0;
}
-JackClient *jackclient = NULL;
-
-JackClient *init_jack_client()
+std::size_t JackClient::getBufferSize() const
{
- if(jackclient == NULL) jackclient = new JackClient();
- jackclient->refcnt++;
- return jackclient;
-
+ return jack_get_buffer_size(client);
}
-void close_jack_client()
+
+std::size_t JackClient::getSampleRate() const
{
- if(jackclient) {
- jackclient->refcnt--;
- if(jackclient->refcnt == 0) {
- delete jackclient;
- jackclient = NULL;
- }
- }
+ return jack_get_sample_rate(client);
}
diff --git a/drumgizmo/jackclient.h b/drumgizmo/jackclient.h
index f093220..82cc0ed 100644
--- a/drumgizmo/jackclient.h
+++ b/drumgizmo/jackclient.h
@@ -11,57 +11,73 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_JACKCLIENT_H__
-#define __DRUMGIZMO_JACKCLIENT_H__
+#pragma once
+#include <vector>
+#include <string>
+#include <set>
#include <jack/jack.h>
-#include <set>
-class JackProcess {
+#include <audiotypes.h>
+
+class JackClient;
+
+class JackProcess
+{
public:
- virtual ~JackProcess() {}
- virtual void jack_process(jack_nframes_t nframes) = 0;
+ virtual ~JackProcess();
+ virtual void process(jack_nframes_t num_frames) = 0;
};
-class JackClient {
-public:
- JackClient();
- ~JackClient();
+// --------------------------------------------------------------------
- void addJackProcess(JackProcess *process)
- {
- jack_processes.insert(process);
- }
+// RAII-wrapper for jack_port_t
+struct JackPort
+{
+ JackPort(JackClient& client, const std::string& name, const char* type,
+ JackPortFlags flags);
+ ~JackPort();
- void removeJackProcess(JackProcess *process);
+ jack_client_t* const client;
+ jack_port_t* const port;
+};
- void activate();
- int process(jack_nframes_t nframes);
+// --------------------------------------------------------------------
- jack_client_t *jack_client;
+class JackClient
+{
+ friend struct JackPort;
- // Sort of private...
- int refcnt;
+public:
+ JackClient();
+ ~JackClient();
+
+ void add(JackProcess& process);
+ void remove(JackProcess& process);
+ void activate();
+
+ std::size_t getBufferSize() const;
+ std::size_t getSampleRate() const;
private:
- std::set<JackProcess *> jack_processes;
- bool active;
-};
+ jack_client_t* client;
+ std::set<JackProcess*> processes;
+ bool is_active;
-JackClient *init_jack_client();
-void close_jack_client();
+ int process(jack_nframes_t num_frames);
-#endif/*__DRUMGIZMO_JACKCLIENT_H__*/
+ static int wrapJackProcess(jack_nframes_t nframes, void* arg);
+};
diff --git a/drumgizmo/output/Makefile.am b/drumgizmo/output/Makefile.am
deleted file mode 100644
index 61b447a..0000000
--- a/drumgizmo/output/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-DISTDIRS = dummy alsa wavfile jackaudio
-SUBDIRS = @OUTPUT_PLUGINS@
diff --git a/drumgizmo/output/Makefile.in b/drumgizmo/output/Makefile.in
deleted file mode 100644
index 027a849..0000000
--- a/drumgizmo/output/Makefile.in
+++ /dev/null
@@ -1,643 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/output
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-DISTDIRS = dummy alsa wavfile jackaudio
-SUBDIRS = @OUTPUT_PLUGINS@
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/output/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/output/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-generic clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/output/alsa.cc b/drumgizmo/output/alsa.cc
new file mode 100644
index 0000000..20a5366
--- /dev/null
+++ b/drumgizmo/output/alsa.cc
@@ -0,0 +1,193 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * alsa.cc
+ *
+ * Do 21. Jan 16:48:32 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <iostream>
+
+#include "alsa.h"
+
+int const BUFFER_SIZE = 40960;
+
+struct AlsaInitError
+{
+ int const code;
+ const std::string msg;
+
+ AlsaInitError(int op_code, const std::string& msg)
+ : code{code}
+ , msg{msg}
+ {
+ }
+
+ static inline void test(int code, const std::string& msg)
+ {
+ if(code < 0)
+ {
+ throw AlsaInitError(code, msg);
+ }
+ }
+};
+
+AlsaOutputEngine::AlsaOutputEngine()
+ : handle{nullptr}
+ , params{nullptr}
+ , data{}
+ , num_channels{0u}
+ , dev{"default"}
+ , srate{44100}
+ , frames{32}
+{
+}
+
+AlsaOutputEngine::~AlsaOutputEngine()
+{
+ // note: do NOT release `params`, it was allocated by `alloca()`
+
+ if(handle != nullptr)
+ {
+ snd_pcm_close(handle);
+ }
+}
+
+bool AlsaOutputEngine::init(Channels channels)
+{
+ // try to initialize alsa
+ try
+ {
+ int value =
+ snd_pcm_open(&handle, dev.c_str(), SND_PCM_STREAM_PLAYBACK, 0);
+ AlsaInitError::test(value, "snd_pcm_open");
+ num_channels = channels.size();
+ if(handle == nullptr)
+ {
+ std::cerr << "[AlsaOutputEngine] Failed to acquire "
+ << "hardware handle\n";
+ return false;
+ }
+ // Allocate and init a hardware parameters object
+ snd_pcm_hw_params_alloca(¶ms);
+ value = snd_pcm_hw_params_any(handle, params);
+ AlsaInitError::test(value, "snd_pcm_hw_params_any");
+
+ value = snd_pcm_hw_params_set_access(
+ handle, params, SND_PCM_ACCESS_RW_INTERLEAVED);
+ AlsaInitError::test(value, "snd_pcm_hw_params_set_access");
+ value =
+ snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_FLOAT);
+ AlsaInitError::test(value, "snd_pcm_hw_params_set_format");
+ value = snd_pcm_hw_params_set_channels(handle, params, num_channels);
+ AlsaInitError::test(value, "snd_pcm_hw_params_set_channels");
+ value = snd_pcm_hw_params_set_rate_near(handle, params, &srate, 0);
+ AlsaInitError::test(value, "snd_pcm_hw_params_set_rate_near");
+ value =
+ snd_pcm_hw_params_set_period_size_near(handle, params, &frames, 0);
+ AlsaInitError::test(value, "snd_pcm_hw_params_set_period_size_near");
+ value = snd_pcm_hw_params(handle, params);
+ AlsaInitError::test(value, "snd_pcm_hw_params");
+ }
+ catch(AlsaInitError const& error)
+ {
+ std::cerr << "[AlsaOutputEngine] " << error.msg
+ << " failed: " << snd_strerror(error.code) << std::endl;
+ return false;
+ }
+
+ data.clear();
+ data.resize(BUFFER_SIZE * num_channels);
+
+ return true;
+}
+
+void AlsaOutputEngine::setParm(std::string parm, std::string value)
+{
+ if(parm == "dev")
+ {
+ // apply hardware device name
+ dev = value;
+ }
+ else if(parm == "frames")
+ {
+ // try to apply hardware buffer size
+ try
+ {
+ frames = std::stoi(value);
+ }
+ catch(...)
+ {
+ std::cerr << "[AlsaOutputEngine] Invalid buffer size " << value
+ << "\n";
+ }
+ }
+ else if(parm == "srate")
+ {
+ try
+ {
+ srate = std::stoi(value);
+ }
+ catch(...)
+ {
+ std::cerr << "[AlsaOutputEngine] Invalid samplerate " << value
+ << "\n";
+ }
+ }
+ else
+ {
+ std::cerr << "[AlsaOutputEngine] Unsupported parameter '" << parm
+ << "'\n";
+ }
+}
+
+bool AlsaOutputEngine::start()
+{
+ return true;
+}
+
+void AlsaOutputEngine::stop()
+{
+}
+
+void AlsaOutputEngine::pre(size_t nsamples)
+{
+}
+
+void AlsaOutputEngine::run(int ch, sample_t* samples, size_t nsamples)
+{
+ // Write channel data in interleaved buffer
+ for(auto i = 0u; i < nsamples; ++i)
+ {
+ data[i * num_channels + ch] = samples[i];
+ }
+}
+
+void AlsaOutputEngine::post(size_t nsamples)
+{
+ // Write the interleaved buffer to the soundcard
+ snd_pcm_writei(handle, data.data(), nsamples);
+}
+
+size_t AlsaOutputEngine::samplerate()
+{
+ return srate;
+}
diff --git a/drumgizmo/output/alsa.h b/drumgizmo/output/alsa.h
new file mode 100644
index 0000000..f3fb457
--- /dev/null
+++ b/drumgizmo/output/alsa.h
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * alsa.h
+ *
+ * Do 21. Jan 16:48:32 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+// Use the newer ALSA API
+#define ALSA_PCM_NEW_HW_PARAMS_API
+
+#include <audiotypes.h>
+#include <alsa/asoundlib.h>
+
+#include "audiooutputengine.h"
+
+class AlsaOutputEngine
+ : public AudioOutputEngine
+{
+public:
+ AlsaOutputEngine();
+ ~AlsaOutputEngine();
+
+ // based on AudioOutputEngine
+ bool init(Channels chan) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre(size_t nsamples) override;
+ void run(int ch, sample_t* samples, size_t nsamples) override;
+ void post(size_t nsamples) override;
+ size_t samplerate() override;
+
+private:
+ snd_pcm_t* handle;
+ snd_pcm_hw_params_t* params;
+ std::vector<sample_t> data;
+ size_t num_channels;
+
+ std::string dev;
+ unsigned int srate; // samplerate
+ snd_pcm_uframes_t frames;
+};
diff --git a/drumgizmo/output/alsa/Makefile.am b/drumgizmo/output/alsa/Makefile.am
deleted file mode 100644
index 9f20844..0000000
--- a/drumgizmo/output/alsa/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-
-alsasources = \
- alsa.cc
-
-if HAVE_OUTPUT_ALSA
-
-alsaltlibs = alsa.la
-alsabuildsources = $(alsasources)
-
-else
-
-alsaltlibs =
-alsabuildsources =
-
-endif
-
-EXTRA_DIST = $(alsasources)
-
-lib_LTLIBRARIES = $(alsaltlibs)
-
-libdir = $(OUTPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(ALSA_CFLAGS)
-alsa_la_LDFLAGS = $(ALSA_LIBS) -module -avoid-version -shared
-alsa_la_LIBADD =
-alsa_la_SOURCES = $(alsabuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/alsa.la
diff --git a/drumgizmo/output/alsa/Makefile.in b/drumgizmo/output/alsa/Makefile.in
deleted file mode 100644
index e6d49d4..0000000
--- a/drumgizmo/output/alsa/Makefile.in
+++ /dev/null
@@ -1,688 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/output/alsa
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-alsa_la_DEPENDENCIES =
-am__alsa_la_SOURCES_DIST = alsa.cc
-am__objects_1 = alsa.lo
- at HAVE_OUTPUT_ALSA_TRUE@am__objects_2 = $(am__objects_1)
-am_alsa_la_OBJECTS = $(am__objects_2)
-alsa_la_OBJECTS = $(am_alsa_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-alsa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(alsa_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_OUTPUT_ALSA_TRUE@am_alsa_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(alsa_la_SOURCES)
-DIST_SOURCES = $(am__alsa_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(OUTPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-alsasources = \
- alsa.cc
-
- at HAVE_OUTPUT_ALSA_FALSE@alsaltlibs =
- at HAVE_OUTPUT_ALSA_TRUE@alsaltlibs = alsa.la
- at HAVE_OUTPUT_ALSA_FALSE@alsabuildsources =
- at HAVE_OUTPUT_ALSA_TRUE@alsabuildsources = $(alsasources)
-EXTRA_DIST = $(alsasources)
-lib_LTLIBRARIES = $(alsaltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(ALSA_CFLAGS)
-alsa_la_LDFLAGS = $(ALSA_LIBS) -module -avoid-version -shared
-alsa_la_LIBADD =
-alsa_la_SOURCES = $(alsabuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/output/alsa/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/output/alsa/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-alsa.la: $(alsa_la_OBJECTS) $(alsa_la_DEPENDENCIES) $(EXTRA_alsa_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(alsa_la_LINK) $(am_alsa_la_rpath) $(alsa_la_OBJECTS) $(alsa_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alsa.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/alsa.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/output/alsa/alsa.cc b/drumgizmo/output/alsa/alsa.cc
deleted file mode 100644
index dc2ac73..0000000
--- a/drumgizmo/output/alsa/alsa.cc
+++ /dev/null
@@ -1,225 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audiooutputenginedummy.cc
- *
- * Sat Apr 30 21:12:02 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <audiotypes.h>
-#include <string>
-
-// Use the newer ALSA API
-#define ALSA_PCM_NEW_HW_PARAMS_API
-
-#include <asoundlib.h>
-
-#define T(x, msg) if(x < 0) { printf("%s failed: %s\n", msg, snd_strerror(x)); fflush(stdout); return false; }
-
-#define BUFSZ 40960
-
-class Alsa {
-public:
- Alsa();
- ~Alsa();
- bool init(int channels, char *cnames[]);
- void setParm(std::string parm, std::string value);
- bool start();
- void stop();
- void pre(size_t size);
- void run(int channel, sample_t* data, size_t size);
- void post(size_t size);
- size_t samplerate();
-
-private:
- snd_pcm_t *handle;
- snd_pcm_hw_params_t *params;
- sample_t *data;
- size_t channels;
-
- // Parameters
- std::string device;
- unsigned int srate;
- snd_pcm_uframes_t frames;
-};
-
-Alsa::Alsa()
-{
- handle = NULL;
- data = NULL;
-
- device = "default";
- srate = 44100;
- frames = 32;
-}
-
-Alsa::~Alsa()
-{
- if(handle) snd_pcm_close(handle);
- if(data) free(data);
-}
-
-bool Alsa::init(int channels, char *cnames[])
-{
- int rc;
-
- rc = snd_pcm_open(&handle, device.c_str(), SND_PCM_STREAM_PLAYBACK, 0);
- T(rc, "snd_pcm_open");
-
- this->channels = channels;
- if(!handle) {
- printf("No handle!\n");
- return false;
- }
-
- // Allocate a hardware parameters object.
- snd_pcm_hw_params_alloca(¶ms);
- // if(rc < 0) return false;
-
- // Fill it in with default values.
- rc = snd_pcm_hw_params_any(handle, params);
- T(rc, "snd_pcm_hw_params_any");
-
- rc = snd_pcm_hw_params_set_access(handle, params,
- SND_PCM_ACCESS_RW_INTERLEAVED);
- T(rc, "snd_pcm_hw_params_set_access");
-
- rc = snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_FLOAT);
- T(rc, "snd_pcm_hw_params_set_format");
-
- rc = snd_pcm_hw_params_set_channels(handle, params, channels);
- T(rc, "snd_pcm_hw_params_set_channels");
-
- rc = snd_pcm_hw_params_set_rate_near(handle, params, &srate, 0);
- T(rc, "snd_pcm_hw_params_set_rate_near");
-
- rc = snd_pcm_hw_params_set_period_size_near(handle, params, &frames, 0);
- T(rc, "snd_pcm_hw_params_set_period_size_near");
-
- rc = snd_pcm_hw_params(handle, params);
- T(rc, "snd_pcm_hw_params");
-
- data = (sample_t*)malloc(sizeof(sample_t) * BUFSZ * channels);
-
- return true;
-}
-
-void Alsa::setParm(std::string parm, std::string value)
-{
- if(parm == "dev") device = value;
- if(parm == "frames") frames = atoi(value.c_str());
- if(parm == "srate") srate = atoi(value.c_str());
-}
-
-bool Alsa::start()
-{
- return true;
-}
-
-void Alsa::stop()
-{
-}
-
-void Alsa::pre(size_t size)
-{
-}
-
-void Alsa::run(int channel, sample_t* cdata, size_t csize)
-{
- // Write channel data in interleaved buffer.
- for(size_t i = 0; i < csize; i++) {
- data[i * channels + channel] = cdata[i];
- }
-}
-
-void Alsa::post(size_t size)
-{
- // Write the interleaved buffer to the soundcard
- snd_pcm_writei(handle, data, size);
-}
-
-size_t Alsa::samplerate()
-{
- return srate;
-}
-
-extern "C" {
- void *create()
- {
- return new Alsa();
- }
-
- void destroy(void *h)
- {
- Alsa *alsa = (Alsa*)h;
- delete alsa;
- }
-
- bool init(void *h, int cs, char *cnames[])
- {
- Alsa *alsa = (Alsa*)h;
- return alsa->init(cs, cnames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- Alsa *alsa = (Alsa*)h;
- alsa->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- Alsa *alsa = (Alsa*)h;
- return alsa->start();
- }
-
- void stop(void *h)
- {
- Alsa *alsa = (Alsa*)h;
- alsa->stop();
- }
-
- void pre(void *h, size_t s)
- {
- Alsa *alsa = (Alsa*)h;
- alsa->pre(s);
- }
-
- void run(void *h, int ch, sample_t *data, size_t size)
- {
- Alsa *alsa = (Alsa*)h;
- alsa->run(ch, data, size);
- }
-
- void post(void *h, size_t s)
- {
- Alsa *alsa = (Alsa*)h;
- alsa->post(s);
- }
-
- size_t samplerate(void *h)
- {
- Alsa *alsa = (Alsa*)h;
- return alsa->samplerate();
- }
-}
diff --git a/drumgizmo/output/dummy/Makefile.am b/drumgizmo/output/dummy/Makefile.am
deleted file mode 100644
index bff3daf..0000000
--- a/drumgizmo/output/dummy/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-
-dummysources = \
- dummy.cc
-
-if HAVE_OUTPUT_DUMMY
-
-dummyltlibs = dummy.la
-dummybuildsources = $(dummysources)
-
-else
-
-dummyltlibs =
-dummybuildsources =
-
-endif
-
-EXTRA_DIST = $(dummysources)
-
-lib_LTLIBRARIES = $(dummyltlibs)
-
-libdir = $(OUTPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
-dummy_la_LDFLAGS = -module -avoid-version -shared
-dummy_la_LIBADD =
-dummy_la_SOURCES = $(dummybuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/dummy.la
diff --git a/drumgizmo/output/dummy/Makefile.in b/drumgizmo/output/dummy/Makefile.in
deleted file mode 100644
index e978718..0000000
--- a/drumgizmo/output/dummy/Makefile.in
+++ /dev/null
@@ -1,688 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/output/dummy
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-dummy_la_DEPENDENCIES =
-am__dummy_la_SOURCES_DIST = dummy.cc
-am__objects_1 = dummy.lo
- at HAVE_OUTPUT_DUMMY_TRUE@am__objects_2 = $(am__objects_1)
-am_dummy_la_OBJECTS = $(am__objects_2)
-dummy_la_OBJECTS = $(am_dummy_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-dummy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dummy_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_OUTPUT_DUMMY_TRUE@am_dummy_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(dummy_la_SOURCES)
-DIST_SOURCES = $(am__dummy_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(OUTPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dummysources = \
- dummy.cc
-
- at HAVE_OUTPUT_DUMMY_FALSE@dummyltlibs =
- at HAVE_OUTPUT_DUMMY_TRUE@dummyltlibs = dummy.la
- at HAVE_OUTPUT_DUMMY_FALSE@dummybuildsources =
- at HAVE_OUTPUT_DUMMY_TRUE@dummybuildsources = $(dummysources)
-EXTRA_DIST = $(dummysources)
-lib_LTLIBRARIES = $(dummyltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
-dummy_la_LDFLAGS = -module -avoid-version -shared
-dummy_la_LIBADD =
-dummy_la_SOURCES = $(dummybuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/output/dummy/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/output/dummy/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-dummy.la: $(dummy_la_OBJECTS) $(dummy_la_DEPENDENCIES) $(EXTRA_dummy_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(dummy_la_LINK) $(am_dummy_la_rpath) $(dummy_la_OBJECTS) $(dummy_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dummy.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/dummy.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/output/dummy/dummy.cc b/drumgizmo/output/dummy/dummy.cc
deleted file mode 100644
index e60f2b7..0000000
--- a/drumgizmo/output/dummy/dummy.cc
+++ /dev/null
@@ -1,152 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * audiooutputenginedummy.cc
- *
- * Sat Apr 30 21:12:02 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <audiotypes.h>
-#include <string>
-
-class Dummy {
-public:
- Dummy();
- ~Dummy();
- bool init(int channels, char *cnames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre(size_t size);
- void run(int channel, sample_t* data, size_t size);
- void post(size_t size);
-
- size_t samplerate();
-};
-
-Dummy::Dummy()
-{
-}
-
-Dummy::~Dummy()
-{
-}
-
-bool Dummy::init(int channels, char *cnames[])
-{
- return true;
-}
-
-void Dummy::setParm(std::string parm, std::string value)
-{
-}
-
-bool Dummy::start()
-{
- return true;
-}
-
-void Dummy::stop()
-{
-}
-
-void Dummy::pre(size_t size)
-{
-}
-
-void Dummy::run(int channel, sample_t* data, size_t size)
-{
-}
-
-void Dummy::post(size_t size)
-{
-}
-
-size_t Dummy::samplerate()
-{
- return 44100;
-}
-
-extern "C" {
- void *create()
- {
- return new Dummy();
- }
-
- void destroy(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- delete dummy;
- }
-
- bool init(void *h, int cs, char *cnames[])
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->init(cs, cnames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->start();
- }
-
- void stop(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->stop();
- }
-
- void pre(void *h, size_t size)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->pre(size);
- }
-
- void run(void *h, int ch, sample_t *data, size_t size)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->run(ch, data, size);
- }
-
- void post(void *h, size_t size)
- {
- Dummy *dummy = (Dummy*)h;
- dummy->post(size);
- }
-
- size_t samplerate(void *h)
- {
- Dummy *dummy = (Dummy*)h;
- return dummy->samplerate();
- }
-}
diff --git a/drumgizmo/output/jackaudio.cc b/drumgizmo/output/jackaudio.cc
new file mode 100644
index 0000000..90ac63b
--- /dev/null
+++ b/drumgizmo/output/jackaudio.cc
@@ -0,0 +1,133 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * jackaudio.cc
+ *
+ * Fr 22. Jan 09:43:30 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cassert>
+#include <iostream>
+
+#include "jackaudio.h"
+
+JackAudioOutputEngine::JackAudioOutputEngine(JackClient& client)
+ : AudioOutputEngine{}
+ , client(client)
+ , channels{}
+ , sema{"jackaudio"}
+{
+ client.add(*this);
+}
+
+JackAudioOutputEngine::~JackAudioOutputEngine()
+{
+ client.remove(*this);
+}
+
+bool JackAudioOutputEngine::init(Channels data)
+{
+ channels.clear();
+ channels.reserve(data.size());
+ auto i = 0u;
+ auto const buffer_size = getBufferSize();
+
+ for(auto const& elem : data)
+ {
+ auto name = std::to_string(i) + "-" + elem.name;
+ // initialize new channel
+ channels.emplace_back(client, name, buffer_size);
+
+ if(channels.back().port.port == nullptr)
+ {
+ std::cerr << "[JackAudioOutputEngine] Cannot create jack "
+ << "port for channel #" << i << "\n";
+ return false;
+ }
+ ++i;
+ }
+ return true;
+}
+
+void JackAudioOutputEngine::setParm(std::string parm, std::string value)
+{
+}
+
+bool JackAudioOutputEngine::start()
+{
+ client.activate();
+ return true;
+}
+
+void JackAudioOutputEngine::stop()
+{
+}
+
+void JackAudioOutputEngine::pre(size_t nsamples)
+{
+}
+
+void JackAudioOutputEngine::run(int ch, sample_t* samples, size_t nsamples)
+{
+ for(auto i = 0u; i < nsamples; ++i)
+ {
+ channels[ch].samples[i] = samples[i];
+ }
+}
+
+void JackAudioOutputEngine::post(size_t nsamples)
+{
+ sema.wait();
+}
+
+void JackAudioOutputEngine::process(jack_nframes_t num_frames)
+{
+ assert(num_frames == getBufferSize());
+
+ for(auto& channel : channels)
+ {
+ auto ptr = static_cast<jack_default_audio_sample_t*>(jack_port_get_buffer(channel.port.port, num_frames));
+ for(auto i = 0u; i < num_frames; ++i)
+ {
+ ptr[i] = channel.samples[i];
+ }
+ }
+ sema.post();
+}
+
+size_t JackAudioOutputEngine::getBufferSize()
+{
+ return client.getBufferSize();
+}
+
+size_t JackAudioOutputEngine::samplerate()
+{
+ return client.getSampleRate();
+}
+
+JackAudioOutputEngine::Channel::Channel(JackClient& client,
+ const std::string& name,
+ std::size_t buffer_size)
+ : port{client, name, JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput}
+ , samples{}
+{
+ samples.resize(buffer_size);
+}
diff --git a/drumgizmo/output/jackaudio.h b/drumgizmo/output/jackaudio.h
new file mode 100644
index 0000000..e22d978
--- /dev/null
+++ b/drumgizmo/output/jackaudio.h
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * jackaudio.h
+ *
+ * Fr 22. Jan 09:43:30 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <vector>
+#include <semaphore.h>
+
+#include "audiooutputengine.h"
+#include "../jackclient.h"
+
+class JackAudioOutputEngine
+ : public AudioOutputEngine
+ , public JackProcess
+{
+public:
+ JackAudioOutputEngine(JackClient& client);
+ ~JackAudioOutputEngine();
+
+ // based on AudioOutputEngine
+ bool init(Channels chan) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre(size_t nsamples) override;
+ void run(int ch, sample_t* samples, size_t nsamples) override;
+ void post(size_t nsamples) override;
+ size_t getBufferSize() override;
+ size_t samplerate() override;
+
+ // based on JackProcess
+ void process(jack_nframes_t num_frames) override;
+
+private:
+ struct Channel
+ {
+ JackPort port;
+ std::vector<sample_t> samples;
+
+ Channel(JackClient& client, const std::string& name,
+ std::size_t buffer_size);
+ };
+
+ JackClient& client;
+ std::vector<Channel> channels;
+ Semaphore sema;
+};
diff --git a/drumgizmo/output/jackaudio/Makefile.am b/drumgizmo/output/jackaudio/Makefile.am
deleted file mode 100644
index 46cdb23..0000000
--- a/drumgizmo/output/jackaudio/Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-
-jackaudiosources = \
- jackaudio.cc \
- $(top_srcdir)/src/semaphore.cc \
- $(top_srcdir)/hugin/hugin.c
-
-if HAVE_OUTPUT_JACKAUDIO
-
-jackaudioltlibs = jackaudio.la
-jackaudiobuildsources = $(jackaudiosources)
-
-else
-
-jackaudioltlibs =
-jackaudiobuildsources =
-
-endif
-
-EXTRA_DIST = $(jackaudiosources)
-
-lib_LTLIBRARIES = $(jackaudioltlibs)
-
-libdir = $(OUTPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/include $(JACK_CFLAGS) -I$(top_srcdir)/hugin -I$(top_srcdir)/src
-jackaudio_la_LDFLAGS = $(JACK_LIBS) -module -avoid-version -shared
-jackaudio_la_LIBADD =
-jackaudio_la_SOURCES = $(jackaudiobuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/jackaudio.la
diff --git a/drumgizmo/output/jackaudio/Makefile.in b/drumgizmo/output/jackaudio/Makefile.in
deleted file mode 100644
index dfd287b..0000000
--- a/drumgizmo/output/jackaudio/Makefile.in
+++ /dev/null
@@ -1,746 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/output/jackaudio
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-jackaudio_la_DEPENDENCIES =
-am__jackaudio_la_SOURCES_DIST = jackaudio.cc \
- $(top_srcdir)/src/semaphore.cc $(top_srcdir)/hugin/hugin.c
-am__objects_1 = jackaudio.lo semaphore.lo hugin.lo
- at HAVE_OUTPUT_JACKAUDIO_TRUE@am__objects_2 = $(am__objects_1)
-am_jackaudio_la_OBJECTS = $(am__objects_2)
-jackaudio_la_OBJECTS = $(am_jackaudio_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-jackaudio_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(jackaudio_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_OUTPUT_JACKAUDIO_TRUE@am_jackaudio_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(jackaudio_la_SOURCES)
-DIST_SOURCES = $(am__jackaudio_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(OUTPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-jackaudiosources = \
- jackaudio.cc \
- $(top_srcdir)/src/semaphore.cc \
- $(top_srcdir)/hugin/hugin.c
-
- at HAVE_OUTPUT_JACKAUDIO_FALSE@jackaudioltlibs =
- at HAVE_OUTPUT_JACKAUDIO_TRUE@jackaudioltlibs = jackaudio.la
- at HAVE_OUTPUT_JACKAUDIO_FALSE@jackaudiobuildsources =
- at HAVE_OUTPUT_JACKAUDIO_TRUE@jackaudiobuildsources = $(jackaudiosources)
-EXTRA_DIST = $(jackaudiosources)
-lib_LTLIBRARIES = $(jackaudioltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/include $(JACK_CFLAGS) -I$(top_srcdir)/hugin -I$(top_srcdir)/src
-jackaudio_la_LDFLAGS = $(JACK_LIBS) -module -avoid-version -shared
-jackaudio_la_LIBADD =
-jackaudio_la_SOURCES = $(jackaudiobuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/output/jackaudio/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/output/jackaudio/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-jackaudio.la: $(jackaudio_la_OBJECTS) $(jackaudio_la_DEPENDENCIES) $(EXTRA_jackaudio_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(jackaudio_la_LINK) $(am_jackaudio_la_rpath) $(jackaudio_la_OBJECTS) $(jackaudio_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/jackaudio.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/semaphore.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-hugin.lo: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-semaphore.lo: $(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT semaphore.lo -MD -MP -MF $(DEPDIR)/semaphore.Tpo -c -o semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/semaphore.Tpo $(DEPDIR)/semaphore.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='semaphore.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/jackaudio.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/output/jackaudio/jackaudio.cc b/drumgizmo/output/jackaudio/jackaudio.cc
deleted file mode 100644
index 5c04146..0000000
--- a/drumgizmo/output/jackaudio/jackaudio.cc
+++ /dev/null
@@ -1,220 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * jackaudio.cc
- *
- * Sat Apr 30 21:11:54 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <string>
-#include <audiotypes.h>
-#include <semaphore.h>
-#include <stdlib.h>
-
-#define NOTE_ON 0x90
-
-#include "../../jackclient.h"
-#include <stdio.h>
-
-class JackAudio : public JackProcess {
-public:
- JackAudio();
- ~JackAudio();
- bool init(int channels, char *cnames[]);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre(size_t size);
- void run(int channel, sample_t* data, size_t size);
- void post(size_t size);
-
- void jack_process(jack_nframes_t nframes);
-
- size_t bufsize();
- size_t samplerate();
-
-private:
- JackClient *jackclient;
- jack_port_t *output_port[64];
- size_t nchannels;
- sample_t **channels;
- Semaphore sem;
-};
-
-JackAudio::JackAudio() : sem("jackaudio")
-{
-}
-
-JackAudio::~JackAudio()
-{
-}
-
-bool JackAudio::init(int nchannels, char *cnames[])
-{
- this->nchannels = nchannels;
- channels = (sample_t**)malloc(nchannels * sizeof(sample_t*));
-
- for(int i = 0; i < nchannels; i++) {
- char buf[32];
- sprintf(buf, "%d", i + 1);
- std::string name;
- name += buf;
- name += "-";
- name += cnames[i];
- output_port[i] = jack_port_register(jackclient->jack_client,
- name.c_str(),
- JACK_DEFAULT_AUDIO_TYPE,
- JackPortIsOutput, 0);
- channels[i] = (sample_t*)malloc(bufsize() * sizeof(sample_t));
- }
- return true;
-}
-
-void JackAudio::setParm(std::string parm, std::string value)
-{
- if(parm == "jack_client") {
- sscanf(value.c_str(), "%p", &jackclient);
- if(jackclient) jackclient->addJackProcess(this);
- }
-}
-
-bool JackAudio::start()
-{
- //jackclient->activate();
- return true;
-}
-
-void JackAudio::stop()
-{
-}
-
-void JackAudio::pre(size_t size)
-{
-}
-
-void JackAudio::run(int channel, sample_t* data, size_t size)
-{
- // Copy engine data to ringbuffer.
- for(size_t i = 0; i < size; i++) {
- channels[channel][i] = data[i];
- }
-}
-
-void JackAudio::post(size_t size)
-{
- sem.wait();
-}
-
-void JackAudio::jack_process(jack_nframes_t nframes)
-{
- //printf("o"); fflush(stdout);
- for(size_t c = 0; c < nchannels; c++) {
- jack_default_audio_sample_t *out =
- (jack_default_audio_sample_t *) jack_port_get_buffer(output_port[c],
- nframes);
- for(size_t i = 0; i < nframes; i++) {
- out[i] = channels[c][i];
- }
- }
- sem.post();
-}
-
-size_t JackAudio::bufsize()
-{
- return jack_get_buffer_size(jackclient->jack_client);
-}
-
-size_t JackAudio::samplerate()
-{
- return jack_get_sample_rate(jackclient->jack_client);
-}
-
-extern "C" {
- void *create()
- {
- return new JackAudio();
- }
-
- void destroy(void *h)
- {
- JackAudio *jack = (JackAudio*)h;
- delete jack;
- }
-
- bool init(void *h, int cs, char *cnames[])
- {
- JackAudio *jack = (JackAudio*)h;
- return jack->init(cs, cnames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- JackAudio *jack = (JackAudio*)h;
- jack->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- JackAudio *jack = (JackAudio*)h;
- return jack->start();
- }
-
- void stop(void *h)
- {
- JackAudio *jack = (JackAudio*)h;
- jack->stop();
- }
-
- void pre(void *h, size_t s)
- {
- JackAudio *jack = (JackAudio*)h;
- jack->pre(s);
- }
-
- void run(void *h, int ch, sample_t *data, size_t size)
- {
- JackAudio *jack = (JackAudio*)h;
- jack->run(ch, data, size);
- }
-
- void post(void *h, size_t s)
- {
- JackAudio *jack = (JackAudio*)h;
- jack->post(s);
- }
-
- size_t bufsize(void *h)
- {
- JackAudio *jack = (JackAudio*)h;
- return jack->bufsize();
- }
-
- size_t samplerate(void *h)
- {
- JackAudio *jack = (JackAudio*)h;
- return jack->samplerate();
- }
-}
diff --git a/drumgizmo/output/outputdummy.cc b/drumgizmo/output/outputdummy.cc
new file mode 100644
index 0000000..2edcc28
--- /dev/null
+++ b/drumgizmo/output/outputdummy.cc
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * outputdummy.cc
+ *
+ * Fr 22. Jan 08:15:04 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "outputdummy.h"
+
+DummyOutputEngine::DummyOutputEngine()
+{
+}
+
+DummyOutputEngine::~DummyOutputEngine()
+{
+}
+
+bool DummyOutputEngine::init(Channels data)
+{
+ return true;
+}
+
+void DummyOutputEngine::setParm(std::string parm, std::string value)
+{
+}
+
+bool DummyOutputEngine::start()
+{
+ return true;
+}
+
+void DummyOutputEngine::stop()
+{
+}
+
+void DummyOutputEngine::pre(size_t nsamples)
+{
+}
+
+void DummyOutputEngine::run(int ch, sample_t* samples, size_t nsamples)
+{
+}
+
+void DummyOutputEngine::post(size_t nsamples)
+{
+}
diff --git a/drumgizmo/output/outputdummy.h b/drumgizmo/output/outputdummy.h
new file mode 100644
index 0000000..023ba42
--- /dev/null
+++ b/drumgizmo/output/outputdummy.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * outputdummy.h
+ *
+ * Fr 22. Jan 08:15:04 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include "audiooutputengine.h"
+
+class DummyOutputEngine
+ : public AudioOutputEngine
+{
+public:
+ DummyOutputEngine();
+ ~DummyOutputEngine();
+
+ // based on AudioOutputEngine
+ bool init(Channels chan) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre(size_t nsamples) override;
+ void run(int ch, sample_t* samples, size_t nsamples) override;
+ void post(size_t nsamples) override;
+};
diff --git a/drumgizmo/output/wavfile.cc b/drumgizmo/output/wavfile.cc
new file mode 100644
index 0000000..b19f700
--- /dev/null
+++ b/drumgizmo/output/wavfile.cc
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * wavfile.cc
+ *
+ * Mi 20. Jan 16:57:16 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <iostream>
+
+#include "wavfile.h"
+
+WavfileOutputEngine::WavfileOutputEngine()
+ : AudioOutputEngine{}
+ , info{}
+ , channels{}
+ , file{"output"}
+{
+ info.samplerate = 44100;
+ info.channels = 1;
+ info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT;
+}
+
+WavfileOutputEngine::~WavfileOutputEngine()
+{
+ for(auto& ptr : channels)
+ {
+ if(ptr != nullptr)
+ {
+ sf_close(ptr);
+ }
+ }
+}
+
+bool WavfileOutputEngine::init(Channels data)
+{
+ channels.clear();
+ channels.resize(data.size()); // value-initialized with null
+ for(auto i = 0u; i < data.size(); ++i)
+ {
+ // write channel to file
+ auto fname = file + data[i].name + "-" + std::to_string(i) + ".wav";
+ channels[i] = sf_open(fname.c_str(), SFM_WRITE, &info);
+ if(channels[i] == nullptr)
+ {
+ std::cerr << "[WaffileOutputEngine] Failed to initialize "
+ << "channel #" << i << "\n";
+ return false;
+ }
+ }
+ return true;
+}
+
+void WavfileOutputEngine::setParm(std::string parm, std::string value)
+{
+ if(parm == "file")
+ {
+ // apply output filename prefix
+ file = value;
+ }
+ else if(parm == "srate")
+ {
+ // try to apply samplerate
+ try
+ {
+ info.samplerate = std::stoi(value);
+ }
+ catch(...)
+ {
+ std::cerr << "[WavfileOutputEngine] Invalid samplerate " << value
+ << "\n";
+ }
+ }
+ else
+ {
+ std::cerr << "[WavfileOutputEngine] Unsupported parameter '" << parm
+ << "'\n";
+ }
+}
+
+bool WavfileOutputEngine::start()
+{
+ return true;
+}
+
+void WavfileOutputEngine::stop()
+{
+}
+
+void WavfileOutputEngine::pre(size_t nsamples)
+{
+}
+
+void WavfileOutputEngine::run(int ch, sample_t* samples, size_t nsamples)
+{
+ if(static_cast<unsigned int>(ch) >= channels.size())
+ {
+ std::cerr << "[WavfileOutputEngine] cannot access channel #" << ch
+ << " (" << channels.size() << " channels available)\n";
+ return;
+ }
+
+ sf_writef_float(channels[ch], samples, nsamples);
+}
+
+void WavfileOutputEngine::post(size_t nsamples)
+{
+}
+
+size_t WavfileOutputEngine::samplerate()
+{
+ return info.samplerate;
+}
diff --git a/drumgizmo/output/wavfile.h b/drumgizmo/output/wavfile.h
new file mode 100644
index 0000000..1dddfa1
--- /dev/null
+++ b/drumgizmo/output/wavfile.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * wavfile.h
+ *
+ * Mi 20. Jan 16:57:16 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+#include <string>
+#include <vector>
+
+#include <sndfile.h>
+
+#include "audiooutputengine.h"
+
+class WavfileOutputEngine
+ : public AudioOutputEngine
+{
+public:
+ WavfileOutputEngine();
+ ~WavfileOutputEngine();
+
+ // based on AudioOutputEngine
+ bool init(Channels data) override;
+ void setParm(std::string parm, std::string value) override;
+ bool start() override;
+ void stop() override;
+ void pre(size_t nsamples) override;
+ void run(int ch, sample_t* samples, size_t nsamples) override;
+ void post(size_t nsamples) override;
+ size_t samplerate() override;
+
+private:
+ SF_INFO info;
+ std::vector<SNDFILE*> channels;
+ size_t num_channels;
+
+ std::string file;
+};
diff --git a/drumgizmo/output/wavfile/Makefile.am b/drumgizmo/output/wavfile/Makefile.am
deleted file mode 100644
index ad26294..0000000
--- a/drumgizmo/output/wavfile/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-
-wavfilesources = \
- wavfile.cc
-
-if HAVE_OUTPUT_WAVFILE
-
-wavfileltlibs = wavfile.la
-wavfilebuildsources = $(wavfilesources)
-
-else
-
-wavfileltlibs =
-wavfilebuildsources =
-
-endif
-
-EXTRA_DIST = $(wavfilesources)
-
-lib_LTLIBRARIES = $(wavfileltlibs)
-
-libdir = $(OUTPUT_PLUGIN_DIR)
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SNDFILE_CFLAGS)
-wavfile_la_LDFLAGS = $(SNDFILE_LIBS) -module -avoid-version -shared
-wavfile_la_LIBADD =
-wavfile_la_SOURCES = $(wavfilebuildsources)
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/wavfile.la
diff --git a/drumgizmo/output/wavfile/Makefile.in b/drumgizmo/output/wavfile/Makefile.in
deleted file mode 100644
index e319d4f..0000000
--- a/drumgizmo/output/wavfile/Makefile.in
+++ /dev/null
@@ -1,688 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = drumgizmo/output/wavfile
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-wavfile_la_DEPENDENCIES =
-am__wavfile_la_SOURCES_DIST = wavfile.cc
-am__objects_1 = wavfile.lo
- at HAVE_OUTPUT_WAVFILE_TRUE@am__objects_2 = $(am__objects_1)
-am_wavfile_la_OBJECTS = $(am__objects_2)
-wavfile_la_OBJECTS = $(am_wavfile_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-wavfile_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(wavfile_la_LDFLAGS) $(LDFLAGS) -o $@
- at HAVE_OUTPUT_WAVFILE_TRUE@am_wavfile_la_rpath = -rpath $(libdir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(wavfile_la_SOURCES)
-DIST_SOURCES = $(am__wavfile_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = $(OUTPUT_PLUGIN_DIR)
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-wavfilesources = \
- wavfile.cc
-
- at HAVE_OUTPUT_WAVFILE_FALSE@wavfileltlibs =
- at HAVE_OUTPUT_WAVFILE_TRUE@wavfileltlibs = wavfile.la
- at HAVE_OUTPUT_WAVFILE_FALSE@wavfilebuildsources =
- at HAVE_OUTPUT_WAVFILE_TRUE@wavfilebuildsources = $(wavfilesources)
-EXTRA_DIST = $(wavfilesources)
-lib_LTLIBRARIES = $(wavfileltlibs)
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include $(SNDFILE_CFLAGS)
-wavfile_la_LDFLAGS = $(SNDFILE_LIBS) -module -avoid-version -shared
-wavfile_la_LIBADD =
-wavfile_la_SOURCES = $(wavfilebuildsources)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu drumgizmo/output/wavfile/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu drumgizmo/output/wavfile/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-wavfile.la: $(wavfile_la_OBJECTS) $(wavfile_la_DEPENDENCIES) $(EXTRA_wavfile_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(wavfile_la_LINK) $(am_wavfile_la_rpath) $(wavfile_la_OBJECTS) $(wavfile_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wavfile.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-libLTLIBRARIES
-
-
-install-exec-hook:
- rm -f $(DESTDIR)$(libdir)/wavfile.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drumgizmo/output/wavfile/wavfile.cc b/drumgizmo/output/wavfile/wavfile.cc
deleted file mode 100644
index fa4128e..0000000
--- a/drumgizmo/output/wavfile/wavfile.cc
+++ /dev/null
@@ -1,195 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * wavfile.cc
- *
- * Sat Apr 30 21:12:02 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <stdlib.h>
-
-#include <audiotypes.h>
-#include <string>
-
-#include <sndfile.h>
-
-#define T(x, msg) if(x < 0) { printf("%s failed: %s\n", msg, snd_strerror(x)); fflush(stdout); return false; }
-
-class WavFile {
-public:
- WavFile();
- ~WavFile();
- bool init(int channels, char *cnames[]);
- void setParm(std::string parm, std::string value);
- bool start();
- void stop();
- void pre(size_t size);
- void run(int channel, sample_t* data, size_t size);
- void post(size_t size);
- size_t samplerate();
-
-private:
- SF_INFO sf_info;
- SNDFILE **fh;
- size_t channels;
-
- // Parameters
- std::string filename;
-};
-
-WavFile::WavFile()
-{
- fh = NULL;
- filename = "output";
-
- sf_info.channels = 1;//channels;
- sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT;
- sf_info.samplerate = 44100;
-}
-
-WavFile::~WavFile()
-{
- if(fh == NULL) return;
-
- for(size_t i = 0; i < channels; i++) {
- if(fh[i]) sf_close(fh[i]);
- }
-
- if(fh) free(fh);
-}
-
-bool WavFile::init(int channels, char *cnames[])
-{
- this->channels = channels;
-
- fh = (SNDFILE **)malloc(sizeof(SNDFILE *)*channels);
-
- for(size_t i = 0; i < this->channels; i++) fh[i] = NULL;
-
- for(size_t i = 0; i < this->channels; i++) {
- char fname[512];
-
- sprintf(fname, "%s%s-%d.wav", filename.c_str(), cnames[i], (int)i);
- // printf("[%s]\n", fname);
-
- fh[i] = sf_open(fname, SFM_WRITE, &sf_info);
- if(!fh[i]) {
- printf("Write error...\n");
- return false;
- }
- }
-
- return true;
-}
-
-void WavFile::setParm(std::string parm, std::string value)
-{
- if(parm == "file") filename = value;
- if(parm == "srate") sf_info.samplerate = atoi(value.c_str());
-}
-
-bool WavFile::start()
-{
- return true;
-}
-
-void WavFile::stop()
-{
-}
-
-void WavFile::pre(size_t size)
-{
-}
-
-void WavFile::run(int channel, sample_t* cdata, size_t csize)
-{
- if(channel < (int)channels) sf_writef_float(fh[channel], cdata, csize);
-}
-
-void WavFile::post(size_t size)
-{
-}
-
-size_t WavFile::samplerate()
-{
- return sf_info.samplerate;
-}
-
-extern "C" {
- void *create()
- {
- return new WavFile();
- }
-
- void destroy(void *h)
- {
- WavFile *sndfile = (WavFile*)h;
- delete sndfile;
- }
-
- bool init(void *h, int cs, char *cnames[])
- {
- WavFile *sndfile = (WavFile*)h;
- return sndfile->init(cs, cnames);
- }
-
- void setparm(void *h, const char *parm, const char *value)
- {
- WavFile *sndfile = (WavFile*)h;
- sndfile->setParm(parm, value);
- }
-
- bool start(void *h)
- {
- WavFile *sndfile = (WavFile*)h;
- return sndfile->start();
- }
-
- void stop(void *h)
- {
- WavFile *sndfile = (WavFile*)h;
- sndfile->stop();
- }
-
- void pre(void *h, size_t s)
- {
- WavFile *sndfile = (WavFile*)h;
- sndfile->pre(s);
- }
-
- void run(void *h, int ch, sample_t *data, size_t size)
- {
- WavFile *sndfile = (WavFile*)h;
- sndfile->run(ch, data, size);
- }
-
- void post(void *h, size_t s)
- {
- WavFile *sndfile = (WavFile*)h;
- sndfile->post(s);
- }
-
- size_t samplerate(void *h)
- {
- WavFile *wavfile = (WavFile*)h;
- return wavfile->samplerate();
- }
-}
diff --git a/hugin/hugin_filter.c b/hugin/hugin_filter.c
new file mode 100644
index 0000000..8297c91
--- /dev/null
+++ b/hugin/hugin_filter.c
@@ -0,0 +1,135 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set et sw=2 ts=2: */
+/***************************************************************************
+ * debug_filter.c
+ *
+ * Fri Dec 7 14:24:27 CET 2012
+ * Copyright 2012 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of Hugin.
+ *
+ * Hugin 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.
+ *
+ * Hugin 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 Hugin; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "hugin_filter.h"
+
+#ifndef DISABLE_HUGIN
+
+#include <string.h>
+#include <stdlib.h>
+
+#ifndef WITH_HUG_FILTER
+#warning hugin_filter.c compiled but WITH_HUG_FILTER not defined
+#endif
+
+#define NELEM(x) (sizeof(x)/sizeof((x)[0]))
+struct __debug_channel
+{
+ char name[32];
+ unsigned flags;
+};
+
+#define __DEBUG_CHANNEL_MAX 256
+
+static struct __debug_channel debug_channel[__DEBUG_CHANNEL_MAX];
+static unsigned n_debug_channel = 0;
+
+// Default is to enable everything...
+static unsigned debug_flags = 0xffffffff;//(1<<__class_err)|(1<<__class_fixme);
+
+int hug_filter_enabled(const enum __debug_class cl, const char *ch)
+{
+ unsigned i;
+ for(i = 0; i < n_debug_channel; i++) {
+ if(!strcmp(ch, debug_channel[i].name)) {
+ return (debug_channel[i].flags & (1 << cl)) != 0;
+ }
+ }
+ return debug_flags & (1 << cl);
+}
+
+/*
+ * fmt := [set[,set]*]*
+ * set := [+-]channel
+ * | class[+-]channel
+ * | [+-]all
+ */
+int hug_filter_parse(const char *filter)
+{
+ char *s;
+ char *next;
+ char *opt;
+
+ // NOTE: This must be identical to the debug_class_str in debug.c
+ const char * const debug_class_str[] =
+ { "fixme", "err", "warn", "info", "debug" };
+
+ if(!(s = strdup(filter))) return 1;
+
+ for(opt = s; opt; opt = next) {
+ int set = 0;
+ int clr = 0;
+ unsigned i;
+ if((next = strchr(opt, ','))) *next++ = '\0';
+ char *p = opt + strcspn(opt, "+-");
+ if(!*p) p = opt; // All chars -> a channel name
+ if(p > opt) {
+ // we have a class
+ for(i = 0; i < NELEM(debug_class_str); i++) {
+ int n = strlen(debug_class_str[i]);
+ if(n != (p - opt)) continue;
+ if(!memcmp(opt, debug_class_str[i], n)) {
+ // Found the class
+ if(*p == '+')
+ set = 1 << i;
+ else
+ clr = 1 << i;
+ break;
+ }
+ }
+ if(i == NELEM(debug_class_str)) continue;
+ } else {
+ if(*p == '-')
+ clr = ~0;
+ else
+ set = ~0;
+ }
+ if(*p == '+' || *p == '-') p++;
+ if(!*p) continue;
+ if(!strcmp("all", p)) {
+ debug_flags = (debug_flags & ~clr) | set;
+ } else {
+ if(strlen(p) >= sizeof(debug_channel[0].name)) continue;
+ for(i = 0; i < n_debug_channel; i++) {
+ if(!strcmp(p, debug_channel[i].name)) {
+ debug_channel[i].flags = (debug_channel[i].flags & ~clr) | set;
+ break;
+ }
+ }
+ if(i == n_debug_channel && n_debug_channel < __DEBUG_CHANNEL_MAX) {
+ strcpy(debug_channel[i].name, p);
+ debug_channel[i].flags = (debug_flags & ~clr) | set;
+ n_debug_channel++;
+ }
+ }
+ }
+ free(s);
+
+ return 0;
+}
+
+#endif/*DISABLE_HUGIN*/
diff --git a/hugin/hugin.hpp b/hugin/hugin_filter.h
similarity index 77%
copy from hugin/hugin.hpp
copy to hugin/hugin_filter.h
index cfd0983..b15d816 100644
--- a/hugin/hugin.hpp
+++ b/hugin/hugin_filter.h
@@ -1,9 +1,9 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set et sw=2 ts=2: */
/***************************************************************************
- * hugin.hpp
+ * hugin_filter.h
*
- * Thu Nov 1 13:38:47 CET 2012
+ * Fri Dec 7 14:24:27 CET 2012
* Copyright 2012 Bent Bisballe Nyeng
* deva at aasimon.org
****************************************************************************/
@@ -25,15 +25,16 @@
* along with Hugin; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __HUGIN_HUGIN_HPP__
-#define __HUGIN_HUGIN_HPP__
+#ifndef __HUGIN_HUGIN_FILTER_H__
+#define __HUGIN_HUGIN_FILTER_H__
+
+#ifndef DISABLE_HUGIN
-#ifdef __cplusplus
-extern "C" {
-#endif
#include "hugin.h"
-#ifdef __cplusplus
-}
-#endif
-#endif/*__HUGIN_HUGIN_HPP__*/
+int hug_filter_enabled(const enum __debug_class cl, const char *ch);
+int hug_filter_parse(const char *filter);
+
+#endif/*DISABLE_HUGIN*/
+
+#endif/*__HUGIN_HUGIN_FILTER_H__*/
diff --git a/include/Makefile.in b/include/Makefile.in
index fc771ff..56b9f1a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -145,7 +145,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -209,8 +209,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
diff --git a/include/audiotypes.h b/include/audiotypes.h
index f2bd279..9efe6c5 100644
--- a/include/audiotypes.h
+++ b/include/audiotypes.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/include/event.h b/include/event.h
index 7447f0d..f8bced3 100644
--- a/include/event.h
+++ b/include/event.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -31,9 +31,9 @@
#define TYPE_STOP 1
typedef struct {
- int type;
- int instrument;
- int offset;
+ size_t type;
+ size_t instrument;
+ size_t offset;
float velocity;
} event_t;
diff --git a/lv2/Makefile.am b/lv2/Makefile.am
deleted file mode 100644
index 09ef24c..0000000
--- a/lv2/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-include $(top_srcdir)/plugingui/Makefile.am.plugingui
-include $(top_srcdir)/src/Makefile.am.drumgizmo
-
-plugindir = $(libdir)/lv2/drumgizmo.lv2
-
-if ENABLE_LV2
-plugin_LTLIBRARIES = drumgizmo.la
-endif
-
-plugin_DATA = manifest.ttl drumgizmo.ttl
-
-EXTRA_DIST = \
- $(plugin_DATA) \
- input_lv2.h \
- output_lv2.h \
- lv2_event.h \
- lv2_gui.h \
- lv2_instance.h
-
-drumgizmo_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
- $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(LV2_CFLAGS) \
- $(PLUGIN_GUI_CFLAGS) $(SSEFLAGS) $(ZITA_CPPFLAGS) \
- -DUSE_THREAD $(SAMPLERATE_CFLAGS)
-
-drumgizmo_la_SOURCES = \
- $(DRUMGIZMO_SOURCES) \
- $(PLUGIN_GUI_SOURCES) \
- lv2.cc \
- lv2_gui.cc \
- input_lv2.cc \
- output_lv2.cc
-
-drumgizmo_la_LDFLAGS = -module -avoid-version
-drumgizmo_la_LIBADD = $(LV2_LIBS) $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
-
diff --git a/lv2/Makefile.in b/lv2/Makefile.in
deleted file mode 100644
index 7df306c..0000000
--- a/lv2/Makefile.in
+++ /dev/null
@@ -1,1409 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/plugingui/Makefile.am.plugingui \
- $(top_srcdir)/src/Makefile.am.drumgizmo $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/depcomp
-subdir = lv2
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-drumgizmo_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
-am__objects_1 = drumgizmo_la-audioinputenginemidi.lo \
- drumgizmo_la-audiofile.lo drumgizmo_la-channel.lo \
- drumgizmo_la-channelmixer.lo drumgizmo_la-chresampler.lo \
- drumgizmo_la-configuration.lo drumgizmo_la-configparser.lo \
- drumgizmo_la-drumgizmo.lo drumgizmo_la-drumkit.lo \
- drumgizmo_la-drumkitloader.lo drumgizmo_la-drumkitparser.lo \
- drumgizmo_la-events.lo drumgizmo_la-instrument.lo \
- drumgizmo_la-instrumentparser.lo \
- drumgizmo_la-messagehandler.lo drumgizmo_la-messagereceiver.lo \
- drumgizmo_la-midimapparser.lo drumgizmo_la-midimapper.lo \
- drumgizmo_la-mutex.lo drumgizmo_la-path.lo \
- drumgizmo_la-powerlist.lo drumgizmo_la-sample.lo \
- drumgizmo_la-semaphore.lo drumgizmo_la-saxparser.lo \
- drumgizmo_la-thread.lo drumgizmo_la-velocity.lo \
- drumgizmo_la-versionstr.lo
-am__objects_2 =
-am__objects_3 = hugin.lo hugin_syslog.lo $(am__objects_2) \
- drumgizmo_la-nativewindow_x11.lo \
- drumgizmo_la-nativewindow_win32.lo drumgizmo_la-plugingui.lo \
- drumgizmo_la-label.lo drumgizmo_la-eventhandler.lo \
- drumgizmo_la-font.lo drumgizmo_la-window.lo \
- drumgizmo_la-widget.lo drumgizmo_la-colour.lo \
- drumgizmo_la-painter.lo drumgizmo_la-button.lo \
- drumgizmo_la-pixelbuffer.lo drumgizmo_la-lineedit.lo \
- drumgizmo_la-led.lo drumgizmo_la-checkbox.lo \
- drumgizmo_la-slider.lo drumgizmo_la-scrollbar.lo \
- drumgizmo_la-listbox.lo drumgizmo_la-listboxthin.lo \
- drumgizmo_la-listboxbasic.lo drumgizmo_la-knob.lo \
- drumgizmo_la-filebrowser.lo drumgizmo_la-directory.lo \
- drumgizmo_la-pluginconfig.lo drumgizmo_la-image.lo \
- drumgizmo_la-combobox.lo drumgizmo_la-progressbar.lo \
- drumgizmo_la-verticalline.lo drumgizmo_la-resource.lo \
- drumgizmo_la-resource_data.lo drumgizmo_la-lodepng.lo
-am_drumgizmo_la_OBJECTS = $(am__objects_1) $(am__objects_3) \
- drumgizmo_la-lv2.lo drumgizmo_la-lv2_gui.lo \
- drumgizmo_la-input_lv2.lo drumgizmo_la-output_lv2.lo
-drumgizmo_la_OBJECTS = $(am_drumgizmo_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-drumgizmo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(drumgizmo_la_CXXFLAGS) \
- $(CXXFLAGS) $(drumgizmo_la_LDFLAGS) $(LDFLAGS) -o $@
- at ENABLE_LV2_TRUE@am_drumgizmo_la_rpath = -rpath $(plugindir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(drumgizmo_la_SOURCES)
-DIST_SOURCES = $(drumgizmo_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DATA = $(plugin_DATA)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-puglsources =
-PLUGIN_GUI_SOURCES = \
- $(top_srcdir)/hugin/hugin.c \
- $(top_srcdir)/hugin/hugin_syslog.c \
- $(puglsources) \
- $(top_srcdir)/plugingui/nativewindow_x11.cc \
- $(top_srcdir)/plugingui/nativewindow_win32.cc \
- $(top_srcdir)/plugingui/plugingui.cc \
- $(top_srcdir)/plugingui/label.cc \
- $(top_srcdir)/plugingui/eventhandler.cc \
- $(top_srcdir)/plugingui/font.cc \
- $(top_srcdir)/plugingui/window.cc \
- $(top_srcdir)/plugingui/widget.cc \
- $(top_srcdir)/plugingui/colour.cc \
- $(top_srcdir)/plugingui/painter.cc \
- $(top_srcdir)/plugingui/button.cc \
- $(top_srcdir)/plugingui/pixelbuffer.cc \
- $(top_srcdir)/plugingui/lineedit.cc \
- $(top_srcdir)/plugingui/led.cc \
- $(top_srcdir)/plugingui/checkbox.cc \
- $(top_srcdir)/plugingui/slider.cc \
- $(top_srcdir)/plugingui/scrollbar.cc \
- $(top_srcdir)/plugingui/listbox.cc \
- $(top_srcdir)/plugingui/listboxthin.cc \
- $(top_srcdir)/plugingui/listboxbasic.cc \
- $(top_srcdir)/plugingui/knob.cc \
- $(top_srcdir)/plugingui/filebrowser.cc \
- $(top_srcdir)/plugingui/directory.cc \
- $(top_srcdir)/plugingui/pluginconfig.cc \
- $(top_srcdir)/plugingui/image.cc \
- $(top_srcdir)/plugingui/combobox.cc \
- $(top_srcdir)/plugingui/progressbar.cc \
- $(top_srcdir)/plugingui/verticalline.cc \
- $(top_srcdir)/plugingui/resource.cc \
- $(top_srcdir)/plugingui/resource_data.cc \
- $(top_srcdir)/plugingui/lodepng/lodepng.cpp
-
-PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS) $(ZLIB_LIBS)
-PLUGIN_GUI_CFLAGS = $(GUI_CFLAGS) $(ZLIB_CFLAGS) -I$(top_srcdir)/hugin \
- -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
- -I$(top_srcdir)/pugl/pugl \
- -DLODEPNG_NO_COMPILE_ENCODER \
- -DLODEPNG_NO_COMPILE_DISK \
- -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
- -DLODEPNG_NO_COMPILE_ERROR_TEXT \
- -DLODEPNG_NO_COMPILE_CPP
-
-DRUMGIZMO_SOURCES = \
- $(top_srcdir)/src/audioinputenginemidi.cc \
- $(top_srcdir)/src/audiofile.cc \
- $(top_srcdir)/src/channel.cc \
- $(top_srcdir)/src/channelmixer.cc \
- $(top_srcdir)/src/chresampler.cc \
- $(top_srcdir)/src/configuration.cc \
- $(top_srcdir)/src/configparser.cc \
- $(top_srcdir)/src/drumgizmo.cc \
- $(top_srcdir)/src/drumkit.cc \
- $(top_srcdir)/src/drumkitloader.cc \
- $(top_srcdir)/src/drumkitparser.cc \
- $(top_srcdir)/src/events.cc \
- $(top_srcdir)/src/instrument.cc \
- $(top_srcdir)/src/instrumentparser.cc \
- $(top_srcdir)/src/messagehandler.cc \
- $(top_srcdir)/src/messagereceiver.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/mutex.cc \
- $(top_srcdir)/src/path.cc \
- $(top_srcdir)/src/powerlist.cc \
- $(top_srcdir)/src/sample.cc \
- $(top_srcdir)/src/semaphore.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/src/thread.cc \
- $(top_srcdir)/src/velocity.cc \
- $(top_srcdir)/src/versionstr.cc
-
-DRUMGIZMO_LIBS = $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS)
-plugindir = $(libdir)/lv2/drumgizmo.lv2
- at ENABLE_LV2_TRUE@plugin_LTLIBRARIES = drumgizmo.la
-plugin_DATA = manifest.ttl drumgizmo.ttl
-EXTRA_DIST = \
- $(plugin_DATA) \
- input_lv2.h \
- output_lv2.h \
- lv2_event.h \
- lv2_gui.h \
- lv2_instance.h
-
-drumgizmo_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
- $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(LV2_CFLAGS) \
- $(PLUGIN_GUI_CFLAGS) $(SSEFLAGS) $(ZITA_CPPFLAGS) \
- -DUSE_THREAD $(SAMPLERATE_CFLAGS)
-
-drumgizmo_la_SOURCES = \
- $(DRUMGIZMO_SOURCES) \
- $(PLUGIN_GUI_SOURCES) \
- lv2.cc \
- lv2_gui.cc \
- input_lv2.cc \
- output_lv2.cc
-
-drumgizmo_la_LDFLAGS = -module -avoid-version
-drumgizmo_la_LIBADD = $(LV2_LIBS) $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lv2/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lv2/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
- }
-
-uninstall-pluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
- done
-
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-drumgizmo.la: $(drumgizmo_la_OBJECTS) $(drumgizmo_la_DEPENDENCIES) $(EXTRA_drumgizmo_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(drumgizmo_la_LINK) $(am_drumgizmo_la_rpath) $(drumgizmo_la_OBJECTS) $(drumgizmo_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiofile.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audioinputenginemidi.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-button.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-channel.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-channelmixer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-checkbox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-chresampler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-colour.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-combobox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-configparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-configuration.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-directory.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumgizmo.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkit.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkitloader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkitparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-eventhandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-events.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-filebrowser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-font.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-image.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-input_lv2.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-instrument.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-instrumentparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-knob.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-label.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-led.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lineedit.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listbox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listboxbasic.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listboxthin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lodepng.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lv2.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lv2_gui.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-messagehandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-messagereceiver.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-midimapparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-midimapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-mutex.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-nativewindow_win32.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-nativewindow_x11.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-output_lv2.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-painter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-path.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-pixelbuffer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-pluginconfig.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-plugingui.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-powerlist.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-progressbar.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-resource.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-resource_data.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-sample.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-saxparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-scrollbar.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-semaphore.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-slider.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-thread.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-velocity.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-versionstr.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-verticalline.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-widget.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-window.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin_syslog.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-hugin.lo: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
-
-hugin_syslog.lo: $(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin_syslog.lo -MD -MP -MF $(DEPDIR)/hugin_syslog.Tpo -c -o hugin_syslog.lo `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin_syslog.Tpo $(DEPDIR)/hugin_syslog.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_syslog.c' object='hugin_syslog.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin_syslog.lo `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-drumgizmo_la-audioinputenginemidi.lo: $(top_srcdir)/src/audioinputenginemidi.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audioinputenginemidi.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Tpo -c -o drumgizmo_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Tpo $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='drumgizmo_la-audioinputenginemidi.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
-
-drumgizmo_la-audiofile.lo: $(top_srcdir)/src/audiofile.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiofile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiofile.Tpo -c -o drumgizmo_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiofile.Tpo $(DEPDIR)/drumgizmo_la-audiofile.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='drumgizmo_la-audiofile.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
-
-drumgizmo_la-channel.lo: $(top_srcdir)/src/channel.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-channel.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-channel.Tpo -c -o drumgizmo_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-channel.Tpo $(DEPDIR)/drumgizmo_la-channel.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='drumgizmo_la-channel.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
-
-drumgizmo_la-channelmixer.lo: $(top_srcdir)/src/channelmixer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-channelmixer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-channelmixer.Tpo -c -o drumgizmo_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-channelmixer.Tpo $(DEPDIR)/drumgizmo_la-channelmixer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='drumgizmo_la-channelmixer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
-
-drumgizmo_la-chresampler.lo: $(top_srcdir)/src/chresampler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-chresampler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-chresampler.Tpo -c -o drumgizmo_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-chresampler.Tpo $(DEPDIR)/drumgizmo_la-chresampler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='drumgizmo_la-chresampler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
-
-drumgizmo_la-configuration.lo: $(top_srcdir)/src/configuration.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-configuration.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-configuration.Tpo -c -o drumgizmo_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-configuration.Tpo $(DEPDIR)/drumgizmo_la-configuration.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='drumgizmo_la-configuration.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
-
-drumgizmo_la-configparser.lo: $(top_srcdir)/src/configparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-configparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-configparser.Tpo -c -o drumgizmo_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-configparser.Tpo $(DEPDIR)/drumgizmo_la-configparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='drumgizmo_la-configparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
-
-drumgizmo_la-drumgizmo.lo: $(top_srcdir)/src/drumgizmo.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumgizmo.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumgizmo.Tpo -c -o drumgizmo_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumgizmo.Tpo $(DEPDIR)/drumgizmo_la-drumgizmo.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='drumgizmo_la-drumgizmo.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
-
-drumgizmo_la-drumkit.lo: $(top_srcdir)/src/drumkit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkit.Tpo -c -o drumgizmo_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkit.Tpo $(DEPDIR)/drumgizmo_la-drumkit.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='drumgizmo_la-drumkit.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
-
-drumgizmo_la-drumkitloader.lo: $(top_srcdir)/src/drumkitloader.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkitloader.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkitloader.Tpo -c -o drumgizmo_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkitloader.Tpo $(DEPDIR)/drumgizmo_la-drumkitloader.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='drumgizmo_la-drumkitloader.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
-
-drumgizmo_la-drumkitparser.lo: $(top_srcdir)/src/drumkitparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkitparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkitparser.Tpo -c -o drumgizmo_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkitparser.Tpo $(DEPDIR)/drumgizmo_la-drumkitparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='drumgizmo_la-drumkitparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
-
-drumgizmo_la-events.lo: $(top_srcdir)/src/events.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-events.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-events.Tpo -c -o drumgizmo_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-events.Tpo $(DEPDIR)/drumgizmo_la-events.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='drumgizmo_la-events.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
-
-drumgizmo_la-instrument.lo: $(top_srcdir)/src/instrument.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-instrument.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-instrument.Tpo -c -o drumgizmo_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-instrument.Tpo $(DEPDIR)/drumgizmo_la-instrument.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='drumgizmo_la-instrument.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
-
-drumgizmo_la-instrumentparser.lo: $(top_srcdir)/src/instrumentparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-instrumentparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-instrumentparser.Tpo -c -o drumgizmo_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-instrumentparser.Tpo $(DEPDIR)/drumgizmo_la-instrumentparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='drumgizmo_la-instrumentparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
-
-drumgizmo_la-messagehandler.lo: $(top_srcdir)/src/messagehandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-messagehandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-messagehandler.Tpo -c -o drumgizmo_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-messagehandler.Tpo $(DEPDIR)/drumgizmo_la-messagehandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='drumgizmo_la-messagehandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
-
-drumgizmo_la-messagereceiver.lo: $(top_srcdir)/src/messagereceiver.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-messagereceiver.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-messagereceiver.Tpo -c -o drumgizmo_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-messagereceiver.Tpo $(DEPDIR)/drumgizmo_la-messagereceiver.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='drumgizmo_la-messagereceiver.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
-
-drumgizmo_la-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-midimapparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-midimapparser.Tpo -c -o drumgizmo_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-midimapparser.Tpo $(DEPDIR)/drumgizmo_la-midimapparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='drumgizmo_la-midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
-
-drumgizmo_la-midimapper.lo: $(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-midimapper.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-midimapper.Tpo -c -o drumgizmo_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-midimapper.Tpo $(DEPDIR)/drumgizmo_la-midimapper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='drumgizmo_la-midimapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
-
-drumgizmo_la-mutex.lo: $(top_srcdir)/src/mutex.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-mutex.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-mutex.Tpo -c -o drumgizmo_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-mutex.Tpo $(DEPDIR)/drumgizmo_la-mutex.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='drumgizmo_la-mutex.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
-
-drumgizmo_la-path.lo: $(top_srcdir)/src/path.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-path.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-path.Tpo -c -o drumgizmo_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-path.Tpo $(DEPDIR)/drumgizmo_la-path.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='drumgizmo_la-path.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
-
-drumgizmo_la-powerlist.lo: $(top_srcdir)/src/powerlist.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-powerlist.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-powerlist.Tpo -c -o drumgizmo_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-powerlist.Tpo $(DEPDIR)/drumgizmo_la-powerlist.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='drumgizmo_la-powerlist.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
-
-drumgizmo_la-sample.lo: $(top_srcdir)/src/sample.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-sample.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-sample.Tpo -c -o drumgizmo_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-sample.Tpo $(DEPDIR)/drumgizmo_la-sample.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='drumgizmo_la-sample.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
-
-drumgizmo_la-semaphore.lo: $(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-semaphore.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-semaphore.Tpo -c -o drumgizmo_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-semaphore.Tpo $(DEPDIR)/drumgizmo_la-semaphore.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='drumgizmo_la-semaphore.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
-
-drumgizmo_la-saxparser.lo: $(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-saxparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-saxparser.Tpo -c -o drumgizmo_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-saxparser.Tpo $(DEPDIR)/drumgizmo_la-saxparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='drumgizmo_la-saxparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
-
-drumgizmo_la-thread.lo: $(top_srcdir)/src/thread.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-thread.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-thread.Tpo -c -o drumgizmo_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-thread.Tpo $(DEPDIR)/drumgizmo_la-thread.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='drumgizmo_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
-
-drumgizmo_la-velocity.lo: $(top_srcdir)/src/velocity.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-velocity.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-velocity.Tpo -c -o drumgizmo_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-velocity.Tpo $(DEPDIR)/drumgizmo_la-velocity.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='drumgizmo_la-velocity.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
-
-drumgizmo_la-versionstr.lo: $(top_srcdir)/src/versionstr.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-versionstr.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-versionstr.Tpo -c -o drumgizmo_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-versionstr.Tpo $(DEPDIR)/drumgizmo_la-versionstr.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='drumgizmo_la-versionstr.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
-
-drumgizmo_la-nativewindow_x11.lo: $(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-nativewindow_x11.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-nativewindow_x11.Tpo -c -o drumgizmo_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-nativewindow_x11.Tpo $(DEPDIR)/drumgizmo_la-nativewindow_x11.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='drumgizmo_la-nativewindow_x11.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
-
-drumgizmo_la-nativewindow_win32.lo: $(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-nativewindow_win32.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-nativewindow_win32.Tpo -c -o drumgizmo_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-nativewindow_win32.Tpo $(DEPDIR)/drumgizmo_la-nativewindow_win32.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='drumgizmo_la-nativewindow_win32.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
-
-drumgizmo_la-plugingui.lo: $(top_srcdir)/plugingui/plugingui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-plugingui.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-plugingui.Tpo -c -o drumgizmo_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-plugingui.Tpo $(DEPDIR)/drumgizmo_la-plugingui.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/plugingui.cc' object='drumgizmo_la-plugingui.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
-
-drumgizmo_la-label.lo: $(top_srcdir)/plugingui/label.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-label.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-label.Tpo -c -o drumgizmo_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-label.Tpo $(DEPDIR)/drumgizmo_la-label.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/label.cc' object='drumgizmo_la-label.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
-
-drumgizmo_la-eventhandler.lo: $(top_srcdir)/plugingui/eventhandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-eventhandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-eventhandler.Tpo -c -o drumgizmo_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-eventhandler.Tpo $(DEPDIR)/drumgizmo_la-eventhandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/eventhandler.cc' object='drumgizmo_la-eventhandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
-
-drumgizmo_la-font.lo: $(top_srcdir)/plugingui/font.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-font.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-font.Tpo -c -o drumgizmo_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-font.Tpo $(DEPDIR)/drumgizmo_la-font.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/font.cc' object='drumgizmo_la-font.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
-
-drumgizmo_la-window.lo: $(top_srcdir)/plugingui/window.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-window.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-window.Tpo -c -o drumgizmo_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-window.Tpo $(DEPDIR)/drumgizmo_la-window.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/window.cc' object='drumgizmo_la-window.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
-
-drumgizmo_la-widget.lo: $(top_srcdir)/plugingui/widget.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-widget.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-widget.Tpo -c -o drumgizmo_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-widget.Tpo $(DEPDIR)/drumgizmo_la-widget.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/widget.cc' object='drumgizmo_la-widget.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
-
-drumgizmo_la-colour.lo: $(top_srcdir)/plugingui/colour.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-colour.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-colour.Tpo -c -o drumgizmo_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-colour.Tpo $(DEPDIR)/drumgizmo_la-colour.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/colour.cc' object='drumgizmo_la-colour.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
-
-drumgizmo_la-painter.lo: $(top_srcdir)/plugingui/painter.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-painter.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-painter.Tpo -c -o drumgizmo_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-painter.Tpo $(DEPDIR)/drumgizmo_la-painter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/painter.cc' object='drumgizmo_la-painter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
-
-drumgizmo_la-button.lo: $(top_srcdir)/plugingui/button.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-button.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-button.Tpo -c -o drumgizmo_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-button.Tpo $(DEPDIR)/drumgizmo_la-button.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/button.cc' object='drumgizmo_la-button.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
-
-drumgizmo_la-pixelbuffer.lo: $(top_srcdir)/plugingui/pixelbuffer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-pixelbuffer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-pixelbuffer.Tpo -c -o drumgizmo_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-pixelbuffer.Tpo $(DEPDIR)/drumgizmo_la-pixelbuffer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pixelbuffer.cc' object='drumgizmo_la-pixelbuffer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
-
-drumgizmo_la-lineedit.lo: $(top_srcdir)/plugingui/lineedit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lineedit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lineedit.Tpo -c -o drumgizmo_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lineedit.Tpo $(DEPDIR)/drumgizmo_la-lineedit.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lineedit.cc' object='drumgizmo_la-lineedit.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
-
-drumgizmo_la-led.lo: $(top_srcdir)/plugingui/led.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-led.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-led.Tpo -c -o drumgizmo_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-led.Tpo $(DEPDIR)/drumgizmo_la-led.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/led.cc' object='drumgizmo_la-led.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
-
-drumgizmo_la-checkbox.lo: $(top_srcdir)/plugingui/checkbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-checkbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-checkbox.Tpo -c -o drumgizmo_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-checkbox.Tpo $(DEPDIR)/drumgizmo_la-checkbox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/checkbox.cc' object='drumgizmo_la-checkbox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
-
-drumgizmo_la-slider.lo: $(top_srcdir)/plugingui/slider.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-slider.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-slider.Tpo -c -o drumgizmo_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-slider.Tpo $(DEPDIR)/drumgizmo_la-slider.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/slider.cc' object='drumgizmo_la-slider.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
-
-drumgizmo_la-scrollbar.lo: $(top_srcdir)/plugingui/scrollbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-scrollbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-scrollbar.Tpo -c -o drumgizmo_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-scrollbar.Tpo $(DEPDIR)/drumgizmo_la-scrollbar.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/scrollbar.cc' object='drumgizmo_la-scrollbar.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
-
-drumgizmo_la-listbox.lo: $(top_srcdir)/plugingui/listbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listbox.Tpo -c -o drumgizmo_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listbox.Tpo $(DEPDIR)/drumgizmo_la-listbox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listbox.cc' object='drumgizmo_la-listbox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
-
-drumgizmo_la-listboxthin.lo: $(top_srcdir)/plugingui/listboxthin.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listboxthin.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listboxthin.Tpo -c -o drumgizmo_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listboxthin.Tpo $(DEPDIR)/drumgizmo_la-listboxthin.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxthin.cc' object='drumgizmo_la-listboxthin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
-
-drumgizmo_la-listboxbasic.lo: $(top_srcdir)/plugingui/listboxbasic.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listboxbasic.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listboxbasic.Tpo -c -o drumgizmo_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listboxbasic.Tpo $(DEPDIR)/drumgizmo_la-listboxbasic.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxbasic.cc' object='drumgizmo_la-listboxbasic.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
-
-drumgizmo_la-knob.lo: $(top_srcdir)/plugingui/knob.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-knob.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-knob.Tpo -c -o drumgizmo_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-knob.Tpo $(DEPDIR)/drumgizmo_la-knob.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/knob.cc' object='drumgizmo_la-knob.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
-
-drumgizmo_la-filebrowser.lo: $(top_srcdir)/plugingui/filebrowser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-filebrowser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-filebrowser.Tpo -c -o drumgizmo_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-filebrowser.Tpo $(DEPDIR)/drumgizmo_la-filebrowser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/filebrowser.cc' object='drumgizmo_la-filebrowser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
-
-drumgizmo_la-directory.lo: $(top_srcdir)/plugingui/directory.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-directory.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-directory.Tpo -c -o drumgizmo_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-directory.Tpo $(DEPDIR)/drumgizmo_la-directory.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/directory.cc' object='drumgizmo_la-directory.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
-
-drumgizmo_la-pluginconfig.lo: $(top_srcdir)/plugingui/pluginconfig.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-pluginconfig.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-pluginconfig.Tpo -c -o drumgizmo_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-pluginconfig.Tpo $(DEPDIR)/drumgizmo_la-pluginconfig.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pluginconfig.cc' object='drumgizmo_la-pluginconfig.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
-
-drumgizmo_la-image.lo: $(top_srcdir)/plugingui/image.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-image.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-image.Tpo -c -o drumgizmo_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-image.Tpo $(DEPDIR)/drumgizmo_la-image.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/image.cc' object='drumgizmo_la-image.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
-
-drumgizmo_la-combobox.lo: $(top_srcdir)/plugingui/combobox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-combobox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-combobox.Tpo -c -o drumgizmo_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-combobox.Tpo $(DEPDIR)/drumgizmo_la-combobox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/combobox.cc' object='drumgizmo_la-combobox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
-
-drumgizmo_la-progressbar.lo: $(top_srcdir)/plugingui/progressbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-progressbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-progressbar.Tpo -c -o drumgizmo_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-progressbar.Tpo $(DEPDIR)/drumgizmo_la-progressbar.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/progressbar.cc' object='drumgizmo_la-progressbar.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
-
-drumgizmo_la-verticalline.lo: $(top_srcdir)/plugingui/verticalline.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-verticalline.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-verticalline.Tpo -c -o drumgizmo_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-verticalline.Tpo $(DEPDIR)/drumgizmo_la-verticalline.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/verticalline.cc' object='drumgizmo_la-verticalline.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
-
-drumgizmo_la-resource.lo: $(top_srcdir)/plugingui/resource.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-resource.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-resource.Tpo -c -o drumgizmo_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-resource.Tpo $(DEPDIR)/drumgizmo_la-resource.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='drumgizmo_la-resource.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
-
-drumgizmo_la-resource_data.lo: $(top_srcdir)/plugingui/resource_data.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-resource_data.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-resource_data.Tpo -c -o drumgizmo_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-resource_data.Tpo $(DEPDIR)/drumgizmo_la-resource_data.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='drumgizmo_la-resource_data.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
-
-drumgizmo_la-lodepng.lo: $(top_srcdir)/plugingui/lodepng/lodepng.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lodepng.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lodepng.Tpo -c -o drumgizmo_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lodepng.Tpo $(DEPDIR)/drumgizmo_la-lodepng.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lodepng/lodepng.cpp' object='drumgizmo_la-lodepng.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
-
-drumgizmo_la-lv2.lo: lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lv2.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lv2.Tpo -c -o drumgizmo_la-lv2.lo `test -f 'lv2.cc' || echo '$(srcdir)/'`lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lv2.Tpo $(DEPDIR)/drumgizmo_la-lv2.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='lv2.cc' object='drumgizmo_la-lv2.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lv2.lo `test -f 'lv2.cc' || echo '$(srcdir)/'`lv2.cc
-
-drumgizmo_la-lv2_gui.lo: lv2_gui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lv2_gui.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lv2_gui.Tpo -c -o drumgizmo_la-lv2_gui.lo `test -f 'lv2_gui.cc' || echo '$(srcdir)/'`lv2_gui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lv2_gui.Tpo $(DEPDIR)/drumgizmo_la-lv2_gui.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='lv2_gui.cc' object='drumgizmo_la-lv2_gui.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lv2_gui.lo `test -f 'lv2_gui.cc' || echo '$(srcdir)/'`lv2_gui.cc
-
-drumgizmo_la-input_lv2.lo: input_lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-input_lv2.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-input_lv2.Tpo -c -o drumgizmo_la-input_lv2.lo `test -f 'input_lv2.cc' || echo '$(srcdir)/'`input_lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-input_lv2.Tpo $(DEPDIR)/drumgizmo_la-input_lv2.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input_lv2.cc' object='drumgizmo_la-input_lv2.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-input_lv2.lo `test -f 'input_lv2.cc' || echo '$(srcdir)/'`input_lv2.cc
-
-drumgizmo_la-output_lv2.lo: output_lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-output_lv2.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-output_lv2.Tpo -c -o drumgizmo_la-output_lv2.lo `test -f 'output_lv2.cc' || echo '$(srcdir)/'`output_lv2.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-output_lv2.Tpo $(DEPDIR)/drumgizmo_la-output_lv2.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output_lv2.cc' object='drumgizmo_la-output_lv2.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-output_lv2.lo `test -f 'output_lv2.cc' || echo '$(srcdir)/'`output_lv2.cc
-
-.cpp.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-pluginDATA: $(plugin_DATA)
- @$(NORMAL_INSTALL)
- @list='$(plugin_DATA)'; test -n "$(plugindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindir)" || exit $$?; \
- done
-
-uninstall-pluginDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_DATA)'; test -n "$(plugindir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(plugindir)'; $(am__uninstall_files_from_dir)
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(plugindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pluginDATA install-pluginLTLIBRARIES
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-pluginDATA uninstall-pluginLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-pluginDATA install-pluginLTLIBRARIES install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-pluginDATA uninstall-pluginLTLIBRARIES
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lv2/input_lv2.cc b/lv2/input_lv2.cc
deleted file mode 100644
index e70d293..0000000
--- a/lv2/input_lv2.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * input_lv2.cc
- *
- * Wed Jul 13 14:27:02 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "input_lv2.h"
-
-#include "lv2/lv2plug.in/ns/ext/atom/util.h"
-
-#include <midimapparser.h>
-
-#include <hugin.hpp>
-
-InputLV2::InputLV2()
-{
- eventPort = NULL;
-}
-
-InputLV2::~InputLV2()
-{
-}
-
-bool InputLV2::init(Instruments &i)
-{
- instruments = &i;
- return true;
-}
-
-void InputLV2::setParm(std::string parm, std::string value)
-{
-}
-
-bool InputLV2::start()
-{
- return true;
-}
-
-void InputLV2::stop()
-{
-}
-
-void InputLV2::pre()
-{
-}
-
-event_t *InputLV2::run(size_t pos, size_t len, size_t *nevents)
-{
- if(eventPort == NULL) {
- *nevents = 0;
- return NULL;
- }
-
- event_t *list;
- size_t listsize;
-
- list = (event_t *)malloc(sizeof(event_t) * 1000);
- listsize = 0;
-
- LV2_Atom_Event* ev = lv2_atom_sequence_begin(&eventPort->body);
-
- while(!lv2_atom_sequence_is_end(&eventPort->body,
- eventPort->atom.size,
- ev)) {
- uint8_t* const data = (uint8_t*)(ev+1);
-
- if ((data[0] & 0xF0) == 0x80) { // note off
- int key = data[1];
-
- DEBUG(lv2input, "Event (off) key:%d\n", key);
- }
-
- if ((data[0] & 0xF0) == 0x90) { // note on
- int key = data[1];
- int velocity = data[2];
-
- DEBUG(lv2input, "Event key:%d vel:%d\n", key, velocity);
-
- int i = mmap.lookup(key);
- if(velocity && i != -1) {
- list[listsize].type = TYPE_ONSET;
- list[listsize].instrument = i;
- list[listsize].velocity = velocity / 127.0;
- list[listsize].offset = ev->time.frames;
- listsize++;
- }
- }
- ev = lv2_atom_sequence_next(ev);
- }
-
- *nevents = listsize;
- return list;
-}
-
-void InputLV2::post()
-{
-}
diff --git a/lv2/input_lv2.h b/lv2/input_lv2.h
deleted file mode 100644
index 32e2fd8..0000000
--- a/lv2/input_lv2.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * input_lv2.h
- *
- * Wed Jul 13 14:27:02 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_INPUT_LV2_H__
-#define __DRUMGIZMO_INPUT_LV2_H__
-
-#include <audioinputenginemidi.h>
-
-#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
-
-class InputLV2 : public AudioInputEngineMidi {
-public:
- InputLV2();
- ~InputLV2();
-
- bool init(Instruments &instruments);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
- LV2_Atom_Sequence *eventPort;
-
-private:
- Instruments *instruments;
-};
-
-#endif/*__DRUMGIZMO_INPUT_LV2_H__*/
diff --git a/lv2/lv2.cc b/lv2/lv2.cc
deleted file mode 100644
index d87665d..0000000
--- a/lv2/lv2.cc
+++ /dev/null
@@ -1,235 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * lv2.cc
- *
- * Wed Jul 13 13:50:33 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <lv2/lv2plug.in/ns/lv2core/lv2.h>
-#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "lv2_gui.h"
-#include "lv2_instance.h"
-
-#include <hugin.hpp>
-
-#define DRUMGIZMO_URI "http://drumgizmo.org/lv2"
-#define NS_DG DRUMGIZMO_URI "/atom#"
-
-// Stuff to handle DrumGizmo* transmission from instance to GUI.
-static LV2_DrumGizmo_Descriptor dg_descriptor;
-
-static DrumGizmo *dg_get_pci(LV2_Handle instance)
-{
- DGLV2 *dglv2 = (DGLV2 *)instance;
- return dglv2->dg;
-}
-
-LV2_State_Status
-dg_save(LV2_Handle instance,
- LV2_State_Store_Function store,
- LV2_State_Handle handle,
- uint32_t flags,
- const LV2_Feature *const * features)
-{
- DGLV2 *dglv2 = (DGLV2 *)instance;
-
- if(!dglv2 || !dglv2->map || !dglv2->map->map) {
- // Missing urid feature?
- return LV2_STATE_ERR_NO_FEATURE;
- }
-
- std::string config = dglv2->dg->configString();
-
- // Backwards compatible fix for errornously stored '\0' byte in < v0.9.8.
- // Remove when we reach v1.0
- config += "\n";
-
- store(handle,
- dglv2->map->map(dglv2->map->handle, NS_DG "config"),
- config.data(),
- config.length(),
- dglv2->map->map(dglv2->map->handle, LV2_ATOM__Chunk),
- LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE);
-
- return LV2_STATE_SUCCESS;
-}
-
-LV2_State_Status
-dg_restore(LV2_Handle instance,
- LV2_State_Retrieve_Function retrieve,
- LV2_State_Handle handle,
- uint32_t flags,
- const LV2_Feature *const * features)
-{
- DGLV2 *dglv2 = (DGLV2 *)instance;
-
- if(!dglv2 || !dglv2->map || !dglv2->map->map) {
- // Missing urid feature?
- return LV2_STATE_ERR_NO_FEATURE;
- }
-
- size_t size;
- uint32_t type;
-
- const char* data =
- (const char*)retrieve(handle,
- dglv2->map->map(dglv2->map->handle, NS_DG "config"),
- &size, &type, &flags);
-
- DEBUG(lv2, "Config string size: %d, data*: %p\n", (int)size, data);
-
- if(data && size) {
- std::string config;
-
- // Fix for errornously stored '\0' byte in < v0.9.8.
- // Remove when we reach v1.0
- if(data[size - 1] == '\0') size--;
-
- config.append(data, size);
- dglv2->dg->setConfigString(config);
- }
-
- return LV2_STATE_SUCCESS;
-}
-
-static LV2_State_Interface dg_persist = {
- dg_save,
- dg_restore
-};
-
-LV2_Handle instantiate(const struct _LV2_Descriptor *descriptor,
- double sample_rate,
- const char *bundle_path,
- const LV2_Feature *const *features)
-{
- DGLV2 *dglv2 = new DGLV2;
-
- dglv2->map = NULL;
- for (int i = 0 ; features[i] ; i++) {
- if (!strcmp(features[i]->URI, LV2_URID_URI "#map")) {
- dglv2->map = (LV2_URID_Map*)features[i]->data;
- }
- }
-
- dg_descriptor.get_pci = dg_get_pci;
-
- dglv2->in = new InputLV2();
- dglv2->out = new OutputLV2();
-
- dglv2->buffer = NULL;
- dglv2->buffer_size = 0;
-
- dglv2->dg = new DrumGizmo(dglv2->out, dglv2->in);
- dglv2->dg->setSamplerate(sample_rate);
-
- return (LV2_Handle)dglv2;
-}
-
-void connect_port(LV2_Handle instance,
- uint32_t port,
- void *data_location)
-{
- DGLV2 *dglv2 = (DGLV2 *)instance;
-
- if(port == 0) {// MIDI in
- dglv2->in->eventPort = (LV2_Atom_Sequence*)data_location;
- } else {// Audio Port
- if(port - 1 < NUM_OUTPUTS) {
- dglv2->out->outputPorts[port - 1].samples = (sample_t*)data_location;
- dglv2->out->outputPorts[port - 1].size = 0;
- }
- }
-}
-
-void activate(LV2_Handle instance)
-{
- // We don't really need to do anything here.
- DGLV2 *dglv2 = (DGLV2 *)instance;
- (void)dglv2;
-}
-
-void run(LV2_Handle instance,
- uint32_t sample_count)
-{
- static size_t pos = 0;
- DGLV2 *dglv2 = (DGLV2 *)instance;
-
- dglv2->dg->run(pos, dglv2->buffer, sample_count);
-
- pos += sample_count;
-}
-
-void deactivate(LV2_Handle instance)
-{
- // We don't really need to do anything here.
- DGLV2 *dglv2 = (DGLV2 *)instance;
- dglv2->dg->stop();
-}
-
-void cleanup(LV2_Handle instance)
-{
- DGLV2 *dglv2 = (DGLV2 *)instance;
- delete dglv2->dg;
- delete dglv2->in;
- delete dglv2->out;
-}
-
-const void* extension_data(const char *uri)
-{
- if(!strcmp(uri, PLUGIN_INSTANCE_URI)) return &dg_descriptor;
- if(!strcmp(uri, LV2_STATE__interface)) return &dg_persist;
- return NULL;
-}
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static const LV2_Descriptor descriptor = {
- DRUMGIZMO_URI,
- instantiate,
- connect_port,
- activate,
- run,
- deactivate,
- cleanup,
- extension_data
-};
-
-LV2_SYMBOL_EXPORT
-const LV2_Descriptor* lv2_descriptor(uint32_t index)
-{
- switch (index) {
- case 0:
- return &descriptor;
- default:
- return NULL;
- }
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/lv2/lv2_event.h b/lv2/lv2_event.h
deleted file mode 100644
index 2c340ba..0000000
--- a/lv2/lv2_event.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- LV2 Event Extension
- Copyright 2008-2011 David Robillard <http://drobilla.net>
- Copyright 2006-2007 Lars Luthman <lars.luthman at gmail.com>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#ifndef LV2_EVENT_H
-#define LV2_EVENT_H
-
-#define LV2_EVENT_URI "http://lv2plug.in/ns/ext/event"
-#define LV2_EVENT_AUDIO_STAMP 0
-
-#include <stdint.h>
-
-/**
- @file event.h
- C API for the LV2 Event extension <http://lv2plug.in/ns/ext/event>.
-
- This extension is a generic transport mechanism for time stamped events
- of any type (e.g. MIDI, OSC, ramps, etc). Each port can transport mixed
- events of any type; the type of events and timestamps are defined by a URI
- which is mapped to an integer by the host for performance reasons.
-
- This extension requires the host to support the LV2 URI Map extension.
- Any host which supports this extension MUST guarantee that any call to
- the LV2 URI Map uri_to_id function with the URI of this extension as the
- 'map' argument returns a value within the range of uint16_t.
-*/
-
-/**
- The best Pulses Per Quarter Note for tempo-based uint32_t timestamps.
- Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisble
- by all integers from 1 through 18 inclusive, and powers of 2 up to 2^12.
-*/
-static const uint32_t LV2_EVENT_PPQN = 3136573440U;
-
-/**
- An LV2 event (header only).
-
- LV2 events are generic time-stamped containers for any type of event.
- The type field defines the format of a given event's contents.
-
- This struct defines the header of an LV2 event. An LV2 event is a single
- chunk of POD (plain old data), usually contained in a flat buffer (see
- LV2_EventBuffer below). Unless a required feature says otherwise, hosts may
- assume a deep copy of an LV2 event can be created safely using a simple:
-
- memcpy(ev_copy, ev, sizeof(LV2_Event) + ev->size); (or equivalent)
-*/
-typedef struct {
-
- /**
- The frames portion of timestamp. The units used here can optionally be
- set for a port (with the lv2ev:timeUnits property), otherwise this is
- audio frames, corresponding to the sample_count parameter of the LV2 run
- method (e.g. frame 0 is the first frame for that call to run).
- */
- uint32_t frames;
-
- /**
- The sub-frames portion of timestamp. The units used here can optionally
- be set for a port (with the lv2ev:timeUnits property), otherwise this is
- 1/(2^32) of an audio frame.
- */
- uint32_t subframes;
-
- /**
- The type of this event, as a number which represents some URI
- defining an event type. This value MUST be some value previously
- returned from a call to the uri_to_id function defined in the LV2
- URI map extension (see lv2_uri_map.h).
- There are special rules which must be followed depending on the type
- of an event. If the plugin recognizes an event type, the definition
- of that event type will describe how to interpret the event, and
- any required behaviour. Otherwise, if the type is 0, this event is a
- non-POD event and lv2_event_unref MUST be called if the event is
- 'dropped' (see above). Even if the plugin does not understand an event,
- it may pass the event through to an output by simply copying (and NOT
- calling lv2_event_unref). These rules are designed to allow for generic
- event handling plugins and large non-POD events, but with minimal hassle
- on simple plugins that "don't care" about these more advanced features.
- */
- uint16_t type;
-
- /**
- The size of the data portion of this event in bytes, which immediately
- follows. The header size (12 bytes) is not included in this value.
- */
- uint16_t size;
-
- /* size bytes of data follow here */
-
-} LV2_Event;
-
-
-/**
- A buffer of LV2 events (header only).
-
- Like events (which this contains) an event buffer is a single chunk of POD:
- the entire buffer (including contents) can be copied with a single memcpy.
- The first contained event begins sizeof(LV2_EventBuffer) bytes after the
- start of this struct.
-
- After this header, the buffer contains an event header (defined by struct
- LV2_Event), followed by that event's contents (padded to 64 bits), followed
- by another header, etc:
-
- | | | | | | |
- | | | | | | | | | | | | | | | | | | | | | | | | |
- |FRAMES |SUBFRMS|TYP|LEN|DATA..DATA..PAD|FRAMES | ...
-*/
-typedef struct {
-
- /**
- The contents of the event buffer. This may or may not reside in the
- same block of memory as this header, plugins must not assume either.
- The host guarantees this points to at least capacity bytes of allocated
- memory (though only size bytes of that are valid events).
- */
- uint8_t* data;
-
- /**
- The size of this event header in bytes (including everything).
-
- This is to allow for extending this header in the future without
- breaking binary compatibility. Whenever this header is copied,
- it MUST be done using this field (and NOT the sizeof this struct).
- */
- uint16_t header_size;
-
- /**
- The type of the time stamps for events in this buffer.
- As a special exception, '0' always means audio frames and subframes
- (1/UINT32_MAX'th of a frame) in the sample rate passed to instantiate.
-
- INPUTS: The host must set this field to the numeric ID of some URI
- defining the meaning of the frames/subframes fields of contained events
- (obtained by the LV2 URI Map uri_to_id function with the URI of this
- extension as the 'map' argument, see lv2_uri_map.h). The host must
- never pass a plugin a buffer which uses a stamp type the plugin does not
- 'understand'. The value of this field must never change, except when
- connect_port is called on the input port, at which time the host MUST
- have set the stamp_type field to the value that will be used for all
- subsequent run calls.
-
- OUTPUTS: The plugin may set this to any value that has been returned
- from uri_to_id with the URI of this extension for a 'map' argument.
- When connected to a buffer with connect_port, output ports MUST set this
- field to the type of time stamp they will be writing. On any call to
- connect_port on an event input port, the plugin may change this field on
- any output port, it is the responsibility of the host to check if any of
- these values have changed and act accordingly.
- */
- uint16_t stamp_type;
-
- /**
- The number of events in this buffer.
-
- INPUTS: The host must set this field to the number of events contained
- in the data buffer before calling run(). The plugin must not change
- this field.
-
- OUTPUTS: The plugin must set this field to the number of events it has
- written to the buffer before returning from run(). Any initial value
- should be ignored by the plugin.
- */
- uint32_t event_count;
-
- /**
- The size of the data buffer in bytes.
- This is set by the host and must not be changed by the plugin.
- The host is allowed to change this between run() calls.
- */
- uint32_t capacity;
-
- /**
- The size of the initial portion of the data buffer containing data.
-
- INPUTS: The host must set this field to the number of bytes used
- by all events it has written to the buffer (including headers)
- before calling the plugin's run().
- The plugin must not change this field.
-
- OUTPUTS: The plugin must set this field to the number of bytes
- used by all events it has written to the buffer (including headers)
- before returning from run().
- Any initial value should be ignored by the plugin.
- */
- uint32_t size;
-
-} LV2_Event_Buffer;
-
-
-/**
- Opaque pointer to host data.
-*/
-typedef void* LV2_Event_Callback_Data;
-
-
-/**
- Non-POD events feature.
-
- To support this feature the host must pass an LV2_Feature struct to the
- plugin's instantiate method with URI "http://lv2plug.in/ns/ext/event"
- and data pointed to an instance of this struct. Note this feature
- is not mandatory to support the event extension.
-*/
-typedef struct {
-
- /**
- Opaque pointer to host data.
-
- The plugin MUST pass this to any call to functions in this struct.
- Otherwise, it must not be interpreted in any way.
- */
- LV2_Event_Callback_Data callback_data;
-
- /**
- Take a reference to a non-POD event.
-
- If a plugin receives an event with type 0, it means the event is a
- pointer to some object in memory and not a flat sequence of bytes
- in the buffer. When receiving a non-POD event, the plugin already
- has an implicit reference to the event. If the event is stored AND
- passed to an output, lv2_event_ref MUST be called on that event.
- If the event is only stored OR passed through, this is not necessary
- (as the plugin already has 1 implicit reference).
-
- @param event An event received at an input that will not be copied to
- an output or stored in any way.
-
- @param context The calling context. Like event types, this is a mapped
- URI, see lv2_context.h. Simple plugin with just a run() method should
- pass 0 here (the ID of the 'standard' LV2 run context). The host
- guarantees that this function is realtime safe iff @a context is
- realtime safe.
-
- PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS.
- */
- uint32_t (*lv2_event_ref)(LV2_Event_Callback_Data callback_data,
- LV2_Event* event);
-
- /**
- Drop a reference to a non-POD event.
-
- If a plugin receives an event with type 0, it means the event is a
- pointer to some object in memory and not a flat sequence of bytes
- in the buffer. If the plugin does not pass the event through to
- an output or store it internally somehow, it MUST call this function
- on the event (more information on using non-POD events below).
-
- @param event An event received at an input that will not be copied to an
- output or stored in any way.
-
- @param context The calling context. Like event types, this is a mapped
- URI, see lv2_context.h. Simple plugin with just a run() method should
- pass 0 here (the ID of the 'standard' LV2 run context). The host
- guarantees that this function is realtime safe iff @a context is
- realtime safe.
-
- PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS.
- */
- uint32_t (*lv2_event_unref)(LV2_Event_Callback_Data callback_data,
- LV2_Event* event);
-
-} LV2_Event_Feature;
-
-
-#endif /* LV2_EVENT_H */
diff --git a/lv2/lv2_gui.cc b/lv2/lv2_gui.cc
deleted file mode 100644
index 7b56c5b..0000000
--- a/lv2/lv2_gui.cc
+++ /dev/null
@@ -1,237 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * lv2.cc
- *
- * Wed Jul 13 13:50:33 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "lv2_gui.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include <lv2/lv2plug.in/ns/ext/instance-access/instance-access.h>
-#include <lv2/lv2plug.in/ns/extensions/ui/ui.h>
-
-#include "lv2_instance.h"
-
-// From: http://codesearch.google.com/#50sg5qT6WNE/src/lv2_ui_dssi.c
-// git://repo.or.cz/nekobee.git/src/lv2_ui_dssi.c
-
-#define DRUMGIZMO_UI_URI "http://drumgizmo.org/lv2-gui"
-
-#include <plugingui.h>
-
-/**
- * When LV2_EXTERNAL_UI_URI UI is instantiated, the returned
- * LV2UI_Widget handle must be cast to pointer to struct lv2_external_ui.
- * UI is created in invisible state.
- */
-struct lv2_external_ui
-{
- /**
- * Host calls this function regulary. UI library implementing the
- * callback may do IPC or redraw the UI.
- *
- * @param _this_ the UI context
- */
- void (* run)(struct lv2_external_ui * _this_);
-
- /**
- * Host calls this function to make the plugin UI visible.
- *
- * @param _this_ the UI context
- */
- void (* show)(struct lv2_external_ui * _this_);
-
- /**
- * Host calls this function to make the plugin UI invisible again.
- *
- * @param _this_ the UI context
- */
- void (* hide)(struct lv2_external_ui * _this_);
-};
-
-/** UI extension suitable for out-of-process UIs */
-#define LV2_EXTERNAL_UI_URI "http://lv2plug.in/ns/extensions/ui#external"
-
-/**
- * On UI instantiation, host must supply LV2_EXTERNAL_UI_URI
- * feature. LV2_Feature::data must be pointer to struct lv2_external_ui_host. */
-struct lv2_external_ui_host
-{
- /**
- * Callback that plugin UI will call
- * when UI (GUI window) is closed by user.
- * This callback wil; be called during execution of lv2_external_ui::run()
- * (i.e. not from background thread).
- *
- * After this callback is called, UI is defunct. Host must call
- * LV2UI_Descriptor::cleanup(). If host wants to make the UI visible
- * again UI must be reinstantiated.
- *
- * @param controller Host context associated with plugin UI, as
- * supplied to LV2UI_Descriptor::instantiate()
- */
- void (* ui_closed)(LV2UI_Controller controller);
-
- /**
- * Optional (may be NULL) "user friendly" identifier which the UI
- * may display to allow a user to easily associate this particular
- * UI instance with the correct plugin instance as it is represented
- * by the host (e.g. "track 1" or "channel 4").
- *
- * If supplied by host, the string will be referenced only during
- * LV2UI_Descriptor::instantiate()
- */
- const char * plugin_human_id;
-};
-
-struct DG_GUI {
- struct lv2_external_ui virt;
-
- LV2_Handle instance_handle;
- LV2_Extension_Data_Feature *data_access;
- DrumGizmo *instance;
- LV2UI_Controller controller;
-
- PluginGUI *gui;
- struct lv2_external_ui_host *ui_host_ptr;
-};
-
-static void ui_run(struct lv2_external_ui * _this_)
-{
- struct DG_GUI *dggui = (struct DG_GUI *)_this_;
- dggui->gui->processEvents();
-}
-
-static void ui_show(struct lv2_external_ui * _this_)
-{
- struct DG_GUI *dggui = (struct DG_GUI *)_this_;
- dggui->gui->show();
-}
-
-static void ui_hide(struct lv2_external_ui * _this_)
-{
- struct DG_GUI *dggui = (struct DG_GUI *)_this_;
- if(dggui->gui) dggui->gui->hide();
-}
-
-static void closeHandler(void *ptr)
-{
- struct DG_GUI *gui = (struct DG_GUI *)ptr;
-
- if(gui->ui_host_ptr && gui->ui_host_ptr->ui_closed) {
- gui->ui_host_ptr->ui_closed(gui->controller);
- }
-
- delete gui->gui;
- gui->gui = NULL;
-}
-
-static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
- const char * plugin_uri,
- const char * bundle_path,
- LV2UI_Write_Function write_function,
- LV2UI_Controller controller,
- LV2UI_Widget * widget,
- const LV2_Feature * const * features)
-{
- printf("ui_instantiate\n");
-
- struct DG_GUI* pt = new struct DG_GUI;
-
- pt->ui_host_ptr = NULL;
- pt->controller = controller;
-
- while (*features != NULL) {
- std::string uri = (*features)->URI;
- void *data = (*features)->data;
-
- printf("DGUI: feature: %s\n", uri.c_str());
-
- if(uri == LV2_INSTANCE_ACCESS_URI) {
- pt->instance_handle = data;
- }
-
- if(uri == LV2_DATA_ACCESS_URI) {
- pt->data_access = (LV2_Extension_Data_Feature *)data;
- }
-
- if(uri == LV2_EXTERNAL_UI_URI) {
- pt->ui_host_ptr = (struct lv2_external_ui_host *)data;
- }
- features++;
- }
-
- LV2_DrumGizmo_Descriptor *dgd =
- (LV2_DrumGizmo_Descriptor *)(*pt->data_access->data_access)(PLUGIN_INSTANCE_URI);
-
- pt->instance = dgd->get_pci(pt->instance_handle);
- pt->virt.run = ui_run;
- pt->virt.show = ui_show;
- pt->virt.hide = ui_hide;
- pt->gui = new PluginGUI();
- pt->gui->setWindowClosedCallback(closeHandler, pt);
-
- *widget = (LV2UI_Widget)pt;
-
- return pt;
-}
-
-static void ui_cleanup(LV2UI_Handle ui)
-{
- struct DG_GUI* pt = (struct DG_GUI*)ui;
- delete pt->gui;
- pt->gui = NULL;
- delete pt;
-}
-
-static void ui_port_event(LV2UI_Handle ui,
- uint32_t port_index,
- uint32_t buffer_size,
- uint32_t format,
- const void * buffer)
-{
-}
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static LV2UI_Descriptor descriptor = {
- DRUMGIZMO_UI_URI,
- ui_instantiate,
- ui_cleanup,
- ui_port_event,
- NULL
-};
-
-const LV2UI_Descriptor *lv2ui_descriptor(uint32_t index)
-{
- if(index == 0) return &descriptor;
- return NULL;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/lv2/lv2_gui.h b/lv2/lv2_gui.h
deleted file mode 100644
index 2857445..0000000
--- a/lv2/lv2_gui.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * lv2_gui.h
- *
- * Fri Oct 21 10:48:53 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_LV2_GUI_H__
-#define __DRUMGIZMO_LV2_GUI_H__
-
-#include <lv2/lv2plug.in/ns/lv2core/lv2.h>
-#include <lv2/lv2plug.in/ns/ext/data-access/data-access.h>
-
-#define PLUGIN_INSTANCE_URI "http://drumgizmo.org/ns/drumgizmo-plugin-instance"
-
-class DrumGizmo;
-struct LV2_DrumGizmo_Descriptor {
- DrumGizmo *(*get_pci)(LV2_Handle instance);
-};
-
-#endif/*__DRUMGIZMO_LV2_GUI_H__*/
diff --git a/lv2/lv2_instance.h b/lv2/lv2_instance.h
deleted file mode 100644
index e050e22..0000000
--- a/lv2/lv2_instance.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * lv2_instance.h
- *
- * Sun Nov 20 15:27:41 CET 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_LV2_INSTANCE_H__
-#define __DRUMGIZMO_LV2_INSTANCE_H__
-
-#include <lv2/lv2plug.in/ns/lv2core/lv2.h>
-#include <lv2/lv2plug.in/ns/ext/state/state.h>
-#include <lv2/lv2plug.in/ns/ext/urid/urid.h>
-
-#include "input_lv2.h"
-#include "output_lv2.h"
-
-#include <drumgizmo.h>
-
-typedef struct {
- InputLV2 *in;
- OutputLV2 *out;
- DrumGizmo *dg;
- sample_t *buffer;
- size_t buffer_size;
- LV2_URID_Map* map;
-} DGLV2;
-
-#endif/*__DRUMGIZMO_LV2_INSTANCE_H__*/
diff --git a/lv2/output_lv2.cc b/lv2/output_lv2.cc
deleted file mode 100644
index 09999cb..0000000
--- a/lv2/output_lv2.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * output_lv2.cc
- *
- * Wed Jul 13 14:27:06 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "output_lv2.h"
-
-#include <string.h>
-
-OutputLV2::OutputLV2()
-{
- for(size_t i = 0; i < NUM_OUTPUTS; i++) {
- outputPorts[i].size = 0;
- outputPorts[i].samples = NULL;
- }
-}
-
-OutputLV2::~OutputLV2()
-{
-}
-
-bool OutputLV2::init(Channels channels)
-{
- return true;
-}
-
-void OutputLV2::setParm(std::string parm, std::string value)
-{
-}
-
-bool OutputLV2::start()
-{
- return true;
-}
-
-void OutputLV2::stop()
-{
-}
-
-void OutputLV2::pre(size_t nsamples)
-{
-}
-
-void OutputLV2::run(int ch, sample_t *samples, size_t nsamples)
-{
- if(ch < NUM_OUTPUTS) {
- if(outputPorts[ch].samples) {
- memcpy(outputPorts[ch].samples, samples, nsamples * sizeof(sample_t));
- }
- }
-}
-
-void OutputLV2::post(size_t nsamples)
-{
-}
-
-sample_t *OutputLV2::getBuffer(int ch)
-{
- if(ch < NUM_OUTPUTS) return outputPorts[ch].samples;
- return NULL;
-}
diff --git a/lv2/output_lv2.h b/lv2/output_lv2.h
deleted file mode 100644
index a3a2555..0000000
--- a/lv2/output_lv2.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * output_lv2.h
- *
- * Wed Jul 13 14:27:06 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_OUTPUT_LV2_H__
-#define __DRUMGIZMO_OUTPUT_LV2_H__
-
-#include <audiooutputengine.h>
-
-#define NUM_OUTPUTS 64
-
-class OutputPort {
-public:
- size_t size;
- sample_t *samples;
-};
-
-class OutputLV2 : public AudioOutputEngine {
-public:
- OutputLV2();
- ~OutputLV2();
-
- bool init(Channels channels);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre(size_t nsamples);
- void run(int ch, sample_t *samples, size_t nsamples);
- void post(size_t nsamples);
-
- sample_t *getBuffer(int c);
-
- OutputPort outputPorts[NUM_OUTPUTS];
-};
-
-#endif/*__DRUMGIZMO_OUTPUT_LV2_H__*/
diff --git a/man/Makefile.in b/man/Makefile.in
index b8792ad..71f26f8 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -176,7 +176,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -240,8 +240,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
diff --git a/man/drumgizmo.1 b/man/drumgizmo.1
index e14f7fe..2d118a3 100644
--- a/man/drumgizmo.1
+++ b/man/drumgizmo.1
@@ -1,4 +1,4 @@
-.TH "DRUMGIZMO" "1" "4 February 2015" "drumgizmo 0.9.7" ""
+.TH "DRUMGIZMO" "1" "4 February 2015" "drumgizmo" ""
.SH NAME
drumgizmo \- drum application
diff --git a/plugin/Makefile.am b/plugin/Makefile.am
new file mode 100644
index 0000000..15ca7d0
--- /dev/null
+++ b/plugin/Makefile.am
@@ -0,0 +1,76 @@
+include $(top_srcdir)/plugingui/Makefile.am.plugingui
+include $(top_srcdir)/src/Makefile.am.drumgizmo
+
+
+#######
+# LV2
+###
+if ENABLE_LV2
+lv2plugindir = $(libdir)/lv2/drumgizmo.lv2
+lv2plugin_LTLIBRARIES = drumgizmo.la
+lv2plugin_DATA = manifest.ttl drumgizmo.ttl
+endif
+
+drumgizmo_la_CXXFLAGS = -DLV2 -DLV2_PLUGIN_URI=\"http://drumgizmo.org/lv2\" \
+ -I$(top_srcdir)/plugin/plugingizmo $(DRUMGIZMO_CPPFLAGS) \
+ $(PLUGIN_GUI_CPPFLAGS)
+
+drumgizmo_la_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ $(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginlv2.cc \
+ drumgizmo_plugin.cc
+
+drumgizmo_la_LDFLAGS = -shared -module -avoid-version
+drumgizmo_la_LIBADD = $(LV2_LIBS) $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
+
+
+#######
+# VST
+###
+if ENABLE_VST
+vstplugindir = $(libdir)/vst
+vstplugin_LTLIBRARIES = drumgizmo_vst.la
+vstplugin_DATA =
+noinst_LTLIBRARIES = libvstsdk.la
+endif
+
+VST_BASE = ${VST_SOURCE_PATH}
+VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
+
+# Hack to compile vst sources without -Wall -Werror
+libvstsdk_la_CXXFLAGS = -w $(VST_CPPFLAGS)
+nodist_libvstsdk_la_SOURCES = \
+ ${VST_SRC_BASE}/audioeffectx.cpp \
+ ${VST_SRC_BASE}/audioeffect.cpp \
+ ${VST_SRC_BASE}/vstplugmain.cpp
+
+drumgizmo_vst_la_CXXFLAGS = -DVST \
+ -I$(top_srcdir)/plugin/plugingizmo $(DRUMGIZMO_CPPFLAGS) \
+ $(PLUGIN_GUI_CPPFLAGS) $(VST_CPPFLAGS)
+
+drumgizmo_vst_la_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ $(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginvst.cc \
+ drumgizmo_plugin.cc
+
+drumgizmo_vst_la_LDFLAGS = -shared -module -avoid-version
+drumgizmo_vst_la_LIBADD = libvstsdk.la $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
+
+
+install-exec-hook:
+ rm -f $(DESTDIR)$(libdir)/lv2/drumgizmo.lv2/drumgizmo.la
+ rm -f $(DESTDIR)$(libdir)/vst/drumgizmo_vst.la
+
+
+EXTRA_DIST = \
+ $(lv2plugin_DATA) \
+ $(vstplugin_DATA) \
+ drumgizmo_plugin.h \
+ $(top_srcdir)/plugin/plugingizmo/plugin.h \
+ $(top_srcdir)/plugin/plugingizmo/midievent.h \
+ $(top_srcdir)/plugin/plugingizmo/pluginlv2.h \
+ $(top_srcdir)/plugin/plugingizmo/pluginvst.h
diff --git a/plugin/Makefile.in b/plugin/Makefile.in
new file mode 100644
index 0000000..95584d3
--- /dev/null
+++ b/plugin/Makefile.in
@@ -0,0 +1,2423 @@
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# -*- Makefile -*-
+
+# -*- Makefile -*-
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/plugingui/Makefile.am.plugingui \
+ $(top_srcdir)/src/Makefile.am.drumgizmo $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.mingw32.in \
+ $(top_srcdir)/depcomp
+ at ENABLE_X11_TRUE@am__append_1 = $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at ENABLE_WIN32_TRUE@am__append_2 = $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at ENABLE_PUGL_TRUE@am__append_3 = \
+ at ENABLE_PUGL_TRUE@ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ at ENABLE_PUGL_TRUE@ $(top_srcdir)/pugl/pugl/pugl_x11.c
+
+ at ENABLE_PUGL_TRUE@am__append_4 = -I$(top_srcdir)/pugl/pugl
+subdir = plugin
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = Makefile.mingw32
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(lv2plugindir)" \
+ "$(DESTDIR)$(vstplugindir)" "$(DESTDIR)$(lv2plugindir)" \
+ "$(DESTDIR)$(vstplugindir)"
+LTLIBRARIES = $(lv2plugin_LTLIBRARIES) $(noinst_LTLIBRARIES) \
+ $(vstplugin_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+drumgizmo_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
+am__drumgizmo_la_SOURCES_DIST = $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/audioinputenginemidi.cc \
+ $(top_srcdir)/src/audiofile.cc $(top_srcdir)/src/channel.cc \
+ $(top_srcdir)/src/channelmixer.cc \
+ $(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/configparser.cc \
+ $(top_srcdir)/src/drumgizmo.cc $(top_srcdir)/src/drumkit.cc \
+ $(top_srcdir)/src/drumkitloader.cc \
+ $(top_srcdir)/src/drumkitparser.cc $(top_srcdir)/src/events.cc \
+ $(top_srcdir)/src/instrument.cc \
+ $(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
+ $(top_srcdir)/src/messagehandler.cc \
+ $(top_srcdir)/src/messagereceiver.cc \
+ $(top_srcdir)/src/midimapparser.cc \
+ $(top_srcdir)/src/midimapper.cc $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/path.cc $(top_srcdir)/src/powerlist.cc \
+ $(top_srcdir)/src/sample.cc $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/saxparser.cc $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/velocity.cc $(top_srcdir)/src/versionstr.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/plugingui/dgwindow.cc \
+ $(top_srcdir)/plugingui/plugingui.cc \
+ $(top_srcdir)/plugingui/label.cc \
+ $(top_srcdir)/plugingui/eventhandler.cc \
+ $(top_srcdir)/plugingui/font.cc \
+ $(top_srcdir)/plugingui/window.cc \
+ $(top_srcdir)/plugingui/widget.cc \
+ $(top_srcdir)/plugingui/colour.cc \
+ $(top_srcdir)/plugingui/painter.cc \
+ $(top_srcdir)/plugingui/button.cc \
+ $(top_srcdir)/plugingui/pixelbuffer.cc \
+ $(top_srcdir)/plugingui/lineedit.cc \
+ $(top_srcdir)/plugingui/led.cc \
+ $(top_srcdir)/plugingui/checkbox.cc \
+ $(top_srcdir)/plugingui/slider.cc \
+ $(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
+ $(top_srcdir)/plugingui/listbox.cc \
+ $(top_srcdir)/plugingui/listboxthin.cc \
+ $(top_srcdir)/plugingui/listboxbasic.cc \
+ $(top_srcdir)/plugingui/knob.cc \
+ $(top_srcdir)/plugingui/filebrowser.cc \
+ $(top_srcdir)/plugingui/directory.cc \
+ $(top_srcdir)/plugingui/pluginconfig.cc \
+ $(top_srcdir)/plugingui/image.cc \
+ $(top_srcdir)/plugingui/combobox.cc \
+ $(top_srcdir)/plugingui/progressbar.cc \
+ $(top_srcdir)/plugingui/verticalline.cc \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/plugingui/lodepng/lodepng.cpp \
+ $(top_srcdir)/plugingui/nativewindow_x11.cc \
+ $(top_srcdir)/plugingui/nativewindow_win32.cc \
+ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ $(top_srcdir)/pugl/pugl/pugl_x11.c \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginlv2.cc \
+ drumgizmo_plugin.cc
+am__objects_1 = drumgizmo_la-audiocachefile.lo \
+ drumgizmo_la-audiocache.lo \
+ drumgizmo_la-audiocacheeventhandler.lo \
+ drumgizmo_la-audiocacheidmanager.lo \
+ drumgizmo_la-audioinputenginemidi.lo drumgizmo_la-audiofile.lo \
+ drumgizmo_la-channel.lo drumgizmo_la-channelmixer.lo \
+ drumgizmo_la-chresampler.lo drumgizmo_la-configfile.lo \
+ drumgizmo_la-configuration.lo drumgizmo_la-configparser.lo \
+ drumgizmo_la-drumgizmo.lo drumgizmo_la-drumkit.lo \
+ drumgizmo_la-drumkitloader.lo drumgizmo_la-drumkitparser.lo \
+ drumgizmo_la-events.lo drumgizmo_la-instrument.lo \
+ drumgizmo_la-instrumentparser.lo drumgizmo_la-memchecker.lo \
+ drumgizmo_la-messagehandler.lo drumgizmo_la-messagereceiver.lo \
+ drumgizmo_la-midimapparser.lo drumgizmo_la-midimapper.lo \
+ drumgizmo_la-mutex.lo drumgizmo_la-path.lo \
+ drumgizmo_la-powerlist.lo drumgizmo_la-sample.lo \
+ drumgizmo_la-semaphore.lo drumgizmo_la-saxparser.lo \
+ drumgizmo_la-thread.lo drumgizmo_la-velocity.lo \
+ drumgizmo_la-versionstr.lo
+ at ENABLE_X11_TRUE@am__objects_2 = drumgizmo_la-nativewindow_x11.lo
+ at ENABLE_WIN32_TRUE@am__objects_3 = drumgizmo_la-nativewindow_win32.lo
+ at ENABLE_PUGL_TRUE@am__objects_4 = drumgizmo_la-nativewindow_pugl.lo \
+ at ENABLE_PUGL_TRUE@ pugl_x11.lo
+am__objects_5 = hugin.lo drumgizmo_la-dgwindow.lo \
+ drumgizmo_la-plugingui.lo drumgizmo_la-label.lo \
+ drumgizmo_la-eventhandler.lo drumgizmo_la-font.lo \
+ drumgizmo_la-window.lo drumgizmo_la-widget.lo \
+ drumgizmo_la-colour.lo drumgizmo_la-painter.lo \
+ drumgizmo_la-button.lo drumgizmo_la-pixelbuffer.lo \
+ drumgizmo_la-lineedit.lo drumgizmo_la-led.lo \
+ drumgizmo_la-checkbox.lo drumgizmo_la-slider.lo \
+ drumgizmo_la-scrollbar.lo drumgizmo_la-textedit.lo \
+ drumgizmo_la-layout.lo drumgizmo_la-listbox.lo \
+ drumgizmo_la-listboxthin.lo drumgizmo_la-listboxbasic.lo \
+ drumgizmo_la-knob.lo drumgizmo_la-filebrowser.lo \
+ drumgizmo_la-directory.lo drumgizmo_la-pluginconfig.lo \
+ drumgizmo_la-image.lo drumgizmo_la-combobox.lo \
+ drumgizmo_la-progressbar.lo drumgizmo_la-verticalline.lo \
+ drumgizmo_la-resource.lo drumgizmo_la-resource_data.lo \
+ drumgizmo_la-lodepng.lo $(am__objects_2) $(am__objects_3) \
+ $(am__objects_4)
+am_drumgizmo_la_OBJECTS = $(am__objects_1) $(am__objects_5) \
+ drumgizmo_la-midievent.lo drumgizmo_la-pluginlv2.lo \
+ drumgizmo_la-drumgizmo_plugin.lo
+drumgizmo_la_OBJECTS = $(am_drumgizmo_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+drumgizmo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(drumgizmo_la_CXXFLAGS) \
+ $(CXXFLAGS) $(drumgizmo_la_LDFLAGS) $(LDFLAGS) -o $@
+ at ENABLE_LV2_TRUE@am_drumgizmo_la_rpath = -rpath $(lv2plugindir)
+drumgizmo_vst_la_DEPENDENCIES = libvstsdk.la $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_3)
+am__drumgizmo_vst_la_SOURCES_DIST = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/audioinputenginemidi.cc \
+ $(top_srcdir)/src/audiofile.cc $(top_srcdir)/src/channel.cc \
+ $(top_srcdir)/src/channelmixer.cc \
+ $(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/configparser.cc \
+ $(top_srcdir)/src/drumgizmo.cc $(top_srcdir)/src/drumkit.cc \
+ $(top_srcdir)/src/drumkitloader.cc \
+ $(top_srcdir)/src/drumkitparser.cc $(top_srcdir)/src/events.cc \
+ $(top_srcdir)/src/instrument.cc \
+ $(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
+ $(top_srcdir)/src/messagehandler.cc \
+ $(top_srcdir)/src/messagereceiver.cc \
+ $(top_srcdir)/src/midimapparser.cc \
+ $(top_srcdir)/src/midimapper.cc $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/path.cc $(top_srcdir)/src/powerlist.cc \
+ $(top_srcdir)/src/sample.cc $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/saxparser.cc $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/velocity.cc $(top_srcdir)/src/versionstr.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/plugingui/dgwindow.cc \
+ $(top_srcdir)/plugingui/plugingui.cc \
+ $(top_srcdir)/plugingui/label.cc \
+ $(top_srcdir)/plugingui/eventhandler.cc \
+ $(top_srcdir)/plugingui/font.cc \
+ $(top_srcdir)/plugingui/window.cc \
+ $(top_srcdir)/plugingui/widget.cc \
+ $(top_srcdir)/plugingui/colour.cc \
+ $(top_srcdir)/plugingui/painter.cc \
+ $(top_srcdir)/plugingui/button.cc \
+ $(top_srcdir)/plugingui/pixelbuffer.cc \
+ $(top_srcdir)/plugingui/lineedit.cc \
+ $(top_srcdir)/plugingui/led.cc \
+ $(top_srcdir)/plugingui/checkbox.cc \
+ $(top_srcdir)/plugingui/slider.cc \
+ $(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
+ $(top_srcdir)/plugingui/listbox.cc \
+ $(top_srcdir)/plugingui/listboxthin.cc \
+ $(top_srcdir)/plugingui/listboxbasic.cc \
+ $(top_srcdir)/plugingui/knob.cc \
+ $(top_srcdir)/plugingui/filebrowser.cc \
+ $(top_srcdir)/plugingui/directory.cc \
+ $(top_srcdir)/plugingui/pluginconfig.cc \
+ $(top_srcdir)/plugingui/image.cc \
+ $(top_srcdir)/plugingui/combobox.cc \
+ $(top_srcdir)/plugingui/progressbar.cc \
+ $(top_srcdir)/plugingui/verticalline.cc \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/plugingui/lodepng/lodepng.cpp \
+ $(top_srcdir)/plugingui/nativewindow_x11.cc \
+ $(top_srcdir)/plugingui/nativewindow_win32.cc \
+ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ $(top_srcdir)/pugl/pugl/pugl_x11.c \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginvst.cc \
+ drumgizmo_plugin.cc
+am__objects_6 = drumgizmo_vst_la-audiocachefile.lo \
+ drumgizmo_vst_la-audiocache.lo \
+ drumgizmo_vst_la-audiocacheeventhandler.lo \
+ drumgizmo_vst_la-audiocacheidmanager.lo \
+ drumgizmo_vst_la-audioinputenginemidi.lo \
+ drumgizmo_vst_la-audiofile.lo drumgizmo_vst_la-channel.lo \
+ drumgizmo_vst_la-channelmixer.lo \
+ drumgizmo_vst_la-chresampler.lo drumgizmo_vst_la-configfile.lo \
+ drumgizmo_vst_la-configuration.lo \
+ drumgizmo_vst_la-configparser.lo drumgizmo_vst_la-drumgizmo.lo \
+ drumgizmo_vst_la-drumkit.lo drumgizmo_vst_la-drumkitloader.lo \
+ drumgizmo_vst_la-drumkitparser.lo drumgizmo_vst_la-events.lo \
+ drumgizmo_vst_la-instrument.lo \
+ drumgizmo_vst_la-instrumentparser.lo \
+ drumgizmo_vst_la-memchecker.lo \
+ drumgizmo_vst_la-messagehandler.lo \
+ drumgizmo_vst_la-messagereceiver.lo \
+ drumgizmo_vst_la-midimapparser.lo \
+ drumgizmo_vst_la-midimapper.lo drumgizmo_vst_la-mutex.lo \
+ drumgizmo_vst_la-path.lo drumgizmo_vst_la-powerlist.lo \
+ drumgizmo_vst_la-sample.lo drumgizmo_vst_la-semaphore.lo \
+ drumgizmo_vst_la-saxparser.lo drumgizmo_vst_la-thread.lo \
+ drumgizmo_vst_la-velocity.lo drumgizmo_vst_la-versionstr.lo
+ at ENABLE_X11_TRUE@am__objects_7 = drumgizmo_vst_la-nativewindow_x11.lo
+ at ENABLE_WIN32_TRUE@am__objects_8 = \
+ at ENABLE_WIN32_TRUE@ drumgizmo_vst_la-nativewindow_win32.lo
+ at ENABLE_PUGL_TRUE@am__objects_9 = \
+ at ENABLE_PUGL_TRUE@ drumgizmo_vst_la-nativewindow_pugl.lo \
+ at ENABLE_PUGL_TRUE@ pugl_x11.lo
+am__objects_10 = hugin.lo drumgizmo_vst_la-dgwindow.lo \
+ drumgizmo_vst_la-plugingui.lo drumgizmo_vst_la-label.lo \
+ drumgizmo_vst_la-eventhandler.lo drumgizmo_vst_la-font.lo \
+ drumgizmo_vst_la-window.lo drumgizmo_vst_la-widget.lo \
+ drumgizmo_vst_la-colour.lo drumgizmo_vst_la-painter.lo \
+ drumgizmo_vst_la-button.lo drumgizmo_vst_la-pixelbuffer.lo \
+ drumgizmo_vst_la-lineedit.lo drumgizmo_vst_la-led.lo \
+ drumgizmo_vst_la-checkbox.lo drumgizmo_vst_la-slider.lo \
+ drumgizmo_vst_la-scrollbar.lo drumgizmo_vst_la-textedit.lo \
+ drumgizmo_vst_la-layout.lo drumgizmo_vst_la-listbox.lo \
+ drumgizmo_vst_la-listboxthin.lo \
+ drumgizmo_vst_la-listboxbasic.lo drumgizmo_vst_la-knob.lo \
+ drumgizmo_vst_la-filebrowser.lo drumgizmo_vst_la-directory.lo \
+ drumgizmo_vst_la-pluginconfig.lo drumgizmo_vst_la-image.lo \
+ drumgizmo_vst_la-combobox.lo drumgizmo_vst_la-progressbar.lo \
+ drumgizmo_vst_la-verticalline.lo drumgizmo_vst_la-resource.lo \
+ drumgizmo_vst_la-resource_data.lo drumgizmo_vst_la-lodepng.lo \
+ $(am__objects_7) $(am__objects_8) $(am__objects_9)
+am_drumgizmo_vst_la_OBJECTS = $(am__objects_6) $(am__objects_10) \
+ drumgizmo_vst_la-midievent.lo drumgizmo_vst_la-pluginvst.lo \
+ drumgizmo_vst_la-drumgizmo_plugin.lo
+drumgizmo_vst_la_OBJECTS = $(am_drumgizmo_vst_la_OBJECTS)
+drumgizmo_vst_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) \
+ $(drumgizmo_vst_la_LDFLAGS) $(LDFLAGS) -o $@
+ at ENABLE_VST_TRUE@am_drumgizmo_vst_la_rpath = -rpath $(vstplugindir)
+libvstsdk_la_LIBADD =
+nodist_libvstsdk_la_OBJECTS = libvstsdk_la-audioeffectx.lo \
+ libvstsdk_la-audioeffect.lo libvstsdk_la-vstplugmain.lo
+libvstsdk_la_OBJECTS = $(nodist_libvstsdk_la_OBJECTS)
+libvstsdk_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libvstsdk_la_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ at ENABLE_VST_TRUE@am_libvstsdk_la_rpath =
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(drumgizmo_la_SOURCES) $(drumgizmo_vst_la_SOURCES) \
+ $(nodist_libvstsdk_la_SOURCES)
+DIST_SOURCES = $(am__drumgizmo_la_SOURCES_DIST) \
+ $(am__drumgizmo_vst_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(lv2plugin_DATA) $(vstplugin_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_LIBS = @ALSA_LIBS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
+CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
+CPPUNIT_LIBS = @CPPUNIT_LIBS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FGREP = @FGREP@
+GREP = @GREP@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
+GUI_LIBS = @GUI_LIBS@
+INPUT_PLUGINS = @INPUT_PLUGINS@
+INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JACK_CFLAGS = @JACK_CFLAGS@
+JACK_LIBS = @JACK_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LV2_CFLAGS = @LV2_CFLAGS@
+LV2_LIBS = @LV2_LIBS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
+OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+RANLIB = @RANLIB@
+SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
+SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SMF_CFLAGS = @SMF_CFLAGS@
+SMF_LIBS = @SMF_LIBS@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+SSEFLAGS = @SSEFLAGS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+VST_CPPFLAGS = @VST_CPPFLAGS@
+VST_SOURCE_PATH = @VST_SOURCE_PATH@
+X11_CFLAGS = @X11_CFLAGS@
+X11_LIBS = @X11_LIBS@
+ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
+ZITA_LIBS = @ZITA_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+dgplugindir = @dgplugindir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+PLUGIN_GUI_SOURCES = $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/plugingui/dgwindow.cc \
+ $(top_srcdir)/plugingui/plugingui.cc \
+ $(top_srcdir)/plugingui/label.cc \
+ $(top_srcdir)/plugingui/eventhandler.cc \
+ $(top_srcdir)/plugingui/font.cc \
+ $(top_srcdir)/plugingui/window.cc \
+ $(top_srcdir)/plugingui/widget.cc \
+ $(top_srcdir)/plugingui/colour.cc \
+ $(top_srcdir)/plugingui/painter.cc \
+ $(top_srcdir)/plugingui/button.cc \
+ $(top_srcdir)/plugingui/pixelbuffer.cc \
+ $(top_srcdir)/plugingui/lineedit.cc \
+ $(top_srcdir)/plugingui/led.cc \
+ $(top_srcdir)/plugingui/checkbox.cc \
+ $(top_srcdir)/plugingui/slider.cc \
+ $(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
+ $(top_srcdir)/plugingui/listbox.cc \
+ $(top_srcdir)/plugingui/listboxthin.cc \
+ $(top_srcdir)/plugingui/listboxbasic.cc \
+ $(top_srcdir)/plugingui/knob.cc \
+ $(top_srcdir)/plugingui/filebrowser.cc \
+ $(top_srcdir)/plugingui/directory.cc \
+ $(top_srcdir)/plugingui/pluginconfig.cc \
+ $(top_srcdir)/plugingui/image.cc \
+ $(top_srcdir)/plugingui/combobox.cc \
+ $(top_srcdir)/plugingui/progressbar.cc \
+ $(top_srcdir)/plugingui/verticalline.cc \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/plugingui/lodepng/lodepng.cpp $(am__append_1) \
+ $(am__append_2) $(am__append_3)
+PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS)
+PLUGIN_GUI_CPPFLAGS = $(GUI_CPPFLAGS) -I$(top_srcdir)/hugin \
+ -I$(top_srcdir)/plugingui -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
+ -DLODEPNG_NO_COMPILE_ENCODER -DLODEPNG_NO_COMPILE_DISK \
+ -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
+ -DLODEPNG_NO_COMPILE_ERROR_TEXT -DLODEPNG_NO_COMPILE_CPP \
+ $(am__append_4)
+DRUMGIZMO_SOURCES = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/audioinputenginemidi.cc \
+ $(top_srcdir)/src/audiofile.cc \
+ $(top_srcdir)/src/channel.cc \
+ $(top_srcdir)/src/channelmixer.cc \
+ $(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/configparser.cc \
+ $(top_srcdir)/src/drumgizmo.cc \
+ $(top_srcdir)/src/drumkit.cc \
+ $(top_srcdir)/src/drumkitloader.cc \
+ $(top_srcdir)/src/drumkitparser.cc \
+ $(top_srcdir)/src/events.cc \
+ $(top_srcdir)/src/instrument.cc \
+ $(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
+ $(top_srcdir)/src/messagehandler.cc \
+ $(top_srcdir)/src/messagereceiver.cc \
+ $(top_srcdir)/src/midimapparser.cc \
+ $(top_srcdir)/src/midimapper.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/path.cc \
+ $(top_srcdir)/src/powerlist.cc \
+ $(top_srcdir)/src/sample.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/saxparser.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/velocity.cc \
+ $(top_srcdir)/src/versionstr.cc
+
+DRUMGIZMO_LIBS = \
+ $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS) \
+ $(PTHREAD_LIBS)
+
+DRUMGIZMO_CPPFLAGS = \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/hugin \
+ $(SSEFLAGS) \
+ $(ZITA_CPPFLAGS) $(SNDFILE_CXXFLAGS) $(EXPAT_CFLAGS) $(SAMPLERATE_CFLAGS) \
+ $(PTHREAD_CFLAGS)
+
+
+#######
+# LV2
+###
+ at ENABLE_LV2_TRUE@lv2plugindir = $(libdir)/lv2/drumgizmo.lv2
+ at ENABLE_LV2_TRUE@lv2plugin_LTLIBRARIES = drumgizmo.la
+ at ENABLE_LV2_TRUE@lv2plugin_DATA = manifest.ttl drumgizmo.ttl
+drumgizmo_la_CXXFLAGS = -DLV2 -DLV2_PLUGIN_URI=\"http://drumgizmo.org/lv2\" \
+ -I$(top_srcdir)/plugin/plugingizmo $(DRUMGIZMO_CPPFLAGS) \
+ $(PLUGIN_GUI_CPPFLAGS)
+
+drumgizmo_la_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ $(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginlv2.cc \
+ drumgizmo_plugin.cc
+
+drumgizmo_la_LDFLAGS = -shared -module -avoid-version
+drumgizmo_la_LIBADD = $(LV2_LIBS) $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
+
+#######
+# VST
+###
+ at ENABLE_VST_TRUE@vstplugindir = $(libdir)/vst
+ at ENABLE_VST_TRUE@vstplugin_LTLIBRARIES = drumgizmo_vst.la
+ at ENABLE_VST_TRUE@vstplugin_DATA =
+ at ENABLE_VST_TRUE@noinst_LTLIBRARIES = libvstsdk.la
+VST_BASE = ${VST_SOURCE_PATH}
+VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
+
+# Hack to compile vst sources without -Wall -Werror
+libvstsdk_la_CXXFLAGS = -w $(VST_CPPFLAGS)
+nodist_libvstsdk_la_SOURCES = \
+ ${VST_SRC_BASE}/audioeffectx.cpp \
+ ${VST_SRC_BASE}/audioeffect.cpp \
+ ${VST_SRC_BASE}/vstplugmain.cpp
+
+drumgizmo_vst_la_CXXFLAGS = -DVST \
+ -I$(top_srcdir)/plugin/plugingizmo $(DRUMGIZMO_CPPFLAGS) \
+ $(PLUGIN_GUI_CPPFLAGS) $(VST_CPPFLAGS)
+
+drumgizmo_vst_la_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ $(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/plugin/plugingizmo/midievent.cc \
+ $(top_srcdir)/plugin/plugingizmo/pluginvst.cc \
+ drumgizmo_plugin.cc
+
+drumgizmo_vst_la_LDFLAGS = -shared -module -avoid-version
+drumgizmo_vst_la_LIBADD = libvstsdk.la $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
+EXTRA_DIST = \
+ $(lv2plugin_DATA) \
+ $(vstplugin_DATA) \
+ drumgizmo_plugin.h \
+ $(top_srcdir)/plugin/plugingizmo/plugin.h \
+ $(top_srcdir)/plugin/plugingizmo/midievent.h \
+ $(top_srcdir)/plugin/plugingizmo/pluginlv2.h \
+ $(top_srcdir)/plugin/plugingizmo/pluginvst.h
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu plugin/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu plugin/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+Makefile.mingw32: $(top_builddir)/config.status $(srcdir)/Makefile.mingw32.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+install-lv2pluginLTLIBRARIES: $(lv2plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lv2plugin_LTLIBRARIES)'; test -n "$(lv2plugindir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(lv2plugindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(lv2plugindir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(lv2plugindir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(lv2plugindir)"; \
+ }
+
+uninstall-lv2pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lv2plugin_LTLIBRARIES)'; test -n "$(lv2plugindir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(lv2plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(lv2plugindir)/$$f"; \
+ done
+
+clean-lv2pluginLTLIBRARIES:
+ -test -z "$(lv2plugin_LTLIBRARIES)" || rm -f $(lv2plugin_LTLIBRARIES)
+ @list='$(lv2plugin_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-vstpluginLTLIBRARIES: $(vstplugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(vstplugin_LTLIBRARIES)'; test -n "$(vstplugindir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(vstplugindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(vstplugindir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(vstplugindir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(vstplugindir)"; \
+ }
+
+uninstall-vstpluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(vstplugin_LTLIBRARIES)'; test -n "$(vstplugindir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(vstplugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(vstplugindir)/$$f"; \
+ done
+
+clean-vstpluginLTLIBRARIES:
+ -test -z "$(vstplugin_LTLIBRARIES)" || rm -f $(vstplugin_LTLIBRARIES)
+ @list='$(vstplugin_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+drumgizmo.la: $(drumgizmo_la_OBJECTS) $(drumgizmo_la_DEPENDENCIES) $(EXTRA_drumgizmo_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(drumgizmo_la_LINK) $(am_drumgizmo_la_rpath) $(drumgizmo_la_OBJECTS) $(drumgizmo_la_LIBADD) $(LIBS)
+
+drumgizmo_vst.la: $(drumgizmo_vst_la_OBJECTS) $(drumgizmo_vst_la_DEPENDENCIES) $(EXTRA_drumgizmo_vst_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(drumgizmo_vst_la_LINK) $(am_drumgizmo_vst_la_rpath) $(drumgizmo_vst_la_OBJECTS) $(drumgizmo_vst_la_LIBADD) $(LIBS)
+
+libvstsdk.la: $(libvstsdk_la_OBJECTS) $(libvstsdk_la_DEPENDENCIES) $(EXTRA_libvstsdk_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libvstsdk_la_LINK) $(am_libvstsdk_la_rpath) $(libvstsdk_la_OBJECTS) $(libvstsdk_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiocache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiocacheeventhandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiocachefile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiocacheidmanager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audiofile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-audioinputenginemidi.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-button.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-channel.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-channelmixer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-checkbox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-chresampler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-colour.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-combobox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-configfile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-configparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-configuration.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-dgwindow.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-directory.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumgizmo.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumgizmo_plugin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkitloader.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-drumkitparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-eventhandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-events.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-filebrowser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-font.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-image.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-instrument.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-instrumentparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-knob.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-label.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-layout.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-led.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lineedit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listbox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listboxbasic.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-listboxthin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-lodepng.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-memchecker.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-messagehandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-messagereceiver.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-midievent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-midimapparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-midimapper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-mutex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-nativewindow_pugl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-nativewindow_win32.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-nativewindow_x11.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-painter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-path.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-pixelbuffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-pluginconfig.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-plugingui.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-pluginlv2.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-powerlist.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-progressbar.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-resource.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-resource_data.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-sample.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-saxparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-scrollbar.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-semaphore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-slider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-textedit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-thread.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-velocity.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-versionstr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-verticalline.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-widget.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_la-window.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audiocache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audiocacheeventhandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audiocachefile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audiocacheidmanager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audiofile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-audioinputenginemidi.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-button.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-channel.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-channelmixer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-checkbox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-chresampler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-colour.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-combobox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-configfile.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-configparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-configuration.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-dgwindow.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-directory.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-drumgizmo.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-drumgizmo_plugin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-drumkit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-drumkitloader.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-drumkitparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-eventhandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-events.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-filebrowser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-font.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-image.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-instrument.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-instrumentparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-knob.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-label.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-layout.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-led.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-lineedit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-listbox.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-listboxbasic.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-listboxthin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-lodepng.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-memchecker.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-messagehandler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-messagereceiver.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-midievent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-midimapparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-midimapper.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-mutex.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-nativewindow_pugl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-nativewindow_win32.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-nativewindow_x11.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-painter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-path.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-pixelbuffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-pluginconfig.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-plugingui.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-pluginvst.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-powerlist.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-progressbar.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-resource.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-resource_data.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-sample.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-saxparser.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-scrollbar.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-semaphore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-slider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-textedit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-thread.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-velocity.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-versionstr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-verticalline.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-widget.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drumgizmo_vst_la-window.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libvstsdk_la-audioeffect.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libvstsdk_la-audioeffectx.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libvstsdk_la-vstplugmain.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pugl_x11.Plo at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+hugin.lo: $(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+
+pugl_x11.lo: $(top_srcdir)/pugl/pugl/pugl_x11.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pugl_x11.lo -MD -MP -MF $(DEPDIR)/pugl_x11.Tpo -c -o pugl_x11.lo `test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c' || echo '$(srcdir)/'`$(top_srcdir)/pugl/pugl/pugl_x11.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pugl_x11.Tpo $(DEPDIR)/pugl_x11.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/pugl/pugl/pugl_x11.c' object='pugl_x11.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pugl_x11.lo `test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c' || echo '$(srcdir)/'`$(top_srcdir)/pugl/pugl/pugl_x11.c
+
+.cc.o:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+drumgizmo_la-audiocachefile.lo: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiocachefile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiocachefile.Tpo -c -o drumgizmo_la-audiocachefile.lo `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiocachefile.Tpo $(DEPDIR)/drumgizmo_la-audiocachefile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='drumgizmo_la-audiocachefile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiocachefile.lo `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+drumgizmo_la-audiocache.lo: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiocache.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiocache.Tpo -c -o drumgizmo_la-audiocache.lo `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiocache.Tpo $(DEPDIR)/drumgizmo_la-audiocache.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='drumgizmo_la-audiocache.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiocache.lo `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+drumgizmo_la-audiocacheeventhandler.lo: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiocacheeventhandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiocacheeventhandler.Tpo -c -o drumgizmo_la-audiocacheeventhandler.lo `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiocacheeventhandler.Tpo $(DEPDIR)/drumgizmo_la-audiocacheeventhandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='drumgizmo_la-audiocacheeventhandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiocacheeventhandler.lo `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+drumgizmo_la-audiocacheidmanager.lo: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiocacheidmanager.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiocacheidmanager.Tpo -c -o drumgizmo_la-audiocacheidmanager.lo `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiocacheidmanager.Tpo $(DEPDIR)/drumgizmo_la-audiocacheidmanager.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='drumgizmo_la-audiocacheidmanager.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiocacheidmanager.lo `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+drumgizmo_la-audioinputenginemidi.lo: $(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audioinputenginemidi.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Tpo -c -o drumgizmo_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Tpo $(DEPDIR)/drumgizmo_la-audioinputenginemidi.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='drumgizmo_la-audioinputenginemidi.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+
+drumgizmo_la-audiofile.lo: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-audiofile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-audiofile.Tpo -c -o drumgizmo_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-audiofile.Tpo $(DEPDIR)/drumgizmo_la-audiofile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='drumgizmo_la-audiofile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+
+drumgizmo_la-channel.lo: $(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-channel.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-channel.Tpo -c -o drumgizmo_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-channel.Tpo $(DEPDIR)/drumgizmo_la-channel.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='drumgizmo_la-channel.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+
+drumgizmo_la-channelmixer.lo: $(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-channelmixer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-channelmixer.Tpo -c -o drumgizmo_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-channelmixer.Tpo $(DEPDIR)/drumgizmo_la-channelmixer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='drumgizmo_la-channelmixer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+
+drumgizmo_la-chresampler.lo: $(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-chresampler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-chresampler.Tpo -c -o drumgizmo_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-chresampler.Tpo $(DEPDIR)/drumgizmo_la-chresampler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='drumgizmo_la-chresampler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+
+drumgizmo_la-configfile.lo: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-configfile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-configfile.Tpo -c -o drumgizmo_la-configfile.lo `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-configfile.Tpo $(DEPDIR)/drumgizmo_la-configfile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='drumgizmo_la-configfile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-configfile.lo `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+drumgizmo_la-configuration.lo: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-configuration.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-configuration.Tpo -c -o drumgizmo_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-configuration.Tpo $(DEPDIR)/drumgizmo_la-configuration.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='drumgizmo_la-configuration.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+
+drumgizmo_la-configparser.lo: $(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-configparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-configparser.Tpo -c -o drumgizmo_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-configparser.Tpo $(DEPDIR)/drumgizmo_la-configparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='drumgizmo_la-configparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+
+drumgizmo_la-drumgizmo.lo: $(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumgizmo.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumgizmo.Tpo -c -o drumgizmo_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumgizmo.Tpo $(DEPDIR)/drumgizmo_la-drumgizmo.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='drumgizmo_la-drumgizmo.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+
+drumgizmo_la-drumkit.lo: $(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkit.Tpo -c -o drumgizmo_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkit.Tpo $(DEPDIR)/drumgizmo_la-drumkit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='drumgizmo_la-drumkit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+
+drumgizmo_la-drumkitloader.lo: $(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkitloader.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkitloader.Tpo -c -o drumgizmo_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkitloader.Tpo $(DEPDIR)/drumgizmo_la-drumkitloader.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='drumgizmo_la-drumkitloader.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+
+drumgizmo_la-drumkitparser.lo: $(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumkitparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumkitparser.Tpo -c -o drumgizmo_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumkitparser.Tpo $(DEPDIR)/drumgizmo_la-drumkitparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='drumgizmo_la-drumkitparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+
+drumgizmo_la-events.lo: $(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-events.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-events.Tpo -c -o drumgizmo_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-events.Tpo $(DEPDIR)/drumgizmo_la-events.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='drumgizmo_la-events.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+
+drumgizmo_la-instrument.lo: $(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-instrument.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-instrument.Tpo -c -o drumgizmo_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-instrument.Tpo $(DEPDIR)/drumgizmo_la-instrument.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='drumgizmo_la-instrument.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+
+drumgizmo_la-instrumentparser.lo: $(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-instrumentparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-instrumentparser.Tpo -c -o drumgizmo_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-instrumentparser.Tpo $(DEPDIR)/drumgizmo_la-instrumentparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='drumgizmo_la-instrumentparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+
+drumgizmo_la-memchecker.lo: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-memchecker.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-memchecker.Tpo -c -o drumgizmo_la-memchecker.lo `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-memchecker.Tpo $(DEPDIR)/drumgizmo_la-memchecker.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='drumgizmo_la-memchecker.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-memchecker.lo `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+
+drumgizmo_la-messagehandler.lo: $(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-messagehandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-messagehandler.Tpo -c -o drumgizmo_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-messagehandler.Tpo $(DEPDIR)/drumgizmo_la-messagehandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='drumgizmo_la-messagehandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+
+drumgizmo_la-messagereceiver.lo: $(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-messagereceiver.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-messagereceiver.Tpo -c -o drumgizmo_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-messagereceiver.Tpo $(DEPDIR)/drumgizmo_la-messagereceiver.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='drumgizmo_la-messagereceiver.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+
+drumgizmo_la-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-midimapparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-midimapparser.Tpo -c -o drumgizmo_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-midimapparser.Tpo $(DEPDIR)/drumgizmo_la-midimapparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='drumgizmo_la-midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+
+drumgizmo_la-midimapper.lo: $(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-midimapper.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-midimapper.Tpo -c -o drumgizmo_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-midimapper.Tpo $(DEPDIR)/drumgizmo_la-midimapper.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='drumgizmo_la-midimapper.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+
+drumgizmo_la-mutex.lo: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-mutex.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-mutex.Tpo -c -o drumgizmo_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-mutex.Tpo $(DEPDIR)/drumgizmo_la-mutex.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='drumgizmo_la-mutex.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+drumgizmo_la-path.lo: $(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-path.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-path.Tpo -c -o drumgizmo_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-path.Tpo $(DEPDIR)/drumgizmo_la-path.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='drumgizmo_la-path.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+
+drumgizmo_la-powerlist.lo: $(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-powerlist.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-powerlist.Tpo -c -o drumgizmo_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-powerlist.Tpo $(DEPDIR)/drumgizmo_la-powerlist.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='drumgizmo_la-powerlist.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+
+drumgizmo_la-sample.lo: $(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-sample.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-sample.Tpo -c -o drumgizmo_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-sample.Tpo $(DEPDIR)/drumgizmo_la-sample.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='drumgizmo_la-sample.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+
+drumgizmo_la-semaphore.lo: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-semaphore.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-semaphore.Tpo -c -o drumgizmo_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-semaphore.Tpo $(DEPDIR)/drumgizmo_la-semaphore.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='drumgizmo_la-semaphore.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+drumgizmo_la-saxparser.lo: $(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-saxparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-saxparser.Tpo -c -o drumgizmo_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-saxparser.Tpo $(DEPDIR)/drumgizmo_la-saxparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='drumgizmo_la-saxparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+
+drumgizmo_la-thread.lo: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-thread.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-thread.Tpo -c -o drumgizmo_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-thread.Tpo $(DEPDIR)/drumgizmo_la-thread.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='drumgizmo_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+drumgizmo_la-velocity.lo: $(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-velocity.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-velocity.Tpo -c -o drumgizmo_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-velocity.Tpo $(DEPDIR)/drumgizmo_la-velocity.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='drumgizmo_la-velocity.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+
+drumgizmo_la-versionstr.lo: $(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-versionstr.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-versionstr.Tpo -c -o drumgizmo_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-versionstr.Tpo $(DEPDIR)/drumgizmo_la-versionstr.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='drumgizmo_la-versionstr.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+
+drumgizmo_la-dgwindow.lo: $(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-dgwindow.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-dgwindow.Tpo -c -o drumgizmo_la-dgwindow.lo `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-dgwindow.Tpo $(DEPDIR)/drumgizmo_la-dgwindow.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/dgwindow.cc' object='drumgizmo_la-dgwindow.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-dgwindow.lo `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
+
+drumgizmo_la-plugingui.lo: $(top_srcdir)/plugingui/plugingui.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-plugingui.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-plugingui.Tpo -c -o drumgizmo_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-plugingui.Tpo $(DEPDIR)/drumgizmo_la-plugingui.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/plugingui.cc' object='drumgizmo_la-plugingui.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
+
+drumgizmo_la-label.lo: $(top_srcdir)/plugingui/label.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-label.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-label.Tpo -c -o drumgizmo_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-label.Tpo $(DEPDIR)/drumgizmo_la-label.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/label.cc' object='drumgizmo_la-label.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
+
+drumgizmo_la-eventhandler.lo: $(top_srcdir)/plugingui/eventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-eventhandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-eventhandler.Tpo -c -o drumgizmo_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-eventhandler.Tpo $(DEPDIR)/drumgizmo_la-eventhandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/eventhandler.cc' object='drumgizmo_la-eventhandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
+
+drumgizmo_la-font.lo: $(top_srcdir)/plugingui/font.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-font.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-font.Tpo -c -o drumgizmo_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-font.Tpo $(DEPDIR)/drumgizmo_la-font.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/font.cc' object='drumgizmo_la-font.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
+
+drumgizmo_la-window.lo: $(top_srcdir)/plugingui/window.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-window.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-window.Tpo -c -o drumgizmo_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-window.Tpo $(DEPDIR)/drumgizmo_la-window.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/window.cc' object='drumgizmo_la-window.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
+
+drumgizmo_la-widget.lo: $(top_srcdir)/plugingui/widget.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-widget.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-widget.Tpo -c -o drumgizmo_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-widget.Tpo $(DEPDIR)/drumgizmo_la-widget.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/widget.cc' object='drumgizmo_la-widget.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
+
+drumgizmo_la-colour.lo: $(top_srcdir)/plugingui/colour.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-colour.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-colour.Tpo -c -o drumgizmo_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-colour.Tpo $(DEPDIR)/drumgizmo_la-colour.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/colour.cc' object='drumgizmo_la-colour.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
+
+drumgizmo_la-painter.lo: $(top_srcdir)/plugingui/painter.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-painter.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-painter.Tpo -c -o drumgizmo_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-painter.Tpo $(DEPDIR)/drumgizmo_la-painter.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/painter.cc' object='drumgizmo_la-painter.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
+
+drumgizmo_la-button.lo: $(top_srcdir)/plugingui/button.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-button.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-button.Tpo -c -o drumgizmo_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-button.Tpo $(DEPDIR)/drumgizmo_la-button.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/button.cc' object='drumgizmo_la-button.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
+
+drumgizmo_la-pixelbuffer.lo: $(top_srcdir)/plugingui/pixelbuffer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-pixelbuffer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-pixelbuffer.Tpo -c -o drumgizmo_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-pixelbuffer.Tpo $(DEPDIR)/drumgizmo_la-pixelbuffer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pixelbuffer.cc' object='drumgizmo_la-pixelbuffer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
+
+drumgizmo_la-lineedit.lo: $(top_srcdir)/plugingui/lineedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lineedit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lineedit.Tpo -c -o drumgizmo_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lineedit.Tpo $(DEPDIR)/drumgizmo_la-lineedit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lineedit.cc' object='drumgizmo_la-lineedit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
+
+drumgizmo_la-led.lo: $(top_srcdir)/plugingui/led.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-led.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-led.Tpo -c -o drumgizmo_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-led.Tpo $(DEPDIR)/drumgizmo_la-led.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/led.cc' object='drumgizmo_la-led.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
+
+drumgizmo_la-checkbox.lo: $(top_srcdir)/plugingui/checkbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-checkbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-checkbox.Tpo -c -o drumgizmo_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-checkbox.Tpo $(DEPDIR)/drumgizmo_la-checkbox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/checkbox.cc' object='drumgizmo_la-checkbox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
+
+drumgizmo_la-slider.lo: $(top_srcdir)/plugingui/slider.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-slider.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-slider.Tpo -c -o drumgizmo_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-slider.Tpo $(DEPDIR)/drumgizmo_la-slider.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/slider.cc' object='drumgizmo_la-slider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
+
+drumgizmo_la-scrollbar.lo: $(top_srcdir)/plugingui/scrollbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-scrollbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-scrollbar.Tpo -c -o drumgizmo_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-scrollbar.Tpo $(DEPDIR)/drumgizmo_la-scrollbar.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/scrollbar.cc' object='drumgizmo_la-scrollbar.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
+
+drumgizmo_la-textedit.lo: $(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-textedit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-textedit.Tpo -c -o drumgizmo_la-textedit.lo `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-textedit.Tpo $(DEPDIR)/drumgizmo_la-textedit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/textedit.cc' object='drumgizmo_la-textedit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-textedit.lo `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+
+drumgizmo_la-layout.lo: $(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-layout.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-layout.Tpo -c -o drumgizmo_la-layout.lo `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-layout.Tpo $(DEPDIR)/drumgizmo_la-layout.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/layout.cc' object='drumgizmo_la-layout.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-layout.lo `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+
+drumgizmo_la-listbox.lo: $(top_srcdir)/plugingui/listbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listbox.Tpo -c -o drumgizmo_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listbox.Tpo $(DEPDIR)/drumgizmo_la-listbox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listbox.cc' object='drumgizmo_la-listbox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
+
+drumgizmo_la-listboxthin.lo: $(top_srcdir)/plugingui/listboxthin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listboxthin.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listboxthin.Tpo -c -o drumgizmo_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listboxthin.Tpo $(DEPDIR)/drumgizmo_la-listboxthin.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxthin.cc' object='drumgizmo_la-listboxthin.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
+
+drumgizmo_la-listboxbasic.lo: $(top_srcdir)/plugingui/listboxbasic.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-listboxbasic.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-listboxbasic.Tpo -c -o drumgizmo_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-listboxbasic.Tpo $(DEPDIR)/drumgizmo_la-listboxbasic.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxbasic.cc' object='drumgizmo_la-listboxbasic.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
+
+drumgizmo_la-knob.lo: $(top_srcdir)/plugingui/knob.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-knob.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-knob.Tpo -c -o drumgizmo_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-knob.Tpo $(DEPDIR)/drumgizmo_la-knob.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/knob.cc' object='drumgizmo_la-knob.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
+
+drumgizmo_la-filebrowser.lo: $(top_srcdir)/plugingui/filebrowser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-filebrowser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-filebrowser.Tpo -c -o drumgizmo_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-filebrowser.Tpo $(DEPDIR)/drumgizmo_la-filebrowser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/filebrowser.cc' object='drumgizmo_la-filebrowser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
+
+drumgizmo_la-directory.lo: $(top_srcdir)/plugingui/directory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-directory.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-directory.Tpo -c -o drumgizmo_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-directory.Tpo $(DEPDIR)/drumgizmo_la-directory.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/directory.cc' object='drumgizmo_la-directory.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
+
+drumgizmo_la-pluginconfig.lo: $(top_srcdir)/plugingui/pluginconfig.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-pluginconfig.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-pluginconfig.Tpo -c -o drumgizmo_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-pluginconfig.Tpo $(DEPDIR)/drumgizmo_la-pluginconfig.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pluginconfig.cc' object='drumgizmo_la-pluginconfig.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
+
+drumgizmo_la-image.lo: $(top_srcdir)/plugingui/image.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-image.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-image.Tpo -c -o drumgizmo_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-image.Tpo $(DEPDIR)/drumgizmo_la-image.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/image.cc' object='drumgizmo_la-image.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
+
+drumgizmo_la-combobox.lo: $(top_srcdir)/plugingui/combobox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-combobox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-combobox.Tpo -c -o drumgizmo_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-combobox.Tpo $(DEPDIR)/drumgizmo_la-combobox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/combobox.cc' object='drumgizmo_la-combobox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
+
+drumgizmo_la-progressbar.lo: $(top_srcdir)/plugingui/progressbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-progressbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-progressbar.Tpo -c -o drumgizmo_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-progressbar.Tpo $(DEPDIR)/drumgizmo_la-progressbar.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/progressbar.cc' object='drumgizmo_la-progressbar.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
+
+drumgizmo_la-verticalline.lo: $(top_srcdir)/plugingui/verticalline.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-verticalline.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-verticalline.Tpo -c -o drumgizmo_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-verticalline.Tpo $(DEPDIR)/drumgizmo_la-verticalline.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/verticalline.cc' object='drumgizmo_la-verticalline.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
+
+drumgizmo_la-resource.lo: $(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-resource.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-resource.Tpo -c -o drumgizmo_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-resource.Tpo $(DEPDIR)/drumgizmo_la-resource.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='drumgizmo_la-resource.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+
+drumgizmo_la-resource_data.lo: $(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-resource_data.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-resource_data.Tpo -c -o drumgizmo_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-resource_data.Tpo $(DEPDIR)/drumgizmo_la-resource_data.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='drumgizmo_la-resource_data.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+
+drumgizmo_la-lodepng.lo: $(top_srcdir)/plugingui/lodepng/lodepng.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-lodepng.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-lodepng.Tpo -c -o drumgizmo_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-lodepng.Tpo $(DEPDIR)/drumgizmo_la-lodepng.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lodepng/lodepng.cpp' object='drumgizmo_la-lodepng.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
+
+drumgizmo_la-nativewindow_x11.lo: $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-nativewindow_x11.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-nativewindow_x11.Tpo -c -o drumgizmo_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-nativewindow_x11.Tpo $(DEPDIR)/drumgizmo_la-nativewindow_x11.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='drumgizmo_la-nativewindow_x11.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+
+drumgizmo_la-nativewindow_win32.lo: $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-nativewindow_win32.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-nativewindow_win32.Tpo -c -o drumgizmo_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-nativewindow_win32.Tpo $(DEPDIR)/drumgizmo_la-nativewindow_win32.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='drumgizmo_la-nativewindow_win32.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+
+drumgizmo_la-nativewindow_pugl.lo: $(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-nativewindow_pugl.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-nativewindow_pugl.Tpo -c -o drumgizmo_la-nativewindow_pugl.lo `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-nativewindow_pugl.Tpo $(DEPDIR)/drumgizmo_la-nativewindow_pugl.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_pugl.cc' object='drumgizmo_la-nativewindow_pugl.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-nativewindow_pugl.lo `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+
+drumgizmo_la-midievent.lo: $(top_srcdir)/plugin/plugingizmo/midievent.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-midievent.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-midievent.Tpo -c -o drumgizmo_la-midievent.lo `test -f '$(top_srcdir)/plugin/plugingizmo/midievent.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/midievent.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-midievent.Tpo $(DEPDIR)/drumgizmo_la-midievent.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugin/plugingizmo/midievent.cc' object='drumgizmo_la-midievent.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-midievent.lo `test -f '$(top_srcdir)/plugin/plugingizmo/midievent.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/midievent.cc
+
+drumgizmo_la-pluginlv2.lo: $(top_srcdir)/plugin/plugingizmo/pluginlv2.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-pluginlv2.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-pluginlv2.Tpo -c -o drumgizmo_la-pluginlv2.lo `test -f '$(top_srcdir)/plugin/plugingizmo/pluginlv2.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/pluginlv2.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-pluginlv2.Tpo $(DEPDIR)/drumgizmo_la-pluginlv2.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugin/plugingizmo/pluginlv2.cc' object='drumgizmo_la-pluginlv2.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-pluginlv2.lo `test -f '$(top_srcdir)/plugin/plugingizmo/pluginlv2.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/pluginlv2.cc
+
+drumgizmo_la-drumgizmo_plugin.lo: drumgizmo_plugin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_la-drumgizmo_plugin.lo -MD -MP -MF $(DEPDIR)/drumgizmo_la-drumgizmo_plugin.Tpo -c -o drumgizmo_la-drumgizmo_plugin.lo `test -f 'drumgizmo_plugin.cc' || echo '$(srcdir)/'`drumgizmo_plugin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_la-drumgizmo_plugin.Tpo $(DEPDIR)/drumgizmo_la-drumgizmo_plugin.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='drumgizmo_plugin.cc' object='drumgizmo_la-drumgizmo_plugin.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_la-drumgizmo_plugin.lo `test -f 'drumgizmo_plugin.cc' || echo '$(srcdir)/'`drumgizmo_plugin.cc
+
+drumgizmo_vst_la-audiocachefile.lo: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audiocachefile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audiocachefile.Tpo -c -o drumgizmo_vst_la-audiocachefile.lo `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audiocachefile.Tpo $(DEPDIR)/drumgizmo_vst_la-audiocachefile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='drumgizmo_vst_la-audiocachefile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audiocachefile.lo `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+drumgizmo_vst_la-audiocache.lo: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audiocache.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audiocache.Tpo -c -o drumgizmo_vst_la-audiocache.lo `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audiocache.Tpo $(DEPDIR)/drumgizmo_vst_la-audiocache.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='drumgizmo_vst_la-audiocache.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audiocache.lo `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+drumgizmo_vst_la-audiocacheeventhandler.lo: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audiocacheeventhandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audiocacheeventhandler.Tpo -c -o drumgizmo_vst_la-audiocacheeventhandler.lo `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audiocacheeventhandler.Tpo $(DEPDIR)/drumgizmo_vst_la-audiocacheeventhandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='drumgizmo_vst_la-audiocacheeventhandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audiocacheeventhandler.lo `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+drumgizmo_vst_la-audiocacheidmanager.lo: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audiocacheidmanager.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audiocacheidmanager.Tpo -c -o drumgizmo_vst_la-audiocacheidmanager.lo `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audiocacheidmanager.Tpo $(DEPDIR)/drumgizmo_vst_la-audiocacheidmanager.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='drumgizmo_vst_la-audiocacheidmanager.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audiocacheidmanager.lo `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+drumgizmo_vst_la-audioinputenginemidi.lo: $(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audioinputenginemidi.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audioinputenginemidi.Tpo -c -o drumgizmo_vst_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audioinputenginemidi.Tpo $(DEPDIR)/drumgizmo_vst_la-audioinputenginemidi.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='drumgizmo_vst_la-audioinputenginemidi.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+
+drumgizmo_vst_la-audiofile.lo: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-audiofile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-audiofile.Tpo -c -o drumgizmo_vst_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-audiofile.Tpo $(DEPDIR)/drumgizmo_vst_la-audiofile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='drumgizmo_vst_la-audiofile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+
+drumgizmo_vst_la-channel.lo: $(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-channel.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-channel.Tpo -c -o drumgizmo_vst_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-channel.Tpo $(DEPDIR)/drumgizmo_vst_la-channel.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='drumgizmo_vst_la-channel.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+
+drumgizmo_vst_la-channelmixer.lo: $(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-channelmixer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-channelmixer.Tpo -c -o drumgizmo_vst_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-channelmixer.Tpo $(DEPDIR)/drumgizmo_vst_la-channelmixer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='drumgizmo_vst_la-channelmixer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+
+drumgizmo_vst_la-chresampler.lo: $(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-chresampler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-chresampler.Tpo -c -o drumgizmo_vst_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-chresampler.Tpo $(DEPDIR)/drumgizmo_vst_la-chresampler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='drumgizmo_vst_la-chresampler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+
+drumgizmo_vst_la-configfile.lo: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-configfile.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-configfile.Tpo -c -o drumgizmo_vst_la-configfile.lo `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-configfile.Tpo $(DEPDIR)/drumgizmo_vst_la-configfile.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='drumgizmo_vst_la-configfile.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-configfile.lo `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+drumgizmo_vst_la-configuration.lo: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-configuration.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-configuration.Tpo -c -o drumgizmo_vst_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-configuration.Tpo $(DEPDIR)/drumgizmo_vst_la-configuration.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='drumgizmo_vst_la-configuration.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+
+drumgizmo_vst_la-configparser.lo: $(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-configparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-configparser.Tpo -c -o drumgizmo_vst_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-configparser.Tpo $(DEPDIR)/drumgizmo_vst_la-configparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='drumgizmo_vst_la-configparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+
+drumgizmo_vst_la-drumgizmo.lo: $(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-drumgizmo.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-drumgizmo.Tpo -c -o drumgizmo_vst_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-drumgizmo.Tpo $(DEPDIR)/drumgizmo_vst_la-drumgizmo.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='drumgizmo_vst_la-drumgizmo.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+
+drumgizmo_vst_la-drumkit.lo: $(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-drumkit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-drumkit.Tpo -c -o drumgizmo_vst_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-drumkit.Tpo $(DEPDIR)/drumgizmo_vst_la-drumkit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='drumgizmo_vst_la-drumkit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+
+drumgizmo_vst_la-drumkitloader.lo: $(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-drumkitloader.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-drumkitloader.Tpo -c -o drumgizmo_vst_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-drumkitloader.Tpo $(DEPDIR)/drumgizmo_vst_la-drumkitloader.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='drumgizmo_vst_la-drumkitloader.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+
+drumgizmo_vst_la-drumkitparser.lo: $(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-drumkitparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-drumkitparser.Tpo -c -o drumgizmo_vst_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-drumkitparser.Tpo $(DEPDIR)/drumgizmo_vst_la-drumkitparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='drumgizmo_vst_la-drumkitparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+
+drumgizmo_vst_la-events.lo: $(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-events.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-events.Tpo -c -o drumgizmo_vst_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-events.Tpo $(DEPDIR)/drumgizmo_vst_la-events.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='drumgizmo_vst_la-events.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+
+drumgizmo_vst_la-instrument.lo: $(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-instrument.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-instrument.Tpo -c -o drumgizmo_vst_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-instrument.Tpo $(DEPDIR)/drumgizmo_vst_la-instrument.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='drumgizmo_vst_la-instrument.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+
+drumgizmo_vst_la-instrumentparser.lo: $(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-instrumentparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-instrumentparser.Tpo -c -o drumgizmo_vst_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-instrumentparser.Tpo $(DEPDIR)/drumgizmo_vst_la-instrumentparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='drumgizmo_vst_la-instrumentparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+
+drumgizmo_vst_la-memchecker.lo: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-memchecker.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-memchecker.Tpo -c -o drumgizmo_vst_la-memchecker.lo `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-memchecker.Tpo $(DEPDIR)/drumgizmo_vst_la-memchecker.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='drumgizmo_vst_la-memchecker.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-memchecker.lo `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+
+drumgizmo_vst_la-messagehandler.lo: $(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-messagehandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-messagehandler.Tpo -c -o drumgizmo_vst_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-messagehandler.Tpo $(DEPDIR)/drumgizmo_vst_la-messagehandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='drumgizmo_vst_la-messagehandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+
+drumgizmo_vst_la-messagereceiver.lo: $(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-messagereceiver.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-messagereceiver.Tpo -c -o drumgizmo_vst_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-messagereceiver.Tpo $(DEPDIR)/drumgizmo_vst_la-messagereceiver.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='drumgizmo_vst_la-messagereceiver.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+
+drumgizmo_vst_la-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-midimapparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-midimapparser.Tpo -c -o drumgizmo_vst_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-midimapparser.Tpo $(DEPDIR)/drumgizmo_vst_la-midimapparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='drumgizmo_vst_la-midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+
+drumgizmo_vst_la-midimapper.lo: $(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-midimapper.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-midimapper.Tpo -c -o drumgizmo_vst_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-midimapper.Tpo $(DEPDIR)/drumgizmo_vst_la-midimapper.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='drumgizmo_vst_la-midimapper.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+
+drumgizmo_vst_la-mutex.lo: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-mutex.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-mutex.Tpo -c -o drumgizmo_vst_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-mutex.Tpo $(DEPDIR)/drumgizmo_vst_la-mutex.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='drumgizmo_vst_la-mutex.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+drumgizmo_vst_la-path.lo: $(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-path.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-path.Tpo -c -o drumgizmo_vst_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-path.Tpo $(DEPDIR)/drumgizmo_vst_la-path.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='drumgizmo_vst_la-path.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+
+drumgizmo_vst_la-powerlist.lo: $(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-powerlist.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-powerlist.Tpo -c -o drumgizmo_vst_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-powerlist.Tpo $(DEPDIR)/drumgizmo_vst_la-powerlist.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='drumgizmo_vst_la-powerlist.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+
+drumgizmo_vst_la-sample.lo: $(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-sample.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-sample.Tpo -c -o drumgizmo_vst_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-sample.Tpo $(DEPDIR)/drumgizmo_vst_la-sample.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='drumgizmo_vst_la-sample.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+
+drumgizmo_vst_la-semaphore.lo: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-semaphore.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-semaphore.Tpo -c -o drumgizmo_vst_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-semaphore.Tpo $(DEPDIR)/drumgizmo_vst_la-semaphore.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='drumgizmo_vst_la-semaphore.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+drumgizmo_vst_la-saxparser.lo: $(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-saxparser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-saxparser.Tpo -c -o drumgizmo_vst_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-saxparser.Tpo $(DEPDIR)/drumgizmo_vst_la-saxparser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='drumgizmo_vst_la-saxparser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+
+drumgizmo_vst_la-thread.lo: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-thread.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-thread.Tpo -c -o drumgizmo_vst_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-thread.Tpo $(DEPDIR)/drumgizmo_vst_la-thread.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='drumgizmo_vst_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+drumgizmo_vst_la-velocity.lo: $(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-velocity.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-velocity.Tpo -c -o drumgizmo_vst_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-velocity.Tpo $(DEPDIR)/drumgizmo_vst_la-velocity.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='drumgizmo_vst_la-velocity.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+
+drumgizmo_vst_la-versionstr.lo: $(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-versionstr.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-versionstr.Tpo -c -o drumgizmo_vst_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-versionstr.Tpo $(DEPDIR)/drumgizmo_vst_la-versionstr.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='drumgizmo_vst_la-versionstr.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+
+drumgizmo_vst_la-dgwindow.lo: $(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-dgwindow.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-dgwindow.Tpo -c -o drumgizmo_vst_la-dgwindow.lo `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-dgwindow.Tpo $(DEPDIR)/drumgizmo_vst_la-dgwindow.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/dgwindow.cc' object='drumgizmo_vst_la-dgwindow.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-dgwindow.lo `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
+
+drumgizmo_vst_la-plugingui.lo: $(top_srcdir)/plugingui/plugingui.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-plugingui.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-plugingui.Tpo -c -o drumgizmo_vst_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-plugingui.Tpo $(DEPDIR)/drumgizmo_vst_la-plugingui.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/plugingui.cc' object='drumgizmo_vst_la-plugingui.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
+
+drumgizmo_vst_la-label.lo: $(top_srcdir)/plugingui/label.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-label.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-label.Tpo -c -o drumgizmo_vst_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-label.Tpo $(DEPDIR)/drumgizmo_vst_la-label.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/label.cc' object='drumgizmo_vst_la-label.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
+
+drumgizmo_vst_la-eventhandler.lo: $(top_srcdir)/plugingui/eventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-eventhandler.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-eventhandler.Tpo -c -o drumgizmo_vst_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-eventhandler.Tpo $(DEPDIR)/drumgizmo_vst_la-eventhandler.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/eventhandler.cc' object='drumgizmo_vst_la-eventhandler.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
+
+drumgizmo_vst_la-font.lo: $(top_srcdir)/plugingui/font.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-font.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-font.Tpo -c -o drumgizmo_vst_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-font.Tpo $(DEPDIR)/drumgizmo_vst_la-font.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/font.cc' object='drumgizmo_vst_la-font.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
+
+drumgizmo_vst_la-window.lo: $(top_srcdir)/plugingui/window.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-window.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-window.Tpo -c -o drumgizmo_vst_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-window.Tpo $(DEPDIR)/drumgizmo_vst_la-window.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/window.cc' object='drumgizmo_vst_la-window.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
+
+drumgizmo_vst_la-widget.lo: $(top_srcdir)/plugingui/widget.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-widget.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-widget.Tpo -c -o drumgizmo_vst_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-widget.Tpo $(DEPDIR)/drumgizmo_vst_la-widget.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/widget.cc' object='drumgizmo_vst_la-widget.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
+
+drumgizmo_vst_la-colour.lo: $(top_srcdir)/plugingui/colour.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-colour.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-colour.Tpo -c -o drumgizmo_vst_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-colour.Tpo $(DEPDIR)/drumgizmo_vst_la-colour.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/colour.cc' object='drumgizmo_vst_la-colour.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
+
+drumgizmo_vst_la-painter.lo: $(top_srcdir)/plugingui/painter.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-painter.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-painter.Tpo -c -o drumgizmo_vst_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-painter.Tpo $(DEPDIR)/drumgizmo_vst_la-painter.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/painter.cc' object='drumgizmo_vst_la-painter.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
+
+drumgizmo_vst_la-button.lo: $(top_srcdir)/plugingui/button.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-button.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-button.Tpo -c -o drumgizmo_vst_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-button.Tpo $(DEPDIR)/drumgizmo_vst_la-button.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/button.cc' object='drumgizmo_vst_la-button.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
+
+drumgizmo_vst_la-pixelbuffer.lo: $(top_srcdir)/plugingui/pixelbuffer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-pixelbuffer.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-pixelbuffer.Tpo -c -o drumgizmo_vst_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-pixelbuffer.Tpo $(DEPDIR)/drumgizmo_vst_la-pixelbuffer.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pixelbuffer.cc' object='drumgizmo_vst_la-pixelbuffer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
+
+drumgizmo_vst_la-lineedit.lo: $(top_srcdir)/plugingui/lineedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-lineedit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-lineedit.Tpo -c -o drumgizmo_vst_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-lineedit.Tpo $(DEPDIR)/drumgizmo_vst_la-lineedit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lineedit.cc' object='drumgizmo_vst_la-lineedit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
+
+drumgizmo_vst_la-led.lo: $(top_srcdir)/plugingui/led.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-led.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-led.Tpo -c -o drumgizmo_vst_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-led.Tpo $(DEPDIR)/drumgizmo_vst_la-led.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/led.cc' object='drumgizmo_vst_la-led.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
+
+drumgizmo_vst_la-checkbox.lo: $(top_srcdir)/plugingui/checkbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-checkbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-checkbox.Tpo -c -o drumgizmo_vst_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-checkbox.Tpo $(DEPDIR)/drumgizmo_vst_la-checkbox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/checkbox.cc' object='drumgizmo_vst_la-checkbox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
+
+drumgizmo_vst_la-slider.lo: $(top_srcdir)/plugingui/slider.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-slider.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-slider.Tpo -c -o drumgizmo_vst_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-slider.Tpo $(DEPDIR)/drumgizmo_vst_la-slider.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/slider.cc' object='drumgizmo_vst_la-slider.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
+
+drumgizmo_vst_la-scrollbar.lo: $(top_srcdir)/plugingui/scrollbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-scrollbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-scrollbar.Tpo -c -o drumgizmo_vst_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-scrollbar.Tpo $(DEPDIR)/drumgizmo_vst_la-scrollbar.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/scrollbar.cc' object='drumgizmo_vst_la-scrollbar.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
+
+drumgizmo_vst_la-textedit.lo: $(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-textedit.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-textedit.Tpo -c -o drumgizmo_vst_la-textedit.lo `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-textedit.Tpo $(DEPDIR)/drumgizmo_vst_la-textedit.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/textedit.cc' object='drumgizmo_vst_la-textedit.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-textedit.lo `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+
+drumgizmo_vst_la-layout.lo: $(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-layout.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-layout.Tpo -c -o drumgizmo_vst_la-layout.lo `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-layout.Tpo $(DEPDIR)/drumgizmo_vst_la-layout.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/layout.cc' object='drumgizmo_vst_la-layout.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-layout.lo `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+
+drumgizmo_vst_la-listbox.lo: $(top_srcdir)/plugingui/listbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-listbox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-listbox.Tpo -c -o drumgizmo_vst_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-listbox.Tpo $(DEPDIR)/drumgizmo_vst_la-listbox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listbox.cc' object='drumgizmo_vst_la-listbox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
+
+drumgizmo_vst_la-listboxthin.lo: $(top_srcdir)/plugingui/listboxthin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-listboxthin.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-listboxthin.Tpo -c -o drumgizmo_vst_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-listboxthin.Tpo $(DEPDIR)/drumgizmo_vst_la-listboxthin.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxthin.cc' object='drumgizmo_vst_la-listboxthin.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
+
+drumgizmo_vst_la-listboxbasic.lo: $(top_srcdir)/plugingui/listboxbasic.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-listboxbasic.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-listboxbasic.Tpo -c -o drumgizmo_vst_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-listboxbasic.Tpo $(DEPDIR)/drumgizmo_vst_la-listboxbasic.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxbasic.cc' object='drumgizmo_vst_la-listboxbasic.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
+
+drumgizmo_vst_la-knob.lo: $(top_srcdir)/plugingui/knob.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-knob.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-knob.Tpo -c -o drumgizmo_vst_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-knob.Tpo $(DEPDIR)/drumgizmo_vst_la-knob.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/knob.cc' object='drumgizmo_vst_la-knob.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
+
+drumgizmo_vst_la-filebrowser.lo: $(top_srcdir)/plugingui/filebrowser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-filebrowser.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-filebrowser.Tpo -c -o drumgizmo_vst_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-filebrowser.Tpo $(DEPDIR)/drumgizmo_vst_la-filebrowser.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/filebrowser.cc' object='drumgizmo_vst_la-filebrowser.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
+
+drumgizmo_vst_la-directory.lo: $(top_srcdir)/plugingui/directory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-directory.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-directory.Tpo -c -o drumgizmo_vst_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-directory.Tpo $(DEPDIR)/drumgizmo_vst_la-directory.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/directory.cc' object='drumgizmo_vst_la-directory.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
+
+drumgizmo_vst_la-pluginconfig.lo: $(top_srcdir)/plugingui/pluginconfig.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-pluginconfig.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-pluginconfig.Tpo -c -o drumgizmo_vst_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-pluginconfig.Tpo $(DEPDIR)/drumgizmo_vst_la-pluginconfig.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pluginconfig.cc' object='drumgizmo_vst_la-pluginconfig.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
+
+drumgizmo_vst_la-image.lo: $(top_srcdir)/plugingui/image.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-image.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-image.Tpo -c -o drumgizmo_vst_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-image.Tpo $(DEPDIR)/drumgizmo_vst_la-image.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/image.cc' object='drumgizmo_vst_la-image.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
+
+drumgizmo_vst_la-combobox.lo: $(top_srcdir)/plugingui/combobox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-combobox.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-combobox.Tpo -c -o drumgizmo_vst_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-combobox.Tpo $(DEPDIR)/drumgizmo_vst_la-combobox.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/combobox.cc' object='drumgizmo_vst_la-combobox.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
+
+drumgizmo_vst_la-progressbar.lo: $(top_srcdir)/plugingui/progressbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-progressbar.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-progressbar.Tpo -c -o drumgizmo_vst_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-progressbar.Tpo $(DEPDIR)/drumgizmo_vst_la-progressbar.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/progressbar.cc' object='drumgizmo_vst_la-progressbar.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
+
+drumgizmo_vst_la-verticalline.lo: $(top_srcdir)/plugingui/verticalline.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-verticalline.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-verticalline.Tpo -c -o drumgizmo_vst_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-verticalline.Tpo $(DEPDIR)/drumgizmo_vst_la-verticalline.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/verticalline.cc' object='drumgizmo_vst_la-verticalline.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
+
+drumgizmo_vst_la-resource.lo: $(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-resource.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-resource.Tpo -c -o drumgizmo_vst_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-resource.Tpo $(DEPDIR)/drumgizmo_vst_la-resource.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='drumgizmo_vst_la-resource.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+
+drumgizmo_vst_la-resource_data.lo: $(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-resource_data.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-resource_data.Tpo -c -o drumgizmo_vst_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-resource_data.Tpo $(DEPDIR)/drumgizmo_vst_la-resource_data.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='drumgizmo_vst_la-resource_data.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+
+drumgizmo_vst_la-lodepng.lo: $(top_srcdir)/plugingui/lodepng/lodepng.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-lodepng.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-lodepng.Tpo -c -o drumgizmo_vst_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-lodepng.Tpo $(DEPDIR)/drumgizmo_vst_la-lodepng.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lodepng/lodepng.cpp' object='drumgizmo_vst_la-lodepng.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
+
+drumgizmo_vst_la-nativewindow_x11.lo: $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-nativewindow_x11.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-nativewindow_x11.Tpo -c -o drumgizmo_vst_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-nativewindow_x11.Tpo $(DEPDIR)/drumgizmo_vst_la-nativewindow_x11.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='drumgizmo_vst_la-nativewindow_x11.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+
+drumgizmo_vst_la-nativewindow_win32.lo: $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-nativewindow_win32.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-nativewindow_win32.Tpo -c -o drumgizmo_vst_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-nativewindow_win32.Tpo $(DEPDIR)/drumgizmo_vst_la-nativewindow_win32.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='drumgizmo_vst_la-nativewindow_win32.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+
+drumgizmo_vst_la-nativewindow_pugl.lo: $(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-nativewindow_pugl.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-nativewindow_pugl.Tpo -c -o drumgizmo_vst_la-nativewindow_pugl.lo `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-nativewindow_pugl.Tpo $(DEPDIR)/drumgizmo_vst_la-nativewindow_pugl.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_pugl.cc' object='drumgizmo_vst_la-nativewindow_pugl.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-nativewindow_pugl.lo `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+
+drumgizmo_vst_la-midievent.lo: $(top_srcdir)/plugin/plugingizmo/midievent.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-midievent.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-midievent.Tpo -c -o drumgizmo_vst_la-midievent.lo `test -f '$(top_srcdir)/plugin/plugingizmo/midievent.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/midievent.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-midievent.Tpo $(DEPDIR)/drumgizmo_vst_la-midievent.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugin/plugingizmo/midievent.cc' object='drumgizmo_vst_la-midievent.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-midievent.lo `test -f '$(top_srcdir)/plugin/plugingizmo/midievent.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/midievent.cc
+
+drumgizmo_vst_la-pluginvst.lo: $(top_srcdir)/plugin/plugingizmo/pluginvst.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-pluginvst.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-pluginvst.Tpo -c -o drumgizmo_vst_la-pluginvst.lo `test -f '$(top_srcdir)/plugin/plugingizmo/pluginvst.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/pluginvst.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-pluginvst.Tpo $(DEPDIR)/drumgizmo_vst_la-pluginvst.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugin/plugingizmo/pluginvst.cc' object='drumgizmo_vst_la-pluginvst.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-pluginvst.lo `test -f '$(top_srcdir)/plugin/plugingizmo/pluginvst.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugin/plugingizmo/pluginvst.cc
+
+drumgizmo_vst_la-drumgizmo_plugin.lo: drumgizmo_plugin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT drumgizmo_vst_la-drumgizmo_plugin.lo -MD -MP -MF $(DEPDIR)/drumgizmo_vst_la-drumgizmo_plugin.Tpo -c -o drumgizmo_vst_la-drumgizmo_plugin.lo `test -f 'drumgizmo_plugin.cc' || echo '$(srcdir)/'`drumgizmo_plugin.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/drumgizmo_vst_la-drumgizmo_plugin.Tpo $(DEPDIR)/drumgizmo_vst_la-drumgizmo_plugin.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='drumgizmo_plugin.cc' object='drumgizmo_vst_la-drumgizmo_plugin.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(drumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o drumgizmo_vst_la-drumgizmo_plugin.lo `test -f 'drumgizmo_plugin.cc' || echo '$(srcdir)/'`drumgizmo_plugin.cc
+
+libvstsdk_la-audioeffectx.lo: ${VST_SRC_BASE}/audioeffectx.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -MT libvstsdk_la-audioeffectx.lo -MD -MP -MF $(DEPDIR)/libvstsdk_la-audioeffectx.Tpo -c -o libvstsdk_la-audioeffectx.lo `test -f '${VST_SRC_BASE}/audioeffectx.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffectx.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvstsdk_la-audioeffectx.Tpo $(DEPDIR)/libvstsdk_la-audioeffectx.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/audioeffectx.cpp' object='libvstsdk_la-audioeffectx.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -c -o libvstsdk_la-audioeffectx.lo `test -f '${VST_SRC_BASE}/audioeffectx.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffectx.cpp
+
+libvstsdk_la-audioeffect.lo: ${VST_SRC_BASE}/audioeffect.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -MT libvstsdk_la-audioeffect.lo -MD -MP -MF $(DEPDIR)/libvstsdk_la-audioeffect.Tpo -c -o libvstsdk_la-audioeffect.lo `test -f '${VST_SRC_BASE}/audioeffect.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffect.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvstsdk_la-audioeffect.Tpo $(DEPDIR)/libvstsdk_la-audioeffect.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/audioeffect.cpp' object='libvstsdk_la-audioeffect.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -c -o libvstsdk_la-audioeffect.lo `test -f '${VST_SRC_BASE}/audioeffect.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffect.cpp
+
+libvstsdk_la-vstplugmain.lo: ${VST_SRC_BASE}/vstplugmain.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -MT libvstsdk_la-vstplugmain.lo -MD -MP -MF $(DEPDIR)/libvstsdk_la-vstplugmain.Tpo -c -o libvstsdk_la-vstplugmain.lo `test -f '${VST_SRC_BASE}/vstplugmain.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/vstplugmain.cpp
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvstsdk_la-vstplugmain.Tpo $(DEPDIR)/libvstsdk_la-vstplugmain.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/vstplugmain.cpp' object='libvstsdk_la-vstplugmain.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvstsdk_la_CXXFLAGS) $(CXXFLAGS) -c -o libvstsdk_la-vstplugmain.lo `test -f '${VST_SRC_BASE}/vstplugmain.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/vstplugmain.cpp
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-lv2pluginDATA: $(lv2plugin_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(lv2plugin_DATA)'; test -n "$(lv2plugindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(lv2plugindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(lv2plugindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(lv2plugindir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(lv2plugindir)" || exit $$?; \
+ done
+
+uninstall-lv2pluginDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lv2plugin_DATA)'; test -n "$(lv2plugindir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(lv2plugindir)'; $(am__uninstall_files_from_dir)
+install-vstpluginDATA: $(vstplugin_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(vstplugin_DATA)'; test -n "$(vstplugindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(vstplugindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(vstplugindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(vstplugindir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(vstplugindir)" || exit $$?; \
+ done
+
+uninstall-vstpluginDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(vstplugin_DATA)'; test -n "$(vstplugindir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(vstplugindir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(lv2plugindir)" "$(DESTDIR)$(vstplugindir)" "$(DESTDIR)$(lv2plugindir)" "$(DESTDIR)$(vstplugindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-lv2pluginLTLIBRARIES \
+ clean-noinstLTLIBRARIES clean-vstpluginLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-lv2pluginDATA install-lv2pluginLTLIBRARIES \
+ install-vstpluginDATA install-vstpluginLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-lv2pluginDATA uninstall-lv2pluginLTLIBRARIES \
+ uninstall-vstpluginDATA uninstall-vstpluginLTLIBRARIES
+
+.MAKE: install-am install-exec-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-lv2pluginLTLIBRARIES \
+ clean-noinstLTLIBRARIES clean-vstpluginLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-hook install-html \
+ install-html-am install-info install-info-am \
+ install-lv2pluginDATA install-lv2pluginLTLIBRARIES install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-vstpluginDATA \
+ install-vstpluginLTLIBRARIES installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-lv2pluginDATA \
+ uninstall-lv2pluginLTLIBRARIES uninstall-vstpluginDATA \
+ uninstall-vstpluginLTLIBRARIES
+
+
+install-exec-hook:
+ rm -f $(DESTDIR)$(libdir)/lv2/drumgizmo.lv2/drumgizmo.la
+ rm -f $(DESTDIR)$(libdir)/vst/drumgizmo_vst.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/vst/Makefile.mingw32.in b/plugin/Makefile.mingw32.in
similarity index 64%
rename from vst/Makefile.mingw32.in
rename to plugin/Makefile.mingw32.in
index 66e02ed..92b627c 100644
--- a/vst/Makefile.mingw32.in
+++ b/plugin/Makefile.mingw32.in
@@ -1,3 +1,5 @@
+# -*- Makefile -*-
+
VST_BASE=@VST_SOURCE_PATH@
VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
VST_SRC = \
@@ -7,11 +9,16 @@ VST_SRC = \
VST_CFLAGS=-I$(VST_BASE)
DG_SRC = \
+ @top_srcdir@/src/audiocachefile.cc \
+ @top_srcdir@/src/audiocache.cc \
+ @top_srcdir@/src/audiocacheeventhandler.cc \
+ @top_srcdir@/src/audiocacheidmanager.cc \
@top_srcdir@/src/audioinputenginemidi.cc \
@top_srcdir@/src/audiofile.cc \
@top_srcdir@/src/channel.cc \
@top_srcdir@/src/channelmixer.cc \
@top_srcdir@/src/chresampler.cc \
+ @top_srcdir@/src/configfile.cc \
@top_srcdir@/src/configuration.cc \
@top_srcdir@/src/configparser.cc \
@top_srcdir@/src/drumgizmo.cc \
@@ -21,6 +28,7 @@ DG_SRC = \
@top_srcdir@/src/events.cc \
@top_srcdir@/src/instrument.cc \
@top_srcdir@/src/instrumentparser.cc \
+ @top_srcdir@/src/memchecker.cc \
@top_srcdir@/src/messagehandler.cc \
@top_srcdir@/src/messagereceiver.cc \
@top_srcdir@/src/midimapparser.cc \
@@ -34,10 +42,12 @@ DG_SRC = \
@top_srcdir@/src/thread.cc \
@top_srcdir@/src/velocity.cc \
@top_srcdir@/src/versionstr.cc
-DG_CFLAGS = -I.. -I../include -I../src -DSSE -msse -msse2 -DDISABLE_HUGIN
+DG_CFLAGS = -I at top_srcdir@ -I at top_srcdir@/include -I at top_srcdir@/src \
+ -I at top_srcdir@/plugin/plugingizmo -DVST -DSSE -msse -msse2
+# -DDISABLE_HUGIN
GUI_SRC = \
- @top_srcdir@/plugingui/nativewindow_x11.cc \
+ @top_srcdir@/plugingui/dgwindow.cc \
@top_srcdir@/plugingui/nativewindow_win32.cc \
@top_srcdir@/plugingui/plugingui.cc \
@top_srcdir@/plugingui/pluginconfig.cc \
@@ -52,9 +62,11 @@ GUI_SRC = \
@top_srcdir@/plugingui/pixelbuffer.cc \
@top_srcdir@/plugingui/lineedit.cc \
@top_srcdir@/plugingui/led.cc \
+ @top_srcdir@/plugingui/layout.cc \
@top_srcdir@/plugingui/checkbox.cc \
@top_srcdir@/plugingui/slider.cc \
@top_srcdir@/plugingui/scrollbar.cc \
+ @top_srcdir@/plugingui/textedit.cc \
@top_srcdir@/plugingui/listbox.cc \
@top_srcdir@/plugingui/listboxthin.cc \
@top_srcdir@/plugingui/listboxbasic.cc \
@@ -69,14 +81,15 @@ GUI_SRC = \
@top_srcdir@/plugingui/resource_data.cc \
@top_srcdir@/plugingui/lodepng/lodepng.cpp
-GUI_CFLAGS=-I at top_srcdir@/plugingui/ -DUSE_THREAD @GUI_CFLAGS@
+GUI_CPPFLAGS=-I at top_srcdir@/plugingui/ -DUSE_THREAD @GUI_CPPFLAGS@
GUI_LIBS=-lgdi32 -lsetupapi -lws2_32
DBG_SRC = \
@top_srcdir@/hugin/hugin.c \
@top_srcdir@/hugin/hugin_syslog.c
-DBG_CFLAGS=-I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX -DDISABLE_HUGIN
+DBG_CFLAGS=-I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX
+# -DDISABLE_HUGIN
#
# http://old.nabble.com/using-VC%2B%2B-.lib-with-mingw-td23151303.html
@@ -85,13 +98,10 @@ DBG_CFLAGS=-I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX -DDISABLE_HUGIN
EXPAT_CFLAGS=@EXPAT_CFLAGS@
EXPAT_LIBS=@EXPAT_LIBS@
-
+
SNDFILE_CFLAGS=@SNDFILE_CFLAGS@
SNDFILE_LIBS=@SNDFILE_LIBS@
-ZLIB_CFLAGS=@ZLIB_CFLAGS@
-ZLIB_LIBS=@ZLIB_LIBS@
-
SRC_CFLAGS=@SAMPLERATE_CFLAGS@
SRC_LIBS=@SAMPLERATE_LIBS@
@@ -99,45 +109,14 @@ ZITA_CXXFLAGS=@ZITA_CPPFLAGS@
ZITA_LIBS=@ZITA_LIBS@
SRC = \
- drumgizmo_vst.cc \
- input_vst.cc \
- output_vst.cc
-
-#######################
-#
-#CXXFLAGS=-DWIN32 $(EXPAT_CFLAGS) $(SNDFILE_CFLAGS) $(DG_CFLAGS) $(GUI_CFLAGS) $(DBG_CFLAGS) $(VST_CFLAGS)
-#CFLAGS=$(CXXFLAGS)
-#LDFLAGS=$(EXPAT_LIBS) $(SNDFILE_LIBS) $(GUI_LIBS) $(DBG_LIBS)
-#
-#C_SOURCES=$(DBG_SRC)
-#CXX_SOURCES=$(GUI_SRC) $(DG_SRC)
-#CPP_SOURCES=$(VST_SRC)
-#
-#OBJECTS=$(CXX_SOURCES:.cc=.o) $(CPP_SOURCES:.cpp=.o) $(C_SOURCES:.c=.o)
-#all: $(CXX_SOURCES) $(CPP_SOURCES) $(C_SOURCES) drumgizmo_vst.dll
-#
-#drumgizmo_vst.dll: $(OBJECTS)
-# g++ $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a
-#
-#%.o: %.cc
-# g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@)
-#
-#%.o: %.cpp
-# g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@)
-#
-#%.o: %.c
-# gcc -O3 -c $(CFLAGS) $(LDFLAGS) $< -o $@
-#
-#clean:
-# del -f $(notdir $(OBJECTS)) drumgizmo_vst.dll libdrumgizmo_vst.a
-#
-########################
+ @top_srcdir@/plugin/plugingizmo/midievent.cc \
+ @top_srcdir@/plugin/plugingizmo/pluginvst.cc \
+ drumgizmo_plugin.cc
-
all:
gcc $(DBG_CFLAGS) @top_srcdir@/hugin/hugin.c -c
gcc $(DBG_CFLAGS) @top_srcdir@/hugin/hugin_syslog.c -c
- g++ -static -static-libgcc -O2 -g -Wall $(DBG_CFLAGS) $(DG_CFLAGS) $(DG_LIBS) $(VST_CFLAGS) hugin.o hugin_syslog.o $(DG_SRC) $(VST_SRC) ${SRC} ${GUI_SRC} ${GUI_CFLAGS} $(GUI_LIBS) $(EXPAT_CFLAGS) $(ZLIB_CFLAGS) $(SRC_CFLAGS) $(ZITA_CXXFLAGS) $(EXPAT_LIBS) $(ZLIB_LIBS) $(SNDFILE_CFLAGS) $(SNDFILE_LIBS) $(SRC_LIBS) $(ZITA_LIBS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a
-
+ g++ $(CXXFLAGS) -std=c++11 -static -static-libgcc -O2 -g -Wall $(DBG_CFLAGS) $(DG_CFLAGS) $(DG_LIBS) $(VST_CFLAGS) hugin.o hugin_syslog.o $(DG_SRC) $(VST_SRC) ${SRC} ${GUI_SRC} ${GUI_CPPFLAGS} $(GUI_LIBS) $(EXPAT_CFLAGS) $(SRC_CFLAGS) $(ZITA_CXXFLAGS) $(EXPAT_LIBS) $(SNDFILE_CFLAGS) $(SNDFILE_LIBS) $(SRC_LIBS) $(ZITA_LIBS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a
+
clean:
del -f drumgizmo_vst.dll libdrumgizmo_vst.a
diff --git a/lv2/drumgizmo.ttl b/plugin/drumgizmo.ttl
similarity index 67%
rename from lv2/drumgizmo.ttl
rename to plugin/drumgizmo.ttl
index 23345f3..b94b09b 100644
--- a/lv2/drumgizmo.ttl
+++ b/plugin/drumgizmo.ttl
@@ -13,132 +13,159 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- at prefix doap: <http://usefulinc.com/ns/doap#> .
- at prefix foaf: <http://xmlns.com/foaf/0.1/> .
- at prefix lv2: <http://lv2plug.in/ns/lv2core#> .
- at prefix atom: <http://lv2plug.in/ns/ext/atom#> .
- at prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
- at prefix state: <http://lv2plug.in/ns/ext/state#> .
+ at prefix doap: <http://usefulinc.com/ns/doap#> .
+ at prefix foaf: <http://xmlns.com/foaf/0.1/> .
+ at prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+ at prefix atom: <http://lv2plug.in/ns/ext/atom#> .
+ at prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
+ at prefix state: <http://lv2plug.in/ns/ext/state#> .
+ at prefix pprops: <http://lv2plug.in/ns/ext/port-props#> .
+ at prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+ at prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-<http://drumgizmo.org/lv2-gui>
- a uiext:external ;
- uiext:binary <drumgizmo.so> .
+<http://drumgizmo.org/lv2#ui>
+ a ui:X11UI ;
+ lv2:requiredFeature ui:resize ;
+ lv2:extensionData ui:resize ;
+ lv2:requiredFeature ui:idleInterface ;
+ lv2:extensionData ui:idleInterface ;
+ ui:binary <drumgizmo.so> .
<http://drumgizmo.org/lv2>
a lv2:InstrumentPlugin ;
doap:name "DrumGizmo" ;
doap:maintainer [
- foaf:name "DrumGizmo.org";
+ foaf:name "DrumGizmo.org" ;
foaf:homepage <http://www.drumgizmo.org> ;
] ;
doap:license <http://usefulinc.com/doap/licenses/gpl> ;
- uiext:ui <http://drumgizmo.org/lv2-gui> ;
+ ui:ui <http://drumgizmo.org/lv2#ui> ;
doap:license <http://opensource.org/licenses/gpl-3.0> ;
lv2:optionalFeature <http://lv2plug.in/ns/ext/uri-map> ;
lv2:optionalFeature <http://lv2plug.in/ns/ext/event> ;
lv2:extensionData state:interface ;
-lv2:port [
+ lv2:port [
+ a lv2:InputPort, lv2:ControlPort ;
+ lv2:index 0 ;
+ lv2:symbol "lv2_freewheel" ;
+ lv2:name "Freewheel" ;
+ lv2:default 0.0 ;
+ lv2:minimum 0.0 ;
+ lv2:maximum 1.0 ;
+ lv2:designation <http://lv2plug.in/ns/lv2core#freeWheeling> ;
+ lv2:portProperty lv2:toggled ;
+ lv2:portProperty pprops:hasStrictBounds;
+ ] , [
+ a lv2:OutputPort, lv2:ControlPort ;
+ lv2:designation <http://lv2plug.in/ns/lv2core#latency>;
+ lv2:index 1;
+ lv2:symbol "latency";
+ lv2:name "Latency";
+ lv2:minimum 0;
+ lv2:maximum 192000;
+ lv2:portProperty lv2:reportsLatency, lv2:integer;
+ ] , [
a atom:AtomPort ,
- lv2:InputPort;
+ lv2:InputPort;
atom:bufferType atom:Sequence ;
atom:supports <http://lv2plug.in/ns/ext/midi#MidiEvent> ;
- lv2:index 0 ;
+ lv2:index 2 ;
lv2:symbol "control" ;
lv2:name "Control"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 1 ;
+ lv2:index 3 ;
lv2:symbol "out1" ;
lv2:name "Out1"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 2 ;
+ lv2:index 4 ;
lv2:symbol "out2" ;
lv2:name "Out2"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 3 ;
+ lv2:index 5 ;
lv2:symbol "out3" ;
lv2:name "Out3"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 4 ;
+ lv2:index 6 ;
lv2:symbol "out4" ;
lv2:name "Out4"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 5 ;
+ lv2:index 7 ;
lv2:symbol "out5" ;
lv2:name "Out5"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 6 ;
+ lv2:index 8 ;
lv2:symbol "out6" ;
lv2:name "Out6"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 7 ;
+ lv2:index 9 ;
lv2:symbol "out7" ;
lv2:name "Out7"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 8 ;
+ lv2:index 10 ;
lv2:symbol "out8" ;
lv2:name "Out8"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 9 ;
+ lv2:index 11 ;
lv2:symbol "out9" ;
lv2:name "Out9"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 10 ;
+ lv2:index 12 ;
lv2:symbol "out10" ;
lv2:name "Out10"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 11 ;
+ lv2:index 13 ;
lv2:symbol "out11" ;
lv2:name "Out11"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 12 ;
+ lv2:index 14 ;
lv2:symbol "out12" ;
lv2:name "Out12"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 13 ;
+ lv2:index 15 ;
lv2:symbol "out13" ;
lv2:name "Out13"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 14 ;
+ lv2:index 16 ;
lv2:symbol "out14" ;
lv2:name "Out14"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 15 ;
+ lv2:index 17 ;
lv2:symbol "out15" ;
lv2:name "Out15"
], [
a lv2:AudioPort ,
lv2:OutputPort ;
- lv2:index 16 ;
+ lv2:index 18 ;
lv2:symbol "out16" ;
lv2:name "Out16"
] .
diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc
new file mode 100644
index 0000000..025cb2b
--- /dev/null
+++ b/plugin/drumgizmo_plugin.cc
@@ -0,0 +1,290 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * drumgizmo_lv2.cc
+ *
+ * Wed Mar 2 17:31:32 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "drumgizmo_plugin.h"
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+#include <iostream>
+
+#include <midievent.h>
+
+#ifdef LV2
+// Entry point for lv2 plugin instantiation.
+PluginLV2* createEffectInstance()
+{
+ return new DrumGizmoPlugin();
+}
+#endif
+
+#ifdef VST
+// Entry point for vst plugin instantiation.
+AudioEffect* createEffectInstance(audioMasterCallback audioMaster)
+{
+ return new DrumGizmoPlugin(audioMaster);
+}
+
+DrumGizmoPlugin::DrumGizmoPlugin(audioMasterCallback audioMaster)
+ : PluginVST(audioMaster)
+#else
+DrumGizmoPlugin::DrumGizmoPlugin()
+#endif
+{
+ init();
+
+ drumgizmo = std::make_shared<DrumGizmo>(&output, &input);
+ resizeWindow(370, 330);
+ drumgizmo->setFreeWheel(true);
+ drumgizmo->setSamplerate(44100);
+ drumgizmo->setFrameSize(2048);
+}
+
+void DrumGizmoPlugin::onFreeWheelChange(bool freewheel)
+{
+ drumgizmo->setFreeWheel(freewheel);
+}
+
+void DrumGizmoPlugin::onSamplerateChange(float samplerate)
+{
+ drumgizmo->setSamplerate(samplerate);
+}
+
+void DrumGizmoPlugin::onFramesizeChange(size_t framesize)
+{
+ drumgizmo->setFrameSize(framesize);
+}
+
+void DrumGizmoPlugin::onActiveChange(bool active)
+{
+}
+
+std::string DrumGizmoPlugin::onStateSave()
+{
+ return drumgizmo->configString();
+}
+
+void DrumGizmoPlugin::onStateRestore(const std::string& config)
+{
+ drumgizmo->setConfigString(config);
+}
+
+size_t DrumGizmoPlugin::getNumberOfMidiInputs()
+{
+ return 1;
+}
+
+size_t DrumGizmoPlugin::getNumberOfMidiOutputs()
+{
+ return 0;
+}
+
+size_t DrumGizmoPlugin::getNumberOfAudioInputs()
+{
+ return 0;
+}
+
+size_t DrumGizmoPlugin::getNumberOfAudioOutputs()
+{
+ return 16;
+}
+
+std::string DrumGizmoPlugin::getId()
+{
+ return "DrumGizmo";
+}
+static float g_samples[16* 4096];
+void DrumGizmoPlugin::process(size_t pos,
+ const std::vector<MidiEvent>& input_events,
+ std::vector<MidiEvent>& output_events,
+ const std::vector<const float*>& input_samples,
+ const std::vector<float*>& output_samples,
+ size_t count)
+{
+ this->input_events = &input_events;
+ this->output_samples = &output_samples;
+
+ drumgizmo->run(pos, g_samples, count);
+
+ this->input_events = nullptr;
+ this->output_samples = nullptr;
+}
+
+bool DrumGizmoPlugin::hasGUI()
+{
+ return true;
+}
+
+void DrumGizmoPlugin::createWindow(void *parent)
+{
+ plugin_gui = std::make_shared<GUI::PluginGUI>(parent);
+ resizeWindow(370, 330);
+ onShowWindow();
+}
+
+void DrumGizmoPlugin::onDestroyWindow()
+{
+ plugin_gui = nullptr;
+}
+
+void DrumGizmoPlugin::onShowWindow()
+{
+ plugin_gui->show();
+}
+
+void DrumGizmoPlugin::onHideWindow()
+{
+ plugin_gui->hide();
+}
+
+void DrumGizmoPlugin::onIdle()
+{
+ plugin_gui->processEvents();
+}
+
+void DrumGizmoPlugin::closeWindow()
+{
+}
+
+
+//
+// Input Engine
+//
+
+DrumGizmoPlugin::Input::Input(DrumGizmoPlugin& plugin)
+ : plugin(plugin)
+{
+}
+
+bool DrumGizmoPlugin::Input::init(Instruments &instruments)
+{
+ this->instruments = &instruments;
+ return true;
+}
+
+void DrumGizmoPlugin::Input::setParm(std::string parm, std::string value)
+{
+}
+
+bool DrumGizmoPlugin::Input::start()
+{
+ return true;
+}
+
+void DrumGizmoPlugin::Input::stop()
+{
+}
+
+void DrumGizmoPlugin::Input::pre()
+{
+}
+
+void DrumGizmoPlugin::Input::run(size_t pos, size_t len, std::vector<event_t>& events)
+{
+ assert(events.empty());
+ assert(plugin.input_events);
+
+ events.reserve(plugin.input_events->size());
+
+ for(auto& event : *plugin.input_events)
+ {
+ if(event.type != MidiEventType::NoteOn)
+ {
+ continue;
+ }
+
+ int i = mmap.lookup(event.key);
+ if(event.velocity && (i != -1))
+ {
+ events.push_back({TYPE_ONSET, (size_t)i, (size_t)event.getTime(), event.velocity / 127.0f});
+ }
+ }
+}
+
+void DrumGizmoPlugin::Input::post()
+{
+}
+
+
+//
+// Output Engine
+//
+
+DrumGizmoPlugin::Output::Output(DrumGizmoPlugin& plugin)
+ : plugin(plugin)
+{
+}
+
+bool DrumGizmoPlugin::Output::init(Channels channels)
+{
+ return true;
+}
+
+void DrumGizmoPlugin::Output::setParm(std::string parm, std::string value)
+{
+}
+
+bool DrumGizmoPlugin::Output::start()
+{
+ return true;
+}
+
+void DrumGizmoPlugin::Output::stop()
+{
+}
+
+void DrumGizmoPlugin::Output::pre(size_t nsamples)
+{
+}
+
+void DrumGizmoPlugin::Output::run(int ch, sample_t *samples, size_t nsamples)
+{
+// assert(false);
+}
+
+void DrumGizmoPlugin::Output::post(size_t nsamples)
+{
+}
+
+sample_t* DrumGizmoPlugin::Output::getBuffer(int ch)
+{
+ assert(plugin.output_samples);
+
+ if((std::size_t)ch >= plugin.output_samples->size())
+ {
+ return nullptr;
+ }
+
+ return (*plugin.output_samples)[ch];
+}
+
+size_t DrumGizmoPlugin::Output::getBufferSize()
+{
+ return plugin.getFramesize();
+}
diff --git a/plugin/drumgizmo_plugin.h b/plugin/drumgizmo_plugin.h
new file mode 100644
index 0000000..4a4ec13
--- /dev/null
+++ b/plugin/drumgizmo_plugin.h
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * drumgizmo_lv2.h
+ *
+ * Wed Mar 2 17:31:31 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <memory>
+
+#if defined(X11)
+#include <X11/Xlib.h>
+#endif // defined(X11)
+
+#if defined(WIN32)
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif // defined(WIN32)
+
+#ifdef LV2
+#include <pluginlv2.h>
+#endif
+
+#ifdef VST
+#include <pluginvst.h>
+#endif
+
+#include <drumgizmo.h>
+#include <audioinputenginemidi.h>
+#include <audiooutputengine.h>
+#include <plugingui.h>
+
+class DrumGizmoPlugin
+#ifdef LV2
+ : public PluginLV2
+#endif
+#ifdef VST
+ : public PluginVST
+#endif
+{
+public:
+#ifdef VST
+ DrumGizmoPlugin(audioMasterCallback audioMaster);
+#else
+ DrumGizmoPlugin();
+#endif
+
+ void onFreeWheelChange(bool freewheel) override;
+
+ void onFramesizeChange(size_t framesize) override;
+
+ void onSamplerateChange(float samplerate) override;
+
+ void onActiveChange(bool active) override;
+
+ std::string onStateSave() override;
+ void onStateRestore(const std::string& config) override;
+
+ size_t getNumberOfMidiInputs() override;
+ size_t getNumberOfMidiOutputs() override;
+ size_t getNumberOfAudioInputs() override;
+ size_t getNumberOfAudioOutputs() override;
+
+ std::string getId() override;
+
+ void process(size_t pos,
+ const std::vector<MidiEvent>& input_events,
+ std::vector<MidiEvent>& output_events,
+ const std::vector<const float*>& input_samples,
+ const std::vector<float*>& output_samples,
+ size_t count) override;
+
+ //
+ // GUI
+ //
+ bool hasGUI() override;
+ void createWindow(void *parent) override;
+ void onDestroyWindow() override;
+ void onShowWindow() override;
+ void onHideWindow() override;
+ void onIdle() override;
+ void closeWindow() override;
+
+private:
+ class Input
+ : public AudioInputEngineMidi
+ {
+ public:
+ Input(DrumGizmoPlugin& plugin);
+
+ bool init(Instruments& instruments) override;
+
+ void setParm(std::string parm, std::string value) override;
+
+ bool start() override;
+ void stop() override;
+
+ void pre() override;
+ void run(size_t pos, size_t len, std::vector<event_t>& events) override;
+ void post() override;
+
+ protected:
+ DrumGizmoPlugin& plugin;
+ Instruments* instruments{nullptr};
+ };
+
+ class Output
+ : public AudioOutputEngine
+ {
+ public:
+ Output(DrumGizmoPlugin& plugin);
+
+ bool init(Channels channels) override;
+
+ void setParm(std::string parm, std::string value) override;
+
+ bool start() override;
+ void stop() override;
+
+ void pre(size_t nsamples) override;
+ void run(int ch, sample_t *samples, size_t nsamples) override;
+ void post(size_t nsamples) override;
+
+ sample_t *getBuffer(int ch) override;
+ size_t getBufferSize() override;
+
+ protected:
+ DrumGizmoPlugin& plugin;
+ };
+
+ Input input{*this};
+ const std::vector<MidiEvent>* input_events{nullptr};
+
+ Output output{*this};
+ const std::vector<float*>* output_samples{nullptr};
+
+ std::shared_ptr<GUI::PluginGUI> plugin_gui;
+ std::shared_ptr<DrumGizmo> drumgizmo;
+};
diff --git a/lv2/manifest.ttl b/plugin/manifest.ttl
similarity index 100%
rename from lv2/manifest.ttl
rename to plugin/manifest.ttl
diff --git a/plugin/plugingizmo/midievent.cc b/plugin/plugingizmo/midievent.cc
new file mode 100644
index 0000000..9b3dfb5
--- /dev/null
+++ b/plugin/plugingizmo/midievent.cc
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * midievent.cc
+ *
+ * Sun Feb 7 15:09:01 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "midievent.h"
+
+#include <iostream>
+
+MidiEvent::MidiEvent(int64_t time, const char* data, std::size_t size)
+ : time(time)
+{
+ std::cout << __PRETTY_FUNCTION__ <<
+ " data: " << (void*)data <<
+ " size: " << size <<
+ std::endl;
+
+ this->data.resize(size);
+ for(std::size_t i = 0; i < size; ++i)
+ {
+ this->data[i] = data[i];
+ }
+
+ if ((data[0] & 0xF0) == 0x80) { // note off
+ type = MidiEventType::NoteOff;
+ key = data[1];
+ velocity = data[2];
+ }
+
+ if ((data[0] & 0xF0) == 0x90) { // note on
+ type = MidiEventType::NoteOn;
+ key = data[1];
+ velocity = data[2];
+ }
+}
+
+int64_t MidiEvent::getTime() const
+{
+ return time;
+}
+
+const char* MidiEvent::getData() const
+{
+ return data.data();
+}
+
+std::size_t MidiEvent::getSize() const
+{
+ return data.size();
+}
diff --git a/plugin/plugingizmo/midievent.h b/plugin/plugingizmo/midievent.h
new file mode 100644
index 0000000..046a01a
--- /dev/null
+++ b/plugin/plugingizmo/midievent.h
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * midievent.h
+ *
+ * Sun Feb 7 15:09:01 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include <vector>
+
+enum class MidiEventType {
+ Unknown,
+ NoteOn,
+ NoteOff,
+};
+
+class MidiEvent {
+public:
+ MidiEvent() = default;
+ MidiEvent(int64_t time, const char* data, std::size_t size);
+
+ int64_t getTime() const;
+ const char* getData() const;
+ std::size_t getSize() const;
+
+ MidiEventType type{MidiEventType::Unknown};
+ int key{0};
+ int velocity{0};
+
+private:
+ int64_t time;
+ std::vector<char> data;
+};
diff --git a/plugin/plugingizmo/plugin.h b/plugin/plugingizmo/plugin.h
new file mode 100644
index 0000000..7864bb9
--- /dev/null
+++ b/plugin/plugingizmo/plugin.h
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * plugin.h
+ *
+ * Sun Feb 7 14:11:40 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <vector>
+#include <string>
+
+#include <cstdlib>
+
+class MidiEvent;
+
+//! Abstract base-class for plugin implementations.
+class Plugin {
+public:
+ //! Implement this to create a new plugin instance.
+ static Plugin* create();
+
+ //! Init function for setting up plugin parameters.
+ virtual void init() = 0;
+
+ //! Get current free-wheel mode.
+ virtual bool getFreeWheel() const = 0;
+
+ //! This method is called by the host when the free-wheel mode changes.
+ virtual void onFreeWheelChange(bool freewheel) = 0;
+
+
+ //! Call this to get current samplerate.
+ virtual float getSamplerate() = 0;
+
+ //! This method is called by the host when the samplerate changes.
+ virtual void onSamplerateChange(float samplerate) = 0;
+
+
+ //! Call this to get current frame-size.
+ virtual std::size_t getFramesize() = 0;
+
+ //! This method is called by the host when the frame-size changes.
+ virtual void onFramesizeChange(std::size_t framesize) = 0;
+
+
+ //! Call this to get current active state
+ virtual bool getActive() = 0;
+
+ //! This method is called by the host when the active state changes.
+ virtual void onActiveChange(bool active) = 0;
+
+
+ //! This method is called by the host to get the current state for storing.
+ virtual std::string onStateSave() = 0;
+
+ //! This method is called by the host when a new state has been loaded.
+ virtual void onStateRestore(const std::string& config) = 0;
+
+
+ //! This is method is called by the host to get the current latency.
+ //! \param The latency in samples.
+ virtual float getLatency() = 0;
+
+ //! Call this method to signal a latency change to the host.
+ //! \param latency The latency in samples.
+ virtual void setLatency(float latency) = 0;
+
+
+ //! Called by the the host to get the number of midi input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiInputs() = 0;
+
+ //! Called by the the host to get the number of midi output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiOutputs() = 0;
+
+ //! Called by the the host to get the number of audio input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioInputs() = 0;
+
+ //! Called by the the host to get the number of audio output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioOutputs() = 0;
+
+
+ //! Get unique plugin id.
+ virtual std::string getId() = 0;
+
+ //! Process callback.
+ virtual void process(std::size_t pos,
+ const std::vector<MidiEvent>& input_events,
+ std::vector<MidiEvent>& output_events,
+ const std::vector<const float*>& input_samples,
+ const std::vector<float*>& output_samples,
+ std::size_t count) = 0;
+
+
+ //
+ // GUI (optional)
+ //
+
+ //! Return true if a GUI implementation is to be used.
+ virtual bool hasGUI()
+ {
+ return false;
+ }
+
+ //! Create new window.
+ virtual void createWindow(void *parent) {}
+
+ //! Destroy window.
+ virtual void onDestroyWindow() {}
+
+ //! Show window.
+ virtual void onShowWindow() {}
+
+ //! Hide window.
+ virtual void onHideWindow() {}
+
+ //! Called regularly by host; process ui events.
+ virtual void onIdle() {}
+
+ //! Signal new window size to host.
+ virtual void resizeWindow(std::size_t width, std::size_t height) = 0;
+
+ //! Signal close window event to the host.
+ virtual void closeWindow() = 0;
+};
diff --git a/plugin/plugingizmo/pluginlv2.cc b/plugin/plugingizmo/pluginlv2.cc
new file mode 100644
index 0000000..477f30a
--- /dev/null
+++ b/plugin/plugingizmo/pluginlv2.cc
@@ -0,0 +1,636 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * pluginlv2.cc
+ *
+ * Sun Feb 7 15:15:24 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "pluginlv2.h"
+
+#include <iostream>
+#include <assert.h>
+
+#include "midievent.h"
+
+#define LV2_PLUGIN_URI__atom LV2_PLUGIN_URI "/atom#"
+#define LV2_PLUGIN_URI__instance LV2_PLUGIN_URI "#plugin-instance"
+#define LV2_PLUGIN_URI__ui LV2_PLUGIN_URI "#ui"
+
+#include "lv2/lv2plug.in/ns/ext/atom/util.h"
+#include <lv2/lv2plug.in/ns/ext/midi/midi.h>
+#include <lv2/lv2plug.in/ns/ext/instance-access/instance-access.h>
+
+bool PluginLV2::getFreeWheel() const
+{
+ return free_wheel;
+}
+
+float PluginLV2::getSamplerate()
+{
+ return sample_rate;
+}
+
+std::size_t PluginLV2::getFramesize()
+{
+ return frame_size;
+}
+
+bool PluginLV2::getActive()
+{
+ return active;
+}
+
+float PluginLV2::getLatency()
+{
+ if(latency_port)
+ {
+ return *latency_port;
+ }
+
+ return 0.0f;
+}
+
+void PluginLV2::setLatency(float latency)
+{
+ if(latency_port)
+ {
+ *latency_port = latency;
+ }
+}
+
+LV2_Handle PluginLV2::instantiate(const struct _LV2_Descriptor* descriptor,
+ double sample_rate,
+ const char* bundle_path,
+ const LV2_Feature *const *features)
+{
+ PluginLV2* plugin_lv2 = createEffectInstance();
+
+ plugin_lv2->sample_rate = sample_rate;
+
+ plugin_lv2->input_event_ports.resize(plugin_lv2->getNumberOfMidiInputs(),
+ nullptr);
+ plugin_lv2->output_event_ports.resize(plugin_lv2->getNumberOfMidiOutputs(),
+ nullptr);
+
+ plugin_lv2->input_audio_ports.resize(plugin_lv2->getNumberOfAudioInputs());
+ plugin_lv2->output_audio_ports.resize(plugin_lv2->getNumberOfAudioOutputs());
+
+ for(auto& port : plugin_lv2->output_audio_ports)
+ {
+ port = nullptr;
+ }
+
+ for(auto& port : plugin_lv2->input_audio_ports)
+ {
+ port = nullptr;
+ }
+
+ while(*features != nullptr)
+ {
+ std::string uri = (*features)->URI;
+ void* data = (*features)->data;
+
+ if(uri == LV2_URID__map)
+ {
+ plugin_lv2->map = (LV2_URID_Map*)data;
+ }
+
+ ++features;
+ }
+
+ // Only reported on creation.
+ plugin_lv2->onSamplerateChange(sample_rate);
+
+ return (LV2_Handle)plugin_lv2;
+}
+
+void PluginLV2::connectPort(LV2_Handle instance, uint32_t port,
+ void *data_location)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+
+ if(port == static_cast<uint32_t>(LV2Ports::FreeWheel))
+ {
+ plugin_lv2->free_wheel_port = (float*)data_location;
+ if(plugin_lv2->free_wheel_port)
+ {
+ plugin_lv2->free_wheel = (*plugin_lv2->free_wheel_port != 0.0f);
+ // Signal first time.
+ plugin_lv2->onFreeWheelChange(plugin_lv2->free_wheel);
+ }
+ }
+
+ if(port == static_cast<uint32_t>(LV2Ports::Latency))
+ {
+ plugin_lv2->latency_port = (float*)data_location;
+ }
+
+ uint32_t port_offset = static_cast<uint32_t>(LV2Ports::PortOffset);
+
+ if((port >= port_offset) &&
+ (port < (port_offset + plugin_lv2->getNumberOfMidiInputs())))
+ {
+ int port_index = port - port_offset;
+ plugin_lv2->input_event_ports[port_index] =
+ (LV2_Atom_Sequence*)data_location;
+ }
+
+ port_offset += plugin_lv2->getNumberOfMidiInputs();
+
+ if((port >= port_offset) &&
+ (port < (port_offset + plugin_lv2->getNumberOfMidiOutputs())))
+ {
+ int port_index = port - port_offset;
+ plugin_lv2->output_event_ports[port_index] =
+ (LV2_Atom_Sequence*)data_location;
+ }
+
+ port_offset += plugin_lv2->getNumberOfMidiOutputs();
+
+ if((port >= port_offset) &&
+ (port < (port_offset + plugin_lv2->getNumberOfAudioInputs())))
+ {
+ int port_index = port - port_offset;
+ plugin_lv2->input_audio_ports[port_index] = (float*)data_location;
+ }
+
+ port_offset += plugin_lv2->getNumberOfAudioInputs();
+
+ if((port >= port_offset) &&
+ (port < (port_offset + plugin_lv2->getNumberOfAudioOutputs())))
+ {
+ int port_index = port - port_offset;
+ plugin_lv2->output_audio_ports[port_index] = (float*)data_location;
+ }
+}
+
+class Sequence {
+public:
+ Sequence(LV2_URID_Map& map, void* buffer, std::size_t buffer_size);
+ void clear();
+ void addMidiEvent(std::size_t pos, const char* data, std::size_t size);
+ void* data();
+
+private:
+ void *buffer;
+ std::size_t buffer_size;
+ LV2_Atom_Sequence *seq;
+ LV2_URID_Map& map;
+};
+
+Sequence::Sequence(LV2_URID_Map& map, void* buffer, std::size_t buffer_size)
+ : map(map)
+{
+ this->buffer = buffer;
+ this->buffer_size = buffer_size;
+
+ seq = (LV2_Atom_Sequence*)buffer;
+
+ seq->atom.size = sizeof(LV2_Atom_Sequence_Body);
+ seq->atom.type = map.map(map.handle, LV2_ATOM__Sequence);
+ seq->body.unit = 0;
+ seq->body.pad = 0;
+}
+
+// Keep this to support atom extension from lv2 < 1.10
+static inline void _lv2_atom_sequence_clear(LV2_Atom_Sequence* seq)
+{
+ seq->atom.size = sizeof(LV2_Atom_Sequence_Body);
+}
+
+void Sequence::clear()
+{
+ _lv2_atom_sequence_clear(seq);
+}
+
+// Keep this to support atom extension from lv2 < 1.10
+static inline LV2_Atom_Event*
+_lv2_atom_sequence_append_event(LV2_Atom_Sequence* seq,
+ uint32_t capacity,
+ const LV2_Atom_Event* event)
+{
+ const uint32_t total_size = (uint32_t)sizeof(*event) + event->body.size;
+
+ if(capacity - seq->atom.size < total_size)
+ {
+ return nullptr;
+ }
+
+ LV2_Atom_Event* e = lv2_atom_sequence_end(&seq->body, seq->atom.size);
+ memcpy(e, event, total_size);
+
+ seq->atom.size += lv2_atom_pad_size(total_size);
+
+ return e;
+}
+
+void Sequence::addMidiEvent(std::size_t pos, const char* data, std::size_t size)
+{
+ typedef struct {
+ LV2_Atom_Event event;
+ uint8_t msg[6];
+ } MIDINoteEvent;
+
+
+ MIDINoteEvent ev;
+ ev.event.time.frames = pos;
+ ev.event.body.type = map.map(map.handle, LV2_MIDI__MidiEvent);
+ ev.event.body.size = size;//sizeof(LV2_Atom_Event) + size;
+
+ assert(size <= sizeof(ev.msg)); // Assert that we have room for the message
+
+ memcpy(ev.msg, data, size + sizeof(LV2_Atom_Event));
+
+ _lv2_atom_sequence_append_event(seq, this->buffer_size, &ev.event);
+}
+
+void* Sequence::data()
+{
+ return buffer;
+}
+
+void PluginLV2::run(LV2_Handle instance, uint32_t sample_count)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+
+ // Handle free-wheel state
+ if(plugin_lv2->free_wheel_port != nullptr)
+ {
+ bool new_free_wheel = *plugin_lv2->free_wheel_port != 0.0f;
+ if(new_free_wheel != plugin_lv2->free_wheel)
+ {
+ plugin_lv2->free_wheel = new_free_wheel;
+ plugin_lv2->onFreeWheelChange(plugin_lv2->free_wheel);
+ }
+ }
+
+ // Handle frame size
+ if(plugin_lv2->frame_size != sample_count)
+ {
+ plugin_lv2->frame_size = sample_count;
+ plugin_lv2->onFramesizeChange(plugin_lv2->frame_size);
+ }
+
+ // Convert input lv2 events to input events.
+ std::vector<MidiEvent> input_events;
+ for(std::size_t port = 0; port < plugin_lv2->getNumberOfMidiInputs(); ++port)
+ {
+ if(plugin_lv2->input_event_ports[port] == nullptr)
+ {
+ continue; // Not yet connected.
+ }
+
+ auto& event_port = plugin_lv2->input_event_ports[port];
+
+ LV2_Atom_Event* ev = lv2_atom_sequence_begin(&event_port->body);
+ while(!lv2_atom_sequence_is_end(&event_port->body,
+ event_port->atom.size,
+ ev))
+ {
+ if(ev->body.type != plugin_lv2->map->map(plugin_lv2->map->handle,
+ LV2_MIDI__MidiEvent))
+ {
+ continue; // not a midi event.
+ }
+
+ const char* data = (char*)(ev + 1);
+ input_events.emplace_back(ev->time.frames, data, ev->body.size);
+
+ ev = lv2_atom_sequence_next(ev);
+ }
+ }
+
+ std::vector<MidiEvent> output_events;
+
+ // Process events and audio
+ plugin_lv2->process(plugin_lv2->pos,
+ input_events,
+ output_events,
+ plugin_lv2->input_audio_ports,
+ plugin_lv2->output_audio_ports,
+ sample_count);
+
+ // Convert output events to lv2 events
+ if(plugin_lv2->getNumberOfMidiOutputs() > 0)
+ {
+ if(plugin_lv2->map != nullptr)
+ {
+ if(plugin_lv2->output_event_ports[0] != nullptr) // Not yet connected?
+ {
+ auto& event_port = plugin_lv2->output_event_ports[0]; // TODO: Split?
+ Sequence seq(*plugin_lv2->map,
+ &event_port->body + 1,
+ event_port->atom.size);
+ for(auto midi_event : output_events)
+ {
+ seq.addMidiEvent(midi_event.getTime(),
+ midi_event.getData(),
+ midi_event.getSize());
+ }
+ }
+ }
+ }
+
+ plugin_lv2->pos += sample_count;
+}
+
+void PluginLV2::activate(LV2_Handle instance)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+ plugin_lv2->active = true;
+ plugin_lv2->onActiveChange(plugin_lv2->active);
+}
+
+void PluginLV2::deactivate(LV2_Handle instance)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+ plugin_lv2->active = false;
+ plugin_lv2->onActiveChange(plugin_lv2->active);
+}
+
+void PluginLV2::cleanup(LV2_Handle instance)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+ delete plugin_lv2;
+}
+
+//
+// State handling
+//
+
+LV2_State_Status PluginLV2::save(LV2_Handle instance,
+ LV2_State_Store_Function store,
+ LV2_State_Handle handle,
+ uint32_t flags,
+ const LV2_Feature *const * features)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+
+ if(plugin_lv2->map == nullptr)
+ {
+ // Missing urid feature?
+ return LV2_STATE_ERR_NO_FEATURE;
+ }
+
+ std::string config = plugin_lv2->onStateSave();
+
+ store(handle,
+ plugin_lv2->map->map(plugin_lv2->map->handle,
+ LV2_PLUGIN_URI__atom "config"),
+ config.data(),
+ config.length(),
+ plugin_lv2->map->map(plugin_lv2->map->handle, LV2_ATOM__Chunk),
+ LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE);
+
+ return LV2_STATE_SUCCESS;
+}
+
+LV2_State_Status PluginLV2::restore(LV2_Handle instance,
+ LV2_State_Retrieve_Function retrieve,
+ LV2_State_Handle handle,
+ uint32_t flags,
+ const LV2_Feature *const * features)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+
+ if(plugin_lv2->map == nullptr)
+ {
+ // Missing urid feature?
+ return LV2_STATE_ERR_NO_FEATURE;
+ }
+
+ std::size_t size;
+ uint32_t type;
+
+ const char* data =
+ (const char*)retrieve(handle,
+ plugin_lv2->map->map(plugin_lv2->map->handle,
+ LV2_PLUGIN_URI__atom "config"),
+ &size, &type, &flags);
+
+ if(data && size)
+ {
+ std::string config;
+
+ config.append(data, size);
+ plugin_lv2->onStateRestore(config);
+ }
+
+ return LV2_STATE_SUCCESS;
+}
+
+static LV2_State_Interface persist = {
+ PluginLV2::save,
+ PluginLV2::restore
+};
+
+const void* PluginLV2::extensionData(const char *uri)
+{
+ if(!strcmp(uri, LV2_STATE__interface))
+ {
+ return &persist;
+ }
+
+ return nullptr;
+}
+
+
+//
+// GUI
+//
+LV2UI_Handle PluginLV2::uiInstantiate(const struct _LV2UI_Descriptor*descriptor,
+ const char * plugin_uri,
+ const char * bundle_path,
+ LV2UI_Write_Function write_function,
+ LV2UI_Controller controller,
+ LV2UI_Widget* widget,
+ const LV2_Feature * const * features)
+{
+ LV2_Handle instance = nullptr;
+ void* parent = nullptr;
+ LV2UI_Resize* resize = nullptr;
+
+ while(*features != nullptr) {
+ std::string uri = (*features)->URI;
+ void *data = (*features)->data;
+
+ if(uri == LV2_INSTANCE_ACCESS_URI)
+ {
+ instance = (LV2_Handle)data;
+ }
+
+ if(uri == LV2_UI__parent)
+ {
+ parent = data;
+ }
+
+ if(uri == LV2_UI__resize)
+ {
+ resize = (LV2UI_Resize*)data;
+ }
+
+ features++;
+ }
+
+ if(instance == nullptr)
+ {
+ return nullptr;
+ }
+
+ PluginLV2* plugin_lv2 = (PluginLV2*)instance;
+
+ // Do we have a GUI?
+ if(plugin_lv2->hasGUI() == false)
+ {
+ return nullptr;
+ }
+
+ plugin_lv2->resize = resize;
+
+ plugin_lv2->createWindow(parent);
+
+ return plugin_lv2;
+}
+
+void PluginLV2::resizeWindow(std::size_t width, std::size_t height)
+{
+ if(resize)
+ {
+ resize->ui_resize(resize->handle, width, height);
+ }
+}
+
+void PluginLV2::closeWindow()
+{
+}
+
+static const LV2_Descriptor descriptor = {
+ LV2_PLUGIN_URI,
+ PluginLV2::instantiate,
+ PluginLV2::connectPort,
+ PluginLV2::activate,
+ PluginLV2::run,
+ PluginLV2::deactivate,
+ PluginLV2::cleanup,
+ PluginLV2::extensionData
+};
+
+void PluginLV2::uiCleanup(LV2UI_Handle handle)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)handle;
+ plugin_lv2->onDestroyWindow () ;
+
+}
+
+int PluginLV2::uiIdle(LV2UI_Handle handle)
+{
+ PluginLV2* plugin_lv2 = (PluginLV2*)handle;
+ plugin_lv2->onIdle();
+ return 0;
+}
+
+static const LV2UI_Idle_Interface idle_iface = {
+ PluginLV2::uiIdle
+};
+
+const void* PluginLV2::uiExtensionData(const char* uri)
+{
+ if(!strcmp(uri, LV2_UI__idleInterface))
+ {
+ return &idle_iface;
+ }
+
+ return NULL;
+}
+
+static LV2UI_Descriptor ui_descriptor = {
+ LV2_PLUGIN_URI__ui,
+ PluginLV2::uiInstantiate,
+ PluginLV2::uiCleanup,
+ nullptr,//PluginLV2::ui_port_event,
+ PluginLV2::uiExtensionData
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+LV2_SYMBOL_EXPORT
+const LV2_Descriptor* lv2_descriptor(uint32_t index)
+{
+ switch (index) {
+ case 0:
+ return &descriptor;
+ default:
+ return nullptr;
+ }
+}
+
+LV2_SYMBOL_EXPORT
+const LV2UI_Descriptor *lv2ui_descriptor(uint32_t index)
+{
+ switch(index) {
+ case 0:
+ return &ui_descriptor;
+ default:
+ return nullptr;
+ }
+}
+
+//
+// DynManifest experiments failed, but the code is kept here for nostalgic
+// reasons :-)
+//
+//
+//int lv2_dyn_manifest_open(LV2_Dyn_Manifest_Handle* handle,
+// const LV2_Feature* const* features)
+//{
+// *handle = createEffectInstance();
+// return 0;
+//}
+//
+//int lv2_dyn_manifest_get_subjects(LV2_Dyn_Manifest_Handle handle, FILE* fp)
+//{
+//// PluginLV2* plugin_lv2 = (PluginLV2*)handle;
+//
+// fprintf(fp, "@prefix lv2: <http://lv2plug.in/ns/lv2core#> .\n");
+// fprintf(fp, "<" LV2_PLUGIN_URI "> a lv2:Plugin .\n");
+// return 0;
+//}
+//
+//int lv2_dyn_manifest_get_data(LV2_Dyn_Manifest_Handle handle, FILE* fp,
+// const char* uri)
+//{
+// //PluginLV2* plugin_lv2 = (PluginLV2*)handle;
+// printf("%s '%s'\n", __PRETTY_FUNCTION__, uri);
+// return 0;
+//}
+//
+//void lv2_dyn_manifest_close(LV2_Dyn_Manifest_Handle handle)
+//{
+// PluginLV2* plugin_lv2 = (PluginLV2*)handle;
+// delete plugin_lv2;
+//}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/plugin/plugingizmo/pluginlv2.h b/plugin/plugingizmo/pluginlv2.h
new file mode 100644
index 0000000..a1408fa
--- /dev/null
+++ b/plugin/plugingizmo/pluginlv2.h
@@ -0,0 +1,228 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * pluginlv2.h
+ *
+ * Sun Feb 7 15:15:23 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <plugin.h>
+
+#include <lv2/lv2plug.in/ns/lv2core/lv2.h>
+#include <lv2/lv2plug.in/ns/ext/urid/urid.h>
+#include <lv2/lv2plug.in/ns/ext/state/state.h>
+#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
+#include <lv2/lv2plug.in/ns/ext/dynmanifest/dynmanifest.h>
+#include <lv2/lv2plug.in/ns/extensions/ui/ui.h>
+
+enum class LV2Ports
+{
+ FreeWheel = 0,
+ Latency = 1,
+ PortOffset = 2,
+};
+
+class PluginLV2
+ : public Plugin
+{
+public:
+ virtual ~PluginLV2() = default;
+
+ //! Not used in LV2
+ void init() override {}
+
+ //! Get current free-wheel mode.
+ bool getFreeWheel() const override;
+
+ //! This method is called by the host when the free-wheel mode changes.
+ virtual void onFreeWheelChange(bool freewheel) override = 0;
+
+
+ //! Call this to get current samplerate.
+ float getSamplerate() override;
+
+ //! This method is called by the host when the samplerate changes.
+ virtual void onSamplerateChange(float samplerate) = 0;
+
+ //! Call this to get current frame-size.
+ std::size_t getFramesize() override;
+
+ //! This method is called by the host when the frame-size changes.
+ virtual void onFramesizeChange(std::size_t framesize) override = 0;
+
+
+ //! Call this to get current active state
+ bool getActive() override;
+
+ //! This method is called by the host when the active state changes.
+ virtual void onActiveChange(bool active) override = 0;
+
+
+ //! This method is called by the host to get the current state for storing.
+ virtual std::string onStateSave() override = 0;
+
+ //! This method is called by the host when a new state has been loaded.
+ virtual void onStateRestore(const std::string& config) override = 0;
+
+
+ //! This is method is called by the host to get the current latency.
+ //! \param The latency in samples.
+ float getLatency() override;
+
+ //! Call this method to signal a latency change to the host.
+ //! \param latency The latency in samples.
+ void setLatency(float latency) override;
+
+
+ //! Called by the the host to get the number of audio input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioInputs() override = 0;
+
+ //! Called by the the host to get the number of audio output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioOutputs() override = 0;
+
+
+ //! Called by the the host to get the number of midi input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiInputs() override = 0;
+
+ //! Called by the the host to get the number of midi output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiOutputs() override = 0;
+
+
+ //! Get unique plugin id.
+ std::string getId() override = 0;
+
+ virtual void process(std::size_t pos,
+ const std::vector<MidiEvent>& input_events,
+ std::vector<MidiEvent>& output_events,
+ const std::vector<const float*>& input_samples,
+ const std::vector<float*>& output_samples,
+ std::size_t count) = 0;
+
+ //
+ // GUI (optional)
+ //
+
+ //! Return true if a GUI implementation is to be used.
+ virtual bool hasGUI() override
+ {
+ return false;
+ }
+
+ //! Create new window.
+ virtual void createWindow(void *parent) override {}
+
+ //! Destroy window.
+ virtual void onDestroyWindow() override {}
+
+ //! Show window.
+ virtual void onShowWindow() override {}
+
+ //! Hide window.
+ virtual void onHideWindow() override {}
+
+ //! Called regularly by host; process ui events.
+ virtual void onIdle() override {}
+
+ //! Signal new window size to host.
+ void resizeWindow(std::size_t width, std::size_t height) override;
+
+ //! Signal close window event to the host.
+ void closeWindow() override;
+
+public:
+ static LV2_Handle instantiate(const struct _LV2_Descriptor* descriptor,
+ double sample_rate,
+ const char* bundle_path,
+ const LV2_Feature* const * features);
+
+ static void connectPort(LV2_Handle instance, uint32_t port,
+ void *data_location);
+
+ static void run(LV2_Handle instance, uint32_t sample_count);
+
+ static void activate(LV2_Handle instance);
+
+ static void deactivate(LV2_Handle instance);
+
+ static void cleanup(LV2_Handle instance);
+
+ static const void* extensionData(const char *uri);
+
+ static LV2_State_Status save(LV2_Handle instance,
+ LV2_State_Store_Function store,
+ LV2_State_Handle handle,
+ uint32_t flags,
+ const LV2_Feature *const * features);
+
+ static LV2_State_Status restore(LV2_Handle instance,
+ LV2_State_Retrieve_Function retrieve,
+ LV2_State_Handle handle,
+ uint32_t flags,
+ const LV2_Feature *const * features);
+
+ static LV2UI_Handle uiInstantiate(const struct _LV2UI_Descriptor * descriptor,
+ const char * plugin_uri,
+ const char * bundle_path,
+ LV2UI_Write_Function write_function,
+ LV2UI_Controller controller,
+ LV2UI_Widget * widget,
+ const LV2_Feature * const * features);
+
+ static void uiCleanup(LV2UI_Handle handle);
+
+ static int uiIdle(LV2UI_Handle handle);
+
+ static const void* uiExtensionData(const char* uri);
+
+private:
+ float* free_wheel_port{nullptr};
+ bool free_wheel{false};
+
+ float sample_rate{0};
+
+ float* latency_port{nullptr};
+
+ std::size_t frame_size{0};
+
+ std::size_t pos{0};
+
+ std::vector<LV2_Atom_Sequence*> input_event_ports;
+ std::vector<LV2_Atom_Sequence*> output_event_ports;
+ std::vector<const float*> input_audio_ports;
+ std::vector<float*> output_audio_ports;
+
+ LV2_URID_Map* map{nullptr};
+
+ bool active{false};
+
+ //
+ // GUI
+ //
+ LV2UI_Resize* resize{nullptr};
+};
+
+PluginLV2* createEffectInstance();
diff --git a/plugin/plugingizmo/pluginvst.cc b/plugin/plugingizmo/pluginvst.cc
new file mode 100644
index 0000000..7de518e
--- /dev/null
+++ b/plugin/plugingizmo/pluginvst.cc
@@ -0,0 +1,428 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * pluginvst.cc
+ *
+ * Mon Feb 8 19:24:40 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "pluginvst.h"
+
+#include "midievent.h"
+
+#include <public.sdk/source/vst2.x/audioeffectx.h>
+#include <public.sdk/source/vst2.x/aeffeditor.h>
+
+bool PluginVST::getFreeWheel() const
+{
+ return free_wheel;
+}
+
+float PluginVST::getSamplerate()
+{
+ return AudioEffectX::getSampleRate();
+}
+
+
+std::size_t PluginVST::getFramesize()
+{
+ return AudioEffectX::getBlockSize();
+}
+
+bool PluginVST::getActive()
+{
+ return active;
+}
+
+float PluginVST::getLatency()
+{
+ return current_latency;
+}
+
+void PluginVST::setLatency(float latency)
+{
+ update_latency = latency;
+}
+
+void PluginVST::updateLatency()
+{
+ if(update_latency != current_latency)
+ {
+ AudioEffectX::setInitialDelay(current_latency);
+ AudioEffectX::ioChanged();
+ current_latency = update_latency;
+ }
+}
+
+static uint32_t sdbm_hash(std::string input)
+{
+ unsigned long hash = 0;
+
+ for(auto& cha : input)
+ {
+ hash = (unsigned char)cha + (hash << 6) + (hash << 16) - hash;
+ }
+
+ return hash;
+}
+
+//
+// VST AudioEffectX implementation:
+//
+PluginVST::PluginVST(audioMasterCallback audioMaster)
+ : AudioEffectX(audioMaster, 0, 0)
+{
+}
+
+PluginVST::~PluginVST()
+{
+}
+
+void PluginVST::init()
+{
+ // virtual void setUniqueID (VstInt32 iD)
+ // Must be called to set the plug-ins unique ID!
+ uint32_t hash = sdbm_hash(getId());
+ AudioEffect::setUniqueID(hash);
+
+ // virtual void setNumInputs (VstInt32 inputs)
+ // Set the number of inputs the plug-in will handle. For a plug-in which
+ // could change its IO configuration, this number is the maximun available
+ // inputs.
+ AudioEffect::setNumInputs(getNumberOfAudioInputs());
+
+ // virtual void setNumOutputs (VstInt32 outputs)
+ // Set the number of outputs the plug-in will handle. For a plug-in which
+ // could change its IO configuration, this number is the maximun available
+ // ouputs.
+ AudioEffect::setNumOutputs(getNumberOfAudioOutputs());
+
+ // virtual void canProcessReplacing (bool state=true)
+ // Tells that processReplacing() could be used. Mandatory in VST 2.4!
+ AudioEffect::canProcessReplacing(true);
+
+ // virtual void canDoubleReplacing (bool state=true)
+ // Tells that processDoubleReplacing() is implemented.
+ AudioEffect::canDoubleReplacing(false);
+
+ // virtual void programsAreChunks (bool state=true)
+ // Program data is handled in formatless chunks (using getChunk-setChunks).
+ AudioEffect::programsAreChunks(true); // for generic config string support.
+
+ // virtual void setInitialDelay (VstInt32 delay)
+ // Use to report the plug-in's latency (Group Delay).
+ AudioEffect::setInitialDelay(0);
+
+ AudioEffectX::isSynth(getNumberOfMidiInputs() > 0);
+
+ if(hasGUI())
+ {
+ editor = std::make_shared<UI>(*this);
+ setEditor(editor.get());
+ }
+}
+
+void PluginVST::open()
+{
+ // Called when plug-in is initialized.
+}
+
+void PluginVST::close()
+{
+ // Called when plug-in will be released.
+ setEditor(nullptr);
+ editor = nullptr;
+}
+
+void PluginVST::suspend()
+{
+ // Called when plug-in is switched to off.
+ active = false;
+ onActiveChange(active);
+ updateLatency();
+}
+
+void PluginVST::resume()
+{
+ updateLatency();
+
+ // Called when plug-in is switched to on.
+ active = true;
+ onActiveChange(active);
+}
+
+bool PluginVST::getInputProperties(VstInt32 index, VstPinProperties* props)
+{
+ if(index < (VstInt32)getNumberOfAudioInputs())
+ {
+ vst_strncpy(props->label, "Channel ", 63);
+ char temp[11] = {0};
+ int2string(index + 1, temp, 10);
+ vst_strncat(props->label, temp, 63);
+
+ props->flags = kVstPinIsActive;
+
+ return true;
+ }
+
+ return false;
+}
+
+bool PluginVST::getOutputProperties(VstInt32 index, VstPinProperties* props)
+{
+ if(index < (VstInt32)getNumberOfAudioOutputs())
+ {
+ vst_strncpy(props->label, "Channel ", 63);
+ char temp[11] = {0};
+ int2string(index + 1, temp, 10);
+ vst_strncat(props->label, temp, 63);
+
+ props->flags = kVstPinIsActive;
+
+ return true;
+ }
+
+ return false;
+}
+
+void PluginVST::setSampleRate(float sampleRate)
+{
+ // Called when the sample rate changes (always in a suspend state).
+ onSamplerateChange(sampleRate);
+}
+
+void PluginVST::setBlockSize(VstInt32 blockSize)
+{
+ // Called when the Maximun block size changes (always in a suspend state).
+ // Note that the sampleFrames in Process Calls could be smaller than this
+ // block size, but NOT bigger.
+ onFramesizeChange(blockSize);
+}
+
+VstInt32 PluginVST::processEvents(VstEvents* events)
+{
+ // For each process cycle, processEvents() is called once before a
+ // processReplacing() call.
+
+ for(VstInt32 i = 0; i < events->numEvents; ++i)
+ {
+ auto event = events->events[i];
+ if(event->type != kVstMidiType)
+ {
+ continue;
+ }
+
+ auto midi_event = (VstMidiEvent*)event;
+ input_events.emplace_back(midi_event->deltaFrames,
+ midi_event->midiData,
+ midi_event->byteSize);
+ }
+
+ return 0;
+}
+
+void PluginVST::processReplacing(float** inputs, float** outputs,
+ VstInt32 sampleFrames)
+{
+ // Process 32 bit (single precision) floats (always in a resume state).
+
+ // 0 = realtime/normal
+ // 1 = non-realtime/rendering
+ // 2 = offline processing
+ long lvl = AudioEffectX::getCurrentProcessLevel();
+ bool last_free_wheel = free_wheel;
+ free_wheel = (lvl != 0);
+ if(last_free_wheel != free_wheel)
+ {
+ onFreeWheelChange(free_wheel);
+ }
+
+ std::vector<const float*> input_audio_ports;
+ for(std::size_t i = 0; i < getNumberOfAudioInputs(); ++i)
+ {
+ input_audio_ports.emplace_back(inputs[i]);
+ }
+
+ std::vector<float*> output_audio_ports;
+ output_audio_ports.resize(getNumberOfAudioOutputs());
+
+ for(std::size_t i = 0; i < getNumberOfAudioOutputs(); ++i)
+ {
+ output_audio_ports[i] = outputs[i];
+ }
+
+ std::vector<MidiEvent> output_events;
+
+ // Process events and audio
+ process(pos,
+ input_events,
+ output_events,
+ input_audio_ports,
+ output_audio_ports,
+ (std::size_t)sampleFrames);
+
+ input_events.clear();
+
+ if(getNumberOfMidiOutputs())
+ {
+ // Translate output_events to VST midi events.
+ std::vector<VstMidiEvent> vst_output_event_list;
+ vst_output_event_list.resize(output_events.size());
+ for(std::size_t i = 0; i < output_events.size(); ++i)
+ {
+ vst_output_event_list[i].deltaFrames = output_events[i].getTime();
+ vst_output_event_list[i].type = kVstMidiType;
+ const char* data = output_events[i].getData();
+ for(std::size_t j = 0; j < output_events[i].getSize(); ++j)
+ {
+ vst_output_event_list[i].midiData[j] = data[j];
+ }
+ vst_output_event_list[i].byteSize = output_events[i].getSize();
+ }
+
+ if(!vst_output_event_list.empty())
+ {
+ // Dispatch output events to host
+ VstEvents vst_output_events;
+ vst_output_events.numEvents = vst_output_event_list.size();
+ vst_output_events.events[0] = (VstEvent*)vst_output_event_list.data();
+ sendVstEventsToHost(&vst_output_events);
+ }
+ }
+
+ pos += sampleFrames;
+}
+
+VstInt32 PluginVST::getChunk(void **data, bool isPreset)
+{
+ std::string state = onStateSave();
+ char* chunk = (char*)malloc(state.size() + 1);
+ memcpy(chunk, state.data(), state.size());
+ *data = chunk;
+ return state.size();
+}
+
+VstInt32 PluginVST::setChunk(void *data, VstInt32 byteSize, bool isPreset)
+{
+ std::string state;
+ state.append((const char*)data, (std::size_t)byteSize);
+ onStateRestore(state);
+ return 0;
+}
+
+VstInt32 PluginVST::canDo(char* text)
+{
+ std::string feature = text;
+
+ // Midi input
+ if((feature == "receiveVstMidiEvent") &&//PlugCanDos::canDoReceiveVstMidiEvent
+ (getNumberOfMidiInputs() > 0))
+ {
+ return 1;
+ }
+
+ // Midi output
+ if((feature == "sendVstMidiEvent") && // PlugCanDos::canDoSendVstMidiEvent
+ (getNumberOfMidiOutputs() > 0))
+ {
+ return 1;
+ }
+
+ // For FreeWheel functionality.
+ if(feature == "offline") // PlugCanDos::canDoOffline
+ {
+ return 1;
+ }
+
+ // TODO: For soft-bypass state.
+ //if(feature == "bypass") // PlugCanDos::canDoBypass)
+ //{
+ // return 1;
+ //}
+
+ // TODO: For receiving metronome ticks?
+ //if(feature == "receiveVstTimeInfo") // PlugCanDos::canDoReceiveVstTimeInfo)
+ //{
+ // return 1;
+ //}
+
+ return 0;
+}
+
+void PluginVST::resizeWindow(std::size_t width, std::size_t height)
+{
+ if(editor)
+ {
+ editor->rect.top = 0;
+ editor->rect.left = 0;
+ editor->rect.right = width;
+ editor->rect.bottom = height;
+ }
+}
+
+void PluginVST::closeWindow()
+{
+}
+
+PluginVST::UI::UI(PluginVST& plugin_vst)
+ : AEffEditor(&plugin_vst)
+ , plugin_vst(plugin_vst)
+{
+}
+
+bool PluginVST::UI::open(void* ptr)
+{
+ plugin_vst.createWindow(ptr);
+
+ AEffEditor::open(ptr);
+
+ is_open = true;
+ return true;
+}
+
+void PluginVST::UI::close()
+{
+ is_open = false;
+ plugin_vst.onDestroyWindow();
+
+ AEffEditor::close();
+}
+
+bool PluginVST::UI::isOpen()
+{
+ return is_open;
+}
+
+void PluginVST::UI::idle()
+{
+ if(is_open)
+ {
+ plugin_vst.onIdle();
+ }
+
+ AEffEditor::idle();
+}
+
+bool PluginVST::UI::getRect(ERect** rect)
+{
+ *rect = &this->rect;
+ return true;
+}
diff --git a/plugin/plugingizmo/pluginvst.h b/plugin/plugingizmo/pluginvst.h
new file mode 100644
index 0000000..2ae746a
--- /dev/null
+++ b/plugin/plugingizmo/pluginvst.h
@@ -0,0 +1,214 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * pluginvst.h
+ *
+ * Mon Feb 8 19:24:39 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of PluginGizmo.
+ *
+ * PluginGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PluginGizmo 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 PluginGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <memory>
+
+#include <plugin.h>
+
+#include <public.sdk/source/vst2.x/audioeffectx.h>
+#include <public.sdk/source/vst2.x/aeffeditor.h>
+
+#if defined(WIN32)
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif // defined(WIN32)
+
+class PluginVST
+ : public Plugin
+ , public AudioEffectX
+{
+public:
+ //! Call this to set up number of inputs/outpus, unique id etc...
+ //! IMPORTANT: This must be called form the constructor.
+ void init() override;
+
+ //! Get current free-wheel mode.
+ bool getFreeWheel() const override;
+
+ //! This method is called by the host when the free-wheel mode changes.
+ virtual void onFreeWheelChange(bool freewheel) override = 0;
+
+
+ //! Call this to get current samplerate.
+ float getSamplerate() override;
+
+ //! This method is called by the host when the free-wheel mode changes.
+ virtual void onSamplerateChange(float samplerate) override = 0;
+
+
+ //! Call this to get current frame-size.
+ std::size_t getFramesize() override;
+
+ //! This method is called by the host when the frame-size changes.
+ virtual void onFramesizeChange(std::size_t framesize) override = 0;
+
+
+ //! Call this to get current active state
+ bool getActive() override;
+
+ //! This method is called by the host when the active state changes.
+ virtual void onActiveChange(bool active) override = 0;
+
+
+ //! This method is called by the host to get the current state for storing.
+ virtual std::string onStateSave() override = 0;
+
+ //! This method is called by the host when a new state has been loaded.
+ virtual void onStateRestore(const std::string& config) override = 0;
+
+
+ //! This is method is called by the host to get the current latency.
+ //! \param The latency in samples.
+ float getLatency() override;
+
+ //! Call this method to signal a latency change to the host.
+ //! \param latency The latency in samples.
+ void setLatency(float latency) override;
+
+
+ //! Called by the the host to get the number of audio input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioInputs() override = 0;
+
+ //! Called by the the host to get the number of audio output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfAudioOutputs() override = 0;
+
+
+ //! Called by the the host to get the number of midi input channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiInputs() override = 0;
+
+ //! Called by the the host to get the number of midi output channels.
+ //! This must remain constant during the lifespan of the plugin instance.
+ virtual std::size_t getNumberOfMidiOutputs() override = 0;
+
+
+ //! Get unique plugin id.
+ std::string getId() override = 0;
+
+ virtual void process(std::size_t pos,
+ const std::vector<MidiEvent>& input_events,
+ std::vector<MidiEvent>& output_events,
+ const std::vector<const float*>& input_samples,
+ const std::vector<float*>& output_samples,
+ std::size_t count) = 0;
+
+ //
+ // GUI
+ //
+ //! Return true if a GUI implementation is to be used.
+ virtual bool hasGUI() override
+ {
+ return false;
+ }
+
+ //! Create new window.
+ virtual void createWindow(void *parent) override {}
+
+ //! Destroy window.
+ virtual void onDestroyWindow() override {}
+
+ //! Show window.
+ virtual void onShowWindow() override {}
+
+ //! Hide window.
+ virtual void onHideWindow() override {}
+
+ //! Called regularly by host; process ui events.
+ virtual void onIdle() override {}
+
+ //! Signal new window size to host.
+ void resizeWindow(std::size_t width, std::size_t height) override;
+
+ //! Signal close window event to the host.
+ void closeWindow() override;
+
+protected:
+ bool active{false};
+
+ void updateLatency();
+ float current_latency{0.0f};
+ float update_latency{0.0f};
+
+ bool free_wheel{true};
+
+ std::vector<MidiEvent> input_events;
+
+ std::size_t pos{0};
+
+public:
+ PluginVST(audioMasterCallback audioMaster);
+ virtual ~PluginVST();
+
+ // From AudioEffect:
+ void open() override;
+ void close() override;
+ void suspend() override;
+ void resume() override;
+ bool getInputProperties(VstInt32 index, VstPinProperties* props) override;
+ bool getOutputProperties(VstInt32 index, VstPinProperties* props) override;
+
+ // Callbacks:
+ void setSampleRate(float sampleRate) override;
+ void setBlockSize(VstInt32 blockSize) override;
+
+ VstInt32 getChunk(void **data, bool isPreset) override;
+ VstInt32 setChunk(void *data, VstInt32 byteSize, bool isPreset) override;
+
+ // From AudioEffectX:
+ VstInt32 canDo(char* text) override;
+
+ void processReplacing(float** inputs, float** outputs,
+ VstInt32 sampleFrames) override;
+ VstInt32 processEvents(VstEvents *events) override;
+
+ // UI
+ class UI :
+ public AEffEditor
+ {
+ public:
+ UI(PluginVST& plugin_vst);
+
+ bool open(void* ptr) override;
+ void close() override;
+ bool isOpen() override;
+ void idle() override;
+ bool getRect(ERect** rect) override;
+
+ PluginVST& plugin_vst;
+ bool is_open{false};
+
+ ERect rect{0,0,100,100};
+ };
+
+private:
+ std::shared_ptr<UI> editor;
+};
+
+AudioEffect* createEffectInstance(audioMasterCallback audioMaster);
diff --git a/plugingui/Makefile.am b/plugingui/Makefile.am
index bdb11cb..3dee864 100644
--- a/plugingui/Makefile.am
+++ b/plugingui/Makefile.am
@@ -1,19 +1,19 @@
noinst_PROGRAMS = plugingui rcgen
include Makefile.am.plugingui
-#include $(top_srcdir)/src/Makefile.am.drumgizmo
-plugingui_LDADD = $(SNDFILE_LIBS) $(PTHREAD_LIBS) $(EXPAT_LIBS) \
- -ldl $(PLUGIN_GUI_LIBS)
+plugingui_LDADD = $(PLUGIN_GUI_LIBS)
plugingui_CXXFLAGS = $(SNDFILE_CXXFLAGS) $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) \
- -I$(top_srcdir)/include $(PLUGIN_GUI_CFLAGS) -I$(top_srcdir)/src \
- -DSTANDALONE -DUSE_THREAD
+ -I$(top_srcdir)/include $(PLUGIN_GUI_CPPFLAGS) -I$(top_srcdir)/src \
+ -DSTANDALONE
plugingui_CFLAGS = $(plugingui_CXXFLAGS)
plugingui_SOURCES = \
+ testmain.cc \
$(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/src/configfile.cc \
$(top_srcdir)/src/thread.cc \
$(top_srcdir)/src/semaphore.cc \
$(top_srcdir)/src/mutex.cc \
@@ -27,6 +27,7 @@ EXTRA_DIST = \
checkbox.h \
colour.h \
combobox.h \
+ dgwindow.h \
directory.h \
eventhandler.h \
filebrowser.h \
@@ -35,6 +36,7 @@ EXTRA_DIST = \
image.h \
knob.h \
label.h \
+ layout.h \
led.h \
lineedit.h \
listbox.h \
@@ -44,6 +46,7 @@ EXTRA_DIST = \
nativewindow.h \
nativewindow_win32.h \
nativewindow_x11.h \
+ notifier.h \
painter.h \
pixelbuffer.h \
pluginconfig.h \
@@ -53,8 +56,8 @@ EXTRA_DIST = \
resource_data.h \
scrollbar.h \
slider.h \
+ textedit.h \
verticalline.h \
widget.h \
window.h \
- lodepng/lodepng.h
-
+ lodepng/lodepng.h
\ No newline at end of file
diff --git a/plugingui/Makefile.am.plugingui b/plugingui/Makefile.am.plugingui
index b1698e4..3ab3132 100644
--- a/plugingui/Makefile.am.plugingui
+++ b/plugingui/Makefile.am.plugingui
@@ -1,12 +1,8 @@
-
-puglsources =
+# -*- Makefile -*-
PLUGIN_GUI_SOURCES = \
$(top_srcdir)/hugin/hugin.c \
- $(top_srcdir)/hugin/hugin_syslog.c \
- $(puglsources) \
- $(top_srcdir)/plugingui/nativewindow_x11.cc \
- $(top_srcdir)/plugingui/nativewindow_win32.cc \
+ $(top_srcdir)/plugingui/dgwindow.cc \
$(top_srcdir)/plugingui/plugingui.cc \
$(top_srcdir)/plugingui/label.cc \
$(top_srcdir)/plugingui/eventhandler.cc \
@@ -22,6 +18,8 @@ PLUGIN_GUI_SOURCES = \
$(top_srcdir)/plugingui/checkbox.cc \
$(top_srcdir)/plugingui/slider.cc \
$(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
$(top_srcdir)/plugingui/listbox.cc \
$(top_srcdir)/plugingui/listboxthin.cc \
$(top_srcdir)/plugingui/listboxbasic.cc \
@@ -37,13 +35,30 @@ PLUGIN_GUI_SOURCES = \
$(top_srcdir)/plugingui/resource_data.cc \
$(top_srcdir)/plugingui/lodepng/lodepng.cpp
-PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS) $(ZLIB_LIBS)
+PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS)
+
+PLUGIN_GUI_CPPFLAGS = \
+ $(GUI_CPPFLAGS) -I$(top_srcdir)/hugin \
+ -I$(top_srcdir)/plugingui \
+ -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
+ -DLODEPNG_NO_COMPILE_ENCODER \
+ -DLODEPNG_NO_COMPILE_DISK \
+ -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
+ -DLODEPNG_NO_COMPILE_ERROR_TEXT \
+ -DLODEPNG_NO_COMPILE_CPP
+
+if ENABLE_X11
+PLUGIN_GUI_SOURCES += $(top_srcdir)/plugingui/nativewindow_x11.cc
+endif
+
+if ENABLE_WIN32
+PLUGIN_GUI_SOURCES += $(top_srcdir)/plugingui/nativewindow_win32.cc
+endif
+
+if ENABLE_PUGL
+PLUGIN_GUI_SOURCES += \
+ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ $(top_srcdir)/pugl/pugl/pugl_x11.c
-PLUGIN_GUI_CFLAGS = $(GUI_CFLAGS) $(ZLIB_CFLAGS) -I$(top_srcdir)/hugin \
- -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
- -I$(top_srcdir)/pugl/pugl \
- -DLODEPNG_NO_COMPILE_ENCODER \
- -DLODEPNG_NO_COMPILE_DISK \
- -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
- -DLODEPNG_NO_COMPILE_ERROR_TEXT \
- -DLODEPNG_NO_COMPILE_CPP
+PLUGIN_GUI_CPPFLAGS += -I$(top_srcdir)/pugl/pugl
+endif
diff --git a/plugingui/Makefile.in b/plugingui/Makefile.in
index 4c3ed5c..57c6bb3 100644
--- a/plugingui/Makefile.in
+++ b/plugingui/Makefile.in
@@ -14,6 +14,8 @@
@SET_MAKE@
+# -*- Makefile -*-
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -81,6 +83,13 @@ host_triplet = @host@
noinst_PROGRAMS = plugingui$(EXEEXT) rcgen$(EXEEXT)
DIST_COMMON = $(srcdir)/Makefile.am.plugingui $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/depcomp
+ at ENABLE_X11_TRUE@am__append_1 = $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at ENABLE_WIN32_TRUE@am__append_2 = $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at ENABLE_PUGL_TRUE@am__append_3 = \
+ at ENABLE_PUGL_TRUE@ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ at ENABLE_PUGL_TRUE@ $(top_srcdir)/pugl/pugl/pugl_x11.c
+
+ at ENABLE_PUGL_TRUE@am__append_4 = -I$(top_srcdir)/pugl/pugl
subdir = plugingui
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -91,11 +100,54 @@ CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
-am__objects_1 =
-am__objects_2 = plugingui-hugin.$(OBJEXT) \
- plugingui-hugin_syslog.$(OBJEXT) $(am__objects_1) \
- plugingui-nativewindow_x11.$(OBJEXT) \
- plugingui-nativewindow_win32.$(OBJEXT) \
+am__plugingui_SOURCES_DIST = testmain.cc $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/plugingui/dgwindow.cc \
+ $(top_srcdir)/plugingui/plugingui.cc \
+ $(top_srcdir)/plugingui/label.cc \
+ $(top_srcdir)/plugingui/eventhandler.cc \
+ $(top_srcdir)/plugingui/font.cc \
+ $(top_srcdir)/plugingui/window.cc \
+ $(top_srcdir)/plugingui/widget.cc \
+ $(top_srcdir)/plugingui/colour.cc \
+ $(top_srcdir)/plugingui/painter.cc \
+ $(top_srcdir)/plugingui/button.cc \
+ $(top_srcdir)/plugingui/pixelbuffer.cc \
+ $(top_srcdir)/plugingui/lineedit.cc \
+ $(top_srcdir)/plugingui/led.cc \
+ $(top_srcdir)/plugingui/checkbox.cc \
+ $(top_srcdir)/plugingui/slider.cc \
+ $(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
+ $(top_srcdir)/plugingui/listbox.cc \
+ $(top_srcdir)/plugingui/listboxthin.cc \
+ $(top_srcdir)/plugingui/listboxbasic.cc \
+ $(top_srcdir)/plugingui/knob.cc \
+ $(top_srcdir)/plugingui/filebrowser.cc \
+ $(top_srcdir)/plugingui/directory.cc \
+ $(top_srcdir)/plugingui/pluginconfig.cc \
+ $(top_srcdir)/plugingui/image.cc \
+ $(top_srcdir)/plugingui/combobox.cc \
+ $(top_srcdir)/plugingui/progressbar.cc \
+ $(top_srcdir)/plugingui/verticalline.cc \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/plugingui/lodepng/lodepng.cpp \
+ $(top_srcdir)/plugingui/nativewindow_x11.cc \
+ $(top_srcdir)/plugingui/nativewindow_win32.cc \
+ $(top_srcdir)/plugingui/nativewindow_pugl.cc \
+ $(top_srcdir)/pugl/pugl/pugl_x11.c \
+ $(top_srcdir)/src/configfile.cc $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/semaphore.cc $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/messagehandler.cc \
+ $(top_srcdir)/src/messagereceiver.cc
+ at ENABLE_X11_TRUE@am__objects_1 = plugingui-nativewindow_x11.$(OBJEXT)
+ at ENABLE_WIN32_TRUE@am__objects_2 = \
+ at ENABLE_WIN32_TRUE@ plugingui-nativewindow_win32.$(OBJEXT)
+ at ENABLE_PUGL_TRUE@am__objects_3 = \
+ at ENABLE_PUGL_TRUE@ plugingui-nativewindow_pugl.$(OBJEXT) \
+ at ENABLE_PUGL_TRUE@ plugingui-pugl_x11.$(OBJEXT)
+am__objects_4 = plugingui-hugin.$(OBJEXT) plugingui-dgwindow.$(OBJEXT) \
plugingui-plugingui.$(OBJEXT) plugingui-label.$(OBJEXT) \
plugingui-eventhandler.$(OBJEXT) plugingui-font.$(OBJEXT) \
plugingui-window.$(OBJEXT) plugingui-widget.$(OBJEXT) \
@@ -103,24 +155,25 @@ am__objects_2 = plugingui-hugin.$(OBJEXT) \
plugingui-button.$(OBJEXT) plugingui-pixelbuffer.$(OBJEXT) \
plugingui-lineedit.$(OBJEXT) plugingui-led.$(OBJEXT) \
plugingui-checkbox.$(OBJEXT) plugingui-slider.$(OBJEXT) \
- plugingui-scrollbar.$(OBJEXT) plugingui-listbox.$(OBJEXT) \
+ plugingui-scrollbar.$(OBJEXT) plugingui-textedit.$(OBJEXT) \
+ plugingui-layout.$(OBJEXT) plugingui-listbox.$(OBJEXT) \
plugingui-listboxthin.$(OBJEXT) \
plugingui-listboxbasic.$(OBJEXT) plugingui-knob.$(OBJEXT) \
plugingui-filebrowser.$(OBJEXT) plugingui-directory.$(OBJEXT) \
plugingui-pluginconfig.$(OBJEXT) plugingui-image.$(OBJEXT) \
plugingui-combobox.$(OBJEXT) plugingui-progressbar.$(OBJEXT) \
plugingui-verticalline.$(OBJEXT) plugingui-resource.$(OBJEXT) \
- plugingui-resource_data.$(OBJEXT) plugingui-lodepng.$(OBJEXT)
-am_plugingui_OBJECTS = $(am__objects_2) plugingui-thread.$(OBJEXT) \
+ plugingui-resource_data.$(OBJEXT) plugingui-lodepng.$(OBJEXT) \
+ $(am__objects_1) $(am__objects_2) $(am__objects_3)
+am_plugingui_OBJECTS = plugingui-testmain.$(OBJEXT) $(am__objects_4) \
+ plugingui-configfile.$(OBJEXT) plugingui-thread.$(OBJEXT) \
plugingui-semaphore.$(OBJEXT) plugingui-mutex.$(OBJEXT) \
plugingui-messagehandler.$(OBJEXT) \
plugingui-messagereceiver.$(OBJEXT)
plugingui_OBJECTS = $(am_plugingui_OBJECTS)
am__DEPENDENCIES_1 =
-am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-plugingui_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+plugingui_DEPENDENCIES = $(am__DEPENDENCIES_2)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -184,7 +237,7 @@ am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(plugingui_SOURCES) $(rcgen_SOURCES)
-DIST_SOURCES = $(plugingui_SOURCES) $(rcgen_SOURCES)
+DIST_SOURCES = $(am__plugingui_SOURCES_DIST) $(rcgen_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -247,7 +300,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -311,8 +364,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -367,13 +418,8 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-puglsources =
-PLUGIN_GUI_SOURCES = \
- $(top_srcdir)/hugin/hugin.c \
- $(top_srcdir)/hugin/hugin_syslog.c \
- $(puglsources) \
- $(top_srcdir)/plugingui/nativewindow_x11.cc \
- $(top_srcdir)/plugingui/nativewindow_win32.cc \
+PLUGIN_GUI_SOURCES = $(top_srcdir)/hugin/hugin.c \
+ $(top_srcdir)/plugingui/dgwindow.cc \
$(top_srcdir)/plugingui/plugingui.cc \
$(top_srcdir)/plugingui/label.cc \
$(top_srcdir)/plugingui/eventhandler.cc \
@@ -389,6 +435,8 @@ PLUGIN_GUI_SOURCES = \
$(top_srcdir)/plugingui/checkbox.cc \
$(top_srcdir)/plugingui/slider.cc \
$(top_srcdir)/plugingui/scrollbar.cc \
+ $(top_srcdir)/plugingui/textedit.cc \
+ $(top_srcdir)/plugingui/layout.cc \
$(top_srcdir)/plugingui/listbox.cc \
$(top_srcdir)/plugingui/listboxthin.cc \
$(top_srcdir)/plugingui/listboxbasic.cc \
@@ -402,30 +450,25 @@ PLUGIN_GUI_SOURCES = \
$(top_srcdir)/plugingui/verticalline.cc \
$(top_srcdir)/plugingui/resource.cc \
$(top_srcdir)/plugingui/resource_data.cc \
- $(top_srcdir)/plugingui/lodepng/lodepng.cpp
-
-PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS) $(ZLIB_LIBS)
-PLUGIN_GUI_CFLAGS = $(GUI_CFLAGS) $(ZLIB_CFLAGS) -I$(top_srcdir)/hugin \
- -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
- -I$(top_srcdir)/pugl/pugl \
- -DLODEPNG_NO_COMPILE_ENCODER \
- -DLODEPNG_NO_COMPILE_DISK \
- -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
- -DLODEPNG_NO_COMPILE_ERROR_TEXT \
- -DLODEPNG_NO_COMPILE_CPP
-
-
-#include $(top_srcdir)/src/Makefile.am.drumgizmo
-plugingui_LDADD = $(SNDFILE_LIBS) $(PTHREAD_LIBS) $(EXPAT_LIBS) \
- -ldl $(PLUGIN_GUI_LIBS)
-
+ $(top_srcdir)/plugingui/lodepng/lodepng.cpp $(am__append_1) \
+ $(am__append_2) $(am__append_3)
+PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS)
+PLUGIN_GUI_CPPFLAGS = $(GUI_CPPFLAGS) -I$(top_srcdir)/hugin \
+ -I$(top_srcdir)/plugingui -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
+ -DLODEPNG_NO_COMPILE_ENCODER -DLODEPNG_NO_COMPILE_DISK \
+ -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
+ -DLODEPNG_NO_COMPILE_ERROR_TEXT -DLODEPNG_NO_COMPILE_CPP \
+ $(am__append_4)
+plugingui_LDADD = $(PLUGIN_GUI_LIBS)
plugingui_CXXFLAGS = $(SNDFILE_CXXFLAGS) $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) \
- -I$(top_srcdir)/include $(PLUGIN_GUI_CFLAGS) -I$(top_srcdir)/src \
- -DSTANDALONE -DUSE_THREAD
+ -I$(top_srcdir)/include $(PLUGIN_GUI_CPPFLAGS) -I$(top_srcdir)/src \
+ -DSTANDALONE
plugingui_CFLAGS = $(plugingui_CXXFLAGS)
plugingui_SOURCES = \
+ testmain.cc \
$(PLUGIN_GUI_SOURCES) \
+ $(top_srcdir)/src/configfile.cc \
$(top_srcdir)/src/thread.cc \
$(top_srcdir)/src/semaphore.cc \
$(top_srcdir)/src/mutex.cc \
@@ -438,6 +481,7 @@ EXTRA_DIST = \
checkbox.h \
colour.h \
combobox.h \
+ dgwindow.h \
directory.h \
eventhandler.h \
filebrowser.h \
@@ -446,6 +490,7 @@ EXTRA_DIST = \
image.h \
knob.h \
label.h \
+ layout.h \
led.h \
lineedit.h \
listbox.h \
@@ -455,6 +500,7 @@ EXTRA_DIST = \
nativewindow.h \
nativewindow_win32.h \
nativewindow_x11.h \
+ notifier.h \
painter.h \
pixelbuffer.h \
pluginconfig.h \
@@ -464,6 +510,7 @@ EXTRA_DIST = \
resource_data.h \
scrollbar.h \
slider.h \
+ textedit.h \
verticalline.h \
widget.h \
window.h \
@@ -532,15 +579,17 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-checkbox.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-colour.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-combobox.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-configfile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-dgwindow.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-directory.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-eventhandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-filebrowser.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-font.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-hugin.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-hugin_syslog.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-image.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-knob.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-label.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-layout.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-led.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-lineedit.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-listbox.Po at am__quote@
@@ -550,6 +599,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-messagehandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-messagereceiver.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-nativewindow_pugl.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-nativewindow_win32.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-nativewindow_x11.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-painter.Po at am__quote@
@@ -557,11 +607,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-pluginconfig.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-plugingui.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-progressbar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-pugl_x11.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-resource.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-resource_data.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-scrollbar.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-semaphore.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-slider.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-testmain.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-textedit.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-thread.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-verticalline.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/plugingui-widget.Po at am__quote@
@@ -603,19 +656,19 @@ plugingui-hugin.obj: $(top_srcdir)/hugin/hugin.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -c -o plugingui-hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
-plugingui-hugin_syslog.o: $(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -MT plugingui-hugin_syslog.o -MD -MP -MF $(DEPDIR)/plugingui-hugin_syslog.Tpo -c -o plugingui-hugin_syslog.o `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-hugin_syslog.Tpo $(DEPDIR)/plugingui-hugin_syslog.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_syslog.c' object='plugingui-hugin_syslog.o' libtool=no @AMDEPBACKSLASH@
+plugingui-pugl_x11.o: $(top_srcdir)/pugl/pugl/pugl_x11.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -MT plugingui-pugl_x11.o -MD -MP -MF $(DEPDIR)/plugingui-pugl_x11.Tpo -c -o plugingui-pugl_x11.o `test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c' || echo '$(srcdir)/'`$(top_srcdir)/pugl/pugl/pugl_x11.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-pugl_x11.Tpo $(DEPDIR)/plugingui-pugl_x11.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/pugl/pugl/pugl_x11.c' object='plugingui-pugl_x11.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -c -o plugingui-hugin_syslog.o `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -c -o plugingui-pugl_x11.o `test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c' || echo '$(srcdir)/'`$(top_srcdir)/pugl/pugl/pugl_x11.c
-plugingui-hugin_syslog.obj: $(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -MT plugingui-hugin_syslog.obj -MD -MP -MF $(DEPDIR)/plugingui-hugin_syslog.Tpo -c -o plugingui-hugin_syslog.obj `if test -f '$(top_srcdir)/hugin/hugin_syslog.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin_syslog.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin_syslog.c'; fi`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-hugin_syslog.Tpo $(DEPDIR)/plugingui-hugin_syslog.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_syslog.c' object='plugingui-hugin_syslog.obj' libtool=no @AMDEPBACKSLASH@
+plugingui-pugl_x11.obj: $(top_srcdir)/pugl/pugl/pugl_x11.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -MT plugingui-pugl_x11.obj -MD -MP -MF $(DEPDIR)/plugingui-pugl_x11.Tpo -c -o plugingui-pugl_x11.obj `if test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c'; then $(CYGPATH_W) '$(top_srcdir)/pugl/pugl/pugl_x11.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/pugl/pugl/pugl_x11.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-pugl_x11.Tpo $(DEPDIR)/plugingui-pugl_x11.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/pugl/pugl/pugl_x11.c' object='plugingui-pugl_x11.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -c -o plugingui-hugin_syslog.obj `if test -f '$(top_srcdir)/hugin/hugin_syslog.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin_syslog.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin_syslog.c'; fi`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CFLAGS) $(CFLAGS) -c -o plugingui-pugl_x11.obj `if test -f '$(top_srcdir)/pugl/pugl/pugl_x11.c'; then $(CYGPATH_W) '$(top_srcdir)/pugl/pugl/pugl_x11.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/pugl/pugl/pugl_x11.c'; fi`
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -638,33 +691,33 @@ plugingui-hugin_syslog.obj: $(top_srcdir)/hugin/hugin_syslog.c
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-plugingui-nativewindow_x11.o: $(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_x11.o -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_x11.Tpo -c -o plugingui-nativewindow_x11.o `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_x11.Tpo $(DEPDIR)/plugingui-nativewindow_x11.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='plugingui-nativewindow_x11.o' libtool=no @AMDEPBACKSLASH@
+plugingui-testmain.o: testmain.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-testmain.o -MD -MP -MF $(DEPDIR)/plugingui-testmain.Tpo -c -o plugingui-testmain.o `test -f 'testmain.cc' || echo '$(srcdir)/'`testmain.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-testmain.Tpo $(DEPDIR)/plugingui-testmain.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='testmain.cc' object='plugingui-testmain.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_x11.o `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-testmain.o `test -f 'testmain.cc' || echo '$(srcdir)/'`testmain.cc
-plugingui-nativewindow_x11.obj: $(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_x11.obj -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_x11.Tpo -c -o plugingui-nativewindow_x11.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_x11.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_x11.cc'; fi`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_x11.Tpo $(DEPDIR)/plugingui-nativewindow_x11.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='plugingui-nativewindow_x11.obj' libtool=no @AMDEPBACKSLASH@
+plugingui-testmain.obj: testmain.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-testmain.obj -MD -MP -MF $(DEPDIR)/plugingui-testmain.Tpo -c -o plugingui-testmain.obj `if test -f 'testmain.cc'; then $(CYGPATH_W) 'testmain.cc'; else $(CYGPATH_W) '$(srcdir)/testmain.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-testmain.Tpo $(DEPDIR)/plugingui-testmain.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='testmain.cc' object='plugingui-testmain.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_x11.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_x11.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_x11.cc'; fi`
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-testmain.obj `if test -f 'testmain.cc'; then $(CYGPATH_W) 'testmain.cc'; else $(CYGPATH_W) '$(srcdir)/testmain.cc'; fi`
-plugingui-nativewindow_win32.o: $(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_win32.o -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_win32.Tpo -c -o plugingui-nativewindow_win32.o `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_win32.Tpo $(DEPDIR)/plugingui-nativewindow_win32.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='plugingui-nativewindow_win32.o' libtool=no @AMDEPBACKSLASH@
+plugingui-dgwindow.o: $(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-dgwindow.o -MD -MP -MF $(DEPDIR)/plugingui-dgwindow.Tpo -c -o plugingui-dgwindow.o `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-dgwindow.Tpo $(DEPDIR)/plugingui-dgwindow.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/dgwindow.cc' object='plugingui-dgwindow.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_win32.o `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-dgwindow.o `test -f '$(top_srcdir)/plugingui/dgwindow.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/dgwindow.cc
-plugingui-nativewindow_win32.obj: $(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_win32.obj -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_win32.Tpo -c -o plugingui-nativewindow_win32.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_win32.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_win32.cc'; fi`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_win32.Tpo $(DEPDIR)/plugingui-nativewindow_win32.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='plugingui-nativewindow_win32.obj' libtool=no @AMDEPBACKSLASH@
+plugingui-dgwindow.obj: $(top_srcdir)/plugingui/dgwindow.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-dgwindow.obj -MD -MP -MF $(DEPDIR)/plugingui-dgwindow.Tpo -c -o plugingui-dgwindow.obj `if test -f '$(top_srcdir)/plugingui/dgwindow.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/dgwindow.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/dgwindow.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-dgwindow.Tpo $(DEPDIR)/plugingui-dgwindow.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/dgwindow.cc' object='plugingui-dgwindow.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_win32.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_win32.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_win32.cc'; fi`
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-dgwindow.obj `if test -f '$(top_srcdir)/plugingui/dgwindow.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/dgwindow.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/dgwindow.cc'; fi`
plugingui-plugingui.o: $(top_srcdir)/plugingui/plugingui.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-plugingui.o -MD -MP -MF $(DEPDIR)/plugingui-plugingui.Tpo -c -o plugingui-plugingui.o `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
@@ -876,6 +929,34 @@ plugingui-scrollbar.obj: $(top_srcdir)/plugingui/scrollbar.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-scrollbar.obj `if test -f '$(top_srcdir)/plugingui/scrollbar.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/scrollbar.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/scrollbar.cc'; fi`
+plugingui-textedit.o: $(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-textedit.o -MD -MP -MF $(DEPDIR)/plugingui-textedit.Tpo -c -o plugingui-textedit.o `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-textedit.Tpo $(DEPDIR)/plugingui-textedit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/textedit.cc' object='plugingui-textedit.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-textedit.o `test -f '$(top_srcdir)/plugingui/textedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/textedit.cc
+
+plugingui-textedit.obj: $(top_srcdir)/plugingui/textedit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-textedit.obj -MD -MP -MF $(DEPDIR)/plugingui-textedit.Tpo -c -o plugingui-textedit.obj `if test -f '$(top_srcdir)/plugingui/textedit.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/textedit.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/textedit.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-textedit.Tpo $(DEPDIR)/plugingui-textedit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/textedit.cc' object='plugingui-textedit.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-textedit.obj `if test -f '$(top_srcdir)/plugingui/textedit.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/textedit.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/textedit.cc'; fi`
+
+plugingui-layout.o: $(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-layout.o -MD -MP -MF $(DEPDIR)/plugingui-layout.Tpo -c -o plugingui-layout.o `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-layout.Tpo $(DEPDIR)/plugingui-layout.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/layout.cc' object='plugingui-layout.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-layout.o `test -f '$(top_srcdir)/plugingui/layout.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/layout.cc
+
+plugingui-layout.obj: $(top_srcdir)/plugingui/layout.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-layout.obj -MD -MP -MF $(DEPDIR)/plugingui-layout.Tpo -c -o plugingui-layout.obj `if test -f '$(top_srcdir)/plugingui/layout.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/layout.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/layout.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-layout.Tpo $(DEPDIR)/plugingui-layout.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/layout.cc' object='plugingui-layout.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-layout.obj `if test -f '$(top_srcdir)/plugingui/layout.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/layout.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/layout.cc'; fi`
+
plugingui-listbox.o: $(top_srcdir)/plugingui/listbox.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-listbox.o -MD -MP -MF $(DEPDIR)/plugingui-listbox.Tpo -c -o plugingui-listbox.o `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-listbox.Tpo $(DEPDIR)/plugingui-listbox.Po
@@ -1072,6 +1153,62 @@ plugingui-lodepng.obj: $(top_srcdir)/plugingui/lodepng/lodepng.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-lodepng.obj `if test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/lodepng/lodepng.cpp'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/lodepng/lodepng.cpp'; fi`
+plugingui-nativewindow_x11.o: $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_x11.o -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_x11.Tpo -c -o plugingui-nativewindow_x11.o `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_x11.Tpo $(DEPDIR)/plugingui-nativewindow_x11.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='plugingui-nativewindow_x11.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_x11.o `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
+
+plugingui-nativewindow_x11.obj: $(top_srcdir)/plugingui/nativewindow_x11.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_x11.obj -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_x11.Tpo -c -o plugingui-nativewindow_x11.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_x11.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_x11.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_x11.Tpo $(DEPDIR)/plugingui-nativewindow_x11.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='plugingui-nativewindow_x11.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_x11.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_x11.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_x11.cc'; fi`
+
+plugingui-nativewindow_win32.o: $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_win32.o -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_win32.Tpo -c -o plugingui-nativewindow_win32.o `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_win32.Tpo $(DEPDIR)/plugingui-nativewindow_win32.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='plugingui-nativewindow_win32.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_win32.o `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
+
+plugingui-nativewindow_win32.obj: $(top_srcdir)/plugingui/nativewindow_win32.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_win32.obj -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_win32.Tpo -c -o plugingui-nativewindow_win32.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_win32.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_win32.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_win32.Tpo $(DEPDIR)/plugingui-nativewindow_win32.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='plugingui-nativewindow_win32.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_win32.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_win32.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_win32.cc'; fi`
+
+plugingui-nativewindow_pugl.o: $(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_pugl.o -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_pugl.Tpo -c -o plugingui-nativewindow_pugl.o `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_pugl.Tpo $(DEPDIR)/plugingui-nativewindow_pugl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_pugl.cc' object='plugingui-nativewindow_pugl.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_pugl.o `test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_pugl.cc
+
+plugingui-nativewindow_pugl.obj: $(top_srcdir)/plugingui/nativewindow_pugl.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-nativewindow_pugl.obj -MD -MP -MF $(DEPDIR)/plugingui-nativewindow_pugl.Tpo -c -o plugingui-nativewindow_pugl.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_pugl.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_pugl.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-nativewindow_pugl.Tpo $(DEPDIR)/plugingui-nativewindow_pugl.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_pugl.cc' object='plugingui-nativewindow_pugl.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-nativewindow_pugl.obj `if test -f '$(top_srcdir)/plugingui/nativewindow_pugl.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/nativewindow_pugl.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/nativewindow_pugl.cc'; fi`
+
+plugingui-configfile.o: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-configfile.o -MD -MP -MF $(DEPDIR)/plugingui-configfile.Tpo -c -o plugingui-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-configfile.Tpo $(DEPDIR)/plugingui-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='plugingui-configfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+plugingui-configfile.obj: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-configfile.obj -MD -MP -MF $(DEPDIR)/plugingui-configfile.Tpo -c -o plugingui-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-configfile.Tpo $(DEPDIR)/plugingui-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='plugingui-configfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -c -o plugingui-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+
plugingui-thread.o: $(top_srcdir)/src/thread.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugingui_CXXFLAGS) $(CXXFLAGS) -MT plugingui-thread.o -MD -MP -MF $(DEPDIR)/plugingui-thread.Tpo -c -o plugingui-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/plugingui-thread.Tpo $(DEPDIR)/plugingui-thread.Po
diff --git a/plugingui/button.cc b/plugingui/button.cc
index c316ef3..b4e3fee 100644
--- a/plugingui/button.cc
+++ b/plugingui/button.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -31,127 +31,134 @@
#include <stdio.h>
#include <hugin.hpp>
-GUI::Button::Button(Widget *parent)
- : GUI::Widget(parent)
-{
- box_up.topLeft = new Image(":pushbutton_tl.png");
- box_up.top = new Image(":pushbutton_t.png");
- box_up.topRight = new Image(":pushbutton_tr.png");
- box_up.left = new Image(":pushbutton_l.png");
- box_up.right = new Image(":pushbutton_r.png");
- box_up.bottomLeft = new Image(":pushbutton_bl.png");
- box_up.bottom = new Image(":pushbutton_b.png");
- box_up.bottomRight = new Image(":pushbutton_br.png");
- box_up.center = new Image(":pushbutton_c.png");
-
- box_down.topLeft = new Image(":pushbuttondown_tl.png");
- box_down.top = new Image(":pushbuttondown_t.png");
- box_down.topRight = new Image(":pushbuttondown_tr.png");
- box_down.left = new Image(":pushbuttondown_l.png");
- box_down.right = new Image(":pushbuttondown_r.png");
- box_down.bottomLeft = new Image(":pushbuttondown_bl.png");
- box_down.bottom = new Image(":pushbuttondown_b.png");
- box_down.bottomRight = new Image(":pushbuttondown_br.png");
- box_down.center = new Image(":pushbuttondown_c.png");
-
- draw_state = up;
- button_state = up;
-
- handler = NULL;
- ptr = NULL;
-}
+namespace GUI {
-void GUI::Button::registerClickHandler(void (*handler)(void *), void *ptr)
+Button::Button(Widget *parent)
+ : Widget(parent)
+ , draw_state(up)
+ , button_state(up)
{
- this->handler = handler;
- this->ptr = ptr;
+ box_up.topLeft = new Image(":pushbutton_tl.png");
+ box_up.top = new Image(":pushbutton_t.png");
+ box_up.topRight = new Image(":pushbutton_tr.png");
+ box_up.left = new Image(":pushbutton_l.png");
+ box_up.right = new Image(":pushbutton_r.png");
+ box_up.bottomLeft = new Image(":pushbutton_bl.png");
+ box_up.bottom = new Image(":pushbutton_b.png");
+ box_up.bottomRight = new Image(":pushbutton_br.png");
+ box_up.center = new Image(":pushbutton_c.png");
+
+ box_down.topLeft = new Image(":pushbuttondown_tl.png");
+ box_down.top = new Image(":pushbuttondown_t.png");
+ box_down.topRight = new Image(":pushbuttondown_tr.png");
+ box_down.left = new Image(":pushbuttondown_l.png");
+ box_down.right = new Image(":pushbuttondown_r.png");
+ box_down.bottomLeft = new Image(":pushbuttondown_bl.png");
+ box_down.bottom = new Image(":pushbuttondown_b.png");
+ box_down.bottomRight = new Image(":pushbuttondown_br.png");
+ box_down.center = new Image(":pushbuttondown_c.png");
}
-void GUI::Button::buttonEvent(ButtonEvent *e)
+Button::~Button()
{
- if(e->direction == 1) {
- draw_state = down;
- button_state = down;
- in_button = true;
- repaintEvent(NULL);
- }
- if(e->direction == -1) {
- draw_state = up;
- button_state = up;
- repaintEvent(NULL);
- if(in_button) {
- clicked();
- if(handler) handler(ptr);
- }
- }
+ delete(box_up.topLeft);
+ delete(box_up.top);
+ delete(box_up.topRight);
+ delete(box_up.left);
+ delete(box_up.right);
+ delete(box_up.bottomLeft);
+ delete(box_up.bottom);
+ delete(box_up.bottomRight);
+ delete(box_up.center);
+ delete(box_down.topLeft);
+ delete(box_down.top);
+ delete(box_down.topRight);
+ delete(box_down.left);
+ delete(box_down.right);
+ delete(box_down.bottomLeft);
+ delete(box_down.bottom);
+ delete(box_down.bottomRight);
+ delete(box_down.center);
}
-void GUI::Button::repaintEvent(GUI::RepaintEvent *e)
+void Button::buttonEvent(ButtonEvent* buttonEvent)
{
- Painter p(this);
-
- p.clear();
-
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
-
- switch(draw_state) {
- case up:
- p.drawBox(0, 0, &box_up, w, h);
- break;
- case down:
- p.drawBox(0, 0, &box_down, w, h);
- break;
- }
-
- Font font(":fontemboss.png");
- p.setColour(Colour(0.1));
- p.drawText(width()/2-(text.length()*3)+(draw_state==up?0:1),
- height()/2+5+1+(draw_state==up?0:1), font, text, true);
+ if(buttonEvent->direction == Direction::down)
+ {
+ draw_state = down;
+ button_state = down;
+ in_button = true;
+ repaintEvent(nullptr);
+ }
+
+ if(buttonEvent->direction == Direction::up)
+ {
+ draw_state = up;
+ button_state = up;
+ repaintEvent(nullptr);
+ if(in_button)
+ {
+ clicked();
+ clickNotifier();
+ }
+ }
}
-void GUI::Button::setText(std::string text)
+void Button::repaintEvent(RepaintEvent* repaintEvent)
{
- this->text = text;
- repaintEvent(NULL);
+ Painter p(*this);
+
+ p.clear();
+
+ int padTop = 3;
+ int padLeft = 0;
+
+ int w = width();
+ int h = height();
+ if(w == 0 || h == 0)
+ {
+ return;
+ }
+
+ switch(draw_state) {
+ case up:
+ p.drawBox(padLeft, padTop, box_up, w - padLeft, h - padTop);
+ break;
+ case down:
+ p.drawBox(padLeft, padTop, box_down, w - padLeft, h - padTop);
+ break;
+ }
+
+ p.setColour(Colour(0.1));
+ p.drawText(width()/2-(text.length()*3)+(draw_state==up?0:1) + (padLeft / 2),
+ height()/2+5+1+(draw_state==up?0:1) + (padTop / 2), font, text,
+ true);
}
-void GUI::Button::mouseLeaveEvent()
+void Button::setText(const std::string& text)
{
- in_button = false;
- if(button_state == down) {
- draw_state = up;
- repaintEvent(NULL);
- }
+ this->text = text;
+ repaintEvent(nullptr);
}
-void GUI::Button::mouseEnterEvent()
+void Button::mouseLeaveEvent()
{
- in_button = true;
- if(button_state == down) {
- draw_state = down;
- repaintEvent(NULL);
- }
+ in_button = false;
+ if(button_state == down)
+ {
+ draw_state = up;
+ repaintEvent(nullptr);
+ }
}
-void GUI::Button::mouseMoveEvent(MouseMoveEvent *e)
+void Button::mouseEnterEvent()
{
+ in_button = true;
+ if(button_state == down)
+ {
+ draw_state = down;
+ repaintEvent(nullptr);
+ }
}
-#ifdef TEST_BUTTON
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_BUTTON*/
+} //GUI::
diff --git a/plugingui/button.h b/plugingui/button.h
index 682dfa2..7e3e168 100644
--- a/plugingui/button.h
+++ b/plugingui/button.h
@@ -11,70 +11,69 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_BUTTON_H__
-#define __DRUMGIZMO_BUTTON_H__
+#pragma once
#include <string>
#include "widget.h"
#include "painter.h"
+#include "notifier.h"
+#include "font.h"
namespace GUI {
class Button : public Widget {
public:
- Button(Widget *parent);
+ Button(Widget *parent);
+ ~Button();
- bool isFocusable() { return true; }
- bool catchMouse() { return true; }
+ // From Widget:
+ bool isFocusable() override { return true; }
+ bool catchMouse() override { return true; }
- void setText(std::string text);
+ void setText(const std::string& text);
- void registerClickHandler(void (*handler)(void *), void *ptr);
+ Notifier<> clickNotifier;
- //protected:
- virtual void clicked() {}
+protected:
+ virtual void clicked() {}
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
-
- virtual void mouseLeaveEvent();
- virtual void mouseEnterEvent();
- virtual void mouseMoveEvent(MouseMoveEvent *e);
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* e) override;
+ virtual void buttonEvent(ButtonEvent* e) override;
+ virtual void mouseLeaveEvent() override;
+ virtual void mouseEnterEvent() override;
private:
- bool in_button;
-
- Painter::Box box_up;
- Painter::Box box_down;
+ bool in_button{false};
- typedef enum {
- up,
- down
- } state_t;
+ Painter::Box box_up;
+ Painter::Box box_down;
- std::string text;
+ typedef enum {
+ up,
+ down
+ } state_t;
- state_t draw_state;
- state_t button_state;
+ std::string text;
- void (*handler)(void *);
- void *ptr;
-};
+ Font font{":fontemboss.png"};
+ state_t draw_state{up};
+ state_t button_state{up};
};
-#endif/*__DRUMGIZMO_BUTTON_H__*/
+} // GUI::
diff --git a/plugingui/checkbox.cc b/plugingui/checkbox.cc
index faf3741..6419fc3 100644
--- a/plugingui/checkbox.cc
+++ b/plugingui/checkbox.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -30,101 +30,126 @@
#include <stdio.h>
-GUI::CheckBox::CheckBox(Widget *parent)
- : GUI::Widget(parent),
- bg_on(":switch_back_on.png"), bg_off(":switch_back_off.png"),
- knob(":switch_front.png")
+namespace GUI {
+
+CheckBox::CheckBox(Widget* parent)
+ : Widget(parent)
+ , bg_on(":switch_back_on.png")
+ , bg_off(":switch_back_off.png")
+ , knob(":switch_front.png")
+ , state(false)
+ , middle(false)
{
- middle = false;
- state = false;
- handler = NULL;
}
-void GUI::CheckBox::buttonEvent(ButtonEvent *e)
+void CheckBox::buttonEvent(ButtonEvent* buttonEvent)
{
- if(e->direction == -1 || e->doubleclick) {
- state = !state;
- middle = false;
- if(handler) handler(ptr);
- } else {
- middle = true;
- }
-
- repaintEvent(NULL);
+ if((buttonEvent->direction == Direction::up) || buttonEvent->doubleClick)
+ {
+ buttonDown = false;
+ middle = false;
+ if(inCheckbox)
+ {
+ internalSetChecked(!state);
+ }
+ }
+ else
+ {
+ buttonDown = true;
+ middle = true;
+ }
+
+ repaintEvent(nullptr);
}
-void GUI::CheckBox::setText(std::string text)
+void CheckBox::setText(std::string text)
{
- _text = text;
- repaintEvent(NULL);
+ _text = text;
+ repaintEvent(nullptr);
}
-void GUI::CheckBox::registerClickHandler(void (*handler)(void *), void *ptr)
+void CheckBox::keyEvent(KeyEvent* keyEvent)
{
- this->handler = handler;
- this->ptr = ptr;
+ if(keyEvent->keycode == Key::character && keyEvent->text == " ")
+ {
+ if(keyEvent->direction == Direction::up)
+ {
+ middle = false;
+ internalSetChecked(!state);
+ }
+ else
+ {
+ middle = true;
+ }
+
+ repaintEvent(nullptr);
+ }
}
-void GUI::CheckBox::keyEvent(KeyEvent *e)
+void CheckBox::repaintEvent(RepaintEvent* repaintEvent)
{
- if(e->keycode == GUI::KeyEvent::KEY_CHARACTER && e->text == " ") {
- if(e->direction == -1) {
- state = !state;
- middle = false;
- } else {
- middle = true;
- }
-
- repaintEvent(NULL);
- }
+ Painter p(*this);
+
+ p.clear();
+
+ p.drawImage(0, (knob.height() - bg_on.height()) / 2, state ? bg_on : bg_off);
+
+ if(middle)
+ {
+ p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, knob);
+ return;
+ }
+
+ if(state)
+ {
+ p.drawImage(bg_on.width() - 40 + 2, 0, knob);
+ }
+ else
+ {
+ p.drawImage(0, 0, knob);
+ }
}
-void GUI::CheckBox::repaintEvent(GUI::RepaintEvent *e)
+bool CheckBox::checked()
{
- Painter p(this);
-
- p.clear();
-
- if(state) {
- p.drawImage(0, (knob.height() - bg_on.height()) / 2, &bg_on);
- if(middle) p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
- else p.drawImage(bg_on.width() - 40 + 2, 0, &knob);
- } else {
- p.drawImage(0, (knob.height() - bg_off.height()) / 2, &bg_off);
- if(middle) p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
- else p.drawImage(0, 0, &knob);
- }
- /*
- p.setColour(Colour(1));
- Font font;
- p.drawText(box + 8, height() / 2 + 5, font, _text);
- */
+ return state;
}
-bool GUI::CheckBox::checked()
+void CheckBox::setChecked(bool c)
{
- return state;
+ internalSetChecked(c);
}
-void GUI::CheckBox::setChecked(bool c)
+void CheckBox::mouseLeaveEvent()
{
- state = c;
- repaintEvent(NULL);
+ inCheckbox = false;
+ if(buttonDown)
+ {
+ middle = false;
+ repaintEvent(nullptr);
+ }
}
-#ifdef TEST_CHECKBOX
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
+void CheckBox::mouseEnterEvent()
+{
+ inCheckbox = true;
+ if(buttonDown)
+ {
+ middle = true;
+ repaintEvent(nullptr);
+ }
+}
-TEST_END;
+void CheckBox::internalSetChecked(bool checked)
+{
+ if(checked == state)
+ {
+ return;
+ }
+
+ state = checked;
+ stateChangedNotifier(state);
+ repaintEvent(nullptr);
+}
-#endif/*TEST_CHECKBOX*/
+} // GUI::
diff --git a/plugingui/checkbox.h b/plugingui/checkbox.h
index 1d6f9d6..3da5511 100644
--- a/plugingui/checkbox.h
+++ b/plugingui/checkbox.h
@@ -11,61 +11,63 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_CHECKBOX_H__
-#define __DRUMGIZMO_CHECKBOX_H__
+#pragma once
#include "widget.h"
#include "image.h"
+#include "notifier.h"
namespace GUI {
class CheckBox : public Widget {
public:
- CheckBox(Widget *parent);
+ CheckBox(Widget *parent);
- void setText(std::string text);
+ void setText(std::string text);
- bool isFocusable() { return true; }
+ // From Widget:
+ bool isFocusable() override { return true; }
+ bool catchMouse() override { return true; }
- bool checked();
- void setChecked(bool checked);
+ bool checked();
+ void setChecked(bool checked);
- void registerClickHandler(void (*handler)(void *), void *ptr);
+ Notifier<bool> stateChangedNotifier;
- //protected:
- virtual void clicked() {}
-
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
- virtual void keyEvent(KeyEvent *e);
+protected:
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent* buttonEvent) override;
+ virtual void keyEvent(KeyEvent* keyEvent) override;
+ virtual void mouseLeaveEvent() override;
+ virtual void mouseEnterEvent() override;
private:
- Image bg_on;
- Image bg_off;
- Image knob;
-
- bool state;
- bool middle;
+ void internalSetChecked(bool checked);
- void (*handler)(void *);
- void *ptr;
+ Image bg_on;
+ Image bg_off;
+ Image knob;
- std::string _text;
-};
+ bool state;
+ bool middle;
+ bool buttonDown = false;
+ bool inCheckbox = false;
+ std::string _text;
};
-#endif/*__DRUMGIZMO_CHECKBOX_H__*/
+} // GUI::
diff --git a/plugingui/colour.cc b/plugingui/colour.cc
index 943011b..88bd75a 100644
--- a/plugingui/colour.cc
+++ b/plugingui/colour.cc
@@ -11,53 +11,40 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "colour.h"
-GUI::Colour::Colour()
+namespace GUI {
+
+Colour::Colour()
{
- red = blue = green = alpha = 1.0;
+ red = blue = green = alpha = 1.0;
}
-GUI::Colour::Colour(float grey, float a)
+Colour::Colour(float grey, float a)
{
- red = green = blue = grey;
- alpha = a;
+ red = green = blue = grey;
+ alpha = a;
}
-GUI::Colour::Colour(float r, float g, float b, float a)
+Colour::Colour(float r, float g, float b, float a)
{
- red = r;
- green = g;
- blue = b;
- alpha = a;
+ red = r;
+ green = g;
+ blue = b;
+ alpha = a;
}
-#ifdef TEST_COLOUR
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_COLOUR*/
+} // GUI::
diff --git a/plugingui/colour.h b/plugingui/colour.h
index 92ec99e..a02a6b0 100644
--- a/plugingui/colour.h
+++ b/plugingui/colour.h
@@ -11,41 +11,38 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_COLOUR_H__
-#define __DRUMGIZMO_COLOUR_H__
+#pragma once
namespace GUI {
class Colour {
public:
- Colour();
+ Colour();
- Colour(float grey, float alpha = 1.0);
+ Colour(float grey, float alpha = 1.0);
- Colour(float red,
- float green,
- float blue,
- float alpha = 1.0);
+ Colour(float red,
+ float green,
+ float blue,
+ float alpha = 1.0);
- float red;
- float green;
- float blue;
- float alpha;
+ float red;
+ float green;
+ float blue;
+ float alpha;
};
-};
-
-#endif/*__DRUMGIZMO_COLOUR_H__*/
+} // GUI::
diff --git a/plugingui/combobox.cc b/plugingui/combobox.cc
index 4637282..e6ed3f6 100644
--- a/plugingui/combobox.cc
+++ b/plugingui/combobox.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -33,199 +33,215 @@
#define BORDER 10
-void listboxSelectHandler(void *ptr)
-{
- GUI::ComboBox *c = (GUI::ComboBox*)ptr;
- GUI::ButtonEvent e;
- e.direction = 1;
- c->buttonEvent(&e);
-}
+namespace GUI {
-GUI::ComboBox::ComboBox(GUI::Widget *parent)
- : GUI::Widget(parent)
+void ComboBox::listboxSelectHandler()
{
- handler = NULL;
- ptr = NULL;
-
- box.topLeft = new Image(":widget_tl.png");
- box.top = new Image(":widget_t.png");
- box.topRight = new Image(":widget_tr.png");
- box.left = new Image(":widget_l.png");
- box.right = new Image(":widget_r.png");
- box.bottomLeft = new Image(":widget_bl.png");
- box.bottom = new Image(":widget_b.png");
- box.bottomRight = new Image(":widget_br.png");
- box.center = new Image(":widget_c.png");
-
- listbox = new GUI::ListBoxThin(parent);
- listbox->registerSelectHandler(listboxSelectHandler, this);
- listbox->registerClickHandler(listboxSelectHandler, this);
- listbox->hide();
+ ButtonEvent buttonEvent;
+ buttonEvent.direction = Direction::down;
+ this->buttonEvent(&buttonEvent);
}
-GUI::ComboBox::~ComboBox()
+ComboBox::ComboBox(Widget* parent)
+ : Widget(parent)
+ , listbox(parent)
{
+ box.topLeft = new Image(":widget_tl.png");
+ box.top = new Image(":widget_t.png");
+ box.topRight = new Image(":widget_tr.png");
+ box.left = new Image(":widget_l.png");
+ box.right = new Image(":widget_r.png");
+ box.bottomLeft = new Image(":widget_bl.png");
+ box.bottom = new Image(":widget_b.png");
+ box.bottomRight = new Image(":widget_br.png");
+ box.center = new Image(":widget_c.png");
+
+ CONNECT(&listbox, selectionNotifier, this, &ComboBox::listboxSelectHandler);
+ CONNECT(&listbox, clickNotifier, this, &ComboBox::listboxSelectHandler);
+
+ listbox.hide();
}
-void GUI::ComboBox::addItem(std::string name, std::string value)
+ComboBox::~ComboBox()
{
- listbox->addItem(name, value);
+ delete box.topLeft;
+ delete box.top;
+ delete box.topRight;
+ delete box.left;
+ delete box.right;
+ delete box.bottomLeft;
+ delete box.bottom;
+ delete box.bottomRight;
+ delete box.center;
}
-void GUI::ComboBox::clear()
+void ComboBox::addItem(std::string name, std::string value)
{
- listbox->clear();
- repaintEvent(NULL);
+ listbox.addItem(name, value);
}
-bool GUI::ComboBox::selectItem(int index)
+void ComboBox::clear()
{
- listbox->selectItem(index);
- repaintEvent(NULL);
- return true;
+ listbox.clear();
+ repaintEvent(nullptr);
}
-std::string GUI::ComboBox::selectedName()
+bool ComboBox::selectItem(int index)
{
- return listbox->selectedName();
+ listbox.selectItem(index);
+ repaintEvent(nullptr);
+ return true;
}
-std::string GUI::ComboBox::selectedValue()
+std::string ComboBox::selectedName()
{
- return listbox->selectedValue();
+ return listbox.selectedName();
}
-void GUI::ComboBox::registerValueChangedHandler(void (*handler)(void *),
- void *ptr)
+std::string ComboBox::selectedValue()
{
- this->handler = handler;
- this->ptr = ptr;
+ return listbox.selectedValue();
}
-static void drawArrow(GUI::Painter &p, int x, int y, int w, int h)
+static void drawArrow(Painter &p, int x, int y, int w, int h)
{
- p.drawLine(x, y, x+(w/2), y+h);
- p.drawLine(x+(w/2), y+h, x+w, y);
+ p.drawLine(x, y, x+(w/2), y+h);
+ p.drawLine(x+(w/2), y+h, x+w, y);
- y++;
- p.drawLine(x, y, x+(w/2), y+h);
- p.drawLine(x+(w/2), y+h, x+w, y);
+ y++;
+ p.drawLine(x, y, x+(w/2), y+h);
+ p.drawLine(x+(w/2), y+h, x+w, y);
}
-void GUI::ComboBox::repaintEvent(GUI::RepaintEvent *e)
+void ComboBox::repaintEvent(RepaintEvent* repaintEvent)
{
- Painter p(this);
+ Painter p(*this);
+
+ p.clear();
- p.clear();
+ std::string _text = selectedName();
- std::string _text = selectedName();
+ int w = width();
+ int h = height();
+ if(w == 0 || h == 0)
+ {
+ return;
+ }
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
- p.drawBox(0, 0, &box, w, h);
+ p.drawBox(0, 0, box, w, h);
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
- p.drawText(BORDER - 4 + 3, height()/2+5 + 1 + 1, font, _text);
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
+ p.drawText(BORDER - 4 + 3, height()/2+5 + 1 + 1, font, _text);
- // p.setColour(Colour(1, 1, 1));
- // p.drawText(BORDER - 4, (height()+font.textHeight()) / 2 + 1, font, _text);
+ // p.setColour(Colour(1, 1, 1));
+ // p.drawText(BORDER - 4, (height()+font.textHeight()) / 2 + 1, font, _text);
- //int n = height() / 2;
+ //int n = height() / 2;
- // p.drawLine(width() - n - 6, 1 + 6, width() - 1 - 6, 1 + 6);
- {
- int w = 10;
- int h = 6;
- drawArrow(p, width() - 6 - 4 - w, (height() - h) / 2, w, h);
- p.drawLine(width() - 6 - 4 - w - 4, 7,
- width() - 6 - 4 - w - 4, height() - 8);
- }
+ // p.drawLine(width() - n - 6, 1 + 6, width() - 1 - 6, 1 + 6);
+ {
+ int w = 10;
+ int h = 6;
+ drawArrow(p, width() - 6 - 4 - w, (height() - h) / 2, w, h);
+ p.drawLine(width() - 6 - 4 - w - 4, 7,
+ width() - 6 - 4 - w - 4, height() - 8);
+ }
}
-void GUI::ComboBox::scrollEvent(ScrollEvent *e)
+void ComboBox::scrollEvent(ScrollEvent* scrollEvent)
{
- /*
- scroll_offset += e->delta;
- if(scroll_offset < 0) scroll_offset = 0;
- if(scroll_offset > (items.size() - 1))
- scroll_offset = (items.size() - 1);
- repaintEvent(NULL);
- */
+ /*
+ scroll_offset += e->delta;
+ if(scroll_offset < 0)
+ {
+ scroll_offset = 0;
+ }
+ if(scroll_offset > (items.size() - 1))
+ {
+ scroll_offset = (items.size() - 1);
+ }
+ repaintEvent(nullptr);
+ */
}
-void GUI::ComboBox::keyEvent(GUI::KeyEvent *e)
+void ComboBox::keyEvent(KeyEvent* keyEvent)
{
- if(e->direction != -1) return;
-
- /*
- switch(e->keycode) {
- case GUI::KeyEvent::KEY_UP:
- {
- selected--;
- if(selected < 0) selected = 0;
- if(selected < scroll_offset) {
- scroll_offset = selected;
- if(scroll_offset < 0) scroll_offset = 0;
- }
- }
- break;
- case GUI::KeyEvent::KEY_DOWN:
- {
- // Number of items that can be displayed at a time.
- int numitems = height() / (font.textHeight() + padding);
-
- selected++;
- if(selected > (items.size() - 1))
- selected = (items.size() - 1);
- if(selected > (scroll_offset + numitems - 1)) {
- scroll_offset = selected - numitems + 1;
- if(scroll_offset > (items.size() - 1))
- scroll_offset = (items.size() - 1);
- }
- }
- break;
- case GUI::KeyEvent::KEY_HOME:
- selected = 0;
- break;
- case GUI::KeyEvent::KEY_END:
- selected = items.size() - 1;
- break;
- default:
- break;
- }
-
- repaintEvent(NULL);
- */
+ if(keyEvent->direction != Direction::up)
+ {
+ return;
+ }
+
+ /*
+ switch(keyEvent->keycode) {
+ case Key::up:
+ {
+ selected--;
+ if(selected < 0)
+ {
+ selected = 0;
+ }
+ if(selected < scroll_offset)
+ {
+ scroll_offset = selected;
+ if(scroll_offset < 0)
+ {
+ scroll_offset = 0;
+ }
+ }
+ }
+ break;
+ case Key::down:
+ {
+ // Number of items that can be displayed at a time.
+ int numitems = height() / (font.textHeight() + padding);
+
+ selected++;
+ if(selected > (items.size() - 1))
+ {
+ selected = (items.size() - 1);
+ }
+ if(selected > (scroll_offset + numitems - 1))
+ {
+ scroll_offset = selected - numitems + 1;
+ if(scroll_offset > (items.size() - 1))
+ {
+ scroll_offset = (items.size() - 1);
+ }
+ }
+ }
+ break;
+ case Key::home:
+ selected = 0;
+ break;
+ case Key::end:
+ selected = items.size() - 1;
+ break;
+ default:
+ break;
+ }
+
+ repaintEvent(nullptr);
+ */
}
-void GUI::ComboBox::buttonEvent(ButtonEvent *e)
+void ComboBox::buttonEvent(ButtonEvent* buttonEvent)
{
- if(e->direction != 1) return;
-
- if(!listbox->visible()) {
- listbox->resize(width() - 10, 100);
- listbox->move(x() + 5, y() + height() - 7);
- } else {
- if(handler) handler(ptr);
- }
-
- listbox->setVisible(!listbox->visible());
+ if(buttonEvent->direction != Direction::down)
+ {
+ return;
+ }
+
+ if(!listbox.visible())
+ {
+ listbox.resize(width() - 10, 100);
+ listbox.move(x() + 5, y() + height() - 7);
+ }
+ else
+ {
+ valueChangedNotifier(listbox.selectedName(), listbox.selectedValue());
+ }
+
+ listbox.setVisible(!listbox.visible());
}
-#ifdef TEST_COMBOBOX
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_COMBOBOX*/
+} // GUI::
diff --git a/plugingui/combobox.h b/plugingui/combobox.h
index bc4ae38..bb92fcd 100644
--- a/plugingui/combobox.h
+++ b/plugingui/combobox.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_COMBOBOX_H__
-#define __DRUMGIZMO_COMBOBOX_H__
+#pragma once
#include <string.h>
#include <vector>
@@ -39,35 +38,32 @@ namespace GUI {
class ComboBox : public Widget {
public:
- ComboBox(Widget *parent);
- ~ComboBox();
+ ComboBox(Widget* parent);
+ ~ComboBox();
- bool isFocusable() { return true; }
+ void addItem(std::string name, std::string value);
- void addItem(std::string name, std::string value);
+ void clear();
+ bool selectItem(int index);
+ std::string selectedName();
+ std::string selectedValue();
- void clear();
- bool selectItem(int index);
- std::string selectedName();
- std::string selectedValue();
+ // From Widget:
+ bool isFocusable() override { return true; }
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent* buttonEvent) override;
+ virtual void scrollEvent(ScrollEvent* scrollEvent) override;
+ virtual void keyEvent(KeyEvent* keyEvent) override;
- void registerValueChangedHandler(void (*handler)(void *), void *ptr);
-
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
- virtual void scrollEvent(ScrollEvent *e);
- virtual void keyEvent(KeyEvent *e);
+ Notifier<std::string, std::string> valueChangedNotifier;
private:
- Painter::Box box;
-
- GUI::Font font;
- GUI::ListBoxThin *listbox;
+ Painter::Box box;
- void (*handler)(void *);
- void *ptr;
-};
+ void listboxSelectHandler();
+ Font font;
+ ListBoxThin listbox;
};
-#endif/*__DRUMGIZMO_COMBOBOX_H__*/
+} // GUI::
diff --git a/plugingui/dgwindow.cc b/plugingui/dgwindow.cc
new file mode 100644
index 0000000..86a985d
--- /dev/null
+++ b/plugingui/dgwindow.cc
@@ -0,0 +1,346 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * dgwindow.cc
+ *
+ * Mon Nov 23 20:30:45 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "dgwindow.h"
+
+#include "knob.h"
+#include "verticalline.h"
+#include "../version.h"
+
+#include "messagehandler.h"
+#include "pluginconfig.h"
+
+namespace GUI {
+
+class LabeledControl : public Widget
+{
+public:
+ LabeledControl(Widget* parent, const std::string& name)
+ : Widget(parent)
+ {
+ layout.setResizeChildren(false);
+ layout.setHAlignment(HAlignment::center);
+
+ caption.setText(name);
+ caption.resize(100, 20);
+ caption.setAlignment(TextAlignment::center);
+ layout.addItem(&caption);
+ }
+
+ void setControl(Widget* control)
+ {
+ layout.addItem(control);
+ }
+
+ VBoxLayout layout{this};
+
+ Label caption{this};
+};
+
+class File : public Widget
+{
+public:
+ File(Widget* parent)
+ : Widget(parent)
+ {
+ layout.setResizeChildren(false);
+ layout.setVAlignment(VAlignment::center);
+
+ lineedit.resize(243, 29);
+ layout.addItem(&lineedit);
+
+ browseButton.setText("Browse...");
+ browseButton.resize(85, 41);
+ layout.addItem(&browseButton);
+ }
+
+ HBoxLayout layout{this};
+
+ LineEdit lineedit{this};
+ Button browseButton{this};
+};
+
+class HumanizeControls : public Widget
+{
+public:
+ HumanizeControls(Widget* parent)
+ : Widget(parent)
+ {
+ layout.setResizeChildren(false);
+ layout.setVAlignment(VAlignment::center);
+
+ velocity.resize(80, 80);
+ velocityCheck.resize(59, 38);
+ velocity.setControl(&velocityCheck);
+ layout.addItem(&velocity);
+
+ attack.resize(80, 80);
+ attackKnob.resize(60, 60);
+ attack.setControl(&attackKnob);
+ layout.addItem(&attack);
+
+ falloff.resize(80, 80);
+ falloffKnob.resize(60, 60);
+ falloff.setControl(&falloffKnob);
+ layout.addItem(&falloff);
+ }
+
+ HBoxLayout layout{this};
+
+ LabeledControl velocity{this, "Humanizer"};
+ LabeledControl attack{this, "Attack"};
+ LabeledControl falloff{this, "Release"};
+
+ CheckBox velocityCheck{&velocity};
+ Knob attackKnob{&attack};
+ Knob falloffKnob{&falloff};
+};
+
+DGWindow::DGWindow(void* native_window, MessageHandler& messageHandler,
+ Config& config)
+ : Window(native_window)
+ , messageHandler(messageHandler)
+ , config(config)
+{
+
+ int vlineSpacing = 16;
+
+ resize(370, 330);
+ setCaption("DrumGizmo v" VERSION);
+
+ layout.setResizeChildren(false);
+ layout.setHAlignment(HAlignment::center);
+// layout.setSpacing(0);
+
+ auto headerCaption = new Label(this);
+ headerCaption->setText("DrumGizmo");
+ headerCaption->setAlignment(TextAlignment::center);
+ headerCaption->resize(width() - 40, 32);
+ layout.addItem(headerCaption);
+
+ auto headerLine = new VerticalLine(this);
+ headerLine->resize(width() - 40, vlineSpacing);
+ layout.addItem(headerLine);
+
+ auto drumkitCaption = new Label(this);
+ drumkitCaption->setText("Drumkit file:");
+ drumkitCaption->resize(width() - 40, 15);
+ layout.addItem(drumkitCaption);
+
+ auto drumkitFile = new File(this);
+ drumkitFile->resize(width() - 40, 37);
+ lineedit = &drumkitFile->lineedit;
+ CONNECT(&drumkitFile->browseButton, clickNotifier,
+ this, &DGWindow::kitBrowseClick);
+ layout.addItem(drumkitFile);
+
+ drumkitFileProgress = new ProgressBar(this);
+ drumkitFileProgress->resize(width() - 40, 11);
+ layout.addItem(drumkitFileProgress);
+
+ VerticalLine *l = new VerticalLine(this);
+ l->resize(width() - 40, vlineSpacing);
+ layout.addItem(l);
+
+ auto midimapCaption = new Label(this);
+ midimapCaption->setText("Midimap file:");
+ midimapCaption->resize(width() - 40, 15);
+ layout.addItem(midimapCaption);
+
+ auto midimapFile = new File(this);
+ midimapFile->resize(width() - 40, 37);
+ lineedit2 = &midimapFile->lineedit;
+ CONNECT(&midimapFile->browseButton, clickNotifier,
+ this, &DGWindow::midimapBrowseClick);
+ layout.addItem(midimapFile);
+
+ midimapFileProgress = new ProgressBar(this);
+ midimapFileProgress->resize(width() - 40, 11);
+ layout.addItem(midimapFileProgress);
+
+ VerticalLine *l2 = new VerticalLine(this);
+ l2->resize(width() - 40, vlineSpacing);
+ layout.addItem(l2);
+
+ HumanizeControls* humanizeControls = new HumanizeControls(this);
+ humanizeControls->resize(80 * 3, 80);
+ layout.addItem(humanizeControls);
+ CONNECT(&humanizeControls->velocityCheck, stateChangedNotifier,
+ this, &DGWindow::velocityCheckClick);
+
+ CONNECT(&humanizeControls->attackKnob, valueChangedNotifier,
+ this, &DGWindow::attackValueChanged);
+
+ CONNECT(&humanizeControls->falloffKnob, valueChangedNotifier,
+ this, &DGWindow::falloffValueChanged);
+
+ // Store pointers for PluginGUI access:
+ velocityCheck = &humanizeControls->velocityCheck;
+ attackKnob = &humanizeControls->attackKnob;
+ falloffKnob = &humanizeControls->falloffKnob;
+
+ VerticalLine *l3 = new VerticalLine(this);
+ l3->resize(width() - 40, vlineSpacing);
+ layout.addItem(l3);
+
+ Label *lbl_version = new Label(this);
+ lbl_version->setText(".::. v" VERSION " .::. http://www.drumgizmo.org .::. LGPLv3 .::.");
+ lbl_version->resize(width(), 20);
+ lbl_version->setAlignment(TextAlignment::center);
+ layout.addItem(lbl_version);
+
+ // Create file browser
+ fileBrowser = new FileBrowser(this);
+ fileBrowser->move(0, 0);
+ fileBrowser->resize(this->width() - 1, this->height() - 1);
+ fileBrowser->hide();
+}
+
+void DGWindow::repaintEvent(RepaintEvent* repaintEvent)
+{
+ if(!visible())
+ {
+ return;
+ }
+
+ Painter p(*this);
+ p.drawImageStretched(0,0, back, width(), height());
+ p.drawImage(width() - logo.width(), height() - logo.height(), logo);
+}
+
+void DGWindow::attackValueChanged(float value)
+{
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_weight,
+ value);
+
+ messageHandler.sendMessage(MSGRCV_ENGINE, msg);
+
+#ifdef STANDALONE
+ int i = value * 4;
+ switch(i) {
+ case 0: drumkitFileProgress->setState(ProgressBarState::Off); break;
+ case 1: drumkitFileProgress->setState(ProgressBarState::Blue); break;
+ case 2: drumkitFileProgress->setState(ProgressBarState::Green); break;
+ case 3: drumkitFileProgress->setState(ProgressBarState::Red); break;
+ default: break;
+ }
+#endif
+}
+
+void DGWindow::falloffValueChanged(float value)
+{
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_falloff,
+ value);
+ messageHandler.sendMessage(MSGRCV_ENGINE, msg);
+
+#ifdef STANDALONE
+ drumkitFileProgress->setProgress(value);
+#endif
+}
+
+void DGWindow::velocityCheckClick(bool checked)
+{
+ ChangeSettingMessage *msg =
+ new ChangeSettingMessage(ChangeSettingMessage::enable_velocity_modifier,
+ checked);
+ messageHandler.sendMessage(MSGRCV_ENGINE, msg);
+}
+
+void DGWindow::kitBrowseClick()
+{
+ std::string path = lineedit->text();
+ if(path == "")
+ {
+ path = config.lastkit;
+ }
+
+ if(path == "")
+ {
+ path = lineedit2->text();
+ }
+
+ fileBrowser->setPath(path);
+ CONNECT(fileBrowser, fileSelectNotifier, this, &DGWindow::selectKitFile);
+ fileBrowser->show();
+}
+
+void DGWindow::midimapBrowseClick()
+{
+ std::string path = lineedit2->text();
+ if(path == "")
+ {
+ path = config.lastmidimap;
+ }
+
+ if(path == "")
+ {
+ path = lineedit->text();
+ }
+
+ fileBrowser->setPath(path);
+ CONNECT(fileBrowser, fileSelectNotifier, this, &DGWindow::selectMapFile);
+ fileBrowser->show();
+}
+
+void DGWindow::selectKitFile(const std::string& filename)
+{
+ lineedit->setText(filename);
+
+ fileBrowser->hide();
+
+ std::string drumkit = lineedit->text();
+
+ config.lastkit = drumkit;
+ config.save();
+
+ drumkitFileProgress->setProgress(0);
+ drumkitFileProgress->setState(ProgressBarState::Blue);
+
+ LoadDrumKitMessage *msg = new LoadDrumKitMessage();
+ msg->drumkitfile = drumkit;
+
+ messageHandler.sendMessage(MSGRCV_ENGINE, msg);
+}
+
+void DGWindow::selectMapFile(const std::string& filename)
+{
+ lineedit2->setText(filename);
+ fileBrowser->hide();
+
+ std::string midimap = lineedit2->text();
+
+ config.lastmidimap = midimap;
+ config.save();
+
+ LoadMidimapMessage *msg = new LoadMidimapMessage();
+ msg->midimapfile = midimap;
+ messageHandler.sendMessage(MSGRCV_ENGINE, msg);
+}
+
+
+} // GUI::
diff --git a/plugingui/dgwindow.h b/plugingui/dgwindow.h
new file mode 100644
index 0000000..605e87a
--- /dev/null
+++ b/plugingui/dgwindow.h
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * dgwindow.h
+ *
+ * Mon Nov 23 20:30:45 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include "window.h"
+
+#include "label.h"
+#include "lineedit.h"
+#include "checkbox.h"
+#include "button.h"
+#include "knob.h"
+#include "progressbar.h"
+#include "filebrowser.h"
+#include "layout.h"
+
+class MessageHandler;
+
+namespace GUI {
+
+class Config;
+class Header;
+class File;
+
+class DGWindow : public Window {
+public:
+ DGWindow(void* native_window, MessageHandler& messageHandler, Config& config);
+
+ Header* header;
+
+ File* drumkitFile;
+ LineEdit* lineedit;
+ ProgressBar* drumkitFileProgress;
+
+ File* midimapFile;
+ LineEdit* lineedit2;
+ ProgressBar* midimapFileProgress;
+
+ // Humanized velocity controls:
+ CheckBox* velocityCheck;
+ Knob* attackKnob;
+ Knob* falloffKnob;
+ FileBrowser* fileBrowser;
+
+protected:
+ // From Widget:
+ void repaintEvent(RepaintEvent* repaintEvent) override;
+
+private:
+ void attackValueChanged(float value);
+ void falloffValueChanged(float value);
+ void velocityCheckClick(bool checked);
+ void kitBrowseClick();
+ void midimapBrowseClick();
+ void selectKitFile(const std::string& filename);
+ void selectMapFile(const std::string& filename);
+
+ MessageHandler& messageHandler;
+ Config& config;
+
+ VBoxLayout layout{this};
+
+ Image back{":bg.png"};
+ Image logo{":logo.png"};
+};
+
+} // GUI::
diff --git a/plugingui/directory.cc b/plugingui/directory.cc
index 1465c86..7515c30 100644
--- a/plugingui/directory.cc
+++ b/plugingui/directory.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,7 +28,7 @@
#include <dirent.h>
#include <stdio.h>
-#include <string>
+#include <string>
#include <algorithm>
#include <vector>
#include <string.h>
@@ -44,14 +44,16 @@
// http://en.wikipedia.org/wiki/Path_(computing)
#ifdef WIN32
- #define SEP "\\"
+#define SEP "\\"
#else
- #define SEP "/"
+#define SEP "/"
#endif
+namespace GUI {
+
Directory::Directory(std::string path)
{
- setPath(path);
+ setPath(path);
}
Directory::~Directory()
@@ -60,384 +62,507 @@ Directory::~Directory()
std::string Directory::seperator()
{
- return SEP;
+ return SEP;
}
void Directory::setPath(std::string path)
{
- DEBUG(directory, "Setting path to '%s'\n", path.c_str());
- this->_path = cleanPath(path);
- refresh();
+ //DEBUG(directory, "Setting path to '%s'\n", path.c_str());
+ this->_path = cleanPath(path);
+ refresh();
}
size_t Directory::count()
{
- return _files.size();
+ return _files.size();
}
void Directory::refresh()
{
- _files = listFiles(_path, DIRECTORY_HIDDEN);
-// _files = listFiles(_path);
+ _files = listFiles(_path, DIRECTORY_HIDDEN);
+ //_files = listFiles(_path);
}
bool Directory::cd(std::string dir)
{
- //TODO: Should this return true or false?
- if(dir.empty() || dir == ".") return true;
-
- DEBUG(directory, "Changing to '%s'\n", dir.c_str());
- if(exists(_path + SEP + dir)) {
- std::string path = _path + SEP + dir;
- setPath(path);
- refresh();
- return true;
- } else {
- return false;
- }
+ //TODO: Should this return true or false?
+ if(dir.empty() || dir == ".")
+ {
+ return true;
+ }
+
+ //DEBUG(directory, "Changing to '%s'\n", dir.c_str());
+ if(exists(_path + SEP + dir))
+ {
+ std::string path = _path + SEP + dir;
+ setPath(path);
+ refresh();
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
bool Directory::cdUp()
{
- return this->cd("..");
+ return this->cd("..");
}
std::string Directory::path()
{
- return cleanPath(_path);
+ return cleanPath(_path);
}
Directory::EntryList Directory::entryList()
{
- return _files;
+ return _files;
}
#define MAX_FILE_LENGTH 1024
-std::string Directory::cwd() {
- char path[MAX_FILE_LENGTH];
- char* c = getcwd(path, MAX_FILE_LENGTH);
-
- if(c) return c;
- else return "";
+std::string Directory::cwd()
+{
+ char path[MAX_FILE_LENGTH];
+ char* c = getcwd(path, MAX_FILE_LENGTH);
+
+ if(c)
+ {
+ return c;
+ }
+ else
+ {
+ return "";
+ }
}
std::string Directory::cleanPath(std::string path)
{
- DEBUG(directory, "Cleaning path '%s'\n", path.c_str());
-
- Directory::Path pathlst = parsePath(path);
- return Directory::pathToStr(pathlst);
+ //DEBUG(directory, "Cleaning path '%s'\n", path.c_str());
+ Directory::Path pathlst = parsePath(path);
+ return Directory::pathToStr(pathlst);
}
Directory::EntryList Directory::listFiles(std::string path, unsigned char filter)
{
- DEBUG(directory, "Listing files in '%s'\n", path.c_str());
-
- Directory::EntryList entries;
- DIR *dir = opendir(path.c_str());
- if(!dir) {
- DEBUG(directory, "Couldn't open directory '%s\n", path.c_str());
- return entries;
- }
-
- std::vector<std::string> directories;
- std::vector<std::string> files;
-
- struct dirent *entry;
- while((entry = readdir(dir)) != NULL) {
- std::string name = entry->d_name;
- if(name == ".") continue;
-
- if(Directory::isRoot(path) && name == "..") continue;
-
- unsigned char entryinfo = 0;
- if(isHidden(path + SEP + name)) {
- entryinfo |= DIRECTORY_HIDDEN;
- }
-
- std::string entrypath = path;
- entrypath += SEP;
- entrypath += entry->d_name;
- if(Directory::isDir(entrypath)) {
- if(!(entryinfo && filter)) {
- if(name == "..") directories.push_back(entry->d_name);
- else directories.push_back(std::string(SEP) + entry->d_name);
- }
- }
- else {
- int drumkit_suffix_length = strlen(DRUMKIT_SUFFIX);
- if((int)name.size() < drumkit_suffix_length) continue;
- if(name.substr(name.length() - drumkit_suffix_length,
- drumkit_suffix_length) != DRUMKIT_SUFFIX) {
- continue;
- }
-
-
-// if(!(entryinfo && filter)) {
- files.push_back(entry->d_name);
-// }
- }
- }
-
+ DEBUG(directory, "Listing files in '%s'\n", path.c_str());
+
+ Directory::EntryList entries;
+ DIR *dir = opendir(path.c_str());
+ if(!dir)
+ {
+ //DEBUG(directory, "Couldn't open directory '%s\n", path.c_str());
+ return entries;
+ }
+
+ std::vector<std::string> directories;
+ std::vector<std::string> files;
+
+ struct dirent *entry;
+ while((entry = readdir(dir)) != nullptr)
+ {
+ std::string name = entry->d_name;
+ if(name == ".")
+ {
+ continue;
+ }
+
+ if(Directory::isRoot(path) && name == "..")
+ {
+ continue;
+ }
+
+ unsigned char entryinfo = 0;
+ if(isHidden(path + SEP + name))
+ {
+ entryinfo |= DIRECTORY_HIDDEN;
+ }
+
+ std::string entrypath = path;
+ entrypath += SEP;
+ entrypath += entry->d_name;
+ if(Directory::isDir(entrypath))
+ {
+ if(!(entryinfo && filter))
+ {
+ if(name == "..")
+ {
+ directories.push_back(entry->d_name);
+ }
+ else
+ {
+ directories.push_back(std::string(SEP) + entry->d_name);
+ }
+ }
+ }
+ else
+ {
+ int drumkit_suffix_length = strlen(DRUMKIT_SUFFIX);
+ if((int)name.size() < drumkit_suffix_length)
+ {
+ continue;
+ }
+
+ if(name.substr(name.length() - drumkit_suffix_length,
+ drumkit_suffix_length) != DRUMKIT_SUFFIX)
+ {
+ continue;
+ }
+
+
+ //if(!(entryinfo && filter)) {
+ files.push_back(entry->d_name);
+ //}
+ }
+ }
#ifdef WIN32
- DEBUG(directory, "Root is %s\n", Directory::root(path).c_str());
- DEBUG(directory, "Current path %s is root? %d", path.c_str(), Directory::isRoot(path));
-if(Directory::isRoot(path)) entries.push_back("..");
+ //DEBUG(directory, "Root is %s\n", Directory::root(path).c_str());
+ //DEBUG(directory, "Current path %s is root? %d", path.c_str(),
+ // Directory::isRoot(path));
+ if(Directory::isRoot(path))
+ {
+ entries.push_back("..");
+ }
#endif
- // sort
- for(int x = 0; x < (int)directories.size(); x++) {
- for(int y = 0; y < (int)directories.size(); y++) {
- if(directories[x] < directories[y]) {
-
- std::string tmp = directories[x];
- directories[x] = directories[y];
- directories[y] = tmp;
- }
- }
- }
-
- for(int x = 0; x < (int)files.size(); x++) {
- for(int y = 0; y < (int)files.size(); y++) {
- if(files[x] < files[y]) {
-
- std::string tmp = files[x];
- files[x] = files[y];
- files[y] = tmp;
- }
- }
- }
-
-
- for(std::vector<std::string>::iterator it = directories.begin(); it != directories.end(); it++) {
- entries.push_back(*it);
- }
-
- for(std::vector<std::string>::iterator it = files.begin(); it != files.end(); it++) {
- entries.push_back(*it);
- }
-
-
- return entries;
+ // sort
+ for(int x = 0; x < (int)directories.size(); x++)
+ {
+ for(int y = 0; y < (int)directories.size(); y++)
+ {
+ if(directories[x] < directories[y])
+ {
+ std::string tmp = directories[x];
+ directories[x] = directories[y];
+ directories[y] = tmp;
+ }
+ }
+ }
+
+ for(int x = 0; x < (int)files.size(); x++)
+ {
+ for(int y = 0; y < (int)files.size(); y++)
+ {
+ if(files[x] < files[y])
+ {
+ std::string tmp = files[x];
+ files[x] = files[y];
+ files[y] = tmp;
+ }
+ }
+ }
+
+
+ for(auto directory : directories)
+ {
+ entries.push_back(directory);
+ }
+
+ for(auto file : files)
+ {
+ entries.push_back(file);
+ }
+
+ closedir(dir);
+ return entries;
}
bool Directory::isRoot(std::string path)
{
#ifdef WIN32
- std::transform(path.begin(), path.end(), path.begin(), ::tolower);
- std::string root_str = Directory::root(path);
- std::transform(root_str.begin(), root_str.end(), root_str.begin(), ::tolower);
- // TODO: This is not a correct root calculation, but works with partitions
- if(path.size() == 2) {
- if(path == root_str) return true;
- else return false;
- } else if (path.size() == 3) {
- if(path == root_str + SEP) return true;
- return false;
- } else {
- return false;
- }
+ std::transform(path.begin(), path.end(), path.begin(), ::tolower);
+ std::string root_str = Directory::root(path);
+ std::transform(root_str.begin(), root_str.end(), root_str.begin(), ::tolower);
+
+ // TODO: This is not a correct root calculation, but works with partitions
+ if(path.size() == 2)
+ {
+ if(path == root_str)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (path.size() == 3)
+ {
+ if(path == root_str + SEP)
+ {
+ return true;
+ }
+ return false;
+ }
+ else
+ {
+ return false;
+ }
+ }
#else
- if(path == SEP) return true;
- else return false;
+ if(path == SEP)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
#endif
}
std::string Directory::root()
{
- return root(cwd());
+ return root(cwd());
}
std::string Directory::root(std::string path)
{
#ifdef WIN32
- if(path.size() < 2) {
- return "c:"; // just something default when input is bad
- } else {
- return path.substr(0, 2);
- }
+ if(path.size() < 2)
+ {
+ return "c:"; // just something default when input is bad
+ }
+ else
+ {
+ return path.substr(0, 2);
+ }
#else
- return SEP;
+ return SEP;
#endif
}
Directory::DriveList Directory::drives()
{
- Directory::DriveList drives;
+ Directory::DriveList drives;
#ifdef WIN32
- unsigned int d = GetLogicalDrives();
- for(int i = 0; i < 32; i++) {
- if(d & (1 << i)) {
- drive_t drive;
- char name[] = "x:";
- name[0] = i + 'a';
-
- drive.name = name;
- drive.number = i;
- drives.push_back(drive);
- }
- }
+ unsigned int d = GetLogicalDrives();
+ for(int i = 0; i < 32; ++i)
+ {
+ if(d & (1 << i))
+ {
+ drive_t drive;
+ char name[] = "x:";
+ name[0] = i + 'a';
+
+ drive.name = name;
+ drive.number = i;
+ drives.push_back(drive);
+ }
+ }
#endif
- return drives;
+ return drives;
}
bool Directory::isDir()
{
- return isDir(_path);
+ return isDir(_path);
}
bool Directory::isDir(std::string path)
{
- DEBUG(directory, "Is '%s' a directory?\n", path.c_str());
- struct stat st;
- if(stat(path.c_str(), &st) == 0) {
- if((st.st_mode & S_IFDIR) != 0) {
- DEBUG(directory, "\t...yes!\n");
- return true;
- }
- }
- DEBUG(directory, "\t...no!\n");
- return false;
+ //DEBUG(directory, "Is '%s' a directory?\n", path.c_str());
+ struct stat st;
+ if(stat(path.c_str(), &st) == 0)
+ {
+ if((st.st_mode & S_IFDIR) != 0)
+ {
+ //DEBUG(directory, "\t...yes!\n");
+ return true;
+ }
+ }
+ //DEBUG(directory, "\t...no!\n");
+ return false;
}
bool Directory::fileExists(std::string filename)
{
- return !isDir(_path + SEP + filename);
+ return !isDir(_path + SEP + filename);
}
bool Directory::exists(std::string path)
{
- struct stat st;
- if(stat(path.c_str(), &st) == 0) {
- return true;
- } else {
- return false;
- }
+ struct stat st;
+ if(stat(path.c_str(), &st) == 0)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
-bool Directory::isHidden(std::string path)
+bool Directory::isHidden(std::string path)
{
- DEBUG(directory, "Is '%s' hidden?\n", path.c_str());
+ //DEBUG(directory, "Is '%s' hidden?\n", path.c_str());
#ifdef WIN32
- // We dont want to filter out '..' pointing to root of a partition
- unsigned pos = path.find_last_of("/\\");
- std::string entry = path.substr(pos+1);
- if(entry == "..") {
- return false;
- }
-
- DWORD fattribs = GetFileAttributes(path.c_str());
- if(fattribs & FILE_ATTRIBUTE_HIDDEN) {
- DEBUG(directory, "\t...yes!\n");
- return true;
- }
- else if(fattribs & FILE_ATTRIBUTE_SYSTEM) {
- DEBUG(directory, "\t...yes!\n");
- return true;
- }
- else {
- DEBUG(directory, "\t...no!\n");
- return false;
- }
+ // We dont want to filter out '..' pointing to root of a partition
+ unsigned pos = path.find_last_of("/\\");
+ std::string entry = path.substr(pos+1);
+ if(entry == "..")
+ {
+ return false;
+ }
+
+ DWORD fattribs = GetFileAttributes(path.c_str());
+ if(fattribs & FILE_ATTRIBUTE_HIDDEN)
+ {
+ //DEBUG(directory, "\t...yes!\n");
+ return true;
+ }
+ else
+ {
+ if(fattribs & FILE_ATTRIBUTE_SYSTEM)
+ {
+ //DEBUG(directory, "\t...yes!\n");
+ return true;
+ }
+ else
+ {
+ //DEBUG(directory, "\t...no!\n");
+ return false;
+ }
+ }
#else
- unsigned pos = path.find_last_of("/\\");
- std::string entry = path.substr(pos+1);
- if(entry.size() > 1 &&
- entry.at(0) == '.' &&
- entry.at(1) != '.') {
- DEBUG(directory, "\t...yes!\n");
- return true;
- }
- else {
- DEBUG(directory, "\t...no!\n");
- return false;
- }
+ unsigned pos = path.find_last_of("/\\");
+ std::string entry = path.substr(pos+1);
+ if(entry.size() > 1 &&
+ entry.at(0) == '.' &&
+ entry.at(1) != '.')
+ {
+ //DEBUG(directory, "\t...yes!\n");
+ return true;
+ }
+ else
+ {
+ //DEBUG(directory, "\t...no!\n");
+ return false;
+ }
#endif
}
Directory::Path Directory::parsePath(std::string path_str)
{
- //TODO: Handle "." input and propably other special cases
-
- DEBUG(directory, "Parsing path '%s'", path_str.c_str());
- Directory::Path path;
-
- std::string current_char;
- std::string prev_char;
- std::string dir;
- for(size_t c = 0; c < path_str.size(); c++) {
- current_char = path_str.at(c);
-
- if(current_char == SEP) {
- if(prev_char == SEP) {
- dir.clear();
- prev_char = current_char;
- continue;
- } else if(prev_char == ".") {
- prev_char = current_char;
- continue;
- }
-
- if(!dir.empty()) path.push_back(dir);
- dir.clear();
- continue;
- } else if(current_char == ".") {
- if(prev_char == ".") {
- dir.clear();
- if(!path.empty()) path.pop_back();
- continue;
- }
- }
-
- dir += current_char;
- prev_char = current_char;
- }
-
- if(!dir.empty()) path.push_back(dir);
-
- return path;
+ //TODO: Handle "." input and propably other special cases
+
+ //DEBUG(directory, "Parsing path '%s'", path_str.c_str());
+ Directory::Path path;
+
+ std::string current_char;
+ std::string prev_char;
+ std::string dir;
+ for(size_t c = 0; c < path_str.size(); ++c)
+ {
+ current_char = path_str.at(c);
+
+ if(current_char == SEP)
+ {
+ if(prev_char == SEP)
+ {
+ dir.clear();
+ prev_char = current_char;
+ continue;
+ }
+ else
+ {
+ if(prev_char == ".")
+ {
+ prev_char = current_char;
+ continue;
+ }
+ }
+ if(!dir.empty())
+ {
+ path.push_back(dir);
+ }
+ dir.clear();
+ continue;
+ }
+ else
+ {
+ if(current_char == ".")
+ {
+ if(prev_char == ".")
+ {
+ dir.clear();
+ if(!path.empty())
+ {
+ path.pop_back();
+ }
+ continue;
+ }
+ }
+ }
+ dir += current_char;
+ prev_char = current_char;
+ }
+
+ if(!dir.empty())
+ {
+ path.push_back(dir);
+ }
+
+ return path;
}
std::string Directory::pathToStr(Directory::Path& path)
{
- std::string cleaned_path;
- DEBUG(directory, "Number of directories in path is %d\n", (int)path.size());
+ std::string cleaned_path;
+ //DEBUG(directory, "Number of directories in path is %d\n", (int)path.size());
- for(Directory::Path::iterator it = path.begin();
- it != path.end(); it++) {
- std::string dir = *it;
- DEBUG(directory, "\tDir '%s'\n", dir.c_str());
+ for(auto it = path.begin(); it != path.end(); ++it)
+ {
+ std::string dir = *it;
+ //DEBUG(directory, "\tDir '%s'\n", dir.c_str());
#ifdef WIN32
- if(it != path.begin()) cleaned_path += SEP;
- cleaned_path += dir;
+ if(it != path.begin())
+ {
+ cleaned_path += SEP;
+ }
+ cleaned_path += dir;
#else
- cleaned_path += SEP + dir;
+ cleaned_path += SEP + dir;
#endif
- }
+ }
- DEBUG(directory, "Cleaned path '%s'\n", cleaned_path.c_str());
+ //DEBUG(directory, "Cleaned path '%s'\n", cleaned_path.c_str());
- if(cleaned_path.empty()) {
- cleaned_path = Directory::root();
+ if(cleaned_path.empty())
+ {
+ cleaned_path = Directory::root();
#ifdef WIN32
- cleaned_path += SEP;
-#endif
- }
+ cleaned_path += SEP;
+#endif
+ }
#ifdef WIN32
- if(cleaned_path.size() == 2) cleaned_path += SEP;
+ if(cleaned_path.size() == 2)
+ {
+ cleaned_path += SEP;
+ }
#endif
- return cleaned_path;
+ return cleaned_path;
}
std::string Directory::pathDirectory(std::string filepath)
{
- if(Directory::isDir(filepath)) return filepath;
-
- Directory::Path path = parsePath(filepath);
- if(path.size() > 0) path.pop_back();
-
- return Directory::pathToStr(path);
+ if(Directory::isDir(filepath))
+ {
+ return filepath;
+ }
+
+ Directory::Path path = parsePath(filepath);
+ if(path.size() > 0)
+ {
+ path.pop_back();
+ }
+
+ return Directory::pathToStr(path);
}
+
+} // GUI::
diff --git a/plugingui/directory.h b/plugingui/directory.h
index 04ed3e7..1acc0bf 100644
--- a/plugingui/directory.h
+++ b/plugingui/directory.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_DIRECTORY_H__
-#define __DRUMGIZMO_DIRECTORY_H__
+#pragma once
#include <string>
#include <list>
@@ -38,56 +37,57 @@
#define DIRECTORY_HIDDEN 1
+namespace GUI {
+
class Directory {
+public:
+ typedef struct drive {
+ int number;
+ std::string name;
+ } drive_t;
+
+ typedef std::list<std::string> EntryList;
+ typedef std::list<drive> DriveList;
+
+ Directory(std::string path);
+ ~Directory();
+
+ std::string seperator();
+
+ size_t count();
+ void refresh();
+ std::string path();
+ bool cdUp();
+ bool cd(std::string dir);
+ bool isDir();
+ void setPath(std::string path);
+ bool fileExists(std::string file);
+
+ // Add filter, ie. directories or files only
+ EntryList entryList();
+
+ //void setSorting();
+
+ static std::string cwd();
+ static std::string root();
+ static std::string root(std::string path);
+ static std::string cleanPath(std::string path);
+ static Directory::EntryList listFiles(std::string path, unsigned char filter = 0);
+ static bool isRoot(std::string path);
+ static Directory::DriveList drives();
+ static bool isDir(std::string path);
+ static bool isHidden(std::string entry);
+ static bool exists(std::string path);
+ static std::string pathDirectory(std::string filepath);
+
+private:
+ std::string _path;
+ EntryList _files;
+ DriveList _drives;
- public:
- typedef struct drive {
- int number;
- std::string name;
- } drive_t;
-
- typedef std::list<std::string> EntryList;
- typedef std::list<drive> DriveList;
-
- Directory(std::string path);
- ~Directory();
-
- std::string seperator();
-
- size_t count();
- void refresh();
- std::string path();
- bool cdUp();
- bool cd(std::string dir);
- bool isDir();
- void setPath(std::string path);
- bool fileExists(std::string file);
-
- // Add filter, ie. directories or files only
- EntryList entryList();
-
- //void setSorting();
-
- static std::string cwd();
- static std::string root();
- static std::string root(std::string path);
- static std::string cleanPath(std::string path);
- static Directory::EntryList listFiles(std::string path, unsigned char filter = 0);
- static bool isRoot(std::string path);
- static Directory::DriveList drives();
- static bool isDir(std::string path);
- static bool isHidden(std::string entry);
- static bool exists(std::string path);
- static std::string pathDirectory(std::string filepath);
-
- private:
- std::string _path;
- EntryList _files;
- DriveList _drives;
-
- typedef std::list<std::string> Path;
- static Path parsePath(std::string path);
- static std::string pathToStr(Path &path);
+ typedef std::list<std::string> Path;
+ static Path parsePath(std::string path);
+ static std::string pathToStr(Path &path);
};
-#endif/*__DRUMGIZMO_DIRECTORY_H__*/
+} // GUI::
diff --git a/plugingui/eventhandler.cc b/plugingui/eventhandler.cc
index cec5fab..ea5516a 100644
--- a/plugingui/eventhandler.cc
+++ b/plugingui/eventhandler.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -29,166 +29,237 @@
#include "window.h"
#include "painter.h"
-GUI::EventHandler::EventHandler(GUI::NativeWindow *n, GUI::Window *w)
-{
- native = n;
- window = w;
+namespace GUI {
- last_click = 0;
- last_was_dbl_click = false;
-}
+EventHandler::EventHandler(NativeWindow& nativeWindow, Window& window)
+ : window(window)
+ , nativeWindow(nativeWindow)
+// , last_click(0)
+ , lastWasDoubleClick(false)
+{}
-bool GUI::EventHandler::hasEvent()
+bool EventHandler::hasEvent()
{
- return native->hasEvent();
+ return nativeWindow.hasEvent();
}
-GUI::Event *GUI::EventHandler::getNextEvent()
+Event *EventHandler::getNextEvent()
{
- return native->getNextEvent();
+ return nativeWindow.getNextEvent();
}
-void GUI::EventHandler::registerCloseHandler(void (*handler)(void *), void *ptr)
+Event *EventHandler::peekNextEvent()
{
- this->closeHandler = handler;
- this->closeHandlerPtr = ptr;
+ return nativeWindow.peekNextEvent();
}
-void GUI::EventHandler::processEvents()
+void EventHandler::processEvents()
{
- while(hasEvent()) {
- Painter p(window); // Make sure we only redraw buffer one time.
-
- Event *event = getNextEvent();
-
- if(event == NULL) continue;
-
- // Widget *widget = gctx->widgets[event->window_id];
- switch(event->type()) {
- case Event::Repaint:
- // window->repaint((RepaintEvent*)event);
- window->redraw();
- break;
- case Event::Resize:
- {
- // window->repaint((RepaintEvent*)event)
- ResizeEvent *re = (ResizeEvent*)event;
- if(re->width != window->width() || re->height != window->height()) {
- window->resized(re->width, re->height);
- //window->repaint_r(NULL);
- }
- }
- break;
- case Event::MouseMove:
- {
- MouseMoveEvent *me = (MouseMoveEvent*)event;
-
- Widget *w = window->find(me->x, me->y);
- Widget *oldw = window->mouseFocus();
- if(w != oldw) {
- // Send focus leave to oldw
- if(oldw) oldw->mouseLeaveEvent();
- // Send focus enter to w
- if(w) w->mouseEnterEvent();
-
- window->setMouseFocus(w);
- }
-
- if(window->buttonDownFocus()) {
- Widget *w = window->buttonDownFocus();
- /*
- if(me->x < w->x()) me->x = w->x();
- if(me->x > w->x() + w->width()) me->x = w->x() + w->width();
- if(me->y < w->y()) me->y = w->y();
- if(me->y > w->y() + w->height()) me->y = w->y() + w->height();
- */
- me->x -= w->windowX();
- me->y -= w->windowY();
-
- window->buttonDownFocus()->mouseMoveEvent(me);
- break;
- }
-
- if(w) {
- me->x -= w->windowX();
- me->y -= w->windowY();
- w->mouseMoveEvent(me);
- }
- }
- break;
- case Event::Button:
- {
- if(last_was_dbl_click) {
- last_was_dbl_click = false;
- continue;
- }
- ButtonEvent *be = (ButtonEvent *)event;
-
- last_was_dbl_click = be->doubleclick;
-
- Widget *w = window->find(be->x, be->y);
-
- if(window->buttonDownFocus()) {
- if(be->direction == -1) {
- Widget *w = window->buttonDownFocus();
- /*
- if(be->x < w->x()) be->x = w->x();
- if(be->x > w->x() + w->width()) be->x = w->x() + w->width();
- if(be->y < w->y()) be->y = w->y();
- if(be->y > w->y() + w->height()) be->y = w->y() + w->height();
- */
- be->x -= w->windowX();
- be->y -= w->windowY();
-
- w->buttonEvent(be);
- break;
- } else {
- window->setButtonDownFocus(NULL);
- }
- }
-
- if(w) {
- be->x -= w->windowX();
- be->y -= w->windowY();
-
- w->buttonEvent(be);
-
- if(be->direction == 1) {
- if(w->catchMouse()) window->setButtonDownFocus(w);
- }
-
- if(w->isFocusable()) window->setKeyboardFocus(w);
- }
- }
- break;
- case Event::Scroll:
- {
- ScrollEvent *se = (ScrollEvent *)event;
-
- Widget *w = window->find(se->x, se->y);
-
- //printf("scroller (%d,%d) %p\n", se->x, se->y, w);
-
- if(w) {
- se->x -= w->windowX();
- se->y -= w->windowY();
-
- w->scrollEvent(se);
- }
- }
- break;
- case Event::Key:
- // window->key((KeyEvent*)event);
- // lineedit->keyEvent((KeyEvent*)event);
- if(window->keyboardFocus())
- window->keyboardFocus()->keyEvent((KeyEvent*)event);
- break;
- case Event::Close:
- if(closeHandler) closeHandler(closeHandlerPtr);
- //delete window;
- //window = NULL;
- break;
- }
- delete event;
- }
+ while(hasEvent())
+ {
+ Painter p(window); // Make sure we only redraw buffer one time.
+
+ auto event = getNextEvent();
+
+ if(event == nullptr)
+ {
+ continue;
+ }
+
+ switch(event->type()) {
+ case EventType::repaint:
+ window.redraw();
+ break;
+
+ case EventType::resize:
+ {
+ while(true)
+ {
+ if(!hasEvent())
+ {
+ break;
+ }
+
+ auto peekEvent = peekNextEvent();
+ if(!peekEvent || (peekEvent->type() != EventType::resize))
+ {
+ break;
+ }
+
+ event = getNextEvent();
+ }
+
+ auto resizeEvent = static_cast<ResizeEvent*>(event);
+ if((resizeEvent->width != window.width()) ||
+ (resizeEvent->height != window.height()))
+ {
+ window.resized(resizeEvent->width, resizeEvent->height);
+ }
+ }
+ break;
+
+ case EventType::mouseMove:
+ {
+ while(true)
+ {
+ if(!hasEvent())
+ {
+ break;
+ }
+
+ auto peekEvent = peekNextEvent();
+ if(!peekEvent || (peekEvent->type() != EventType::mouseMove))
+ {
+ break;
+ }
+
+ event = getNextEvent();
+ }
+
+ auto moveEvent = static_cast<MouseMoveEvent*>(event);
+
+ auto widget = window.find(moveEvent->x, moveEvent->y);
+ auto oldwidget = window.mouseFocus();
+ if(widget != oldwidget)
+ {
+ // Send focus leave to oldwidget
+ if(oldwidget)
+ {
+ oldwidget->mouseLeaveEvent();
+ }
+
+ // Send focus enter to widget
+ if(widget)
+ {
+ widget->mouseEnterEvent();
+ }
+
+ window.setMouseFocus(widget);
+ }
+
+ if(window.buttonDownFocus())
+ {
+ auto widget = window.buttonDownFocus();
+ moveEvent->x -= widget->windowX();
+ moveEvent->y -= widget->windowY();
+
+ window.buttonDownFocus()->mouseMoveEvent(moveEvent);
+ break;
+ }
+
+ if(widget)
+ {
+ moveEvent->x -= widget->windowX();
+ moveEvent->y -= widget->windowY();
+ widget->mouseMoveEvent(moveEvent);
+ }
+ }
+ break;
+
+ case EventType::button:
+ {
+ if(lastWasDoubleClick)
+ {
+ lastWasDoubleClick = false;
+ continue;
+ }
+
+ auto buttonEvent = static_cast<ButtonEvent*>(event);
+
+ lastWasDoubleClick = buttonEvent->doubleClick;
+
+ auto widget = window.find(buttonEvent->x, buttonEvent->y);
+
+ if(window.buttonDownFocus())
+ {
+ if(buttonEvent->direction == Direction::up)
+ {
+ auto widget = window.buttonDownFocus();
+ buttonEvent->x -= widget->windowX();
+ buttonEvent->y -= widget->windowY();
+
+ widget->buttonEvent(buttonEvent);
+ window.setButtonDownFocus(nullptr);
+ break;
+ }
+ }
+
+ if(widget)
+ {
+ buttonEvent->x -= widget->windowX();
+ buttonEvent->y -= widget->windowY();
+
+ widget->buttonEvent(buttonEvent);
+
+ if((buttonEvent->direction == Direction::down) &&
+ widget->catchMouse())
+ {
+ window.setButtonDownFocus(widget);
+ }
+
+ if(widget->isFocusable())
+ {
+ window.setKeyboardFocus(widget);
+ }
+ }
+ }
+ break;
+
+ case EventType::scroll:
+ {
+ int delta = 0;
+ while(true)
+ {
+ if(!hasEvent())
+ {
+ break;
+ }
+
+ auto peekEvent = peekNextEvent();
+ if(!peekEvent || (peekEvent->type() != EventType::scroll))
+ {
+ break;
+ }
+
+ auto scrollEvent = static_cast<ScrollEvent*>(event);
+ delta += scrollEvent->delta;
+ event = getNextEvent();
+ }
+
+ auto scrollEvent = static_cast<ScrollEvent*>(event);
+ scrollEvent->delta += delta;
+
+ auto widget = window.find(scrollEvent->x, scrollEvent->y);
+ if(widget)
+ {
+ scrollEvent->x -= widget->windowX();
+ scrollEvent->y -= widget->windowY();
+
+ widget->scrollEvent(scrollEvent);
+ }
+ }
+ break;
+
+ case EventType::key:
+ {
+
+ // TODO: Filter out multiple arrow events.
+
+ auto keyEvent = static_cast<KeyEvent*>(event);
+ if(window.keyboardFocus())
+ {
+ window.keyboardFocus()->keyEvent(keyEvent);
+ }
+ }
+ break;
+
+ case EventType::close:
+ closeNotifier();
+ break;
+ }
+
+ delete event;
+ }
}
+
+} // GUI::
diff --git a/plugingui/eventhandler.h b/plugingui/eventhandler.h
index 028418d..1fdb1e8 100644
--- a/plugingui/eventhandler.h
+++ b/plugingui/eventhandler.h
@@ -11,52 +11,55 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_EVENTHANDLER_H__
-#define __DRUMGIZMO_EVENTHANDLER_H__
+#pragma once
#include "guievent.h"
#include "nativewindow.h"
-//#include "window.h"
+#include "notifier.h"
namespace GUI {
+
class Window;
class EventHandler {
public:
- EventHandler(NativeWindow *native, Window *window);
+ EventHandler(NativeWindow& nativeWindow, Window& window);
- void processEvents();
+ //! \brief Process all events currently in the event queue.
+ void processEvents();
- bool hasEvent();
- Event *getNextEvent();
+ //! \brief Query if any events are currently in the event queue.
+ bool hasEvent();
- void registerCloseHandler(void (*handler)(void *), void *ptr);
+ //! \brief Get a single event from the event queue.
+ //! \return A pointer to the event or nullptr if there are none.
+ Event *getNextEvent();
-private:
- Window *window;
- int last_click;
- void (*closeHandler)(void *);
- void *closeHandlerPtr;
+ //! \brief Get a single event from the event queue without popping it.
+ //! \return A pointer to the event or nullptr if there are none.
+ Event *peekNextEvent();
- // Used to ignore mouse button release after a double click.
- bool last_was_dbl_click;
+ Notifier<> closeNotifier;
- NativeWindow *native;
-};
+private:
+ Window& window;
+ NativeWindow& nativeWindow;
+ // Used to ignore mouse button release after a double click.
+ bool lastWasDoubleClick;
};
-#endif/*__DRUMGIZMO_EVENTHANDLER_H__*/
+} // GUI::
diff --git a/plugingui/filebrowser.cc b/plugingui/filebrowser.cc
index 6ecbc09..f4560f6 100644
--- a/plugingui/filebrowser.cc
+++ b/plugingui/filebrowser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -45,215 +45,216 @@
#include <direct.h>
#endif
-struct GUI::FileBrowser::private_data {
- GUI::LineEdit *lineedit;
- GUI::ListBox *listbox;
- void (*filesel_handler)(void *, std::string);
- void *ptr;
- Directory *dir;
+namespace GUI {
+
+FileBrowser::FileBrowser(Widget *parent)
+ : Widget(parent)
+ , dir(Directory::cwd())
+ , lbl_path(this)
+ , lineedit(this)
+ , listbox(this)
+ , btn_sel(this)
+ , btn_esc(this)
+ , back(":bg.png")
+{
#ifdef WIN32
- bool above_root;
- bool in_root;
+ above_root = false;
#endif
-};
-static void cancel(void *ptr)
-{
- GUI::FileBrowser *fp = (GUI::FileBrowser *)ptr;
- fp->hide();
-}
-
-static void changeDir(void *ptr)
-{
- struct GUI::FileBrowser::private_data *prv =
- (struct GUI::FileBrowser::private_data *) ptr;
-
- GUI::ListBox *lb = prv->listbox;
- GUI::LineEdit *le = prv->lineedit;
- std::string value = lb->selectedValue();
- Directory* dir = prv->dir;
-
-// if(!Directory::isDir(dir->path() + dir->seperator())) {
-// return;
-// }
+ lbl_path.setText("Path:");
- lb->clear();
-
- INFO(filebrowser, "Changing path to '%s'\n",
- (dir->path() + dir->seperator() + value).c_str());
-
-#ifdef WIN32
- if(prv->above_root && !value.empty()) {
- dir->setPath(value + dir->seperator());
- value.clear();
- prv->above_root = false;
- }
-#endif
+ //lineedit.setReadOnly(true);
+ CONNECT(&lineedit, enterPressedNotifier, this, &FileBrowser::handleKeyEvent);
+ CONNECT(&listbox, selectionNotifier,
+ this, &FileBrowser::listSelectionChanged);
- if(value.empty() && !dir->isDir() && Directory::exists(dir->path())) {
- DEBUG(filebrowser, "Selecting file '%s'\n", dir->path().c_str());
- if(prv->filesel_handler) prv->filesel_handler(prv->ptr, dir->path().c_str());
- return;
- }
+ btn_sel.setText("Select");
+ CONNECT(&btn_sel, clickNotifier, this, &FileBrowser::selectButtonClicked);
- if(!value.empty() && dir->fileExists(value)) {
- std::string file = dir->path() + dir->seperator() + value;
- DEBUG(filebrowser, "Selecting file '%s'\n", file.c_str());
- if(prv->filesel_handler) prv->filesel_handler(prv->ptr, file);
- return;
- }
+ btn_esc.setText("Cancel");
+ CONNECT(&btn_esc, clickNotifier, this, &FileBrowser::cancelButtonClicked);
- std::vector<GUI::ListBoxBasic::Item> items;
+ changeDir();
+}
-#ifdef WIN32
- if(Directory::isRoot(dir->path()) && value == "..") {
- DEBUG(filebrowser, "Showing partitions...\n");
- Directory::DriveList entries = dir->drives();
- for(Directory::DriveList::iterator it = entries.begin();
- it != entries.end(); it++) {
- GUI::ListBoxBasic::Item item;
- std::string name = (*it).name;
- item.name = name;
- item.value = name;
- items.push_back(item);
- }
- prv->above_root = true;
- } else {
-#endif
-
- if(!value.empty() && !dir->cd(value)) {
- DEBUG(filebrowser, "Error changing to '%s'\n",
- (dir->path() + dir->seperator() + value).c_str());
- return;
- }
-
- Directory::EntryList entries = dir->entryList();
-
- if(entries.empty()) {
- dir->cdUp();
- entries = dir->entryList();
- }
-
- DEBUG(filebrowser, "Setting path of lineedit to %s\n",
- dir->path().c_str());
- le->setText(dir->path());
-
- for(Directory::EntryList::iterator it = entries.begin();
- it != entries.end(); it++) {
- GUI::ListBoxBasic::Item item;
- std::string name = *it;
- item.name = name;
- item.value = name;
- items.push_back(item);
- }
-#ifdef WIN32
- }
-#endif
- lb->addItems(items);
+FileBrowser::~FileBrowser()
+{
}
-static void handleKeyEvent(void *ptr) {
- struct GUI::FileBrowser::private_data *prv =
- (struct GUI::FileBrowser::private_data *) ptr;
+void FileBrowser::setPath(const std::string& path)
+{
+ INFO(filebrowser, "Setting path to '%s'\n", path.c_str());
+
+ if(!path.empty())
+ {
+ dir.setPath(Directory::pathDirectory(path));
+ }
+ else
+ {
+ dir.setPath(Directory::pathDirectory(Directory::cwd()));
+ }
- GUI::ListBox *lb = prv->listbox;
- lb->clearSelectedValue();
- GUI::LineEdit *le = prv->lineedit;
+ listbox.clear();
- prv->dir->setPath(le->text());
- changeDir(ptr);
+ changeDir();
}
-GUI::FileBrowser::FileBrowser(GUI::Widget *parent)
- : GUI::Widget(parent),
- lbl_path(this), lineedit(this), listbox(this), btn_sel(this), btn_esc(this),
- back(":bg.png")
+void FileBrowser::resize(int w, int h)
{
- prv = new struct GUI::FileBrowser::private_data();
- prv->filesel_handler = NULL;
+ Widget::resize(w,h);
- prv->dir = new Directory(Directory::cwd());
-#ifdef WIN32
- prv->above_root = false;
-#endif
+ int offset = 0;
+ int brd = 5; // border
+ int btn_h = 30;
+
+ offset += brd;
- lbl_path.setText("Path:");
+ lbl_path.move(0, offset);
+ lineedit.move(60, offset);
-// lineedit.setReadOnly(true);
- prv->lineedit = &lineedit;
- prv->lineedit->registerEnterPressedHandler(handleKeyEvent, prv);
+ offset += btn_h;
- prv->listbox = &listbox;
- listbox.registerSelectHandler(changeDir, prv);
+ lbl_path.resize(60, btn_h);
+ lineedit.resize(w - 60 - brd, btn_h);
- btn_sel.setText("Select");
- btn_sel.registerClickHandler(changeDir, prv);
+ offset += brd;
- btn_esc.setText("Cancel");
- btn_esc.registerClickHandler(cancel, this);
+ listbox.move(brd, offset);
+ listbox.resize(w - 1 - 2*brd, h - btn_h - 2*brd - offset);
- changeDir(prv);
+ btn_esc.move(brd, h - btn_h - brd);
+ btn_esc.resize((w - 1 - 2*brd) / 2 - brd / 2, btn_h);
- resize(200, 190);
+ btn_sel.move(brd + w / 2 - brd / 2, h - btn_h - brd);
+ btn_sel.resize((w - 1 - 2*brd) / 2, btn_h);
}
-GUI::FileBrowser::~FileBrowser()
+void FileBrowser::repaintEvent(RepaintEvent* repaintEvent)
{
- // delete prv->listbox;
- delete prv;
+ Painter p(*this);
+ p.drawImageStretched(0,0, back, width(), height());
}
-void GUI::FileBrowser::setPath(std::string path)
+void FileBrowser::listSelectionChanged()
{
- INFO(filebrowser, "Setting path to '%s'\n", path.c_str());
- if(path.empty()) path = Directory::cwd();
+ changeDir();
+}
- prv->dir->setPath(Directory::pathDirectory(path));
- prv->listbox->clear();
+void FileBrowser::selectButtonClicked()
+{
+ changeDir();
+}
- changeDir(prv);
+void FileBrowser::cancelButtonClicked()
+{
+ cancel();
}
-void GUI::FileBrowser::resize(int w, int h)
+void FileBrowser::handleKeyEvent()
{
- GUI::Widget::resize(w,h);
+ listbox.clearSelectedValue();
+
+ std::string value = lineedit.text();
+ if((value.size() > 1) && (value[0] == '@'))
+ {
+ DEBUG(filebrowser, "Selecting ref-file '%s'\n", value.c_str());
+ fileSelectNotifier(value);
+ return;
+ }
+
+ dir.setPath(lineedit.text());
+ changeDir();
+}
- int offset = 0;
- int brd = 5; // border
- int btn_h = 30;
+void FileBrowser::cancel()
+{
+ hide();
+}
- offset += brd;
+void FileBrowser::changeDir()
+{
+ std::string value = listbox.selectedValue();
- lbl_path.move(0, offset);
- lineedit.move(60, offset);
+// if(!Directory::isDir(dir->path() + dir->seperator()))
+// {
+// return;
+// }
- offset += btn_h;
+ listbox.clear();
- lbl_path.resize(60, btn_h);
- lineedit.resize(w - 60 - brd, btn_h);
+ INFO(filebrowser, "Changing path to '%s'\n",
+ (dir.path() + dir.seperator() + value).c_str());
- offset += brd;
+#ifdef WIN32
+ if(above_root && !value.empty())
+ {
+ dir.setPath(value + dir.seperator());
+ value.clear();
+ above_root = false;
+ }
+#endif
- listbox.move(brd, offset);
- listbox.resize(w - 1 - 2*brd, h - btn_h - 2*brd - offset);
+ if(value.empty() && !dir.isDir() && Directory::exists(dir.path()))
+ {
+ DEBUG(filebrowser, "Selecting file '%s'\n", dir.path().c_str());
+ fileSelectNotifier(dir.path());
+ return;
+ }
- btn_esc.move(brd, h - btn_h - brd);
- btn_esc.resize((w - 1 - 2*brd) / 2 - brd / 2, btn_h);
+ if(!value.empty() && dir.fileExists(value))
+ {
+ std::string file = dir.path() + dir.seperator() + value;
+ DEBUG(filebrowser, "Selecting file '%s'\n", file.c_str());
+ fileSelectNotifier(file);
+ return;
+ }
- btn_sel.move(brd + w / 2 - brd / 2, h - btn_h - brd);
- btn_sel.resize((w - 1 - 2*brd) / 2, btn_h);
-}
+ std::vector<ListBoxBasic::Item> items;
-void GUI::FileBrowser::registerFileSelectHandler(void (*handler)(void *,
- std::string),
- void *ptr)
-{
- prv->filesel_handler = handler;
- prv->ptr = ptr;
+#ifdef WIN32
+ if(Directory::isRoot(dir.path()) && (value == ".."))
+ {
+ DEBUG(filebrowser, "Showing partitions...\n");
+ for(auto drive : dir.drives())
+ {
+ ListBoxBasic::Item item;
+ item.name = drive.name;
+ item.value = drive.name;
+ items.push_back(item);
+ }
+ above_root = true;
+ }
+ else
+#endif
+ {
+ if(!value.empty() && !dir.cd(value))
+ {
+ DEBUG(filebrowser, "Error changing to '%s'\n",
+ (dir.path() + dir.seperator() + value).c_str());
+ return;
+ }
+
+ Directory::EntryList entries = dir.entryList();
+
+ if(entries.empty())
+ {
+ dir.cdUp();
+ entries = dir.entryList();
+ }
+
+ DEBUG(filebrowser, "Setting path of lineedit to %s\n", dir.path().c_str());
+ lineedit.setText(dir.path());
+
+ for(auto entry : entries)
+ {
+ ListBoxBasic::Item item;
+ item.name = entry;
+ item.value = entry;
+ items.push_back(item);
+ }
+ }
+
+ listbox.addItems(items);
}
-void GUI::FileBrowser::repaintEvent(GUI::RepaintEvent *e)
-{
- Painter p(this);
- p.drawImageStretched(0,0, &back, width(), height());
-}
+} // GUI::
diff --git a/plugingui/filebrowser.h b/plugingui/filebrowser.h
index 6583b53..04b34f6 100644
--- a/plugingui/filebrowser.h
+++ b/plugingui/filebrowser.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_FILEBROWSER_H__
-#define __DRUMGIZMO_FILEBROWSER_H__
+#pragma once
#include "widget.h"
@@ -35,41 +34,48 @@
#include "label.h"
#include "image.h"
#include "directory.h"
+#include "notifier.h"
namespace GUI {
class FileBrowser : public Widget {
public:
- struct private_data;
+ FileBrowser(Widget *parent);
+ ~FileBrowser();
- FileBrowser(Widget *parent);
- ~FileBrowser();
+ void setPath(const std::string& path);
- void setPath(std::string path);
+ Notifier<const std::string&> fileSelectNotifier; // (const std::string& path)
- bool isFocusable() { return true; }
-
- void registerFileSelectHandler(void (*handler)(void *, std::string),
- void *ptr);
-
- virtual void repaintEvent(RepaintEvent *e);
-
- virtual void resize(int w, int h);
+ // From Widget:
+ bool isFocusable() override { return true; }
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void resize(int w, int h) override;
private:
- struct private_data *prv;
+ void listSelectionChanged();
+ void selectButtonClicked();
+ void cancelButtonClicked();
+ void handleKeyEvent();
- GUI::Label lbl_path;
- GUI::LineEdit lineedit;
+ Directory dir;
+#ifdef WIN32
+ bool above_root;
+ bool in_root;
+#endif
- GUI::ListBox listbox;
+ void cancel();
+ void changeDir();
- GUI::Button btn_sel;
- GUI::Button btn_esc;
+ Label lbl_path;
- Image back;
-};
+ LineEdit lineedit;
+ ListBox listbox;
+
+ Button btn_sel;
+ Button btn_esc;
+ Image back;
};
-#endif/*__DRUMGIZMO_FILEBROWSER_H__*/
+} // GUI::
diff --git a/plugingui/font.cc b/plugingui/font.cc
index 828286c..4671f86 100644
--- a/plugingui/font.cc
+++ b/plugingui/font.cc
@@ -11,121 +11,115 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "font.h"
-#ifdef X11
-#include <X11/Xlib.h>
-#endif/*X11*/
+namespace GUI {
-GUI::Font::Font(std::string fontfile)
- : img_font(fontfile)
+Font::Font(const std::string& fontfile)
+ : img_font(fontfile)
{
- int px = 0;
- int c;
- for(c = 0; c < 255 && px < (int)img_font.width(); c++) {
- character_offset[c] = px + 1;
- character_pre_bias[c] = 0;
- character_post_bias[c] = 0;
- if(c > 0) {
- character_width[c - 1] =
- character_offset[c] - character_offset[c - 1] - 1;
- }
- px++;
- GUI::Colour c;
- while(px < (int)img_font.width()) {
- c = img_font.getPixel(px, 0);
- // Find next purple pixel in top row:
- if(c.red == 1 && c.green == 0 && c.blue == 1 && c.alpha == 1) break;
- px++;
- }
- }
- c++;
- character_width[c - 1] = character_offset[c] - character_offset[c - 1] - 1;
-}
-
-void GUI::Font::setFace(std::string face)
-{
- face = face;
-}
+ size_t px = 0;
+ size_t c;
-std::string GUI::Font::face()
-{
- return "";//face;
-}
+ for(c = 0; c < characters.size() && px < img_font.width(); ++c)
+ {
+ auto& character = characters[c];
+ character.offset = px + 1;
-void GUI::Font::setSize(size_t points)
-{
- points = points;
-}
+ if(c > 0)
+ {
+ characters[c - 1].width =
+ character.offset - characters[c - 1].offset - 1;
+ }
-size_t GUI::Font::size()
-{
- return 0;
+ ++px;
+
+ Colour pixel;
+ while(px < img_font.width())
+ {
+ pixel = img_font.getPixel(px, 0);
+
+ // Find next purple pixel in top row:
+ if((pixel.red == 1) && (pixel.green == 0) &&
+ (pixel.blue == 1) && (pixel.alpha == 1))
+ {
+ break;
+ }
+
+ ++px;
+ }
+
+ characters[c] = character;
+ }
+
+ ++c;
+
+ characters[c - 1].width = characters[c].offset - characters[c - 1].offset - 1;
}
-size_t GUI::Font::textWidth(std::string text)
+size_t Font::textWidth(const std::string& text) const
{
- size_t len = 0;
+ size_t len = 0;
- for(size_t i = 0; i < text.length(); i++) {
- unsigned int cha = text[i];
- len += character_width[(char)cha] + 1 + character_post_bias[(char)cha];
- }
+ for(auto cha : text)
+ {
+ auto& character = characters[cha];
+ len += character.width + spacing + character.post_bias;
+ }
- return len;
+ return len;
}
-size_t GUI::Font::textHeight(std::string text)
+size_t Font::textHeight(const std::string& text) const
{
- return img_font.height();
+ return img_font.height();
}
-GUI::PixelBufferAlpha *GUI::Font::render(std::string text)
+void Font::setLetterSpacing(int letterSpacing)
{
- int border = 1;
- PixelBufferAlpha *pb =
- new PixelBufferAlpha(textWidth(text), textHeight(text));
-
- int x_offset = 0;
- for(size_t i = 0; i < text.length(); i++) {
- unsigned int cha = text[i];
- for(size_t x = 0; x < character_width[(char)cha]; x++) {
- for(size_t y = 0; y < img_font.height(); y++) {
- Colour c = img_font.getPixel(x + (character_offset[(char)cha]), y);
- pb->setPixel(x + x_offset + character_pre_bias[(char)cha], y,
- c.red * 255, c.green * 255, c.blue * 255, c.alpha * 255);
- }
- }
- x_offset += character_width[(char)cha] + border +
- character_post_bias[(char)cha];
- }
-
- return pb;
+ spacing = letterSpacing;
}
-#ifdef TEST_FONT
-//deps:
-//cflags:
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
+int Font::letterSpacing() const
+{
+ return spacing;
+}
-TEST_END;
+PixelBufferAlpha *Font::render(const std::string& text) const
+{
+ PixelBufferAlpha *pb =
+ new PixelBufferAlpha(textWidth(text), textHeight(text));
+
+ int x_offset = 0;
+ for(auto cha : text)
+ {
+ auto& character = characters[cha];
+ for(size_t x = 0; x < character.width; ++x)
+ {
+ for(size_t y = 0; y < img_font.height(); ++y)
+ {
+ Colour c = img_font.getPixel(x + character.offset, y);
+ pb->setPixel(x + x_offset + character.pre_bias, y,
+ c.red * 255, c.green * 255, c.blue * 255, c.alpha * 255);
+ }
+ }
+ x_offset += character.width + spacing + character.post_bias;
+ }
+
+ return pb;
+}
-#endif/*TEST_FONT*/
+} // GUI::
diff --git a/plugingui/font.h b/plugingui/font.h
index b47fbde..4e4c7ba 100644
--- a/plugingui/font.h
+++ b/plugingui/font.h
@@ -11,24 +11,23 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_FONT_H__
-#define __DRUMGIZMO_FONT_H__
+#pragma once
#include <string>
-#include <map>
+#include <array>
#include "pixelbuffer.h"
#include "image.h"
@@ -37,27 +36,29 @@ namespace GUI {
class Font {
public:
- Font(std::string fontfile = ":font.png");
-
- void setFace(std::string face);
- std::string face();
+ Font(const std::string& fontfile = ":font.png");
- void setSize(size_t points);
- size_t size();
+ size_t textWidth(const std::string& text) const;
+ size_t textHeight(const std::string& text = "") const;
- size_t textWidth(std::string text);
- size_t textHeight(std::string text = "");
+ void setLetterSpacing(int letterSpacing);
+ int letterSpacing() const;
- PixelBufferAlpha *render(std::string text);
+ PixelBufferAlpha *render(const std::string& text) const;
private:
- Image img_font;
+ Image img_font;
- std::map<char, int> character_offset;
- std::map<char, size_t> character_width;
- std::map<char, int> character_pre_bias;
- std::map<char, int> character_post_bias;
-};
+ class Character {
+ public:
+ int offset{0};
+ size_t width{0};
+ int pre_bias{0};
+ int post_bias{0};
+ };
+ std::array<Character, 255> characters;
+ int spacing{1};
};
-#endif/*__DRUMGIZMO_FONT_H__*/
+
+} // GUI::
diff --git a/plugingui/guievent.h b/plugingui/guievent.h
index 4732101..133b630 100644
--- a/plugingui/guievent.h
+++ b/plugingui/guievent.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_GUI_EVENT_H__
-#define __DRUMGIZMO_GUI_EVENT_H__
+#pragma once
#include <unistd.h>
@@ -38,104 +37,117 @@
namespace GUI {
+enum class EventType {
+ mouseMove,
+ repaint,
+ button,
+ scroll,
+ key,
+ close,
+ resize
+};
+
class Event {
public:
- typedef enum {
- MouseMove,
- Repaint,
- Button,
- Scroll,
- Key,
- Close,
- Resize
- } Type;
- virtual ~Event() {}
-
- virtual Type type() = 0;
+ virtual ~Event() {}
+
+ virtual EventType type() = 0;
#ifdef X11
- ::Window window_id;
+ ::Window window_id;
#endif/*X11*/
};
class MouseMoveEvent : public Event {
public:
- Type type() { return MouseMove; }
+ EventType type() { return EventType::mouseMove; }
+
+ int x;
+ int y;
+};
+
+
+enum class Direction {
+ up,
+ down,
+};
- int x;
- int y;
+enum class MouseButton {
+ right,
+ middle,
+ left,
};
class ButtonEvent : public Event {
public:
- Type type() { return Button; }
+ EventType type() { return EventType::button; }
- int x;
- int y;
+ int x;
+ int y;
- int direction;
- int button;
- int doubleclick;
+ Direction direction;
+ MouseButton button;
+
+ bool doubleClick;
};
class ScrollEvent : public Event {
public:
- Type type() { return Scroll; }
+ EventType type() { return EventType::scroll; }
- int x;
- int y;
+ int x;
+ int y;
- int delta;
+ int delta;
};
class RepaintEvent : public Event {
public:
- Type type() { return Repaint; }
+ EventType type() { return EventType::repaint; }
+
+ int x;
+ int y;
+ size_t width;
+ size_t height;
+};
- int x;
- int y;
- size_t width;
- size_t height;
+enum class Key {
+ unknown,
+ left,
+ right,
+ up,
+ down,
+ deleteKey,
+ backspace,
+ home,
+ end,
+ pageDown,
+ pageUp,
+ enter,
+ character, //!< The actual character is stored in KeyEvent::text
};
class KeyEvent : public Event {
public:
- Type type() { return Key; }
-
- int direction;
- int keycode;
- std::string text;
-
- enum {
- KEY_UNKNOWN =-1,
- KEY_LEFT = 1,
- KEY_RIGHT = 2,
- KEY_UP = 3,
- KEY_DOWN = 4,
- KEY_DELETE = 5,
- KEY_BACKSPACE = 6,
- KEY_HOME = 7,
- KEY_END = 8,
- KEY_PGDOWN = 9,
- KEY_PGUP = 10,
- KEY_ENTER = 11,
- KEY_CHARACTER = 0xffff // character data is stored in 'text'
- };
+ EventType type() { return EventType::key; }
+
+ Direction direction;
+
+ Key keycode;
+ std::string text;
};
class CloseEvent : public Event {
public:
- Type type() { return Close; }
+ EventType type() { return EventType::close; }
};
class ResizeEvent : public Event {
public:
- Type type() { return Resize; }
-
- size_t width;
- size_t height;
-};
+ EventType type() { return EventType::resize; }
+ size_t width;
+ size_t height;
};
-#endif/*__DRUMGIZMO_GUI_EVENT_H__*/
+} // GUI::
diff --git a/plugingui/image.cc b/plugingui/image.cc
index 65b8242..250dc60 100644
--- a/plugingui/image.cc
+++ b/plugingui/image.cc
@@ -11,109 +11,115 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "image.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdint.h>
+#include <cstring>
+#include <cstdint>
+#include <cstdlib>
#include <hugin.hpp>
#include "resource.h"
-// http://blog.hammerian.net/2009/reading-png-images-from-memory/
-
#include "lodepng/lodepng.h"
-GUI::Image::Image(const char* data, size_t size)
+namespace GUI {
+
+Image::Image(const char* data, size_t size)
{
- load(data, size);
+ load(data, size);
}
-GUI::Image::Image(std::string filename)
+Image::Image(const std::string& filename)
{
- GUI::Resource rc(filename);
- load(rc.data(), rc.size());
+ Resource rc(filename);
+ load(rc.data(), rc.size());
}
-GUI::Image::~Image()
+Image::~Image()
{
- free(image_data);
+ std::free(image_data);
}
-void GUI::Image::setError(int err)
+void Image::setError()
{
- GUI::Resource rc(":png_error");
+ Resource rc(":png_error");
- const unsigned char *p = (const unsigned char *)rc.data();
+ const unsigned char* p = (const unsigned char*)rc.data();
- uint32_t iw, ih;
+ std::uint32_t iw, ih;
- memcpy(&iw, p, sizeof(uint32_t)); p += sizeof(uint32_t);
- memcpy(&ih, p, sizeof(uint32_t)); p += sizeof(uint32_t);
+ std::memcpy(&iw, p, sizeof(uint32_t));
+ p += sizeof(uint32_t);
- w = iw;
- h = ih;
+ std::memcpy(&ih, p, sizeof(uint32_t));
+ p += sizeof(uint32_t);
- DEBUG(image, "w:%d, h:%d\n", (int)w, (int)h);
+ _width = iw;
+ _height = ih;
- image_data = (unsigned char*)malloc(rc.size() - 8);
- memcpy(image_data, p, rc.size() - 8);
+ size_t image_size = rc.size() - (sizeof(iw) + sizeof(ih));
+ image_data = (unsigned char*)std::malloc(image_size);
+ memcpy(image_data, p, image_size);
}
-void GUI::Image::load(const char* data, size_t size)
+void Image::load(const char* data, size_t size)
{
- //unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h,
- // const unsigned char* in, size_t insize);
- unsigned iw, ih;
- unsigned res = lodepng_decode32((unsigned char**)&image_data, &iw, &ih,
- (const unsigned char*)data, size);
- w = iw;
- h = ih;
-
- if(res != 0) {
- ERR(image, "[read_png_file] Error during init_io");
- setError(3);
- return;
- }
+ unsigned int iw, ih;
+ unsigned int res = lodepng_decode32((unsigned char**)&image_data,
+ &iw, &ih,
+ (const unsigned char*)data, size);
+
+ _width = iw;
+ _height = ih;
+
+ if(res != 0)
+ {
+ ERR(image, "Error in lodepng_decode32: %d", res);
+ setError();
+ return;
+ }
}
-size_t GUI::Image::width()
+size_t Image::width() const
{
- return w;
+ return _width;
}
-size_t GUI::Image::height()
+size_t Image::height() const
{
- return h;
+ return _height;
}
-GUI::Colour GUI::Image::getPixel(size_t x, size_t y)
+Colour Image::getPixel(size_t x, size_t y) const
{
- if(x > width() || y > height()) return GUI::Colour(0,0,0,0);
- unsigned char *ptr = &image_data[(x + y * width()) * 4];
- float r = ptr[0];
- float g = ptr[1];
- float b = ptr[2];
- float a = ptr[3];
- GUI::Colour c(r / 255.0,
- g / 255.0,
- b / 255.0,
- a / 255.0);
- return c;
+ if(x > _width || y > _height)
+ {
+ return Colour(0,0,0,0);
+ }
+
+ unsigned char* ptr = &image_data[(x + y * width()) * 4];
+
+ float r = ptr[0];
+ float g = ptr[1];
+ float b = ptr[2];
+ float a = ptr[3];
+
+ Colour c(r / 255.0, g / 255.0, b / 255.0, a / 255.0);
+
+ return c;
}
+
+} // GUI::
diff --git a/plugingui/image.h b/plugingui/image.h
index cec1518..92bd181 100644
--- a/plugingui/image.h
+++ b/plugingui/image.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_IMAGE_H__
-#define __DRUMGIZMO_IMAGE_H__
+#pragma once
#include <string>
@@ -36,24 +35,22 @@ namespace GUI {
class Image {
public:
- Image(const char* data, size_t size);
- Image(std::string filename);
- ~Image();
+ Image(const char* data, size_t size);
+ Image(const std::string& filename);
+ ~Image();
- size_t width();
- size_t height();
+ size_t width() const;
+ size_t height() const;
- Colour getPixel(size_t x, size_t y);
+ Colour getPixel(size_t x, size_t y) const;
private:
- void setError(int err);
+ void setError();
- void load(const char* data, size_t size);
+ void load(const char* data, size_t size);
- size_t w, h;
- unsigned char *image_data;
+ size_t _width, _height;
+ unsigned char* image_data;
};
-};
-
-#endif/*__DRUMGIZMO_IMAGE_H__*/
+} // GUI::
diff --git a/plugingui/knob.cc b/plugingui/knob.cc
index ca861b5..845d95a 100644
--- a/plugingui/knob.cc
+++ b/plugingui/knob.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -30,171 +30,174 @@
#include <hugin.hpp>
#include <stdio.h>
+
+// M_PI is not defined in math.h if __STRICT_ANSI__ is defined.
+#ifdef __STRICT_ANSI__
+#undef __STRICT_ANSI__
+#endif
#include <math.h>
-GUI::Knob::Knob(Widget *parent)
- : GUI::Widget(parent), img_knob(":knob.png")
+namespace GUI {
+
+Knob::Knob(Widget *parent)
+ : Widget(parent)
+ , img_knob(":knob.png")
{
- state = up;
+ state = up;
- val = 0.0;
- maximum = 1.0;
- minimum = 0.0;
- mouse_offset_x = 0;
+ maximum = 1.0;
+ minimum = 0.0;
- handler = NULL;
- ptr = NULL;
-}
+ currentValue = minimum;
-void GUI::Knob::setValue(float v)
-{
- val = v;
- if(handler) handler(ptr);
- repaintEvent(NULL);
+ mouse_offset_x = 0;
}
-float GUI::Knob::value()
+void Knob::setValue(float value)
{
- return val;
+ internalSetValue(value);
}
-void GUI::Knob::registerClickHandler(void (*handler)(void *), void *ptr)
+float Knob::value()
{
- this->handler = handler;
- this->ptr = ptr;
+ return currentValue;
}
-void GUI::Knob::scrollEvent(ScrollEvent *e)
+void Knob::scrollEvent(ScrollEvent* scrollEvent)
{
- val -= e->delta / 200.0;
- if(val < 0) val = 0;
- if(val > 1) val = 1;
-
- if(handler) handler(ptr);
-
- repaintEvent(NULL);
+ float value = currentValue - (scrollEvent->delta / 200.0);
+ internalSetValue(value);
}
-void GUI::Knob::mouseMoveEvent(MouseMoveEvent *e)
+void Knob::mouseMoveEvent(MouseMoveEvent* mouseMoveEvent)
{
- if(state == down) {
- if(mouse_offset_x == (e->x + -1*e->y)) return;
-
- float dval = mouse_offset_x - (e->x + -1*e->y);
- val -= dval / 300.0;
+ if(state == down)
+ {
+ if(mouse_offset_x == (mouseMoveEvent->x + (-1 * mouseMoveEvent->y)))
+ {
+ return;
+ }
- if(val < 0) val = 0;
- if(val > 1) val = 1;
+ float dval =
+ mouse_offset_x - (mouseMoveEvent->x + (-1 * mouseMoveEvent->y));
+ float value = currentValue - (dval / 300.0);
- if(handler) handler(ptr);
- repaintEvent(NULL);
+ internalSetValue(value);
- mouse_offset_x = e->x + -1*e->y;
- }
+ mouse_offset_x = mouseMoveEvent->x + (-1 * mouseMoveEvent->y);
+ }
}
-void GUI::Knob::keyEvent(KeyEvent *e)
+void Knob::keyEvent(KeyEvent* keyEvent)
{
- if(e->direction != -1) return;
-
- switch(e->keycode) {
- case GUI::KeyEvent::KEY_UP:
- val += 0.01;
- break;
- case GUI::KeyEvent::KEY_DOWN:
- val -= 0.01;
- break;
- case GUI::KeyEvent::KEY_RIGHT:
- val += 0.01;
- break;
- case GUI::KeyEvent::KEY_LEFT:
- val -= 0.01;
- break;
- case GUI::KeyEvent::KEY_HOME:
- val = 0;
- break;
- case GUI::KeyEvent::KEY_END:
- val = 1;
- break;
- default:
- break;
- }
-
- if(val < 0) val = 0;
- if(val > 1) val = 1;
-
- repaintEvent(NULL);
+ if(keyEvent->direction != Direction::up)
+ {
+ return;
+ }
+
+ float value = currentValue;
+ switch(keyEvent->keycode) {
+ case Key::up:
+ value += 0.01;
+ break;
+ case Key::down:
+ value -= 0.01;
+ break;
+ case Key::right:
+ value += 0.01;
+ break;
+ case Key::left:
+ value -= 0.01;
+ break;
+ case Key::home:
+ value = 0;
+ break;
+ case Key::end:
+ value = 1;
+ break;
+ default:
+ break;
+ }
+
+ internalSetValue(value);
}
-void GUI::Knob::buttonEvent(ButtonEvent *e)
+void Knob::buttonEvent(ButtonEvent* buttonEvent)
{
- if(e->direction == 1) {
- state = down;
- mouse_offset_x = e->x + -1*e->y;
- if(handler) handler(ptr);
- repaintEvent(NULL);
- }
- if(e->direction == -1) {
- state = up;
- mouse_offset_x = e->x + -1*e->y;
- repaintEvent(NULL);
- clicked();
- if(handler) handler(ptr);
- }
+ if(buttonEvent->direction == Direction::down)
+ {
+ state = down;
+ mouse_offset_x = buttonEvent->x + (-1 * buttonEvent->y);
+ }
+
+ if(buttonEvent->direction == Direction::up)
+ {
+ state = up;
+ mouse_offset_x = buttonEvent->x + (-1 * buttonEvent->y);
+ clicked();
+ }
}
-void GUI::Knob::repaintEvent(GUI::RepaintEvent *e)
+void Knob::repaintEvent(RepaintEvent* repaintEvent)
{
- int diameter = (width()>height()?height():width());
- int radius = diameter / 2;
- int center_x = width() / 2;
- int center_y = height() / 2;
-
- Painter p(this);
-
- p.clear();
- p.drawImageStretched(0, 0, &img_knob, diameter, diameter);
-
- char buf[64];
- sprintf(buf, "%.2f", val * maximum);
- Font font;
- p.drawText(center_x - font.textWidth(buf) / 2 + 1,
- center_y + font.textHeight(buf) / 2 + 1, font, buf);
-
- double padval = val * 0.8 + 0.1; // Make it start from 20% and stop at 80%
-
- double from_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
- double from_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
-
- double to_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
- double to_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
-
- // Draw "fat" line by drawing 9 lines with moved start/ending points.
- p.setColour(Colour(1, 0, 0, 1));
- for(int _x = -1; _x < 2; _x++) {
- for(int _y = -1; _y < 2; _y++) {
- p.drawLine(from_x + center_x + _x,
- from_y + center_y + _y,
- to_x + center_x + _x,
- to_y + center_y + _y);
-
- }
- }
+ int diameter = (width()>height()?height():width());
+ int radius = diameter / 2;
+ int center_x = width() / 2;
+ int center_y = height() / 2;
+
+ Painter p(*this);
+
+ p.clear();
+ p.drawImageStretched(0, 0, img_knob, diameter, diameter);
+
+ char buf[64];
+ sprintf(buf, "%.2f", currentValue * maximum);
+ p.drawText(center_x - font.textWidth(buf) / 2 + 1,
+ center_y + font.textHeight(buf) / 2 + 1, font, buf);
+
+ // Make it start from 20% and stop at 80%
+ double padval = currentValue * 0.8 + 0.1;
+
+ double from_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
+ double from_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
+
+ double to_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
+ double to_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
+
+ // Draw "fat" line by drawing 9 lines with moved start/ending points.
+ p.setColour(Colour(1, 0, 0, 1));
+ for(int _x = -1; _x < 2; _x++)
+ {
+ for(int _y = -1; _y < 2; _y++)
+ {
+ p.drawLine(from_x + center_x + _x,
+ from_y + center_y + _y,
+ to_x + center_x + _x,
+ to_y + center_y + _y);
+ }
+ }
}
-#ifdef TEST_KNOB
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
+void Knob::internalSetValue(float value)
+{
+ if(value < minimum)
+ {
+ value = minimum;
+ }
+
+ if(value > maximum)
+ {
+ value = maximum;
+ }
+
+ if(value == currentValue)
+ {
+ return;
+ }
+
+ currentValue = value;
+ valueChangedNotifier(currentValue);
+ repaintEvent(nullptr);
+}
-#endif/*TEST_KNOB*/
+} // GUI::
diff --git a/plugingui/knob.h b/plugingui/knob.h
index a6af499..10d91d6 100644
--- a/plugingui/knob.h
+++ b/plugingui/knob.h
@@ -11,70 +11,70 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_KNOB_H__
-#define __DRUMGIZMO_KNOB_H__
+#pragma once
#include "widget.h"
-
#include "image.h"
+#include "font.h"
+#include "notifier.h"
namespace GUI {
class Knob : public Widget {
public:
- Knob(Widget *parent);
+ Knob(Widget *parent);
- bool catchMouse() { return true; }
- bool isFocusable() { return true; }
+ // From Widget:
+ bool catchMouse() override { return true; }
+ bool isFocusable() override { return true; }
- void setValue(float value);
- float value();
+ void setValue(float value);
+ float value();
- void registerClickHandler(void (*handler)(void *), void *ptr);
+ Notifier<float> valueChangedNotifier; // (float newValue)
- //protected:
- virtual void clicked() {}
+protected:
+ virtual void clicked() {}
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
- virtual void mouseMoveEvent(MouseMoveEvent *e);
- virtual void scrollEvent(ScrollEvent *e);
- virtual void keyEvent(KeyEvent *e);
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent* buttonEvent) override;
+ virtual void mouseMoveEvent(MouseMoveEvent* mouseMoveEvent) override;
+ virtual void scrollEvent(ScrollEvent* scrollEvent) override;
+ virtual void keyEvent(KeyEvent* keyEvent) override;
private:
- typedef enum {
- up,
- down
- } state_t;
-
- float val;
- float maximum;
- float minimum;
+ //! Sets the internal value and sends out the changed notification.
+ void internalSetValue(float value);
- state_t state;
+ typedef enum {
+ up,
+ down
+ } state_t;
- GUI::Image img_knob;
+ state_t state;
- void (*handler)(void *);
- void *ptr;
+ float currentValue;
+ float maximum;
+ float minimum;
- int mouse_offset_x;
-
-};
+ Image img_knob;
+ int mouse_offset_x;
+ Font font;
};
-#endif/*__DRUMGIZMO_KNOB_H__*/
+} // GUI::
diff --git a/plugingui/label.cc b/plugingui/label.cc
index bcc7005..2ff4f36 100644
--- a/plugingui/label.cc
+++ b/plugingui/label.cc
@@ -11,59 +11,69 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "label.h"
#include "painter.h"
+#include "guievent.h"
-GUI::Label::Label(GUI::Widget *parent) : GUI::Widget(parent)
+namespace GUI {
+
+Label::Label(Widget *parent)
+ : Widget(parent)
{
}
-void GUI::Label::setText(std::string text)
+void Label::setText(const std::string& text)
{
- _text = text;
- repaintEvent(NULL);
+ _text = text;
+ repaintEvent(nullptr);
}
-void GUI::Label::repaintEvent(GUI::RepaintEvent *e)
+void Label::setAlignment(TextAlignment alignment)
{
- Painter p(this);
-
- p.clear();
-
- p.setColour(Colour(1));
+ this->alignment = alignment;
+}
- Font font(":fontemboss.png");
- p.drawText(10, (height() + font.textHeight()) / 2, font, _text, true);
+void Label::resizeToText()
+{
+ resize(font.textWidth(_text) + border, font.textHeight());
}
+void Label::repaintEvent(RepaintEvent* repaintEvent)
+{
+ Painter p(*this);
-#ifdef TEST_LABEL
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
+ p.clear();
-TEST_BEGIN;
+ p.setColour(Colour(1));
-// TODO: Put some testcode here (see test.h for usable macros).
+ int offset = 0;
+ switch(alignment) {
+ case TextAlignment::left:
+ offset = border;
+ break;
+ case TextAlignment::center:
+ offset = (width() - font.textWidth(_text)) / 2;
+ break;
+ case TextAlignment::right:
+ offset = width() - font.textWidth(_text) - border;
+ break;
+ }
-TEST_END;
+ p.drawText(offset, (height() + font.textHeight()) / 2, font, _text, true);
+}
-#endif/*TEST_LABEL*/
+} // GUI::
diff --git a/plugingui/label.h b/plugingui/label.h
index 50f02d6..019df17 100644
--- a/plugingui/label.h
+++ b/plugingui/label.h
@@ -11,43 +11,54 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LABEL_H__
-#define __DRUMGIZMO_LABEL_H__
+#pragma once
#include "widget.h"
-#include <string>
+#include "font.h"
-#include "guievent.h"
+#include <string>
namespace GUI {
+enum class TextAlignment {
+ left,
+ center,
+ right,
+};
+
class Label : public Widget {
public:
- Label(Widget *parent);
+ Label(Widget *parent);
- void setText(std::string text);
+ void setText(const std::string& text);
- //protected:
- virtual void repaintEvent(RepaintEvent *e);
+ void setAlignment(TextAlignment alignment);
-private:
- std::string _text;
-};
+ void resizeToText();
+protected:
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+
+private:
+ std::string _text;
+ Font font{":fontemboss.png"};
+ TextAlignment alignment{TextAlignment::left};
+ int border{0};
};
-#endif/*__DRUMGIZMO_LABEL_H__*/
+} // GUI::
diff --git a/plugingui/layout.cc b/plugingui/layout.cc
new file mode 100644
index 0000000..1b56315
--- /dev/null
+++ b/plugingui/layout.cc
@@ -0,0 +1,219 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * layout.cc
+ *
+ * Sat Mar 21 15:12:36 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "layout.h"
+
+#include "widget.h"
+
+namespace GUI {
+
+LayoutItem::LayoutItem()
+ : parent(nullptr)
+{
+}
+
+LayoutItem::~LayoutItem()
+{
+ setLayoutParent(nullptr); // Will disconnect from layout if any.
+}
+
+void LayoutItem::setLayoutParent(Layout *p)
+{
+ if(this->parent)
+ {
+ this->parent->removeItem(this);
+ }
+
+ this->parent = p;
+}
+
+Layout::Layout(LayoutItem *parent)
+ : parent(parent)
+{
+ auto widget = dynamic_cast<Widget*>(parent);
+ if(widget)
+ {
+ CONNECT(widget, sizeChangeNotifier, this, &Layout::sizeChanged);
+ }
+}
+
+void Layout::addItem(LayoutItem *item)
+{
+ items.push_back(item);
+ item->setLayoutParent(this);
+ layout();
+}
+
+void Layout::removeItem(LayoutItem *item)
+{
+ LayoutItemList::iterator i = items.begin();
+ while(i != items.end())
+ {
+ if(*i == item)
+ {
+ i = items.erase(i);
+ continue;
+ }
+ ++i;
+ }
+
+ layout();
+}
+
+void Layout::sizeChanged(int width, int height)
+{
+ layout();
+}
+
+//
+// BoxLayout
+//
+
+BoxLayout::BoxLayout(LayoutItem *parent)
+ : Layout(parent)
+{
+}
+
+void BoxLayout::setResizeChildren(bool resizeChildren)
+{
+ this->resizeChildren = resizeChildren;
+ layout();
+}
+
+void BoxLayout::setSpacing(size_t spacing)
+{
+ this->spacing = spacing;
+ layout();
+}
+
+//
+// VBoxLayout
+//
+
+VBoxLayout::VBoxLayout(LayoutItem *parent)
+ : BoxLayout(parent)
+ , align(HAlignment::center)
+{
+}
+
+void VBoxLayout::layout()
+{
+ size_t y = 0;
+ size_t w = parent->width();
+ //size_t h = parent->height() / items.size();
+
+ LayoutItemList::iterator i = items.begin();
+ while(i != items.end())
+ {
+ LayoutItem *item = *i;
+ if(resizeChildren)
+ {
+ item->resize(w, parent->height() / items.size());
+ }
+
+ size_t x = 0;
+ switch(align) {
+ case HAlignment::left:
+ x = 0;
+ break;
+ case HAlignment::center:
+ x = (w / 2) - (item->width() / 2);
+ break;
+ case HAlignment::right:
+ x = w - item->width();
+ break;
+ }
+
+ item->move(x, y);
+ y += item->height() + spacing;
+ ++i;
+ }
+}
+
+void VBoxLayout::setHAlignment(HAlignment alignment)
+{
+ align = alignment;
+}
+
+//
+// HBoxLayout
+//
+
+HBoxLayout::HBoxLayout(LayoutItem *parent)
+ : BoxLayout(parent)
+ , align(VAlignment::center)
+{
+}
+
+void HBoxLayout::layout()
+{
+ if(items.empty())
+ {
+ return;
+ }
+
+// size_t w = parent->width() / items.size();
+ size_t h = parent->height();
+ size_t x = 0;
+
+ LayoutItemList::iterator i = items.begin();
+ while(i != items.end())
+ {
+ LayoutItem *item = *i;
+ if(resizeChildren)
+ {
+ item->resize(parent->width() / items.size(), h);
+ item->move(x, 0);
+ }
+ else
+ {
+ size_t y = 0;
+ switch(align) {
+ case VAlignment::top:
+ y = 0;
+ break;
+ case VAlignment::center:
+ y = (h / 2) - (item->height() / 2);
+ break;
+ case VAlignment::bottom:
+ y = h - item->height();
+ break;
+ }
+
+ int diff = 0;//w - item->width();
+ item->move(x + diff / 2, y);
+ }
+ x += item->width() + spacing;
+ ++i;
+ }
+}
+
+void HBoxLayout::setVAlignment(VAlignment alignment)
+{
+ align = alignment;
+}
+
+} // GUI::
diff --git a/plugingui/layout.h b/plugingui/layout.h
new file mode 100644
index 0000000..55cc93f
--- /dev/null
+++ b/plugingui/layout.h
@@ -0,0 +1,135 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * layout.h
+ *
+ * Sat Mar 21 15:12:36 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <list>
+#include <cstdlib>
+
+#include "notifier.h"
+
+namespace GUI {
+
+class Layout;
+
+class LayoutItem {
+public:
+ LayoutItem();
+ virtual ~LayoutItem();
+
+ void setLayoutParent(Layout* parent);
+
+ virtual void resize(int width, int height) = 0;
+ virtual void move(size_t x, size_t y) = 0;
+ virtual int x() = 0;
+ virtual int y() = 0;
+ virtual size_t width() = 0;
+ virtual size_t height() = 0;
+
+private:
+ Layout* parent;
+};
+
+//! \brief Abtract Layout class.
+class Layout : public Listener
+{
+public:
+ Layout(LayoutItem *parent);
+ virtual ~Layout() {}
+
+ virtual void addItem(LayoutItem *item);
+ virtual void removeItem(LayoutItem *item);
+
+ //! \brief Reimplement this method to create a new Layout rule.
+ virtual void layout() = 0;
+
+protected:
+ void sizeChanged(int width, int height);
+
+ LayoutItem *parent;
+ typedef std::list<LayoutItem *> LayoutItemList;
+ LayoutItemList items;
+};
+
+//! \brief Abstract box layout
+class BoxLayout : public Layout {
+public:
+ BoxLayout(LayoutItem *parent);
+
+ //! \brief Set to false to only move the items, not scale them.
+ void setResizeChildren(bool resize_children);
+
+ void setSpacing(size_t spacing);
+
+ // From Layout:
+ virtual void layout() override = 0;
+
+protected:
+ bool resizeChildren{false};
+ size_t spacing{0};
+};
+
+enum class HAlignment {
+ left,
+ center,
+ right,
+};
+
+//! \brief A Layout that lays out its elements vertically.
+class VBoxLayout : public BoxLayout {
+public:
+ VBoxLayout(LayoutItem *parent);
+
+ void setHAlignment(HAlignment alignment);
+
+ // From BoxLayout:
+ virtual void layout() override;
+
+protected:
+ HAlignment align;
+};
+
+enum class VAlignment {
+ top,
+ center,
+ bottom,
+};
+
+//! \brief A Layout that lays out its elements vertically.
+class HBoxLayout : public BoxLayout {
+public:
+ HBoxLayout(LayoutItem *parent);
+
+ void setVAlignment(VAlignment alignment);
+
+ // From BoxLayout:
+ virtual void layout() override;
+
+protected:
+ VAlignment align;
+};
+
+} // GUI::
diff --git a/plugingui/led.cc b/plugingui/led.cc
index d26a0de..03ea661 100644
--- a/plugingui/led.cc
+++ b/plugingui/led.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,79 +28,70 @@
#include "painter.h"
-GUI::LED::LED(Widget *parent)
- : GUI::Widget(parent)
+namespace GUI {
+
+LED::LED(Widget *parent)
+ : Widget(parent)
+ , state(Off)
{
- state = off;
}
-void GUI::LED::setState(GUI::LED::state_t state)
+void LED::setState(state_t state)
{
- if(this->state != state) {
- this->state = state;
- repaintEvent(NULL);
- }
+ if(this->state != state)
+ {
+ this->state = state;
+ repaintEvent(nullptr);
+ }
}
-void GUI::LED::repaintEvent(GUI::RepaintEvent *e)
+void LED::repaintEvent(RepaintEvent* repaintEvent)
{
- size_t h = height() - 1;
- size_t w = width() - 1;
+ size_t h = height() - 1;
+ size_t w = width() - 1;
- Painter p(this);
- float alpha = 0.9;
- switch(state) {
- case red:
- p.setColour(Colour(1, 0, 0,alpha));
- break;
- case green:
- p.setColour(Colour(0, 1, 0, alpha));
- break;
- case blue:
- p.setColour(Colour(0, 0, 1, alpha));
- break;
- case off:
- p.setColour(Colour(0.2, 0.2, 0.2, alpha));
- break;
- }
+ Painter p(*this);
+ float alpha = 0.9;
+ switch(state) {
+ case Red:
+ p.setColour(Colour(1, 0, 0,alpha));
+ break;
+ case Green:
+ p.setColour(Colour(0, 1, 0, alpha));
+ break;
+ case Blue:
+ p.setColour(Colour(0, 0, 1, alpha));
+ break;
+ case Off:
+ p.setColour(Colour(0.2, 0.2, 0.2, alpha));
+ break;
+ }
- size_t size = w / 2;
- if(h / 2 < size) size = h / 2;
- p.drawFilledCircle(w/2, h/2, size);
+ size_t size = w / 2;
+ if((h / 2) < size)
+ {
+ size = h / 2;
+ }
+ p.drawFilledCircle(w / 2, h / 2, size);
- switch(state) {
- case red:
- p.setColour(Colour(0.4, 0, 0,alpha));
- break;
- case green:
- p.setColour(Colour(0, 0.4, 0, alpha));
- break;
- case blue:
- p.setColour(Colour(0, 0, 0.4, alpha));
- break;
- case off:
- p.setColour(Colour(0.1, 0.1, 0.1, alpha));
- break;
- }
- p.drawCircle(w/2, h/2, size);
+ switch(state) {
+ case Red:
+ p.setColour(Colour(0.4, 0, 0, alpha));
+ break;
+ case Green:
+ p.setColour(Colour(0, 0.4, 0, alpha));
+ break;
+ case Blue:
+ p.setColour(Colour(0, 0, 0.4, alpha));
+ break;
+ case Off:
+ p.setColour(Colour(0.1, 0.1, 0.1, alpha));
+ break;
+ }
+ p.drawCircle(w / 2, h / 2, size);
- p.setColour(Colour(1,alpha));
- p.drawFilledCircle(w/3, h/3, size / 6);
+ p.setColour(Colour(1, alpha));
+ p.drawFilledCircle(w / 3, h / 3, size / 6);
}
-#ifdef TEST_LED
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_LED*/
+} // GUI::
diff --git a/plugingui/led.h b/plugingui/led.h
index 7bbd59a..14ab6ef 100644
--- a/plugingui/led.h
+++ b/plugingui/led.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LED_H__
-#define __DRUMGIZMO_LED_H__
+#pragma once
#include "widget.h"
@@ -33,24 +32,23 @@ namespace GUI {
class LED : public Widget {
public:
- typedef enum {
- red,
- green,
- blue,
- off
- } state_t;
+ typedef enum {
+ Red,
+ Green,
+ Blue,
+ Off
+ } state_t;
- LED(Widget *parent);
+ LED(Widget *parent);
- void setState(state_t state);
+ void setState(state_t state);
- //protected:
- void repaintEvent(RepaintEvent *e);
+protected:
+ // From Widget:
+ void repaintEvent(RepaintEvent* repaintEvent) override;
private:
- state_t state;
+ state_t state;
};
-};
-
-#endif/*__DRUMGIZMO_LED_H__*/
+} // GUI::
diff --git a/plugingui/lineedit.cc b/plugingui/lineedit.cc
index 5e1eb9b..64197b6 100644
--- a/plugingui/lineedit.cc
+++ b/plugingui/lineedit.cc
@@ -11,229 +11,288 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "lineedit.h"
#include <stdio.h>
-
-#include "window.h"
-
-#include <assert.h>
-
#include <hugin.hpp>
#define BORDER 10
-GUI::LineEdit::LineEdit(Widget *parent)
- : GUI::Widget(parent)
+namespace GUI {
+
+LineEdit::LineEdit(Widget *parent)
+ : Widget(parent)
{
- pos = 0;
- offsetpos = 0;
- setReadOnly(false);
-
- box.topLeft = new Image(":widget_tl.png");
- box.top = new Image(":widget_t.png");
- box.topRight = new Image(":widget_tr.png");
- box.left = new Image(":widget_l.png");
- box.right = new Image(":widget_r.png");
- box.bottomLeft = new Image(":widget_bl.png");
- box.bottom = new Image(":widget_b.png");
- box.bottomRight = new Image(":widget_br.png");
- box.center = new Image(":widget_c.png");
-
- handler = NULL;
+ setReadOnly(false);
+
+ box.topLeft = new Image(":widget_tl.png");
+ box.top = new Image(":widget_t.png");
+ box.topRight = new Image(":widget_tr.png");
+ box.left = new Image(":widget_l.png");
+ box.right = new Image(":widget_r.png");
+ box.bottomLeft = new Image(":widget_bl.png");
+ box.bottom = new Image(":widget_b.png");
+ box.bottomRight = new Image(":widget_br.png");
+ box.center = new Image(":widget_c.png");
}
-void GUI::LineEdit::registerEnterPressedHandler(void (*handler)(void *), void *ptr)
+LineEdit::~LineEdit()
{
- this->handler = handler;
- this->ptr = ptr;
+ delete box.topLeft;
+ delete box.top;
+ delete box.topRight;
+ delete box.left;
+ delete box.right;
+ delete box.bottomLeft;
+ delete box.bottom;
+ delete box.bottomRight;
+ delete box.center;
}
-void GUI::LineEdit::setReadOnly(bool ro)
+void LineEdit::setReadOnly(bool ro)
{
- readonly = ro;
+ readonly = ro;
}
-bool GUI::LineEdit::readOnly()
+bool LineEdit::readOnly()
{
- return readonly;
+ return readonly;
}
-void GUI::LineEdit::setText(std::string text)
+void LineEdit::setText(const std::string& text)
{
- _text = text;
- pos = text.size();
-
- repaintEvent(NULL);
- textChanged();
+ _text = text;
+ pos = text.size();
+
+ visibleText = _text;
+ offsetPos = 0;
+
+ repaintEvent(nullptr);
+ textChanged();
}
-std::string GUI::LineEdit::text()
+std::string LineEdit::text()
{
- return _text;
+ return _text;
}
-void GUI::LineEdit::buttonEvent(ButtonEvent *e)
+void LineEdit::buttonEvent(ButtonEvent *buttonEvent)
{
- if(readOnly()) return;
-
-
- if(e->direction == 1) {
- for(int i = 0; i < (int)_visibletext.length(); i++) {
- if(e->x < (int)(font.textWidth(_visibletext.substr(0, i)) + BORDER)) {
- pos = i + offsetpos;
- break;
- }
- }
- repaintEvent(NULL);
- }
+ if(readOnly())
+ {
+ return;
+ }
+
+ if(buttonEvent->direction == Direction::down)
+ {
+ for(int i = 0; i < (int)visibleText.length(); ++i)
+ {
+ int textWidth = font.textWidth(visibleText.substr(0, i));
+ if(buttonEvent->x < (textWidth + BORDER))
+ {
+ pos = i + offsetPos;
+ break;
+ }
+ }
+ repaintEvent(nullptr);
+ }
}
-void GUI::LineEdit::keyEvent(GUI::KeyEvent *e)
+void LineEdit::keyEvent(KeyEvent *keyEvent)
{
- if(readOnly()) return;
-
- bool change = false;
-
- if(e->direction == -1) {
-
- if(e->keycode == GUI::KeyEvent::KEY_LEFT) {
- if(pos) pos--;
- if(offsetpos >= pos) walkstate = WALK_LEFT;
-
- } else if(e->keycode == GUI::KeyEvent::KEY_HOME) {
- pos = 0;
-
- } else if(e->keycode == GUI::KeyEvent::KEY_END) {
- pos = _text.length();
-
- } else if(e->keycode == GUI::KeyEvent::KEY_RIGHT) {
- if(pos < _text.length()) pos++;
- if(offsetpos + _visibletext.length() <= pos &&
- pos < _text.length()) walkstate = WALK_RIGHT;
-
- } else if(e->keycode == GUI::KeyEvent::KEY_DELETE) {
- if(pos < _text.length()) {
- std::string t = _text.substr(0, pos);
- t += _text.substr(pos + 1, std::string::npos);
- _text = t;
- change = true;
- }
-
- } else if(e->keycode == GUI::KeyEvent::KEY_BACKSPACE) {
- if(pos > 0) {
- std::string t = _text.substr(0, pos - 1);
- t += _text.substr(pos, std::string::npos);
- _text = t;
- pos--;
- change = true;
- }
-
- } else if(e->keycode == GUI::KeyEvent::KEY_CHARACTER) {
- std::string pre = _text.substr(0, pos);
- std::string post = _text.substr(pos, std::string::npos);
- _text = pre + e->text + post;
- change = true;
- pos++;
-
- } else if(e->keycode == GUI::KeyEvent::KEY_ENTER) {
- if(handler) handler(ptr);
- }
- repaintEvent(NULL);
- }
-
- if(change) textChanged();
+ if(readOnly())
+ {
+ return;
+ }
+
+ bool change = false;
+
+ if(keyEvent->direction == Direction::down)
+ {
+ switch(keyEvent->keycode) {
+ case Key::left:
+ if(pos == 0)
+ {
+ return;
+ }
+
+ pos--;
+
+ if(offsetPos >= pos)
+ {
+ walkstate = WalkLeft;
+ }
+ break;
+
+ case Key::right:
+ if(pos == _text.length())
+ {
+ return;
+ }
+
+ pos++;
+
+ if((pos < _text.length()) && ((offsetPos + visibleText.length()) <= pos))
+ {
+ walkstate = WalkRight;
+ }
+ break;
+
+ case Key::home:
+ pos = 0;
+ visibleText = _text;
+ offsetPos = 0;
+ break;
+
+ case Key::end:
+ pos = _text.length();
+ visibleText = _text;
+ offsetPos = 0;
+ break;
+
+ case Key::deleteKey:
+ if(pos < _text.length())
+ {
+ std::string t = _text.substr(0, pos);
+ t += _text.substr(pos + 1, std::string::npos);
+ _text = t;
+ change = true;
+ }
+ break;
+
+ case Key::backspace:
+ if(pos > 0)
+ {
+ std::string t = _text.substr(0, pos - 1);
+ t += _text.substr(pos, std::string::npos);
+ _text = t;
+ pos--;
+ change = true;
+ }
+ break;
+
+ case Key::character:
+ {
+ std::string pre = _text.substr(0, pos);
+ std::string post = _text.substr(pos, std::string::npos);
+ _text = pre + keyEvent->text + post;
+ change = true;
+ pos++;
+ }
+ break;
+
+ case Key::enter:
+ enterPressedNotifier();
+ break;
+
+ default:
+ break;
+ }
+
+ repaintEvent(nullptr);
+ }
+
+ if(change)
+ {
+ textChanged();
+ }
}
-void GUI::LineEdit::repaintEvent(GUI::RepaintEvent *e)
+void LineEdit::repaintEvent(RepaintEvent *repaintEvent)
{
- Painter p(this);
-
- p.clear();
-
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
- p.drawBox(0, 0, &box, w, h);
-
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
-
- if(walkstate == WALK_LEFT) {
- _visibletext = _text.substr(pos, std::string::npos);
- offsetpos = pos;
- }
- else if(walkstate == WALK_RIGHT) {
- int d = (offsetpos < _text.length()) ? 1 : 0;
- _visibletext = _text.substr(offsetpos + d);
- offsetpos = offsetpos + d;
- }
- else {
- _visibletext = _text;
- offsetpos = 0;
- }
- while(true) {
- int textwidth = font.textWidth(_visibletext);
- if(textwidth > w - BORDER - 4 + 3) {
- if(walkstate == WALK_LEFT) {
- _visibletext = _visibletext.substr(0, _visibletext.length()-1);
- }
- else if(walkstate == WALK_RIGHT) {
- _visibletext = _visibletext.substr(0, _visibletext.length()-1);
- }
- else {
- if(offsetpos < pos) {
- _visibletext = _visibletext.substr(1);
- offsetpos++;
- }
- else {
- _visibletext = _visibletext.substr(0, _visibletext.length() - 1);
- }
- }
- }
- else {
- break;
- }
- }
-
- walkstate = NOOP;
-
- p.drawText(BORDER - 4 + 3, height()/2+5 + 1 + 1 + 1, font, _visibletext);
-
- if(readOnly()) return;
-
- if(hasKeyboardFocus()) {
- size_t px = font.textWidth(_visibletext.substr(0, pos - offsetpos));
- p.drawLine(px + BORDER - 1 - 4 + 3, 6,
- px + BORDER - 1 - 4 + 3, height() - 7);
- }
+ Painter p(*this);
+
+ p.clear();
+ int w = width();
+ int h = height();
+ if((w == 0) || (h == 0))
+ {
+ return;
+ }
+
+ p.drawBox(0, 0, box, w, h);
+
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
+
+ switch(walkstate) {
+ case WalkLeft:
+ visibleText = _text.substr(pos, std::string::npos);
+ offsetPos = pos;
+ break;
+
+ case WalkRight:
+ {
+ int delta = (offsetPos < _text.length()) ? 1 : 0;
+ visibleText = _text.substr(offsetPos + delta);
+ offsetPos = offsetPos + delta;
+ }
+ break;
+
+ case Noop:
+ visibleText = _text;
+ offsetPos = 0;
+ break;
+ }
+
+ while(true)
+ {
+ int textWidth = font.textWidth(visibleText);
+ if(textWidth <= (w - BORDER - 4 + 3))
+ {
+ break;
+ }
+
+ switch(walkstate) {
+ case WalkLeft:
+ visibleText = visibleText.substr(0, visibleText.length() - 1);
+ break;
+
+ case WalkRight:
+ visibleText = visibleText.substr(0, visibleText.length() - 1);
+ break;
+
+ case Noop:
+ if(offsetPos < pos)
+ {
+ visibleText = visibleText.substr(1);
+ offsetPos++;
+ }
+ else
+ {
+ visibleText = visibleText.substr(0, visibleText.length() - 1);
+ }
+ break;
+ }
+ }
+
+ walkstate = Noop;
+
+ p.drawText(BORDER - 4 + 3, height() / 2 + 5 + 1 + 1 + 1, font, visibleText);
+
+ if(readOnly())
+ {
+ return;
+ }
+
+ if(hasKeyboardFocus())
+ {
+ size_t px = font.textWidth(visibleText.substr(0, pos - offsetPos));
+ p.drawLine(px + BORDER - 1 - 4 + 3, 6,
+ px + BORDER - 1 - 4 + 3, height() - 7);
+ }
}
-#ifdef TEST_LINEEDIT
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_LINEEDIT*/
+} // GUI::
diff --git a/plugingui/lineedit.h b/plugingui/lineedit.h
index f85e9bd..8ec4632 100644
--- a/plugingui/lineedit.h
+++ b/plugingui/lineedit.h
@@ -11,22 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LINEEDIT_H__
-#define __DRUMGIZMO_LINEEDIT_H__
-
+#pragma once
#include <string>
@@ -38,49 +36,45 @@ namespace GUI {
class LineEdit : public Widget {
public:
- LineEdit(Widget *parent);
+ LineEdit(Widget *parent);
+ ~LineEdit();
- bool isFocusable() { return true; }
+ bool isFocusable() override { return true; }
- std::string text();
- void setText(std::string text);
+ std::string text();
+ void setText(const std::string& text);
- void setReadOnly(bool readonly);
- bool readOnly();
+ void setReadOnly(bool readonly);
+ bool readOnly();
- void registerEnterPressedHandler(void (*handler)(void *), void *ptr);
+ Notifier<> enterPressedNotifier;
- //protected:
- virtual void keyEvent(KeyEvent *e);
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
+ //protected:
+ virtual void keyEvent(KeyEvent *keyEvent) override;
+ virtual void repaintEvent(RepaintEvent *repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent *buttonEvent) override;
protected:
- virtual void textChanged() {}
+ virtual void textChanged() {}
private:
- Painter::Box box;
-
- Font font;
+ Painter::Box box;
- std::string _text;
- size_t pos;
- std::string _visibletext;
- size_t offsetpos;
+ Font font;
- enum state_t {
- NOOP = 0,
- WALK_LEFT = 1,
- WALK_RIGHT = 2
- };
- state_t walkstate;
+ std::string _text;
+ size_t pos{0};
+ std::string visibleText;
+ size_t offsetPos{0};
- bool readonly;
-
- void (*handler)(void *);
- void *ptr;
-};
+ enum state_t {
+ Noop,
+ WalkLeft,
+ WalkRight,
+ };
+ state_t walkstate{Noop};
+ bool readonly;
};
-#endif/*__DRUMGIZMO_LINEEDIT_H__*/
+} // GUI::
diff --git a/plugingui/listbox.cc b/plugingui/listbox.cc
index ed873b2..9602bc8 100644
--- a/plugingui/listbox.cc
+++ b/plugingui/listbox.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -29,95 +29,97 @@
#include "painter.h"
#include "font.h"
-#include <stdio.h>
+namespace GUI {
-GUI::ListBox::ListBox(GUI::Widget *parent)
- : GUI::Widget(parent)
+ListBox::ListBox(Widget *parent)
+ : Widget(parent)
+ , selectionNotifier(basic.selectionNotifier)
+ , clickNotifier(basic.clickNotifier)
+ , valueChangedNotifier(basic.valueChangedNotifier)
+ , basic(this)
{
- box.topLeft = new Image(":widget_tl.png");
- box.top = new Image(":widget_t.png");
- box.topRight = new Image(":widget_tr.png");
- box.left = new Image(":widget_l.png");
- box.right = new Image(":widget_r.png");
- box.bottomLeft = new Image(":widget_bl.png");
- box.bottom = new Image(":widget_b.png");
- box.bottomRight = new Image(":widget_br.png");
- box.center = new Image(":widget_c.png");
-
- basic = new GUI::ListBoxBasic(this);
- basic->move(box.left->width(), box.top->height());
+ box.topLeft = new Image(":widget_tl.png");
+ box.top = new Image(":widget_t.png");
+ box.topRight = new Image(":widget_tr.png");
+ box.left = new Image(":widget_l.png");
+ box.right = new Image(":widget_r.png");
+ box.bottomLeft = new Image(":widget_bl.png");
+ box.bottom = new Image(":widget_b.png");
+ box.bottomRight = new Image(":widget_br.png");
+ box.center = new Image(":widget_c.png");
+
+ basic.move(box.left->width(), box.top->height());
}
-GUI::ListBox::~ListBox()
+ListBox::~ListBox()
{
+ delete box.topLeft;
+ delete box.top;
+ delete box.topRight;
+ delete box.left;
+ delete box.right;
+ delete box.bottomLeft;
+ delete box.bottom;
+ delete box.bottomRight;
+ delete box.center;
}
-void GUI::ListBox::addItem(std::string name, std::string value)
+void ListBox::addItem(std::string name, std::string value)
{
- basic->addItem(name, value);
+ basic.addItem(name, value);
}
-void GUI::ListBox::addItems(std::vector<ListBoxBasic::Item> &items)
+void ListBox::addItems(std::vector<ListBoxBasic::Item> &items)
{
- basic->addItems(items);
+ basic.addItems(items);
}
-void GUI::ListBox::clear()
+void ListBox::clear()
{
- basic->clear();
+ basic.clear();
}
-bool GUI::ListBox::selectItem(int index)
+bool ListBox::selectItem(int index)
{
- return basic->selectItem(index);
+ return basic.selectItem(index);
}
-std::string GUI::ListBox::selectedName()
+std::string ListBox::selectedName()
{
- return basic->selectedName();
+ return basic.selectedName();
}
-std::string GUI::ListBox::selectedValue()
+std::string ListBox::selectedValue()
{
- return basic->selectedValue();
+ return basic.selectedValue();
}
-void GUI::ListBox::clearSelectedValue()
+void ListBox::clearSelectedValue()
{
- basic->clearSelectedValue();
+ basic.clearSelectedValue();
}
-void GUI::ListBox::registerClickHandler(void (*handler)(void *), void *ptr)
+void ListBox::repaintEvent(RepaintEvent* repaintEvent)
{
- basic->registerClickHandler(handler, ptr);
-}
-
-void GUI::ListBox::registerSelectHandler(void (*handler)(void *), void *ptr)
-{
- basic->registerSelectHandler(handler, ptr);
-}
-
-void GUI::ListBox::registerValueChangeHandler(void (*handler)(void *),
- void *ptr)
-{
- basic->registerValueChangeHandler(handler, ptr);
-}
+ Painter p(*this);
-void GUI::ListBox::repaintEvent(GUI::RepaintEvent *e)
-{
- GUI::Painter p(this);
+ p.clear();
- p.clear();
+ int w = width();
+ int h = height();
+ if(w == 0 || h == 0)
+ {
+ return;
+ }
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
- p.drawBox(0, 0, &box, w, h);
+ p.drawBox(0, 0, box, w, h);
}
-void GUI::ListBox::resize(int width, int height)
+void ListBox::resize(int width, int height)
{
- GUI::Widget::resize(width, height);
- basic->resize(width - (box.left->width() + box.right->width()),
- height - (box.top->height() + box.bottom->height()));
+ Widget::resize(width, height);
+ basic.resize(width - (box.left->width() + box.right->width()),
+ height - (box.top->height() + box.bottom->height()));
}
+
+} // GUI::
diff --git a/plugingui/listbox.h b/plugingui/listbox.h
index c8677e7..9989ae7 100644
--- a/plugingui/listbox.h
+++ b/plugingui/listbox.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LISTBOX_H__
-#define __DRUMGIZMO_LISTBOX_H__
+#pragma once
#include <string.h>
#include <vector>
@@ -38,31 +37,31 @@ namespace GUI {
class ListBox : public Widget {
public:
- ListBox(Widget *parent);
- ~ListBox();
+ ListBox(Widget *parent);
+ ~ListBox();
- void addItem(std::string name, std::string value);
- void addItems(std::vector<ListBoxBasic::Item> &items);
+ void addItem(std::string name, std::string value);
+ void addItems(std::vector<ListBoxBasic::Item> &items);
- void clear();
- bool selectItem(int index);
- std::string selectedName();
- std::string selectedValue();
- void clearSelectedValue();
+ void clear();
+ bool selectItem(int index);
+ std::string selectedName();
+ std::string selectedValue();
+ void clearSelectedValue();
- void registerSelectHandler(void (*handler)(void *), void *ptr);
- void registerClickHandler(void (*handler)(void *), void *ptr);
- void registerValueChangeHandler(void (*handler)(void *), void *ptr);
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void resize(int w, int h) override;
- virtual void repaintEvent(GUI::RepaintEvent *e);
- virtual void resize(int w, int h);
+ // Forwarded notifiers from ListBoxBasic::basic
+ Notifier<>& selectionNotifier;
+ Notifier<>& clickNotifier;
+ Notifier<>& valueChangedNotifier;
private:
- ListBoxBasic *basic;
+ ListBoxBasic basic;
- Painter::Box box;
+ Painter::Box box;
};
-};
-
-#endif/*__DRUMGIZMO_LISTBOX_H__*/
+} // GUI::
diff --git a/plugingui/listboxbasic.cc b/plugingui/listboxbasic.cc
index df7877d..07c6983 100644
--- a/plugingui/listboxbasic.cc
+++ b/plugingui/listboxbasic.cc
@@ -1,4 +1,3 @@
-
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
* listboxbasic.cc
@@ -12,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -30,305 +29,332 @@
#include "painter.h"
#include "font.h"
-#include <stdio.h>
-#include <hugin.hpp>
-
-void scrolled(void *ptr)
-{
- GUI::ListBoxBasic *l = (GUI::ListBoxBasic *)ptr;
- l->repaintEvent(NULL);
-}
+namespace GUI {
-GUI::ListBoxBasic::ListBoxBasic(GUI::Widget *parent)
- : GUI::Widget(parent), scroll(this), bg_img(":widget_c.png")
+ListBoxBasic::ListBoxBasic(Widget *parent)
+ : Widget(parent)
+ , scroll(this)
+ , bg_img(":widget_c.png")
{
- scroll.move(0,0);
- scroll.resize(18, 100);
+ scroll.move(0,0);
+ scroll.resize(18, 100);
- scroll.registerValueChangeHandler(scrolled, this);
+ CONNECT(&scroll, valueChangeNotifier,
+ this, &ListBoxBasic::onScrollBarValueChange);
- padding = 4;
- btn_size = 18;
+ padding = 4;
+ btn_size = 18;
- selected = -1;
- marked = -1;
-
- clk_handler = NULL;
- clk_ptr = NULL;
-
- sel_handler = NULL;
- sel_ptr = NULL;
-
- valch_handler = NULL;
- valch_ptr = NULL;
+ selected = -1;
+ marked = -1;
}
-GUI::ListBoxBasic::~ListBoxBasic()
+ListBoxBasic::~ListBoxBasic()
{
}
-void GUI::ListBoxBasic::setSelection(int index)
+void ListBoxBasic::setSelection(int index)
{
- selected = index;
- if(valch_handler) valch_handler(valch_ptr);
+ selected = index;
+ if(marked == -1)
+ {
+ marked = index;
+ }
+ valueChangedNotifier();
}
-void GUI::ListBoxBasic::addItem(std::string name, std::string value)
+void ListBoxBasic::addItem(const std::string& name, const std::string& value)
{
- std::vector<GUI::ListBoxBasic::Item> items;
- GUI::ListBoxBasic::Item item;
- item.name = name;
- item.value = value;
- items.push_back(item);
- addItems(items);
+ std::vector<ListBoxBasic::Item> items;
+ ListBoxBasic::Item item;
+ item.name = name;
+ item.value = value;
+ items.push_back(item);
+ addItems(items);
}
-void GUI::ListBoxBasic::addItems(std::vector<GUI::ListBoxBasic::Item> &is)
+void ListBoxBasic::addItems(const std::vector<ListBoxBasic::Item>& newItems)
{
- // DEBUG(list, "addItems %lu\n", is.size());
- std::vector<GUI::ListBoxBasic::Item>::iterator i = is.begin();
- while(i != is.end()) {
- items.push_back(*i);
- i++;
- }
-
-/*
- // sort
- for(int x = 0; x < (int)items.size(); x++) {
- for(int y = 0; y < (int)items.size(); y++) {
- if(items[x].name < items[y].name) {
- if(x == selected) setSelection(y);
- else if(selected == y) setSelection(x);
-
- GUI::ListBoxBasic::Item tmp = items[x];
- items[x] = items[y];
- items[y] = tmp;
- }
- }
- }
-*/
-
- if(selected == -1) setSelection((int)items.size() - 1);
- setSelection(0);
-
- int numitems = height() / (font.textHeight() + padding);
- scroll.setRange(numitems);
- scroll.setMaximum(items.size());
+ for(auto& item : newItems)
+ {
+ items.push_back(item);
+ }
+
+ if(selected == -1)
+ {
+ //setSelection((int)items.size() - 1);
+ setSelection(0);
+ }
+
+ int numitems = height() / (font.textHeight() + padding);
+ scroll.setRange(numitems);
+ scroll.setMaximum(items.size());
+ repaintEvent(nullptr);
}
-void GUI::ListBoxBasic::clear()
+void ListBoxBasic::clear()
{
- items.clear();
- setSelection(-1);
- scroll.setValue(0);
- repaintEvent(NULL);
+ items.clear();
+ setSelection(-1);
+ marked = -1;
+ scroll.setValue(0);
+ repaintEvent(nullptr);
}
-bool GUI::ListBoxBasic::selectItem(int index)
+bool ListBoxBasic::selectItem(int index)
{
- if(index < 0 || index > (int)items.size() - 1) return false;
- setSelection(index);
- repaintEvent(NULL);
- return true;
-}
+ if(index < 0 || (index > (int)items.size() - 1))
+ {
+ return false;
+ }
-std::string GUI::ListBoxBasic::selectedName()
-{
- if(selected < 0 || selected > (int)items.size() - 1) return "";
- return items[selected].name;
-}
+ setSelection(index);
+ repaintEvent(nullptr);
-std::string GUI::ListBoxBasic::selectedValue()
-{
- if(selected < 0 || selected > (int)items.size() - 1) return "";
- return items[selected].value;
+ return true;
}
-void GUI::ListBoxBasic::clearSelectedValue()
+std::string ListBoxBasic::selectedName()
{
- setSelection(-1);
+ if(selected < 0 || (selected > (int)items.size() - 1))
+ {
+ return "";
+ }
+
+ return items[selected].name;
}
-void GUI::ListBoxBasic::registerClickHandler(void (*handler)(void *), void *ptr)
+std::string ListBoxBasic::selectedValue()
{
- this->clk_handler = handler;
- this->clk_ptr = ptr;
+ if(selected < 0 || (selected > (int)items.size() - 1))
+ {
+ return "";
+ }
+
+ return items[selected].value;
}
-void GUI::ListBoxBasic::registerSelectHandler(void (*handler)(void *), void *ptr)
+void ListBoxBasic::clearSelectedValue()
{
- this->sel_handler = handler;
- this->sel_ptr = ptr;
+ setSelection(-1);
}
-void GUI::ListBoxBasic::registerValueChangeHandler(void (*handler)(void *),
- void *ptr)
+void ListBoxBasic::onScrollBarValueChange(int value)
{
- this->valch_handler = handler;
- this->valch_ptr = ptr;
+ repaintEvent(nullptr);
}
-void GUI::ListBoxBasic::repaintEvent(GUI::RepaintEvent *e)
+void ListBoxBasic::repaintEvent(RepaintEvent* repaintEvent)
{
- DEBUG(list, "repaint\n");
- GUI::Painter p(this);
-
- p.clear();
-
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
-
- p.drawImageStretched(0, 0, &bg_img, w, h);
-
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
-
- int yoffset = padding / 2;
- int skip = scroll.value();
- int numitems = height() / (font.textHeight() + padding) + 1;
- for(int idx = skip; idx < (int)items.size() && idx < skip + numitems; idx++) {
- GUI::ListBoxBasic::Item *i = &items[idx];
- if(idx == selected) {
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 0.5));
- p.drawFilledRectangle(0,
- yoffset - (padding / 2),
- width() - 1,
- yoffset + (font.textHeight() + 1));
- }
-
- if(idx == marked) {
- p.drawRectangle(0,
- yoffset - (padding / 2),
- width() - 1,
- yoffset + (font.textHeight() + 1));
- }
-
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
-
- p.drawText(2, yoffset + font.textHeight(), font, i->name);
- yoffset += font.textHeight() + padding;
- }
+ Painter p(*this);
+
+ p.clear();
+
+ int w = width();
+ int h = height();
+
+ if((w == 0) || (h == 0))
+ {
+ return;
+ }
+
+ p.drawImageStretched(0, 0, bg_img, w, h);
+
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
+
+ int yoffset = padding / 2;
+ int skip = scroll.value();
+ int numitems = height() / (font.textHeight() + padding) + 1;
+ for(int idx = skip; (idx < (int)items.size()) && (idx < (skip + numitems));
+ idx++)
+ {
+ auto& item = items[idx];
+ if(idx == selected)
+ {
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 0.5));
+ p.drawFilledRectangle(0,
+ yoffset - (padding / 2),
+ width() - 1,
+ yoffset + (font.textHeight() + 1));
+ }
+
+ if(idx == marked)
+ {
+ p.drawRectangle(0,
+ yoffset - (padding / 2),
+ width() - 1,
+ yoffset + (font.textHeight() + 1));
+ }
+
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
+
+ p.drawText(2, yoffset + font.textHeight(), font, item.name);
+ yoffset += font.textHeight() + padding;
+ }
}
-void GUI::ListBoxBasic::scrollEvent(ScrollEvent *e)
+void ListBoxBasic::scrollEvent(ScrollEvent* scrollEvent)
{
- scroll.scrollEvent(e);
+ // forward scroll event to scroll bar.
+ scroll.scrollEvent(scrollEvent);
}
-void GUI::ListBoxBasic::keyEvent(GUI::KeyEvent *e)
+void ListBoxBasic::keyEvent(KeyEvent* keyEvent)
{
- if(e->direction != -1) return;
-
- switch(e->keycode) {
- case GUI::KeyEvent::KEY_UP:
- {
- marked--;
- if(marked < 0) marked = 0;
-
- if(marked < scroll.value()) {
- scroll.setValue(marked);
- }
- }
- break;
- case GUI::KeyEvent::KEY_DOWN:
- {
- // Number of items that can be displayed at a time.
- int numitems = height() / (font.textHeight() + padding);
-
- marked++;
- if(marked > ((int)items.size() - 1)) marked = (int)items.size() - 1;
-
- if(marked > (scroll.value() + numitems - 1)) {
- scroll.setValue(marked - numitems + 1);
- }
- }
- break;
- case GUI::KeyEvent::KEY_HOME:
- marked = 0;
- if(marked < scroll.value()) {
- scroll.setValue(marked);
- }
- break;
- case GUI::KeyEvent::KEY_END:
- {
- // Number of items that can be displayed at a time.
- int numitems = height() / (font.textHeight() + padding);
-
- marked = (int)items.size() - 1;
- if(marked > (scroll.value() + numitems - 1)) {
- scroll.setValue(marked - numitems + 1);
- }
- }
- break;
- case GUI::KeyEvent::KEY_CHARACTER:
- if(e->text == " ") {
- setSelection(marked);
- // if(sel_handler) sel_handler(sel_ptr);
- }
- break;
- case GUI::KeyEvent::KEY_ENTER:
- setSelection(marked);
- if(sel_handler) sel_handler(sel_ptr);
- break;
- default:
- break;
- }
-
- repaintEvent(NULL);
+ if(keyEvent->direction != Direction::down)
+ {
+ return;
+ }
+
+ switch(keyEvent->keycode) {
+ case Key::up:
+ if(marked == 0)
+ {
+ return;
+ }
+
+ marked--;
+
+ if(marked < scroll.value())
+ {
+ scroll.setValue(marked);
+ }
+ break;
+
+ case Key::down:
+ {
+ // Number of items that can be displayed at a time.
+ int numitems = height() / (font.textHeight() + padding);
+
+ if(marked == ((int)items.size() - 1))
+ {
+ return;
+ }
+
+ marked++;
+
+ if(marked > (scroll.value() + numitems - 1))
+ {
+ scroll.setValue(marked - numitems + 1);
+ }
+ }
+ break;
+
+ case Key::home:
+ marked = 0;
+ if(marked < scroll.value())
+ {
+ scroll.setValue(marked);
+ }
+ break;
+
+ case Key::end:
+ {
+ // Number of items that can be displayed at a time.
+ int numitems = height() / (font.textHeight() + padding);
+
+ marked = (int)items.size() - 1;
+ if(marked > (scroll.value() + numitems - 1))
+ {
+ scroll.setValue(marked - numitems + 1);
+ }
+ }
+ break;
+
+ case Key::character:
+ if(keyEvent->text == " ")
+ {
+ setSelection(marked);
+ //selectionNotifier();
+ }
+ break;
+
+ case Key::enter:
+ setSelection(marked);
+ selectionNotifier();
+ break;
+
+ default:
+ break;
+ }
+
+ repaintEvent(nullptr);
}
-void GUI::ListBoxBasic::buttonEvent(ButtonEvent *e)
+void ListBoxBasic::buttonEvent(ButtonEvent* buttonEvent)
{
- if(e->x > ((int)width() - btn_size) && e->y < ((int)width() - 1)) {
- if(e->y > 0 && e->y < btn_size) {
- if(e->direction == -1) return;
- scroll.setValue(scroll.value() - 1);
- return;
- }
-
- if(e->y > ((int)height() - btn_size) && e->y < ((int)height() - 1)) {
- if(e->direction == -1) return;
- scroll.setValue(scroll.value() + 1);
- return;
- }
- }
-
- if(e->direction == -1) {
- int skip = scroll.value();
- size_t yoffset = padding / 2;
- for(int idx = skip; idx < (int)items.size(); idx++) {
- yoffset += font.textHeight() + padding;
- if(e->y < (int)yoffset - (padding / 2)) {
- setSelection(idx);
- marked = selected;
- if(clk_handler) clk_handler(clk_ptr);
- break;
- }
- }
-
- repaintEvent(NULL);
- }
-
- if(e->direction != -1) {
- int skip = scroll.value();
- size_t yoffset = padding / 2;
- for(int idx = skip; idx < (int)items.size(); idx++) {
- yoffset += font.textHeight() + padding;
- if(e->y < (int)yoffset - (padding / 2)) {
- marked = idx;
- break;
- }
- }
-
- repaintEvent(NULL);
- }
-
- if(e->doubleclick && sel_handler) sel_handler(sel_ptr);
+ if((buttonEvent->x > ((int)width() - btn_size)) &&
+ (buttonEvent->y < ((int)width() - 1)))
+ {
+ if(buttonEvent->y > 0 && buttonEvent->y < btn_size)
+ {
+ if(buttonEvent->direction == Direction::up)
+ {
+ return;
+ }
+ scroll.setValue(scroll.value() - 1);
+ return;
+ }
+
+ if(buttonEvent->y > ((int)height() - btn_size) &&
+ buttonEvent->y < ((int)height() - 1))
+ {
+ if(buttonEvent->direction == Direction::up)
+ {
+ return;
+ }
+ scroll.setValue(scroll.value() + 1);
+ return;
+ }
+ }
+
+ if(buttonEvent->direction == Direction::up)
+ {
+ int skip = scroll.value();
+ size_t yoffset = padding / 2;
+ for(int idx = skip; idx < (int)items.size(); idx++)
+ {
+ yoffset += font.textHeight() + padding;
+ if(buttonEvent->y < (int)yoffset - (padding / 2))
+ {
+ setSelection(idx);
+ marked = selected;
+ clickNotifier();
+ break;
+ }
+ }
+
+ repaintEvent(nullptr);
+ }
+
+ if(buttonEvent->direction != Direction::up)
+ {
+ int skip = scroll.value();
+ size_t yoffset = padding / 2;
+ for(int idx = skip; idx < (int)items.size(); idx++)
+ {
+ yoffset += font.textHeight() + padding;
+ if(buttonEvent->y < ((int)yoffset - (padding / 2)))
+ {
+ marked = idx;
+ break;
+ }
+ }
+
+ repaintEvent(nullptr);
+ }
+
+ if(buttonEvent->doubleClick)
+ {
+ selectionNotifier();
+ }
}
-void GUI::ListBoxBasic::resize(int w, int h)
+void ListBoxBasic::resize(int w, int h)
{
- GUI::Widget::resize(w,h);
- scroll.move(w - scroll.width(), 0);
- scroll.resize(scroll.width(), h);
+ Widget::resize(w,h);
+ scroll.move(w - scroll.width(), 0);
+ scroll.resize(scroll.width(), h);
}
+
+} // GUI::
diff --git a/plugingui/listboxbasic.h b/plugingui/listboxbasic.h
index deb4a67..7953dc3 100644
--- a/plugingui/listboxbasic.h
+++ b/plugingui/listboxbasic.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LISTBOXBASIC_H__
-#define __DRUMGIZMO_LISTBOXBASIC_H__
+#pragma once
#include <string.h>
#include <vector>
@@ -33,69 +32,62 @@
#include "widget.h"
#include "font.h"
#include "painter.h"
-
#include "scrollbar.h"
+#include "notifier.h"
namespace GUI {
class ListBoxBasic : public Widget {
public:
- class Item {
- public:
- std::string name;
- std::string value;
- };
-
- ListBoxBasic(Widget *parent);
- ~ListBoxBasic();
-
- bool isFocusable() { return true; }
+ class Item {
+ public:
+ std::string name;
+ std::string value;
+ };
- void addItem(std::string name, std::string value);
- void addItems(std::vector<Item> &items);
+ ListBoxBasic(Widget *parent);
+ ~ListBoxBasic();
- void clear();
- bool selectItem(int index);
- std::string selectedName();
- std::string selectedValue();
+ void addItem(const std::string& name, const std::string& value);
+ void addItems(const std::vector<Item>& items);
- void clearSelectedValue();
+ void clear();
+ bool selectItem(int index);
+ std::string selectedName();
+ std::string selectedValue();
- void registerSelectHandler(void (*handler)(void *), void *ptr);
- void registerClickHandler(void (*handler)(void *), void *ptr);
- void registerValueChangeHandler(void (*handler)(void *), void *ptr);
+ void clearSelectedValue();
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
- virtual void scrollEvent(ScrollEvent *e);
- virtual void keyEvent(KeyEvent *e);
- virtual void resize(int w, int h);
+ Notifier<> selectionNotifier;
+ Notifier<> clickNotifier;
+ Notifier<> valueChangedNotifier;
-private:
- ScrollBar scroll;
+ // From Widget:
+ virtual void resize(int w, int h) override;
- Image bg_img;
+protected:
+ void onScrollBarValueChange(int value);
- void setSelection(int index);
+ // From Widget:
+ bool isFocusable() override { return true; }
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent* buttonEvent) override;
+ virtual void keyEvent(KeyEvent* keyEvent) override;
+ virtual void scrollEvent(ScrollEvent* scrollEvent) override;
- std::vector<Item> items;
+ ScrollBar scroll;
- int selected;
- int marked;
- GUI::Font font;
- int padding;
- int btn_size;
+ Image bg_img;
- void (*sel_handler)(void *);
- void *sel_ptr;
+ void setSelection(int index);
- void (*clk_handler)(void *);
- void *clk_ptr;
-
- void (*valch_handler)(void *);
- void *valch_ptr;
-};
+ std::vector<Item> items;
+ int selected;
+ int marked;
+ Font font;
+ int padding;
+ int btn_size;
};
-#endif/*__DRUMGIZMO_LISTBOXBASIC_H__*/
+} // GUI::
diff --git a/plugingui/listboxthin.cc b/plugingui/listboxthin.cc
index 3f0fbc6..03b2594 100644
--- a/plugingui/listboxthin.cc
+++ b/plugingui/listboxthin.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -29,90 +29,92 @@
#include "painter.h"
#include "font.h"
-#include <stdio.h>
+namespace GUI {
-GUI::ListBoxThin::ListBoxThin(GUI::Widget *parent)
- : GUI::Widget(parent)
+ListBoxThin::ListBoxThin(Widget *parent)
+ : Widget(parent)
+ , selectionNotifier(basic.selectionNotifier)
+ , clickNotifier(basic.clickNotifier)
+ , valueChangedNotifier(basic.valueChangedNotifier)
+ , basic(this)
{
- box.topLeft = new Image(":thinlistbox_tl.png");
- box.top = new Image(":thinlistbox_t.png");
- box.topRight = new Image(":thinlistbox_tr.png");
- box.left = new Image(":thinlistbox_l.png");
- box.right = new Image(":thinlistbox_r.png");
- box.bottomLeft = new Image(":thinlistbox_bl.png");
- box.bottom = new Image(":thinlistbox_b.png");
- box.bottomRight = new Image(":thinlistbox_br.png");
- box.center = new Image(":thinlistbox_c.png");
-
- basic = new GUI::ListBoxBasic(this);
- basic->move(box.left->width(), box.top->height());
+ box.topLeft = new Image(":thinlistbox_tl.png");
+ box.top = new Image(":thinlistbox_t.png");
+ box.topRight = new Image(":thinlistbox_tr.png");
+ box.left = new Image(":thinlistbox_l.png");
+ box.right = new Image(":thinlistbox_r.png");
+ box.bottomLeft = new Image(":thinlistbox_bl.png");
+ box.bottom = new Image(":thinlistbox_b.png");
+ box.bottomRight = new Image(":thinlistbox_br.png");
+ box.center = new Image(":thinlistbox_c.png");
+
+ basic.move(box.left->width(), box.top->height());
}
-GUI::ListBoxThin::~ListBoxThin()
+ListBoxThin::~ListBoxThin()
{
+ delete box.topLeft;
+ delete box.top;
+ delete box.topRight;
+ delete box.left;
+ delete box.right;
+ delete box.bottomLeft;
+ delete box.bottom;
+ delete box.bottomRight;
+ delete box.center;
}
-void GUI::ListBoxThin::addItem(std::string name, std::string value)
+void ListBoxThin::addItem(std::string name, std::string value)
{
- basic->addItem(name, value);
+ basic.addItem(name, value);
}
-void GUI::ListBoxThin::addItems(std::vector<ListBoxBasic::Item> &items)
+void ListBoxThin::addItems(std::vector<ListBoxBasic::Item> &items)
{
- basic->addItems(items);
+ basic.addItems(items);
}
-void GUI::ListBoxThin::clear()
+void ListBoxThin::clear()
{
- basic->clear();
+ basic.clear();
}
-bool GUI::ListBoxThin::selectItem(int index)
+bool ListBoxThin::selectItem(int index)
{
- return basic->selectItem(index);
+ return basic.selectItem(index);
}
-std::string GUI::ListBoxThin::selectedName()
+std::string ListBoxThin::selectedName()
{
- return basic->selectedName();
+ return basic.selectedName();
}
-std::string GUI::ListBoxThin::selectedValue()
+std::string ListBoxThin::selectedValue()
{
- return basic->selectedValue();
+ return basic.selectedValue();
}
-void GUI::ListBoxThin::registerClickHandler(void (*handler)(void *), void *ptr)
+void ListBoxThin::repaintEvent(RepaintEvent* repaintEvent)
{
- basic->registerClickHandler(handler, ptr);
-}
-
-void GUI::ListBoxThin::registerSelectHandler(void (*handler)(void *), void *ptr)
-{
- basic->registerSelectHandler(handler, ptr);
-}
-
-void GUI::ListBoxThin::registerValueChangeHandler(void (*handler)(void *),
- void *ptr)
-{
- basic->registerValueChangeHandler(handler, ptr);
-}
+ Painter p(*this);
-void GUI::ListBoxThin::repaintEvent(GUI::RepaintEvent *e)
-{
- GUI::Painter p(this);
+ p.clear();
- p.clear();
+ int w = width();
+ int h = height();
+ if(w == 0 || h == 0)
+ {
+ return;
+ }
- int w = width();
- int h = height();
- if(w == 0 || h == 0) return;
- p.drawBox(0, 0, &box, w, h);
+ p.drawBox(0, 0, box, w, h);
}
-void GUI::ListBoxThin::resize(int width, int height)
+void ListBoxThin::resize(int width, int height)
{
- GUI::Widget::resize(width, height);
- basic->resize(width - (box.left->width() + box.right->width()),
- height - (box.top->height() + box.bottom->height()));
+ Widget::resize(width, height);
+ basic.resize(width - (box.left->width() + box.right->width()),
+ height - (box.top->height() + box.bottom->height()));
}
+
+} // GUI::
diff --git a/plugingui/listboxthin.h b/plugingui/listboxthin.h
index 9c5363a..3139ecc 100644
--- a/plugingui/listboxthin.h
+++ b/plugingui/listboxthin.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_LISTBOXTHIN_H__
-#define __DRUMGIZMO_LISTBOXTHIN_H__
+#pragma once
#include <string.h>
#include <vector>
@@ -33,35 +32,36 @@
#include "widget.h"
#include "painter.h"
#include "listboxbasic.h"
+#include "notifier.h"
namespace GUI {
class ListBoxThin : public Widget {
public:
- ListBoxThin(Widget *parent);
- ~ListBoxThin();
+ ListBoxThin(Widget *parent);
+ ~ListBoxThin();
- void addItem(std::string name, std::string value);
- void addItems(std::vector<ListBoxBasic::Item> &items);
+ void addItem(std::string name, std::string value);
+ void addItems(std::vector<ListBoxBasic::Item> &items);
- void clear();
- bool selectItem(int index);
- std::string selectedName();
- std::string selectedValue();
+ void clear();
+ bool selectItem(int index);
+ std::string selectedName();
+ std::string selectedValue();
- void registerSelectHandler(void (*handler)(void *), void *ptr);
- void registerClickHandler(void (*handler)(void *), void *ptr);
- void registerValueChangeHandler(void (*handler)(void *), void *ptr);
+ // From Widget:
+ virtual void repaintEvent(GUI::RepaintEvent* repaintEvent) override;
+ virtual void resize(int w, int h) override;
- virtual void repaintEvent(GUI::RepaintEvent *e);
- virtual void resize(int w, int h);
+ // Forwarded notifier from ListBoxBasic::basic
+ Notifier<>& selectionNotifier;
+ Notifier<>& clickNotifier;
+ Notifier<>& valueChangedNotifier;
private:
- ListBoxBasic *basic;
+ ListBoxBasic basic;
- Painter::Box box;
+ Painter::Box box;
};
-};
-
-#endif/*__DRUMGIZMO_LISTBOXTHIN_H__*/
+} // GUI::
diff --git a/plugingui/nativewindow.h b/plugingui/nativewindow.h
index d68909d..a7d101e 100644
--- a/plugingui/nativewindow.h
+++ b/plugingui/nativewindow.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_NATIVEWINDOW_H__
-#define __DRUMGIZMO_NATIVEWINDOW_H__
+#pragma once
#include <string>
@@ -33,25 +32,53 @@
namespace GUI {
+//! \brief Interface class for native window implementations.
class NativeWindow {
public:
- NativeWindow() {}
- virtual ~NativeWindow() {}
-
- virtual void setFixedSize(int width, int height) = 0;
- virtual void resize(int width, int height) = 0;
- virtual void move(int x, int y) = 0;
- virtual void show() = 0;
- virtual void setCaption(const std::string &caption) = 0;
- virtual void hide() = 0;
- virtual void handleBuffer() = 0;
- virtual void redraw() = 0;
- virtual void grabMouse(bool grab) = 0;
-
- virtual bool hasEvent() = 0;
- virtual Event *getNextEvent() = 0;
-};
+ NativeWindow() {}
+ virtual ~NativeWindow() {}
+
+ //! \brief Set a fixed size to the window.
+ //! It resizes the window and disallows user resizing.
+ virtual void setFixedSize(int width, int height) = 0;
+
+ // TODO: setScalable(bool) ??
+
+ //! \brief Set a new size of the window.
+ virtual void resize(int width, int height) = 0;
+
+ //! \brief Move the window to a new position.
+ virtual void move(int x, int y) = 0;
+
+ //! \brief Show the window if it is hidden.
+ virtual void show() = 0;
+
+ //! \brief Hides the window.
+ virtual void hide() = 0;
+
+ //! \brief Sets the window caption in the title bar (if it has one).
+ virtual void setCaption(const std::string &caption) = 0;
+
+ //! \brief Recreate a window render buffer based on the internal buffer.
+ //! This need to be called whenever the internal buffer size has changed.
+ virtual void handleBuffer() = 0;
+
+ //! \brief Draw the internal rendering buffer to the window buffer.
+ virtual void redraw() = 0;
+
+ //! \brief Toggle capture mouse mode.
+ virtual void grabMouse(bool grab) = 0;
+
+ //! \brief Query if the event queue contains any events.
+ virtual bool hasEvent() = 0;
+
+ //! \brief Read a single event from the event queue.
+ //! \return A pointer to the event or nullptr is none exists.
+ virtual Event *getNextEvent() = 0;
+ //! \brief Read next event without popping it from the event queue.
+ //! \return A pointer to the event or nullptr is none exists.
+ virtual Event* peekNextEvent() = 0;
};
-#endif/*__DRUMGIZMO_NATIVEWINDOW_H__*/
+} // GUI::
diff --git a/plugingui/nativewindow_pugl.cc b/plugingui/nativewindow_pugl.cc
new file mode 100644
index 0000000..d7cca54
--- /dev/null
+++ b/plugingui/nativewindow_pugl.cc
@@ -0,0 +1,258 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * nativewindow_pugl.cc
+ *
+ * Fri Dec 28 18:45:57 CET 2012
+ * Copyright 2012 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "nativewindow_pugl.h"
+
+#include <stdlib.h>
+#include <list>
+
+#ifdef __APPLE__
+#include <OpenGL/glu.h>
+#else
+#include <GL/glu.h>
+#include <GL/glext.h>
+#include <GL/gl.h>
+#endif
+
+#include "window.h"
+#include "guievent.h"
+
+#include <hugin.hpp>
+
+namespace GUI {
+
+void NativeWindowPugl::onDisplay(PuglView* view)
+{
+ NativeWindowPugl* native = (NativeWindowPugl*)puglGetHandle(view);
+ Window& window = native->window;
+
+ glDisable(GL_DEPTH_TEST);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ GLuint image;
+
+ glGenTextures(1, &image);
+
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); //GL_NEAREST = no smoothing
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE, GL_REPLACE);
+
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, window.wpixbuf.width,
+ window.wpixbuf.height, 0, GL_RGB, GL_UNSIGNED_BYTE,
+ window.wpixbuf.buf);
+
+ glEnable(GL_TEXTURE_2D);
+
+ glBegin(GL_QUADS);
+ glTexCoord2d(0.0, 0.0); glVertex2f(0.0, 0.0);
+ glTexCoord2d(0.0, 1.0); glVertex2f(0.0, window.wpixbuf.height);
+ glTexCoord2d(1.0, 1.0); glVertex2f(window.wpixbuf.width, window.wpixbuf.height);
+ glTexCoord2d(1.0, 0.0); glVertex2f(window.wpixbuf.width, 0.0);
+ glEnd();
+
+ glDeleteTextures(1, &image);
+ glDisable(GL_TEXTURE_2D);
+ glFlush();
+
+ puglPostRedisplay(view);
+}
+
+void NativeWindowPugl::onMouse(PuglView* view, int button, bool press, int x, int y)
+{
+ NativeWindowPugl* native = (NativeWindowPugl*)puglGetHandle(view);
+
+ DEBUG(nativewindow_pugl, "Mouse %d %s at (%d,%d)\n", button,
+ press? "down":"up", x, y);
+
+ ButtonEvent* e = new ButtonEvent();
+ e->x = x;
+ e->y = y;
+
+ switch(button) {
+ case 1:
+ e->button = MouseButton::left;
+ break;
+ case 2:
+ e->button = MouseButton::middle;
+ break;
+ case 3:
+ default:
+ e->button = MouseButton::right;
+ break;
+ }
+
+ e->direction = press ? Direction::down : Direction::up;
+ e->doubleClick = false;
+
+ native->eventq.push_back(e);
+}
+
+void NativeWindowPugl::onKeyboard(PuglView* view, bool press, uint32_t key)
+{
+ NativeWindowPugl* native = (NativeWindowPugl*)puglGetHandle(view);
+
+ KeyEvent* e = new KeyEvent();
+ e->direction = press ? Direction::down : Direction::up;
+
+ printf("%d\n", key);
+
+ switch(key) {
+ case PUGL_KEY_LEFT: e->keycode = Key::left; break;
+ case PUGL_KEY_RIGHT: e->keycode = Key::right; break;
+ case PUGL_KEY_UP: e->keycode = Key::up; break;
+ case PUGL_KEY_DOWN: e->keycode = Key::down; break;
+ case PUGL_KEY_PAGE_UP: e->keycode = Key::pageDown; break;
+ case PUGL_KEY_PAGE_DOWN: e->keycode = Key::pageUp; break;
+ default: e->keycode = Key::unknown; break;
+ }
+
+ // TODO: perform character type check
+ if(e->keycode == Key::unknown)
+ {
+ e->keycode = Key::character;
+ e->text.assign(1, (char)key);
+ }
+
+ printf("\t text: %s\n", e->text.c_str());
+
+ native->eventq.push_back(e);
+}
+
+NativeWindowPugl::NativeWindowPugl(void* native_window, Window& window)
+ : window(window)
+ , native_window(native_window)
+{
+ INFO(nativewindow, "Running with PuGL native window\n");
+ init();
+}
+
+NativeWindowPugl::~NativeWindowPugl()
+{
+ puglDestroy(view);
+}
+
+void NativeWindowPugl::init()
+{
+ PuglView* oldView = view;
+ if(view)
+ {
+ oldView = view;
+ }
+
+// view = puglCreate(0, "DrumgGizmo", window.x(), window.y(), false, true);
+ view = puglCreate((PuglNativeWindow)native_window, "DrumgGizmo", 370, 330, false, true);
+ puglSetHandle(view, (PuglHandle)this);
+ puglSetDisplayFunc(view, onDisplay);
+ puglSetMouseFunc(view, onMouse);
+ puglSetKeyboardFunc(view, onKeyboard);
+
+ if(oldView)
+ {
+ free(oldView);
+ }
+}
+
+void NativeWindowPugl::setFixedSize(int width, int height)
+{
+// redraw();
+}
+
+void NativeWindowPugl::resize(int width, int height)
+{
+// DEBUG(nativewindow_pugl, "Resizing to %dx%d\n", width, height);
+// init();
+// redraw();
+}
+
+void NativeWindowPugl::move(int x, int y)
+{
+// redraw();
+}
+
+void NativeWindowPugl::show()
+{
+// redraw();
+}
+
+void NativeWindowPugl::hide()
+{
+// redraw();
+}
+
+void NativeWindowPugl::handleBuffer()
+{
+ onDisplay(view);
+}
+
+void NativeWindowPugl::redraw()
+{
+// handleBuffer();
+}
+
+void NativeWindowPugl::setCaption(const std::string &caption)
+{
+// redraw();
+}
+
+void NativeWindowPugl::grabMouse(bool grab)
+{
+// redraw();
+}
+
+bool NativeWindowPugl::hasEvent()
+{
+ // dirty hack - assume that this function is called enough times to get fluent gui
+ // ^^ Bad assumption
+ puglProcessEvents(view);
+ return !eventq.empty();
+}
+
+Event *NativeWindowPugl::getNextEvent()
+{
+ Event *event = nullptr;
+
+ if(!eventq.empty()) {
+ event = eventq.front();
+ eventq.pop_front();
+ }
+ return event;
+}
+
+Event *NativeWindowPugl::peekNextEvent()
+{
+ Event *event = nullptr;
+
+ if(!eventq.empty()) {
+ event = eventq.front();
+ }
+ return event;
+}
+
+} // GUI::
diff --git a/plugingui/nativewindow_win32.cc b/plugingui/nativewindow_win32.cc
index 871bafe..f49f3c6 100644
--- a/plugingui/nativewindow_win32.cc
+++ b/plugingui/nativewindow_win32.cc
@@ -11,64 +11,71 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "nativewindow_win32.h"
-#ifdef WIN32
-
#include "window.h"
-LRESULT CALLBACK dialogProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
+#include <cstring>
+
+namespace GUI {
+
+LRESULT CALLBACK NativeWindowWin32::dialogProc(HWND hwnd, UINT msg,
+ WPARAM wp, LPARAM lp)
{
- GUI::NativeWindowWin32 *native =
- (GUI::NativeWindowWin32 *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ NativeWindowWin32* native =
+ (NativeWindowWin32*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- // NOTE: 'native' is NULL intil the WM_CREATE message has been handled.
- if(!native) return DefWindowProc(hwnd, msg, wp, lp);
+ // NOTE: 'native' is nullptr intil the WM_CREATE message has been handled.
+ if(!native)
+ {
+ return DefWindowProc(hwnd, msg, wp, lp);
+ }
- GUI::Window *window = native->window;
+ Window& window = native->window;
switch(msg) {
case WM_SIZE:
- {
- static bool first = true;
- if(!first) {
- GUI::ResizeEvent *e = new GUI::ResizeEvent();
- e->width = LOWORD(lp);
- e->height = HIWORD(lp);
- native->event = e;
- first = false;
- }
- }
+ {
+ static bool first = true;
+ if(!first)
+ {
+ ResizeEvent* resizeEvent = new ResizeEvent();
+ resizeEvent->width = LOWORD(lp);
+ resizeEvent->height = HIWORD(lp);
+ native->event_queue.push(resizeEvent);
+ first = false;
+ }
+ }
break;
case WM_MOVE:
- {
-// GUI::MoveEvent *e = new GUI::MoveEvent();
-// e->x = (int)(short) LOWORD(lp);
-// e->y = (int)(short) HIWORD(lp);
-// native->event = e;
- }
+ {
+// MoveEvent* moveEvent = new MoveEvent();
+// moveEvent->x = (short)LOWORD(lp);
+// moveEvent->y = (short)HIWORD(lp);
+// native->event_queue.push(moveEvent);
+ }
break;
case WM_CLOSE:
- {
- GUI::CloseEvent *e = new GUI::CloseEvent();
- native->event = e;
- }
- break;
+ {
+ CloseEvent* closeEvent = new CloseEvent();
+ native->event_queue.push(closeEvent);
+ }
+ break;
// HWND child, old;
// old = 0;
@@ -83,31 +90,30 @@ LRESULT CALLBACK dialogProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
// else PostQuitMessage(0);
// return 0;
case WM_MOUSEMOVE:
- {
-
- GUI::MouseMoveEvent *e = new GUI::MouseMoveEvent();
- e->x = (int)(short) LOWORD(lp);
- e->y = (int)(short) HIWORD(lp);
- native->event = e;
- }
+ {
+ MouseMoveEvent* mouseMoveEvent = new MouseMoveEvent();
+ mouseMoveEvent->x = (short)LOWORD(lp);
+ mouseMoveEvent->y = (short)HIWORD(lp);
+ native->event_queue.push(mouseMoveEvent);
+ }
break;
case WM_MOUSEWHEEL:
- {
- GUI::ScrollEvent *e = new GUI::ScrollEvent();
-
- // NOTE: lp is coordinates in screen space, not client space.
- POINT p;
- p.x = (int)(short) LOWORD(lp);
- p.y = (int)(short) HIWORD(lp);
- ScreenToClient(hwnd, &p);
-
- e->x = p.x;
- e->y = p.y;
- e->delta = -1 * (short)HIWORD(wp) / 60;
- native->event = e;
- }
- break;
+ {
+ ScrollEvent* scrollEvent = new ScrollEvent();
+
+ // NOTE: lp is coordinates in screen space, not client space.
+ POINT p;
+ p.x = (short)LOWORD(lp);
+ p.y = (short)HIWORD(lp);
+ ScreenToClient(hwnd, &p);
+
+ scrollEvent->x = p.x;
+ scrollEvent->y = p.y;
+ scrollEvent->delta = -1 * (short)HIWORD(wp) / 60;
+ native->event_queue.push(scrollEvent);
+ }
+ break;
case WM_LBUTTONUP:
case WM_LBUTTONDBLCLK:
@@ -118,283 +124,355 @@ LRESULT CALLBACK dialogProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
case WM_MBUTTONUP:
case WM_MBUTTONDBLCLK:
case WM_MBUTTONDOWN:
- {
- GUI::ButtonEvent *e = new GUI::ButtonEvent();
- e->x = (int)(short) LOWORD(lp);
- e->y = (int)(short) HIWORD(lp);
-
- if(msg == WM_LBUTTONUP ||
- msg == WM_LBUTTONDBLCLK ||
- msg == WM_LBUTTONDOWN) e->button = 0;
-
- if(msg == WM_RBUTTONUP ||
- msg == WM_RBUTTONDBLCLK ||
- msg == WM_RBUTTONDOWN) e->button = 1;
-
- if(msg == WM_MBUTTONUP ||
- msg == WM_MBUTTONDBLCLK ||
- msg == WM_MBUTTONDOWN) e->button = 2;
-
- e->direction = 0;
- if(msg == WM_LBUTTONUP ||
- msg == WM_RBUTTONUP ||
- msg == WM_MBUTTONUP) e->direction = -1;
-
- if(msg == WM_LBUTTONDOWN ||
- msg == WM_RBUTTONDOWN ||
- msg == WM_MBUTTONDOWN) e->direction = 1;
-
- e->doubleclick = (msg == WM_LBUTTONDBLCLK ||
- msg == WM_RBUTTONDBLCLK ||
- msg == WM_MBUTTONDBLCLK);
-
- native->event = e;
- }
+ {
+ ButtonEvent* buttonEvent = new ButtonEvent();
+
+ buttonEvent->x = (short)LOWORD(lp);
+ buttonEvent->y = (short)HIWORD(lp);
+
+ if(msg == WM_LBUTTONUP ||
+ msg == WM_LBUTTONDBLCLK ||
+ msg == WM_LBUTTONDOWN)
+ {
+ buttonEvent->button = MouseButton::left;
+ }
+ else if(msg == WM_RBUTTONUP ||
+ msg == WM_RBUTTONDBLCLK ||
+ msg == WM_RBUTTONDOWN)
+ {
+ buttonEvent->button = MouseButton::middle;
+ }
+ else if(msg == WM_MBUTTONUP ||
+ msg == WM_MBUTTONDBLCLK ||
+ msg == WM_MBUTTONDOWN)
+ {
+ buttonEvent->button = MouseButton::right;
+ }
+ else
+ {
+ delete buttonEvent;
+ break; // unknown button
+ }
+
+ if(msg == WM_LBUTTONUP ||
+ msg == WM_RBUTTONUP ||
+ msg == WM_MBUTTONUP)
+ {
+ buttonEvent->direction = Direction::up;
+ }
+ else if(msg == WM_LBUTTONDOWN ||
+ msg == WM_RBUTTONDOWN ||
+ msg == WM_MBUTTONDOWN)
+ {
+ buttonEvent->direction = Direction::down;
+ }
+
+ buttonEvent->doubleClick = (msg == WM_LBUTTONDBLCLK ||
+ msg == WM_RBUTTONDBLCLK ||
+ msg == WM_MBUTTONDBLCLK);
+
+ native->event_queue.push(buttonEvent);
+ }
break;
case WM_KEYDOWN:
- {
- GUI::KeyEvent *e = new GUI::KeyEvent();
- //printf("wp: %d\n", wp);
- switch(wp) {
- case 37: e->keycode = GUI::KeyEvent::KEY_LEFT; break;
- case 39: e->keycode = GUI::KeyEvent::KEY_RIGHT; break;
- case 38: e->keycode = GUI::KeyEvent::KEY_UP; break;
- case 40: e->keycode = GUI::KeyEvent::KEY_DOWN; break;
- case 8: e->keycode = GUI::KeyEvent::KEY_BACKSPACE; break;
- case 46: e->keycode = GUI::KeyEvent::KEY_DELETE; break;
- case 36: e->keycode = GUI::KeyEvent::KEY_HOME; break;
- case 35: e->keycode = GUI::KeyEvent::KEY_END; break;
- case 33: e->keycode = GUI::KeyEvent::KEY_PGUP; break;
- case 34: e->keycode = GUI::KeyEvent::KEY_PGDOWN; break;
- case 13: e->keycode = GUI::KeyEvent::KEY_ENTER; break;
- default: e->keycode = GUI::KeyEvent::KEY_UNKNOWN; break;
- }
- e->text = "";
- e->direction = -1;
- native->event = e;
- }
+ case WM_KEYUP:
+ {
+ KeyEvent* keyEvent = new KeyEvent();
+
+ switch(wp) {
+ case VK_LEFT: keyEvent->keycode = Key::left; break;
+ case VK_RIGHT: keyEvent->keycode = Key::right; break;
+ case VK_UP: keyEvent->keycode = Key::up; break;
+ case VK_DOWN: keyEvent->keycode = Key::down; break;
+ case VK_BACK: keyEvent->keycode = Key::backspace; break;
+ case VK_DELETE: keyEvent->keycode = Key::deleteKey; break;
+ case VK_HOME: keyEvent->keycode = Key::home; break;
+ case VK_END: keyEvent->keycode = Key::end; break;
+ case VK_PRIOR: keyEvent->keycode = Key::pageUp; break;
+ case VK_NEXT: keyEvent->keycode = Key::pageDown; break;
+ case VK_RETURN: keyEvent->keycode = Key::enter; break;
+ default: keyEvent->keycode = Key::unknown; break;
+ }
+
+ keyEvent->text = "";
+ keyEvent->direction =
+ (msg == WM_KEYDOWN) ? Direction::down : Direction::up;
+
+ native->event_queue.push(keyEvent);
+ }
break;
case WM_CHAR:
- {
- //printf("WM_CHAR %d %d\n", (int)lp, (int)wp);
- if(wp >= ' ') { // Filter control chars.
- GUI::KeyEvent *e = new GUI::KeyEvent();
- e->keycode = GUI::KeyEvent::KEY_CHARACTER;
- e->text += (char)wp;
- e->direction = -1;
- native->event = e;
- }
- }
+ {
+ if(wp >= ' ') // Filter control chars.
+ {
+ KeyEvent* keyEvent = new KeyEvent();
+ keyEvent->keycode = Key::character;
+ keyEvent->text += (char)wp;
+ keyEvent->direction = Direction::up;
+ native->event_queue.push(keyEvent);
+ }
+ }
break;
case WM_PAINT:
- {
- GUI::RepaintEvent *e = new GUI::RepaintEvent();
- e->x = 0;
- e->y = 0;
- e->width = 100;
- e->height = 100;
- native->event = e;
-
- // Move to window.h (in class)
- HDC pDC;
- HBITMAP old;
- HBITMAP ourbitmap;
- int * framebuf;
- GUI::PixelBuffer &px = window->wpixbuf;
-
- { // Create bitmap (move to window.cc)
- HDC hDC;
- BITMAPINFO bitmapinfo;
- hDC = CreateCompatibleDC(NULL);
- bitmapinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- bitmapinfo.bmiHeader.biWidth = px.width;
- bitmapinfo.bmiHeader.biHeight = -px.height; /* top-down */
- bitmapinfo.bmiHeader.biPlanes = 1;
- bitmapinfo.bmiHeader.biBitCount = 32;
- bitmapinfo.bmiHeader.biCompression = BI_RGB;
- bitmapinfo.bmiHeader.biSizeImage = 0;
- bitmapinfo.bmiHeader.biClrUsed = 256;
- bitmapinfo.bmiHeader.biClrImportant = 256;
- ourbitmap=CreateDIBSection(hDC, &bitmapinfo,
- DIB_RGB_COLORS, (void**)&framebuf, 0, 0);
- pDC=CreateCompatibleDC(NULL);
- old = (HBITMAP__*)SelectObject(pDC, ourbitmap);
- DeleteDC(hDC);
- }
-
- { // Copy GUI::PixelBuffer to framebuffer (move to window.cc)
- int i,j,k;
- for (k=0,i=0;i<(int)px.height;i++) {
- for (j=0;j<(int)px.width;j++,k++) {
- *(framebuf+k)=RGB(px.buf[(j + i * px.width) * 3 + 2],
- px.buf[(j + i * px.width) * 3 + 1],
- px.buf[(j + i * px.width) * 3 + 0]);
- }
- }
- }
-
- PAINTSTRUCT ps;
- HDC hdc = BeginPaint(native->m_hwnd, &ps);
- BitBlt(hdc, 0, 0, px.width, px.height, pDC, 0, 0, SRCCOPY);
- EndPaint(native->m_hwnd, &ps);
-
- { // Destroy bitmap (move to window.cc)
- SelectObject(pDC,old);
- DeleteDC(pDC);
- DeleteObject(ourbitmap);
-
- }
- }
+ {
+ RepaintEvent* repaintEvent = new RepaintEvent();
+ repaintEvent->x = 0;
+ repaintEvent->y = 0;
+ repaintEvent->width = 100;
+ repaintEvent->height = 100;
+ native->event_queue.push(repaintEvent);
+
+ // Move to window.h (in class)
+ HDC pDC;
+ HBITMAP old;
+ HBITMAP ourbitmap;
+ int* framebuf;
+ PixelBuffer& px = window.wpixbuf;
+
+ { // Create bitmap
+ HDC hDC;
+ BITMAPINFO bitmapinfo;
+ hDC = CreateCompatibleDC(nullptr);
+ bitmapinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bitmapinfo.bmiHeader.biWidth = px.width;
+ bitmapinfo.bmiHeader.biHeight = -px.height; // top-down
+ bitmapinfo.bmiHeader.biPlanes = 1;
+ bitmapinfo.bmiHeader.biBitCount = 32;
+ bitmapinfo.bmiHeader.biCompression = BI_RGB;
+ bitmapinfo.bmiHeader.biSizeImage = 0;
+ bitmapinfo.bmiHeader.biClrUsed = 256;
+ bitmapinfo.bmiHeader.biClrImportant = 256;
+ ourbitmap = CreateDIBSection(hDC, &bitmapinfo,
+ DIB_RGB_COLORS, (void**)&framebuf, 0, 0);
+ pDC=CreateCompatibleDC(nullptr);
+ old = (HBITMAP__*)SelectObject(pDC, ourbitmap);
+ DeleteDC(hDC);
+ }
+
+ { // Copy PixelBuffer to framebuffer
+ int i, j, k;
+ for(k = 0, i = 0; i < (int)px.height; ++i)
+ {
+ for(j = 0; j < (int)px.width; ++j, ++k)
+ {
+ *(framebuf + k) = RGB(px.buf[(j + i * px.width) * 3 + 2],
+ px.buf[(j + i * px.width) * 3 + 1],
+ px.buf[(j + i * px.width) * 3 + 0]);
+ }
+ }
+ }
+
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(native->m_hwnd, &ps);
+ BitBlt(hdc, 0, 0, px.width, px.height, pDC, 0, 0, SRCCOPY);
+ EndPaint(native->m_hwnd, &ps);
+
+ { // Destroy bitmap (move to window.cc)
+ SelectObject(pDC,old);
+ DeleteDC(pDC);
+ DeleteObject(ourbitmap);
+ }
+ }
+
return DefWindowProc(hwnd, msg, wp, lp);
}
return DefWindowProc(hwnd, msg, wp, lp);
}
-// Delared in eventhandler.cc
-LRESULT CALLBACK dialogProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
-
-GUI::NativeWindowWin32::NativeWindowWin32(GUI::Window *window)
- : GUI::NativeWindow()
+NativeWindowWin32::NativeWindowWin32(void* native_window, Window& window)
+ : window(window)
{
- this->window = window;
-
- WNDCLASSEX wcex;
- WNDID wndId;
+ WNDCLASSEX wcex{};
- m_hwnd = 0;
- m_className = NULL;
- event = NULL;
-
- memset(&wcex, 0, sizeof(wcex));
-
//Time to register a window class.
- //Generic flags and everything. cbWndExtra is the size of a pointer to an
- // object - we need this in the wndproc handler.
-
+ //Generic flags and everything. cbWndExtra is the size of a pointer to an
+ // object - we need this in the wndproc handler.
+
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_DBLCLKS;//class_style;
wcex.lpfnWndProc = (WNDPROC)dialogProc;
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- // Set data:
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ // Set data:
wcex.cbWndExtra = sizeof(NativeWindowWin32*); // Size of data.
- wcex.hInstance = GetModuleHandle(NULL);
+ wcex.hInstance = GetModuleHandle(nullptr);
- // if(ex_style && WS_EX_TRANSPARENT == WS_EX_TRANSPARENT) {
- // wcex.hbrBackground = NULL;
- // } else {
- wcex.hbrBackground = NULL;//(HBRUSH) COLOR_BACKGROUND + 1;
- // }
-
- wcex.lpszClassName = m_className = strdup("DrumGizmoClass");
+ // if(ex_style && WS_EX_TRANSPARENT == WS_EX_TRANSPARENT) {
+ // wcex.hbrBackground = nullptr;
+ // } else {
+ wcex.hbrBackground = nullptr;//(HBRUSH) COLOR_BACKGROUND + 1;
+ // }
+
+ const char* name = "DrumGizmoClass";
+ char* c_name = (char*)malloc(strlen(name) + 1);
+ strcpy(c_name, name);
+ wcex.lpszClassName = m_className = c_name;
RegisterClassEx(&wcex);
- /*
- if(parent) {
- style = style | WS_CHILD;
- wndId = parent->getWndId();
- } else {
- */
- //style = style | WS_OVERLAPPEDWINDOW;
- wndId = 0;
- // }
+ parent_window = (HWND)native_window;
m_hwnd = CreateWindowEx(0/*ex_style*/, m_className,
- "DGBasisWidget",
- (WS_OVERLAPPEDWINDOW | WS_VISIBLE),
- window->x(), window->y(),
- window->width(), window->height(),
- wndId, NULL,
- GetModuleHandle(NULL), NULL);
+ "DGBasisWidget",
+ (native_window?WS_CHILD:WS_OVERLAPPEDWINDOW) | WS_VISIBLE,
+ window.x(), window.y(),
+ window.width(), window.height(),
+ parent_window, nullptr,
+ GetModuleHandle(nullptr), nullptr);
SetWindowLongPtr(m_hwnd, GWLP_USERDATA, (LONG_PTR)this);
}
-GUI::NativeWindowWin32::~NativeWindowWin32()
+NativeWindowWin32::~NativeWindowWin32()
{
- UnregisterClass(m_className, GetModuleHandle(NULL));
+ UnregisterClass(m_className, GetModuleHandle(nullptr));
free(m_className);
}
-void GUI::NativeWindowWin32::setFixedSize(int width, int height)
+void NativeWindowWin32::setFixedSize(int width, int height)
{
- resize(width, height);
- LONG style = GetWindowLong(m_hwnd, GWL_STYLE);
- style &= ~(WS_THICKFRAME | WS_MAXIMIZEBOX);
- SetWindowLong(m_hwnd, GWL_STYLE, style);
+ resize(width, height);
+ LONG style = GetWindowLong(m_hwnd, GWL_STYLE);
+ style &= ~(WS_THICKFRAME | WS_MAXIMIZEBOX);
+ SetWindowLong(m_hwnd, GWL_STYLE, style);
}
-void GUI::NativeWindowWin32::resize(int width, int height)
+void NativeWindowWin32::resize(int width, int height)
{
- SetWindowPos(m_hwnd, NULL, -1, -1, (int)width, (int)height, SWP_NOMOVE);
- RECT r;
- GetClientRect(m_hwnd, &r);
- int w = width - r.right;
- int h = height - r.bottom;
+ SetWindowPos(m_hwnd, nullptr, -1, -1, (int)width, (int)height, SWP_NOMOVE);
+ RECT r;
+ GetClientRect(m_hwnd, &r);
+ int w = width - r.right;
+ int h = height - r.bottom;
+
+ SetWindowPos(m_hwnd, nullptr, -1, -1, width + w, height + h, SWP_NOMOVE);
+}
- SetWindowPos(m_hwnd, NULL, -1, -1, width + w, height + h, SWP_NOMOVE);
+void NativeWindowWin32::move(int x, int y)
+{
+ SetWindowPos(m_hwnd, nullptr, (int)x, (int)y, -1, -1, SWP_NOSIZE);
}
-void GUI::NativeWindowWin32::move(int x, int y)
+void NativeWindowWin32::show()
{
- SetWindowPos(m_hwnd, NULL, (int)x, (int)y, -1, -1, SWP_NOSIZE);
+ ShowWindow(m_hwnd, SW_SHOW);
}
-void GUI::NativeWindowWin32::show()
+void NativeWindowWin32::handleBuffer()
{
- ShowWindow(m_hwnd, SW_SHOW);
}
-void GUI::NativeWindowWin32::handleBuffer()
+void NativeWindowWin32::hide()
{
+ ShowWindow(m_hwnd, SW_HIDE);
}
-void GUI::NativeWindowWin32::hide()
+void NativeWindowWin32::redraw()
{
- ShowWindow(m_hwnd, SW_HIDE);
+ if(parent_window == nullptr)
+ {
+ RedrawWindow(m_hwnd, nullptr, nullptr, RDW_ERASE|RDW_INVALIDATE);
+ UpdateWindow(m_hwnd);
+ }
+ else
+ {
+ InvalidateRect(m_hwnd, 0, TRUE);
+ }
}
-void GUI::NativeWindowWin32::redraw()
+void NativeWindowWin32::setCaption(const std::string &caption)
{
- RedrawWindow(m_hwnd, NULL, NULL, RDW_ERASE|RDW_INVALIDATE);
- UpdateWindow(m_hwnd);
+ SetWindowText(m_hwnd, caption.c_str());
}
-void GUI::NativeWindowWin32::setCaption(const std::string &caption)
+void NativeWindowWin32::grabMouse(bool grab)
{
- SetWindowText(m_hwnd, caption.c_str());
+ if(grab)
+ {
+ SetCapture(m_hwnd);
+ }
+ else
+ {
+ ReleaseCapture();
+ }
}
-void GUI::NativeWindowWin32::grabMouse(bool grab)
+bool NativeWindowWin32::hasEvent()
{
- if(grab) SetCapture(m_hwnd);
- else ReleaseCapture();
+ if(!event_queue.empty())
+ {
+ return true;
+ }
+
+ // Parented windows have their event loop somewhere else.
+ if(parent_window == nullptr)
+ {
+ MSG msg;
+ return PeekMessage(&msg, m_hwnd, 0, 0, PM_NOREMOVE) != 0;
+ }
+
+ return false;
}
-bool GUI::NativeWindowWin32::hasEvent()
+Event* NativeWindowWin32::getNextEvent()
{
- MSG msg;
- return PeekMessage(&msg, NULL, 0, 0, 0) != 0;
+ if(!event_queue.empty())
+ {
+ auto event = event_queue.front();
+ event_queue.pop();
+ return event;
+ }
+
+ // Parented windows have their event loop somewhere else.
+ if(parent_window == nullptr)
+ {
+ MSG msg;
+ if(GetMessage(&msg, m_hwnd, 0, 0))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ if(event_queue.empty())
+ {
+ return nullptr;
+ }
+
+ auto event = event_queue.front();
+ event_queue.pop();
+ return event;
}
-GUI::Event *GUI::NativeWindowWin32::getNextEvent()
+Event* NativeWindowWin32::peekNextEvent()
{
- Event *event = NULL;
+ if(!event_queue.empty())
+ {
+ auto event = event_queue.front();
+ return event;
+ }
- MSG msg;
- if(GetMessage(&msg, NULL, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
+ // Parented windows have their event loop somewhere else.
+ if(parent_window == nullptr)
+ {
+ MSG msg;
+ if(PeekMessage(&msg, m_hwnd, 0, 0, PM_NOREMOVE))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
}
- event = this->event;
- this->event = NULL;
+ if(event_queue.empty())
+ {
+ return nullptr;
+ }
- return event;
+ auto event = event_queue.front();
+ return event;
}
-#endif/*WIN32*/
+} // GUI::
diff --git a/plugingui/nativewindow_win32.h b/plugingui/nativewindow_win32.h
index 6afc7b1..3d708b8 100644
--- a/plugingui/nativewindow_win32.h
+++ b/plugingui/nativewindow_win32.h
@@ -11,26 +11,26 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_NATIVEWINDOW_WIN32_H__
-#define __DRUMGIZMO_NATIVEWINDOW_WIN32_H__
+#pragma once
-#ifdef WIN32
+#include <queue>
#include "nativewindow.h"
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
typedef HWND WNDID;
@@ -41,31 +41,31 @@ class Event;
class NativeWindowWin32 : public NativeWindow {
public:
- NativeWindowWin32(GUI::Window *window);
- ~NativeWindowWin32();
+ NativeWindowWin32(void* native_window, Window& window);
+ ~NativeWindowWin32();
- void setFixedSize(int width, int height);
- void resize(int width, int height);
- void move(int x, int y);
- void show();
- void setCaption(const std::string &caption);
- void hide();
- void handleBuffer();
- void redraw();
- void grabMouse(bool grab);
+ void setFixedSize(int width, int height) override;
+ void resize(int width, int height) override;
+ void move(int x, int y) override;
+ void show() override;
+ void setCaption(const std::string &caption) override;
+ void hide() override;
+ void handleBuffer() override;
+ void redraw() override;
+ void grabMouse(bool grab) override;
- bool hasEvent();
- Event *getNextEvent();
+ bool hasEvent() override;
+ Event* getNextEvent() override;
+ Event* peekNextEvent() override;
- // Needed by dialogProc
- GUI::Window *window;
- WNDID m_hwnd;
- char *m_className;
- Event *event;
-};
+private:
+ static LRESULT CALLBACK dialogProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
+ HWND parent_window;
+ Window& window;
+ WNDID m_hwnd = 0;
+ char* m_className = nullptr;
+ std::queue<Event*> event_queue;
};
-#endif/*WIN32*/
-
-#endif/*__DRUMGIZMO_NATIVEWINDOW_WIN32_H__*/
+} // GUI::
diff --git a/plugingui/nativewindow_x11.cc b/plugingui/nativewindow_x11.cc
index cb6cf73..63381d3 100644
--- a/plugingui/nativewindow_x11.cc
+++ b/plugingui/nativewindow_x11.cc
@@ -11,120 +11,169 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "nativewindow_x11.h"
-#ifdef X11
#include <X11/Xutil.h>
#include <stdlib.h>
+#include <hugin.hpp>
+
#include "window.h"
-GUI::NativeWindowX11::NativeWindowX11(GUI::Window *window)
- : GUI::NativeWindow()
+namespace GUI {
+
+NativeWindowX11::NativeWindowX11(void* native_window, Window& window)
+ : buffer(nullptr)
+ , window(window)
{
- display = XOpenDisplay(NULL);
-
- this->window = window;
- buffer = NULL;
-
- // Get some colors
- int blackColor = BlackPixel(display, DefaultScreen(display));
-
- ::Window w = DefaultRootWindow(display);
-
- // Create the window
- xwindow = XCreateSimpleWindow(display,
- w,
- window->x(), window->y(),
- window->width(), window->height(),
- 0,
- blackColor, blackColor);
-
- XSelectInput(display, xwindow,
- StructureNotifyMask |
- PointerMotionMask |
- ButtonPressMask |
- ButtonReleaseMask |
- KeyPressMask |
- KeyReleaseMask|
- ExposureMask |
- StructureNotifyMask |
- SubstructureNotifyMask);
-
- // register interest in the delete window message
- wmDeleteMessage = XInternAtom(display, "WM_DELETE_WINDOW", false);
- XSetWMProtocols(display, xwindow, &wmDeleteMessage, 1);
-
- // "Map" the window (that is, make it appear on the screen)
- XMapWindow(display, xwindow);
-
- // Create a "Graphics Context"
- gc = XCreateGC(display, xwindow, 0, NULL);
+ display = XOpenDisplay(nullptr);
+ if(display == nullptr)
+ {
+ ERR(X11, "XOpenDisplay failed");
+ return;
+ }
+
+ screen = DefaultScreen(display);
+
+ // Get some colors
+ int blackColor = BlackPixel(display, screen);
+
+ ::Window parentWindow;
+ if(native_window)
+ {
+ parentWindow = (::Window)native_window;
+ }
+ else
+ {
+ parentWindow = DefaultRootWindow(display);
+ }
+
+ // Create the window
+ unsigned long border = 0;
+ xwindow = XCreateSimpleWindow(display,
+ parentWindow,
+ window.x(), window.y(),
+ window.width(), window.height(),
+ border,
+ blackColor, blackColor);
+
+ long mask = (StructureNotifyMask |
+ PointerMotionMask |
+ ButtonPressMask |
+ ButtonReleaseMask |
+ KeyPressMask |
+ KeyReleaseMask|
+ ExposureMask |
+ StructureNotifyMask |
+ SubstructureNotifyMask);
+ XSelectInput(display, xwindow, mask);
+
+ // Register the delete window message:
+ wmDeleteMessage = XInternAtom(display, "WM_DELETE_WINDOW", false);
+
+ Atom protocols[] = { wmDeleteMessage };
+ int count = sizeof(protocols)/sizeof(Atom);
+ XSetWMProtocols(display, xwindow, protocols, count);
+
+ // "Map" the window (that is, make it appear on the screen)
+ XMapWindow(display, xwindow);
+
+ // Create a "Graphics Context"
+ gc = XCreateGC(display, xwindow, 0, nullptr);
}
-GUI::NativeWindowX11::~NativeWindowX11()
+NativeWindowX11::~NativeWindowX11()
{
- XDestroyWindow(display, xwindow);
- //widgets.erase(window);
- XCloseDisplay(display);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XDestroyWindow(display, xwindow);
+ XCloseDisplay(display);
}
-void GUI::NativeWindowX11::setFixedSize(int width, int height)
+void NativeWindowX11::setFixedSize(int width, int height)
{
- resize(width, height);
-
- XSizeHints *size_hints;
- size_hints = XAllocSizeHints();
-
- if(size_hints == NULL) {
- //fprintf(stderr,"XMallocSizeHints() failed\n");
- //exit(1);
- return;
- }
-
- size_hints->flags = USPosition | PMinSize | PMaxSize;
- size_hints->min_width = size_hints->max_width = width;
- size_hints->min_height = size_hints->max_height = height;
- /*
- size_hints->min_aspect.x = window->width()/window->height();
- size_hints->max_aspect.x = window->width()/window->height();
- size_hints->min_aspect.y = window->width()/window->height();
- size_hints->max_aspect.y = size_hints->min_aspect.y;
- */
- XSetWMNormalHints(display, xwindow, size_hints);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ resize(width, height);
+
+ XSizeHints* size_hints;
+ size_hints = XAllocSizeHints();
+
+ if(size_hints == nullptr)
+ {
+ ERR(X11,"XMallocSizeHints() failed");
+ return;
+ }
+
+ size_hints->flags = USPosition | PMinSize | PMaxSize;
+ size_hints->min_width = size_hints->max_width = width;
+ size_hints->min_height = size_hints->max_height = height;
+
+ //size_hints->min_aspect.x = (float)window.width()/(float)window.height();
+ //size_hints->max_aspect.x = (float)window.width()/(float)window.height();
+ //size_hints->min_aspect.y = (float)window.width()/(float)window.height();
+ //size_hints->max_aspect.y = size_hints->min_aspect.y;
+
+ XSetWMNormalHints(display, xwindow, size_hints);
}
-void GUI::NativeWindowX11::resize(int width, int height)
+void NativeWindowX11::resize(int width, int height)
{
- XResizeWindow(display, xwindow, width, height);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XResizeWindow(display, xwindow, width, height);
}
-void GUI::NativeWindowX11::move(int x, int y)
+void NativeWindowX11::move(int x, int y)
{
- XMoveWindow(display, xwindow, x, y);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XMoveWindow(display, xwindow, x, y);
}
-void GUI::NativeWindowX11::show()
+void NativeWindowX11::show()
{
- XMapWindow(display, xwindow);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XMapWindow(display, xwindow);
}
-void GUI::NativeWindowX11::hide()
+void NativeWindowX11::hide()
{
- XUnmapWindow(display, xwindow);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XUnmapWindow(display, xwindow);
}
static int get_byte_order (void)
@@ -135,254 +184,345 @@ static int get_byte_order (void)
} order;
order.s = 1;
- if ((1 == order.c[0])) {
+ if((1 == order.c[0]))
+ {
return LSBFirst;
- } else {
+ }
+ else
+ {
return MSBFirst;
}
}
-static XImage *create_image_from_buffer(Display *dis, int screen,
- unsigned char *buf,
- int width, int height)
+XImage* NativeWindowX11::createImageFromBuffer(unsigned char* buf,
+ int width, int height)
{
int depth;
- XImage *img = NULL;
- Visual *vis;
+ XImage* img = nullptr;
+ Visual* vis;
double rRatio;
double gRatio;
double bRatio;
- int outIndex = 0;
+ int outIndex = 0;
int i;
int numBufBytes = (3 * (width * height));
-
- depth = DefaultDepth(dis, screen);
- vis = DefaultVisual(dis, screen);
+
+ depth = DefaultDepth(display, screen);
+ vis = DefaultVisual(display, screen);
rRatio = vis->red_mask / 255.0;
gRatio = vis->green_mask / 255.0;
bRatio = vis->blue_mask / 255.0;
-
- if (depth >= 24) {
+
+ if(depth >= 24)
+ {
size_t numNewBufBytes = (4 * (width * height));
u_int32_t *newBuf = (u_int32_t *)malloc (numNewBufBytes);
-
- for (i = 0; i < numBufBytes; ++i) {
+
+ for(i = 0; i < numBufBytes; ++i)
+ {
unsigned int r, g, b;
r = (buf[i] * rRatio);
++i;
g = (buf[i] * gRatio);
++i;
b = (buf[i] * bRatio);
-
- r &= vis->red_mask;
- g &= vis->green_mask;
- b &= vis->blue_mask;
-
- newBuf[outIndex] = r | g | b;
- ++outIndex;
- }
-
- img = XCreateImage (dis,
- CopyFromParent, depth,
- ZPixmap, 0,
- (char *) newBuf,
- width, height,
- 32, 0
- );
-
- } else if (depth >= 15) {
- size_t numNewBufBytes = (2 * (width * height));
- u_int16_t *newBuf = (u_int16_t *)malloc (numNewBufBytes);
-
- for (i = 0; i < numBufBytes; ++i) {
- unsigned int r, g, b;
- r = (buf[i] * rRatio);
- ++i;
- g = (buf[i] * gRatio);
- ++i;
- b = (buf[i] * bRatio);
-
r &= vis->red_mask;
g &= vis->green_mask;
b &= vis->blue_mask;
-
+
newBuf[outIndex] = r | g | b;
++outIndex;
- }
-
- img = XCreateImage(dis, CopyFromParent, depth, ZPixmap, 0, (char *) newBuf,
- width, height, 16, 0);
- } else {
- //fprintf (stderr, "This program does not support displays with a depth less than 15.");
- return NULL;
+ }
+
+ img = XCreateImage (display,
+ CopyFromParent, depth,
+ ZPixmap, 0,
+ (char*) newBuf,
+ width, height,
+ 32, 0);
+ }
+ else
+ {
+ if(depth >= 15)
+ {
+ size_t numNewBufBytes = (2 * (width * height));
+ u_int16_t* newBuf = (u_int16_t*)malloc (numNewBufBytes);
+
+ for(i = 0; i < numBufBytes; ++i)
+ {
+ unsigned int r, g, b;
+
+ r = (buf[i] * rRatio);
+ ++i;
+ g = (buf[i] * gRatio);
+ ++i;
+ b = (buf[i] * bRatio);
+
+ r &= vis->red_mask;
+ g &= vis->green_mask;
+ b &= vis->blue_mask;
+
+ newBuf[outIndex] = r | g | b;
+ ++outIndex;
+ }
+
+ img = XCreateImage(display, CopyFromParent, depth, ZPixmap, 0,
+ (char*)newBuf, width, height, 16, 0);
+ }
+ else
+ {
+ //fprintf (stderr, "This program does not support displays with a depth less than 15.");
+ return nullptr;
+ }
}
XInitImage (img);
- /*Set the client's byte order, so that XPutImage knows what to do with the data.*/
- /*The default in a new X image is the server's format, which may not be what we want.*/
- if ((LSBFirst == get_byte_order ())) {
+
+ // Set the client's byte order, so that XPutImage knows what
+ // to do with the data.
+ // The default in a new X image is the server's format, which
+ // may not be what we want.
+ if((LSBFirst == get_byte_order ()))
+ {
img->byte_order = LSBFirst;
- } else {
+ }
+ else
+ {
img->byte_order = MSBFirst;
}
-
- /*The bitmap_bit_order doesn't matter with ZPixmap images.*/
+
+ // The bitmap_bit_order doesn't matter with ZPixmap images.
img->bitmap_bit_order = MSBFirst;
return img;
-}
+}
+
+void NativeWindowX11::handleBuffer()
+{
+ if(buffer)
+ {
+ XDestroyImage(buffer);
+ }
+
+ buffer = createImageFromBuffer(window.wpixbuf.buf,
+ window.wpixbuf.width,
+ window.wpixbuf.height);
+}
-void GUI::NativeWindowX11::handleBuffer()
+void NativeWindowX11::redraw()
{
- if(buffer) XDestroyImage(buffer);
- buffer =
- create_image_from_buffer(display, DefaultScreen(display),
- window->wpixbuf.buf,
- window->wpixbuf.width,
- window->wpixbuf.height);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ if(buffer == nullptr)
+ {
+ window.updateBuffer();
+ }
+
+ XPutImage(display, xwindow, gc, buffer, 0, 0, 0, 0,
+ window.width(), window.height());
+ XFlush(display);
}
-void GUI::NativeWindowX11::redraw()
+void NativeWindowX11::setCaption(const std::string &caption)
{
- // http://stackoverflow.com/questions/6384987/load-image-onto-a-window-using-xlib
- if(buffer == NULL) window->updateBuffer();
- XPutImage(display, xwindow, gc, buffer, 0, 0, 0, 0,
- window->width(), window->height());
- XFlush(display);
+ if(display == nullptr)
+ {
+ return;
+ }
+
+ XStoreName(display, xwindow, caption.c_str());
}
-void GUI::NativeWindowX11::setCaption(const std::string &caption)
+void NativeWindowX11::grabMouse(bool grab)
{
- XStoreName(display, xwindow, caption.c_str());
+ (void)grab;
+ // Don't need to do anything on this platform...
}
-void GUI::NativeWindowX11::grabMouse(bool grab)
+bool NativeWindowX11::hasEvent()
{
- (void)grab;
- // Don't need to do anything on this platoform...
+ if(display == nullptr)
+ {
+ return false;
+ }
+
+ return XPending(display);
}
-bool GUI::NativeWindowX11::hasEvent()
+Event* NativeWindowX11::getNextEvent()
{
- return XPending(display);
+ if(display == nullptr)
+ {
+ return nullptr;
+ }
+
+ XEvent xEvent;
+ XNextEvent(display, &xEvent);
+ return translateXMessage(xEvent);
}
-GUI::Event *GUI::NativeWindowX11::getNextEvent()
+Event* NativeWindowX11::peekNextEvent()
{
- Event *event = NULL;
-
- XEvent xe;
- XNextEvent(display, &xe);
-
- if(xe.type == MotionNotify) {
- while(true) { // Hack to make sure only the last event is played.
- if(!hasEvent()) break;
- XEvent nxe;
- XPeekEvent(display, &nxe);
- if(nxe.type != MotionNotify) break;
- XNextEvent(display, &xe);
- }
-
- MouseMoveEvent *e = new MouseMoveEvent();
- e->window_id = xe.xmotion.window;
- e->x = xe.xmotion.x;
- e->y = xe.xmotion.y;
- event = e;
- }
-
- if(xe.type == Expose && xe.xexpose.count == 0) {
- RepaintEvent *e = new RepaintEvent();
- e->window_id = xe.xexpose.window;
- e->x = xe.xexpose.x;
- e->y = xe.xexpose.y;
- e->width = xe.xexpose.width;
- e->height = xe.xexpose.height;
- event = e;
- }
-
- if(xe.type == ConfigureNotify) {
- ResizeEvent *e = new ResizeEvent();
- e->window_id = xe.xconfigure.window;
- // e->x = xe.xconfigure.x;
- // e->y = xe.xconfigure.y;
- e->width = xe.xconfigure.width;
- e->height = xe.xconfigure.height;
- event = e;
- }
-
- if(xe.type == ButtonPress || xe.type == ButtonRelease) {
- if(xe.xbutton.button == 4 || xe.xbutton.button == 5) {
- int scroll = 1;
- while(true) { // Hack to make sure only the last event is played.
- if(!hasEvent()) break;
- XEvent nxe;
- XPeekEvent(display, &nxe);
- if(nxe.type != ButtonPress && nxe.type != ButtonRelease) break;
- scroll += 1;
- XNextEvent(display, &xe);
- }
- ScrollEvent *e = new ScrollEvent();
- e->window_id = xe.xbutton.window;
- e->x = xe.xbutton.x;
- e->y = xe.xbutton.y;
- e->delta = scroll * (xe.xbutton.button==4?-1:1);
- event = e;
- } else {
- ButtonEvent *e = new ButtonEvent();
- e->window_id = xe.xbutton.window;
- e->x = xe.xbutton.x;
- e->y = xe.xbutton.y;
- e->button = 0;
- e->direction = xe.type == ButtonPress?1:-1;
- e->doubleclick =
- xe.type == ButtonPress && (xe.xbutton.time - last_click) < 200;
-
- if(xe.type == ButtonPress) last_click = xe.xbutton.time;
- event = e;
- }
- }
-
- if(xe.type == KeyPress || xe.type == KeyRelease) {
- //printf("key: %d\n", xe.xkey.keycode);
- KeyEvent *e = new KeyEvent();
- e->window_id = xe.xkey.window;
-
- switch(xe.xkey.keycode) {
- case 113: e->keycode = KeyEvent::KEY_LEFT; break;
- case 114: e->keycode = KeyEvent::KEY_RIGHT; break;
- case 111: e->keycode = KeyEvent::KEY_UP; break;
- case 116: e->keycode = KeyEvent::KEY_DOWN; break;
- case 119: e->keycode = KeyEvent::KEY_DELETE; break;
- case 22: e->keycode = KeyEvent::KEY_BACKSPACE; break;
- case 110: e->keycode = KeyEvent::KEY_HOME; break;
- case 115: e->keycode = KeyEvent::KEY_END; break;
- case 117: e->keycode = KeyEvent::KEY_PGDOWN; break;
- case 112: e->keycode = KeyEvent::KEY_PGUP; break;
- case 36: e->keycode = KeyEvent::KEY_ENTER; break;
- default: e->keycode = KeyEvent::KEY_UNKNOWN; break;
- }
-
- char buf[1024];
- int sz = XLookupString(&xe.xkey, buf, sizeof(buf), NULL, NULL);
- if(sz && e->keycode == KeyEvent::KEY_UNKNOWN) {
- e->keycode = KeyEvent::KEY_CHARACTER;
- }
- e->text.append(buf, sz);
-
- e->direction = xe.type == KeyPress?1:-1;
- event = e;
- }
-
- if(xe.type == ClientMessage &&
- (unsigned int)xe.xclient.data.l[0] == wmDeleteMessage) {
- CloseEvent *e = new CloseEvent();
- event = e;
- }
-
- return event;
+ if(display == nullptr)
+ {
+ return nullptr;
+ }
+
+ XEvent peekXEvent;
+ XPeekEvent(display, &peekXEvent);
+ return translateXMessage(peekXEvent, true);
}
-#endif/*X11*/
+ Event* NativeWindowX11::translateXMessage(XEvent& xevent, bool peek)
+{
+ Event* event = nullptr;
+
+ switch(xevent.type) {
+ case MotionNotify:
+ {
+ auto mouseMoveEvent = new MouseMoveEvent();
+ mouseMoveEvent->window_id = xevent.xmotion.window;
+ mouseMoveEvent->x = xevent.xmotion.x;
+ mouseMoveEvent->y = xevent.xmotion.y;
+ event = mouseMoveEvent;
+ }
+ break;
+
+ case Expose:
+ if(xevent.xexpose.count == 0)
+ {
+ auto repaintEvent = new RepaintEvent();
+ repaintEvent->window_id = xevent.xexpose.window;
+ repaintEvent->x = xevent.xexpose.x;
+ repaintEvent->y = xevent.xexpose.y;
+ repaintEvent->width = xevent.xexpose.width;
+ repaintEvent->height = xevent.xexpose.height;
+ event = repaintEvent;
+ }
+ break;
+
+ case ConfigureNotify:
+ {
+ auto resizeEvent = new ResizeEvent();
+ resizeEvent->window_id = xevent.xconfigure.window;
+ //resizeEvent->x = xevent.xconfigure.x;
+ //resizeEvent->y = xevent.xconfigure.y;
+ resizeEvent->width = xevent.xconfigure.width;
+ resizeEvent->height = xevent.xconfigure.height;
+ event = resizeEvent;
+ }
+ break;
+
+ case ButtonPress:
+ case ButtonRelease:
+ {
+ if((xevent.xbutton.button == 4) || (xevent.xbutton.button == 5))
+ {
+ int scroll = 1;
+ auto scrollEvent = new ScrollEvent();
+ scrollEvent->window_id = xevent.xbutton.window;
+ scrollEvent->x = xevent.xbutton.x;
+ scrollEvent->y = xevent.xbutton.y;
+ scrollEvent->delta = scroll * ((xevent.xbutton.button == 4) ? -1 : 1);
+ event = scrollEvent;
+ }
+ else
+ {
+ auto buttonEvent = new ButtonEvent();
+ buttonEvent->window_id = xevent.xbutton.window;
+ buttonEvent->x = xevent.xbutton.x;
+ buttonEvent->y = xevent.xbutton.y;
+ switch(xevent.xbutton.button) {
+ case 1:
+ buttonEvent->button = MouseButton::left;
+ break;
+ case 2:
+ buttonEvent->button = MouseButton::middle;
+ break;
+ case 3:
+ buttonEvent->button = MouseButton::right;
+ break;
+ default:
+ WARN(X11, "Unknown button %d, setting to MouseButton::left\n",
+ xevent.xbutton.button);
+ buttonEvent->button = MouseButton::left;
+ break;
+ }
+
+ buttonEvent->direction =
+ (xevent.type == ButtonPress) ?
+ Direction::down : Direction::up;
+
+ buttonEvent->doubleClick =
+ (xevent.type == ButtonPress) &&
+ ((xevent.xbutton.time - last_click) < 200);
+
+ if(!peek && (xevent.type == ButtonPress))
+ {
+ last_click = xevent.xbutton.time;
+ }
+ event = buttonEvent;
+ }
+ }
+ break;
+
+ case KeyPress:
+ case KeyRelease:
+ {
+ auto keyEvent = new KeyEvent();
+ keyEvent->window_id = xevent.xkey.window;
+
+ switch(xevent.xkey.keycode) {
+ case 113: keyEvent->keycode = Key::left; break;
+ case 114: keyEvent->keycode = Key::right; break;
+ case 111: keyEvent->keycode = Key::up; break;
+ case 116: keyEvent->keycode = Key::down; break;
+ case 119: keyEvent->keycode = Key::deleteKey; break;
+ case 22: keyEvent->keycode = Key::backspace; break;
+ case 110: keyEvent->keycode = Key::home; break;
+ case 115: keyEvent->keycode = Key::end; break;
+ case 117: keyEvent->keycode = Key::pageDown; break;
+ case 112: keyEvent->keycode = Key::pageUp; break;
+ case 36: keyEvent->keycode = Key::enter; break;
+ default: keyEvent->keycode = Key::unknown; break;
+ }
+
+ char stringBuffer[1024];
+ int size = XLookupString(&xevent.xkey, stringBuffer,
+ sizeof(stringBuffer), nullptr, nullptr);
+ if(size && keyEvent->keycode == Key::unknown)
+ {
+ keyEvent->keycode = Key::character;
+ }
+
+ keyEvent->text.append(stringBuffer, size);
+
+ keyEvent->direction =
+ (xevent.type == KeyPress) ? Direction::down : Direction::up;
+
+ event = keyEvent;
+ }
+ break;
+
+ case ClientMessage:
+ if(((unsigned int)xevent.xclient.data.l[0] == wmDeleteMessage))
+ {
+ auto closeEvent = new CloseEvent();
+ event = closeEvent;
+ }
+ break;
+
+ default:
+ WARN(X11, "Unhandled xevent.type: %d\n", xevent.type);
+ break;
+ }
+
+ return event;
+}
+} // GUI::
diff --git a/plugingui/nativewindow_x11.h b/plugingui/nativewindow_x11.h
index 3dcc0bb..2d99556 100644
--- a/plugingui/nativewindow_x11.h
+++ b/plugingui/nativewindow_x11.h
@@ -11,24 +11,21 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_NATIVEWINDOW_X11_H__
-#define __DRUMGIZMO_NATIVEWINDOW_X11_H__
-#endif/*__DRUMGIZMO_NATIVEWINDOW_X11_H__*/
+#pragma once
-#ifdef X11
#include <X11/Xlib.h>
#include "nativewindow.h"
@@ -38,35 +35,38 @@ namespace GUI {
class Window;
class NativeWindowX11 : public NativeWindow {
public:
- NativeWindowX11(GUI::Window *window);
- ~NativeWindowX11();
+ NativeWindowX11(void* native_window, Window& window);
+ ~NativeWindowX11();
- void setFixedSize(int width, int height);
- void resize(int width, int height);
- void move(int x, int y);
- void show();
- void setCaption(const std::string &caption);
- void hide();
- void handleBuffer();
- void redraw();
- void grabMouse(bool grab);
-
- bool hasEvent();
- Event *getNextEvent();
+ // From NativeWindow:
+ void setFixedSize(int width, int height) override;
+ void resize(int width, int height) override;
+ void move(int x, int y) override;
+ void show() override;
+ void hide() override;
+ void setCaption(const std::string &caption) override;
+ void handleBuffer() override;
+ void redraw() override;
+ void grabMouse(bool grab) override;
+ bool hasEvent() override;
+ Event* getNextEvent() override;
+ Event* peekNextEvent() override;
private:
- ::Window xwindow;
- GC gc;
- XImage *buffer;
+ Event* translateXMessage(XEvent& xevent, bool peek = false);
+ XImage* createImageFromBuffer(unsigned char* buf, int width, int height);
- GUI::Window *window;
+ ::Window xwindow{0};
+ GC gc{0};
+ XImage* buffer{nullptr};
- int last_click;
+ Window& window;
- Display *display;
- Atom wmDeleteMessage;
-};
+ int last_click{0};
+ Display* display{nullptr};
+ int screen{0};
+ Atom wmDeleteMessage{0};
};
-#endif/*X11*/
+} // GUI::
diff --git a/plugingui/notifier.h b/plugingui/notifier.h
new file mode 100644
index 0000000..9e9f6eb
--- /dev/null
+++ b/plugingui/notifier.h
@@ -0,0 +1,163 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * notifier.h
+ *
+ * Thu Sep 3 15:48:39 CEST 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <functional>
+#include <vector>
+#include <map>
+#include <set>
+#include <memory>
+
+namespace aux
+{
+ template<int>
+ struct placeholder
+ {
+ };
+}
+
+namespace std
+{
+ template<int N>
+ struct is_placeholder<aux::placeholder<N>>
+ : integral_constant<int, N+1>
+ {
+ };
+}
+
+namespace aux
+{
+ // std::integer_sequence introduced in C++14 so remove this once we start requiring that.
+
+ template<int... Ns>
+ struct int_sequence
+ {
+ };
+
+ template<int N, int... Ns>
+ struct gen_int_sequence
+ : gen_int_sequence<N-1, N-1, Ns...>
+ {
+ };
+
+ template<int... Ns>
+ struct gen_int_sequence<0, Ns...>
+ : int_sequence<Ns...>
+ {
+ };
+};
+
+
+namespace GUI {
+
+class Listener;
+class NotifierBase {
+public:
+ virtual void disconnect(Listener* object) {}
+};
+
+class Listener {
+public:
+ virtual ~Listener()
+ {
+ for(auto signal : signals)
+ {
+ signal->disconnect(this);
+ }
+ }
+
+ void registerNotifier(NotifierBase* signal)
+ {
+ signals.insert(signal);
+ }
+
+ void unregisterNotifier(NotifierBase* signal)
+ {
+ signals.erase(signal);
+ }
+
+private:
+ std::set<NotifierBase*> signals;
+};
+
+template<typename... Args>
+class Notifier : public NotifierBase {
+public:
+ Notifier() {}
+
+ //! \brief When dtor is called it will automatically disconnect all its listeners.
+ ~Notifier()
+ {
+ for(auto& slot : slots)
+ {
+ slot.first->unregisterNotifier(this);
+ }
+ }
+
+ using callback_type = std::function<void(Args...)>;
+
+ //! \brief Connect object to this Notifier.
+ template<typename O, typename F>
+ void connect(O* p, const F& fn)
+ {
+ slots[p] = std::move(construct_mem_fn(fn, p, aux::gen_int_sequence<sizeof...(Args)>{}));
+ if(p && dynamic_cast<Listener*>(p))
+ {
+ dynamic_cast<Listener*>(p)->registerNotifier(this);
+ }
+ }
+
+ //! \brief Disconnect object from this Notifier.
+ void disconnect(Listener* object)
+ {
+ slots.erase(object);
+ }
+
+ //! \brief Activate this notifier by pretending it is a function.
+ //! Example: Notifier<int> foo; foo(42);
+ void operator()(Args... args)
+ {
+ for(auto& slot : slots)
+ {
+ slot.second(args...);
+ }
+ }
+
+private:
+ std::map<Listener*, callback_type> slots;
+
+ template<typename F, typename O, int... Ns>
+ callback_type construct_mem_fn(const F& fn, O* p, aux::int_sequence<Ns...>) const
+ {
+ return std::bind(fn, p, aux::placeholder<Ns>{}...);
+ }
+
+};
+
+} // GUI::
+
+#define CONNECT(SRC, SIG, TAR, SLO) (SRC)->SIG.connect(TAR, SLO)
diff --git a/plugingui/painter.cc b/plugingui/painter.cc
index 842ff11..2128c4e 100644
--- a/plugingui/painter.cc
+++ b/plugingui/painter.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,461 +28,494 @@
#include "window.h"
-#include <string.h>
+#include <cmath>
-GUI::Painter::Painter(GUI::Widget *widget)
-{
- this->widget = widget;
- widget->window()->beginPaint();
- pixbuf = &widget->pixbuf;
- colour = Colour(0, 0, 0, 0.5);
-}
+namespace GUI {
-GUI::Painter::~Painter()
+Painter::Painter(Widget& widget)
+ : widget(widget)
{
- widget->window()->endPaint();
- flush();
-}
+ if(widget.window())
+ {
+ widget.window()->beginPaint();
+ }
-void GUI::Painter::setColour(Colour colour)
-{
- this->colour = colour;
+ pixbuf = &widget.pixbuf;
+ colour = Colour(0, 0, 0, 0.5);
}
-void GUI::Painter::plot(int x, int y, double c)
+Painter::~Painter()
{
- // plot the pixel at (x, y) with brightness c (where 0 ⤠c ⤠1)
- pixbuf->addPixel(x, y,
- (unsigned char)(colour.red * 255.0),
- (unsigned char)(colour.green * 255.0),
- (unsigned char)(colour.blue * 255.0),
- (unsigned char)(colour.alpha * 255 * c));
+ if(widget.window())
+ {
+ widget.window()->endPaint();
+ }
+ flush();
}
-#include <math.h>
-double GUI::Painter::ipart(double x)
+void Painter::setColour(const Colour& colour)
{
- return floor(x); //integer part of x'
+ this->colour = colour;
}
-
-double GUI::Painter::round(double x)
-{
- return ipart(x + 0.5);
-}
-
-double GUI::Painter::fpart(double x)
-{
- return x - ipart(x);//'fractional part of x'
-}
-
-double GUI::Painter::rfpart(double x)
+
+static void plot(PixelBufferAlpha* pixbuf, const Colour& colour,
+ int x, int y, double c)
{
- return 1 - fpart(x);
-}
+ if((x >= (int)pixbuf->width) || (y >= (int)pixbuf->height))
+ {
+ return;
+ }
+
+ // plot the pixel at (x, y) with brightness c (where 0 ⤠c ⤠1)
+ pixbuf->addPixel(x, y,
+ (unsigned char)(colour.red * 255.0),
+ (unsigned char)(colour.green * 255.0),
+ (unsigned char)(colour.blue * 255.0),
+ (unsigned char)(colour.alpha * 255 * c));
+}
-#define SWAP(x, y) { int tmp = x; x = y; y = tmp; }
-void GUI::Painter::drawLine(int x0, int y0, int x1, int y1)
+static inline double fpart(double x)
{
- bool steep = abs(y1 - y0) > abs(x1 - x0);
-
- if(steep) {
- SWAP(x0, y0);
- SWAP(x1, y1);
- }
- if(x0 > x1) {
- SWAP(x0, x1);
- SWAP(y0, y1);
- }
-
- double dx = x1 - x0;
- double dy = y1 - y0;
- double gradient = dy / dx;
-
- // Handle first endpoint:
- double xend = round(x0);
- double yend = y0 + gradient * (xend - x0);
- //double xgap = rfpart(x0 + 0.5);
- double xpxl1 = xend; //this will be used in the main loop
- double ypxl1 = ipart(yend);
-
- if(steep) {
- plot(ypxl1, xpxl1, 1);
- //plot(ypxl1, xpxl1, rfpart(yend) * xgap);
- //plot(ypxl1+1, xpxl1, fpart(yend) * xgap);
- } else {
- plot(xpxl1, ypxl1, 1);
- //plot(xpxl1, ypxl1 , rfpart(yend) * xgap);
- //plot(xpxl1, ypxl1+1, fpart(yend) * xgap);
- }
-
- double intery = yend + gradient; // first y-intersection for the main loop
-
- // Handle second endpoint:
- xend = round(x1);
- yend = y1 + gradient * (xend - x1);
- //xgap = fpart(x1 + 0.5);
- double xpxl2 = xend; //this will be used in the main loop
- double ypxl2 = ipart(yend);
-
- if(steep) {
- plot(ypxl2, xpxl2, 1);
- //plot(ypxl2 , xpxl2, rfpart(yend) * xgap);
- //plot(ypxl2+1, xpxl2, fpart(yend) * xgap);
- } else {
- plot(xpxl2, ypxl2, 1);
- //plot(xpxl2, ypxl2, rfpart(yend) * xgap);
- //plot(xpxl2, ypxl2+1, fpart(yend) * xgap);
- }
-
- // main loop
- for(int x = xpxl1 + 1; x <= xpxl2 - 1; x++) {
- if(steep) {
- plot(ipart(intery) , x, rfpart(intery));
- plot(ipart(intery)+1, x, fpart(intery));
- } else {
- plot(x, ipart (intery), rfpart(intery));
- plot(x, ipart (intery)+1, fpart(intery));
- }
- intery += gradient;
- }
+ return x - std::floor(x);// fractional part of x
}
-void GUI::Painter::drawRectangle(int x1, int y1, int x2, int y2)
+static inline double rfpart(double x)
{
- drawLine(x1, y1, x2 - 1, y1);
- drawLine(x2, y1, x2, y2 - 1);
- drawLine(x1 + 1, y2, x2, y2);
- drawLine(x1, y1 + 1, x1, y2);
+ return 1 - fpart(x); // reverse fractional part of x
}
-void GUI::Painter::drawFilledRectangle(int x1, int y1, int x2, int y2)
+void Painter::drawLine(int x0, int y0, int x1, int y1)
{
- for(int y = y1; y < y2; y++) {
- drawLine(x1, y, x2, y);
- }
+ bool steep = abs(y1 - y0) > abs(x1 - x0);
+
+ if(steep)
+ {
+ std::swap(x0, y0);
+ std::swap(x1, y1);
+ }
+ if(x0 > x1)
+ {
+ std::swap(x0, x1);
+ std::swap(y0, y1);
+ }
+
+ double dx = x1 - x0;
+ double dy = y1 - y0;
+ double gradient = dy / dx;
+
+ // Handle first endpoint:
+ double xend = std::round(x0);
+ double yend = y0 + gradient * (xend - x0);
+
+ double xpxl1 = xend; // this will be used in the main loop
+ double ypxl1 = std::floor(yend);
+
+ if(steep)
+ {
+ plot(pixbuf, colour, ypxl1, xpxl1, 1);
+ }
+ else
+ {
+ plot(pixbuf, colour, xpxl1, ypxl1, 1);
+ }
+
+ double intery = yend + gradient; // first y-intersection for the main loop
+
+ // Handle second endpoint:
+ xend = std::round(x1);
+ yend = y1 + gradient * (xend - x1);
+
+ double xpxl2 = xend; // this will be used in the main loop
+ double ypxl2 = std::floor(yend);
+
+ if(steep)
+ {
+ plot(pixbuf, colour, ypxl2, xpxl2, 1);
+ }
+ else
+ {
+ plot(pixbuf, colour, xpxl2, ypxl2, 1);
+ }
+
+ // main loop
+ for(int x = xpxl1 + 1; x <= xpxl2 - 1; ++x)
+ {
+ if(steep)
+ {
+ plot(pixbuf, colour, std::floor(intery) , x, rfpart(intery));
+ plot(pixbuf, colour, std::floor(intery)+1, x, fpart(intery));
+ }
+ else
+ {
+ plot(pixbuf, colour, x, std::floor(intery), rfpart(intery));
+ plot(pixbuf, colour, x, std::floor(intery)+1, fpart(intery));
+ }
+ intery += gradient;
+ }
}
-void GUI::Painter::clear()
+void Painter::drawRectangle(int x1, int y1, int x2, int y2)
{
- for(int x = 0; x < (int)pixbuf->width; x++) {
- for(int y = 0; y < (int)pixbuf->height; y++) {
- pixbuf->setPixel(x, y, 0, 0, 0, 0);
- }
- }
+ drawLine(x1, y1, x2 - 1, y1);
+ drawLine(x2, y1, x2, y2 - 1);
+ drawLine(x1 + 1, y2, x2, y2);
+ drawLine(x1, y1 + 1, x1, y2);
}
-void GUI::Painter::drawText(int x0, int y0, GUI::Font &font, std::string text,
- bool nocolour)
+void Painter::drawFilledRectangle(int x1, int y1, int x2, int y2)
{
- PixelBufferAlpha *textbuf = font.render(text);
- if(nocolour) {
- for(size_t x = 0; x < textbuf->width; x++) {
- for(size_t y = 0; y < textbuf->height; y++) {
- unsigned char r,g,b,a;
- textbuf->pixel(x, y, &r, &g, &b, &a);
- pixbuf->addPixel(x + x0, y + y0 - textbuf->height, r,g,b,a);
- }
- }
- } else {
- for(size_t x = 0; x < textbuf->width; x++) {
- for(size_t y = 0; y < textbuf->height; y++) {
- unsigned char r,g,b,a;
- textbuf->pixel(x, y, &r, &g, &b, &a);
- pixbuf->addPixel(x + x0, y + y0 - textbuf->height,
- colour.red * 255,
- colour.green * 255,
- colour.blue * 255,
- colour.alpha * a);
- }
- }
- }
-
- delete textbuf;
+ for(int y = y1; y < y2; ++y)
+ {
+ drawLine(x1, y, x2, y);
+ }
}
-#include <stdio.h>
-void GUI::Painter::drawPoint(int x, int y)
+void Painter::clear()
{
- pixbuf->setPixel(x, y,
- (unsigned char)(colour.red * 255.0),
- (unsigned char)(colour.green * 255.0),
- (unsigned char)(colour.blue * 255.0),
- (unsigned char)(colour.alpha * 255.0));
+ for(int x = 0; x < (int)pixbuf->width; ++x)
+ {
+ for(int y = 0; y < (int)pixbuf->height; ++y)
+ {
+ pixbuf->setPixel(x, y, 0, 0, 0, 0);
+ }
+ }
}
-#if 0
-static double distance(double r, double y)
+void Painter::drawText(int x0, int y0, const Font& font,
+ const std::string& text, bool nocolour)
{
- double real_point = sqrt(pow(r, 2) - pow(y, 2));
- return ceil(real_point) - real_point;
+ PixelBufferAlpha* textbuf = font.render(text);
+
+ y0 -= textbuf->height; // The y0 offset (baseline) is the bottom of the text.
+
+ // If the text offset is outside the buffer; skip it.
+ if((x0 > (int)pixbuf->width) || (y0 > (int)pixbuf->height))
+ {
+ delete textbuf;
+ return;
+ }
+
+ // Make sure we don't try to draw outside the pixbuf.
+ int renderWidth = textbuf->width;
+ if(renderWidth > (int)(pixbuf->width - x0))
+ {
+ renderWidth = pixbuf->width - x0;
+ }
+
+ int renderHeight = textbuf->height;
+ if(renderHeight > ((int)pixbuf->height - y0))
+ {
+ renderHeight = ((int)pixbuf->height - y0);
+ }
+
+ if(nocolour)
+ {
+ for(int y = 0; y < renderHeight; ++y)
+ {
+ for(int x = 0; x < renderWidth; ++x)
+ {
+ unsigned char r, g, b, a;
+ textbuf->pixel(x, y, &r, &g, &b, &a);
+ pixbuf->addPixel(x + x0, y + y0, r, g, b, a);
+ }
+ }
+ }
+ else
+ {
+ for(int y = 0; y < renderHeight; ++y)
+ {
+ for(int x = 0; x < renderWidth; ++x)
+ {
+ unsigned char r,g,b,a;
+ textbuf->pixel(x, y, &r, &g, &b, &a);
+ pixbuf->addPixel(x + x0, y + y0,
+ colour.red * 255,
+ colour.green * 255,
+ colour.blue * 255,
+ colour.alpha * a);
+ }
+ }
+ }
+
+ delete textbuf;
}
-double new_color(double i) {
- return i * 127;
+void Painter::drawPoint(int x, int y)
+{
+ pixbuf->setPixel(x, y,
+ (unsigned char)(colour.red * 255.0),
+ (unsigned char)(colour.green * 255.0),
+ (unsigned char)(colour.blue * 255.0),
+ (unsigned char)(colour.alpha * 255.0));
}
-void GUI::Painter::drawCircle(int cx, int cy, double radius)
+static void plot4points(Painter *p, int cx, int cy, int x, int y)
{
- // wu_circle($image, $r, $color, $offset_x = null, $offset_y = null) {
- //$red = $color["red"];
- //$green = $color["green"];
- //$blue = $color["blue"];
- int offset_x = cx;
- int offset_y = cy;
- int x = radius;
- // int xx = radius;
- int y = -1;
- // int yy = -1;
- double t = 0;
- //$color = imagecolorallocate($image, $red, $green, $blue);
- while(x > y) {
- y++;
- double current_distance = distance(radius, y);
- if(current_distance < t) {
- x--;
- }
-
- double trasparency = new_color(current_distance);
- double alpha = trasparency;
- double alpha2 = 127.0 - trasparency;
-
- double color = 1;
-
- plot(x + offset_x, y + offset_y, color);
- plot(x + offset_x - 1, y + offset_y, alpha2 );
- plot(x + offset_x + 1, y + offset_y, alpha );
-
- plot(y + offset_x, x + offset_y, color);
- plot(y + offset_x, x + offset_y - 1, alpha2);
- plot(y + offset_x, x + offset_y + 1, alpha);
-
- plot(offset_x - x , y + offset_y, color);
- plot(offset_x - x + 1, y + offset_y, alpha2);
- plot(offset_x - x - 1, y + offset_y, alpha);
-
- plot(offset_x - y, x + offset_y, color);
- plot(offset_x - y, x + offset_y - 1, alpha2);
- plot(offset_x - y, x + offset_y + 1, alpha);
-
- plot(x + offset_x, offset_y - y, color);
- plot(x + offset_x - 1, offset_y - y, alpha2);
- plot(x + offset_x + 1, offset_y - y, alpha);
-
- plot(y + offset_x, offset_y - x, color);
- plot(y + offset_x, offset_y - x - 1, alpha);
- plot(y + offset_x, offset_y - x + 1, alpha2);
-
- plot(offset_x - y, offset_y - x, color);
- plot(offset_x - y, offset_y - x - 1, alpha);
- plot(offset_x - y, offset_y - x + 1, alpha2);
-
- plot(offset_x - x, offset_y - y, color);
- plot(offset_x - x - 1, offset_y - y, alpha);
- plot(offset_x - x + 1, offset_y - y, alpha2);
-
- t = current_distance;
- }
+ p->drawPoint(cx + x, cy + y);
+ if(x != 0)
+ {
+ p->drawPoint(cx - x, cy + y);
+ }
+
+ if(y != 0)
+ {
+ p->drawPoint(cx + x, cy - y);
+ }
+
+ if(x != 0 && y != 0)
+ {
+ p->drawPoint(cx - x, cy - y);
+ }
}
-#else
-static void plot4points(GUI::Painter *p, int cx, int cy, int x, int y)
+
+void Painter::drawCircle(int cx, int cy, double radius)
{
- p->drawPoint(cx + x, cy + y);
- if(x != 0) p->drawPoint(cx - x, cy + y);
- if(y != 0) p->drawPoint(cx + x, cy - y);
- if(x != 0 && y != 0) p->drawPoint(cx - x, cy - y);
+ int error = -radius;
+ int x = radius;
+ int y = 0;
+
+ while(x >= y)
+ {
+ plot4points(this, cx, cy, x, y);
+
+ if(x != y)
+ {
+ plot4points(this, cx, cy, y, x);
+ }
+
+ error += y;
+ ++y;
+ error += y;
+
+ if(error >= 0)
+ {
+ --x;
+ error -= x;
+ error -= x;
+ }
+ }
}
-void GUI::Painter::drawCircle(int cx, int cy, double radius)
+static void plot4lines(Painter *p, int cx, int cy, int x, int y)
{
- int error = -radius;
- int x = radius;
- int y = 0;
-
- while(x >= y) {
- plot4points(this, cx, cy, x, y);
- if(x != y) plot4points(this, cx, cy, y, x);
-
- error += y;
- ++y;
- error += y;
-
- if(error >= 0) {
- --x;
- error -= x;
- error -= x;
- }
- }
+ p->drawLine(cx + x, cy + y, cx - x, cy + y);
+ if(x != 0)
+ {
+ p->drawLine(cx - x, cy + y, cx + x, cy + y);
+ }
+
+ if(y != 0)
+ {
+ p->drawLine(cx + x, cy - y, cx - x, cy - y);
+ }
+
+ if(x != 0 && y != 0)
+ {
+ p->drawLine(cx - x, cy - y, cx + x, cy - y);
+ }
}
-#endif
-static void plot4lines(GUI::Painter *p, int cx, int cy, int x, int y)
+void Painter::drawFilledCircle(int cx, int cy, int radius)
{
- p->drawLine(cx + x, cy + y, cx - x, cy + y);
- if(x != 0) p->drawLine(cx - x, cy + y, cx + x, cy + y);
- if(y != 0) p->drawLine(cx + x, cy - y, cx - x, cy - y);
- if(x != 0 && y != 0) p->drawLine(cx - x, cy - y, cx + x, cy - y);
+ int error = -radius;
+ int x = radius;
+ int y = 0;
+
+ while(x >= y)
+ {
+ plot4lines(this, cx, cy, x, y);
+
+ if(x != y)
+ {
+ plot4lines(this, cx, cy, y, x);
+ }
+
+ error += y;
+ ++y;
+ error += y;
+
+ if(error >= 0)
+ {
+ --x;
+ error -= x;
+ error -= x;
+ }
+ }
}
-void GUI::Painter::drawFilledCircle(int cx, int cy, int radius)
+void Painter::drawImage(int x0, int y0, const Image& image)
{
- int error = -radius;
- int x = radius;
- int y = 0;
-
- while(x >= y) {
- plot4lines(this, cx, cy, x, y);
- if(x != y) plot4lines(this, cx, cy, y, x);
-
- error += y;
- ++y;
- error += y;
-
- if(error >= 0) {
- --x;
- error -= x;
- error -= x;
- }
- }
+ size_t fw = image.width();
+ size_t fh = image.height();
+
+ // Make sure we don't try to draw outside the pixbuf.
+ if(fw > (pixbuf->width - x0))
+ {
+ fw = (pixbuf->width - x0);
+ }
+
+ if(fh > (pixbuf->height - y0))
+ {
+ fh = (pixbuf->height - y0);
+ }
+
+ for(size_t y = 0; y < fh; ++y)
+ {
+ for(size_t x = 0; x < fw; ++x)
+ {
+ Colour c = image.getPixel(x, y);
+ pixbuf->addPixel(x0 + x, y0 + y, c);
+ }
+ }
}
-void GUI::Painter::drawImage(int x0, int y0, GUI::Image *image)
+void Painter::drawImageStretched(int x0, int y0, const Image& image,
+ int width, int height)
{
- size_t fw = image->width();
- size_t fh = image->height();
-
- for(size_t x = 0; x < fw; x++) {
- for(size_t y = 0; y < fh; y++) {
- GUI::Colour c = image->getPixel(x, y);
- pixbuf->addPixel(x0 + x, y0 + y, c);
- }
- }
+ if((width < 1) || (height < 1))
+ {
+ return;
+ }
+
+ float fw = image.width();
+ float fh = image.height();
+
+ // Make sure we don't try to draw outside the pixbuf.
+ if(width > (int)(pixbuf->width - x0))
+ {
+ width = pixbuf->width - x0;
+ }
+
+ if(height > (int)(pixbuf->height - y0))
+ {
+ height = pixbuf->height - y0;
+ }
+
+ for(int y = 0; y < height; ++y)
+ {
+ for(int x = 0; x < width; ++x)
+ {
+ int lx = ((float)x / (float)width) * fw;
+ int ly = ((float)y / (float)height) * fh;
+ Colour c = image.getPixel(lx, ly);
+ pixbuf->addPixel(x0 + x, y0 + y, c);
+ }
+ }
}
-void GUI::Painter::drawImageStretched(int x0, int y0, GUI::Image *image,
- int w, int h)
+void Painter::drawBox(int x, int y, const Box& box, int width, int height)
{
- if(w < 1 || h < 1) return;
-
- float fw = image->width();
- float fh = image->height();
-
- for(int x = 0; x < w; x++) {
- for(int y = 0; y < h; y++) {
- int lx = ((float)x/(float)w)*fw;
- int ly = ((float)y/(float)h)*fh;
- GUI::Colour c = image->getPixel(lx, ly);
- pixbuf->addPixel(x0 + x, y0 + y, c);
- }
- }
+ int dx = x;
+ int dy = y;
+
+ // Top:
+ drawImage(dx, dy, *box.topLeft);
+
+ dx += box.topLeft->width();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImageStretched(dx, dy, *box.top,
+ width - box.topRight->width() - box.topLeft->width(),
+ box.top->height());
+
+ dx = x + width - box.topRight->width();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImage(dx, dy, *box.topRight);
+
+ // Center:
+ dy = y + box.topLeft->height();
+ dx = x + box.left->width();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImageStretched(dx, dy, *box.center,
+ width - box.left->width() - box.right->width(),
+ height - box.topLeft->height() - box.bottomLeft->height());
+
+ // Mid:
+ dx = x;
+ dy = y + box.topLeft->height();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImageStretched(dx, dy, *box.left, box.left->width(),
+ height - box.topLeft->height() - box.bottomLeft->height());
+
+ dx = x + width - box.right->width();
+ dy = y + box.topRight->height();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImageStretched(dx, dy, *box.right,
+ box.right->width(),
+ height - box.topRight->height() - box.bottomRight->height());
+
+ // Bottom:
+ dx = x;
+ dy = y + height - box.bottomLeft->height();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImage(dx, dy, *box.bottomLeft);
+
+ dx += box.bottomLeft->width();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImageStretched(dx, dy, *box.bottom,
+ width - box.bottomRight->width() - box.bottomLeft->width(),
+ box.bottom->height());
+
+ dx = x + width - box.bottomRight->width();
+ if((dx < 0) || (dy < 0))
+ {
+ return;
+ }
+
+ drawImage(dx, dy, *box.bottomRight);
}
-void GUI::Painter::drawBox(int x, int y, Box *box, int width, int height)
+void Painter::drawBar(int x, int y, const Bar& bar, int width, int height)
{
- int dx = x;
- int dy = y;
-
- // Top:
-
- drawImage(dx, dy, box->topLeft);
-
- dx += box->topLeft->width();
- if(dx < 0 || dy < 0) return;
-
- drawImageStretched(dx, dy, box->top,
- width - box->topRight->width() - box->topLeft->width(),
- box->top->height());
-
- dx = x + width - box->topRight->width();
- if(dx < 0 || dy < 0) return;
+ if(width < ((int)bar.left->width() + (int)bar.right->width() + 1))
+ {
+ width = bar.left->width() + bar.right->width() + 1;
+ }
- drawImage(dx, dy, box->topRight);
+ drawImageStretched(x, y, *bar.left, bar.left->width(), height);
- // Center
- dy = y + box->topLeft->height();
- dx = x + box->left->width();
- if(dx < 0 || dy < 0) return;
+ drawImageStretched(x + bar.left->width(), y, *bar.center,
+ width - bar.left->width() - bar.right->width(), height);
- drawImageStretched(dx, dy, box->center,
- width - box->left->width() - box->right->width(),
- height - box->topLeft->height() - box->bottomLeft->height());
-
- // Mid:
- dx = x;
- dy = y + box->topLeft->height();
- if(dx < 0 || dy < 0) return;
-
- drawImageStretched(dx, dy, box->left, box->left->width(),
- height - box->topLeft->height() - box->bottomLeft->height());
-
- dx = x + width - box->right->width();
- dy = y + box->topRight->height();
- if(dx < 0 || dy < 0) return;
-
- drawImageStretched(dx, dy, box->right,
- box->right->width(),
- height - box->topRight->height() - box->bottomRight->height());
-
- // Bottom:
- dx = x;
- dy = y + height - box->bottomLeft->height();
- if(dx < 0 || dy < 0) return;
-
- drawImage(dx, dy, box->bottomLeft);
-
- dx += box->bottomLeft->width();
- if(dx < 0 || dy < 0) return;
-
- drawImageStretched(dx, dy, box->bottom,
- width - box->bottomRight->width() - box->bottomLeft->width(),
- box->bottom->height());
-
- dx = x + width - box->bottomRight->width();
- if(dx < 0 || dy < 0) return;
-
- drawImage(dx, dy, box->bottomRight);
-}
-
-void GUI::Painter::drawBar(int x, int y, Bar *bar, int width, int height)
-{
- if(width < ((int)bar->left->width() + (int)bar->right->width() + 1)) {
- width = bar->left->width() + bar->right->width() + 1;
- }
- drawImageStretched(x, y,
- bar->left,
- bar->left->width(), height);
-
- drawImageStretched(x + bar->left->width(), y,
- bar->center,
- width - bar->left->width() - bar->right->width(), height);
-
- drawImageStretched(x + width - bar->left->width(), y,
- bar->right,
- bar->right->width(), height);
+ drawImageStretched(x + width - bar.left->width(), y, *bar.right,
+ bar.right->width(), height);
}
-void GUI::Painter::flush()
+void Painter::flush()
{
#ifdef X11
- // Send the "DrawLine" request to the server
- //XFlush(gctx->display);
+ // Send the "DrawLine" request to the server
+ //XFlush(gctx->display);
#endif/*X11*/
}
-#ifdef TEST_PAINTER
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_PAINTER*/
+} // GUI::
diff --git a/plugingui/painter.h b/plugingui/painter.h
index 0a93f50..42426bc 100644
--- a/plugingui/painter.h
+++ b/plugingui/painter.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_PAINTER_H__
-#define __DRUMGIZMO_PAINTER_H__
+#pragma once
#include <string>
@@ -39,59 +38,51 @@ namespace GUI {
class Painter {
public:
- Painter(Widget *widget);
- ~Painter();
+ Painter(Widget& widget);
+ ~Painter();
- void flush();
+ void flush();
- void setColour(Colour colour);
+ void setColour(const Colour& colour);
- void drawLine(int x1, int y1, int x2, int y2);
- void drawText(int x, int y, Font &font, std::string text,
- bool nocolour = false);
- void drawRectangle(int x1, int y1, int x2, int y2);
- void drawFilledRectangle(int x1, int y1, int x2, int y2);
- void drawPoint(int x, int y);
- void drawCircle(int x, int y, double r);
- void drawFilledCircle(int x, int y, int r);
- void drawImage(int x, int y, Image *image);
- void drawImageStretched(int x0, int y0, GUI::Image *image,
- int width, int height);
+ void drawLine(int x1, int y1, int x2, int y2);
+ void drawText(int x, int y, const Font& font, const std::string& text,
+ bool nocolour = false);
+ void drawRectangle(int x1, int y1, int x2, int y2);
+ void drawFilledRectangle(int x1, int y1, int x2, int y2);
+ void drawPoint(int x, int y);
+ void drawCircle(int x, int y, double r);
+ void drawFilledCircle(int x, int y, int r);
+ void drawImage(int x, int y, const Image& image);
+ void drawImageStretched(int x, int y, const Image& image,
+ int width, int height);
- typedef struct {
- Image *topLeft;
- Image *top;
- Image *topRight;
- Image *left;
- Image *right;
- Image *bottomLeft;
- Image *bottom;
- Image *bottomRight;
- Image *center;
- } Box;
- void drawBox(int x, int y, Box *box, int width, int height);
+ typedef struct {
+ Image* topLeft;
+ Image* top;
+ Image* topRight;
+ Image* left;
+ Image* right;
+ Image* bottomLeft;
+ Image* bottom;
+ Image* bottomRight;
+ Image* center;
+ } Box;
+ void drawBox(int x, int y, const Box& box, int width, int height);
- typedef struct {
- Image *left;
- Image *right;
- Image *center;
- } Bar;
- void drawBar(int x, int y, Bar *bar, int width, int height);
+ typedef struct {
+ Image* left;
+ Image* right;
+ Image* center;
+ } Bar;
+ void drawBar(int x, int y, const Bar& bar, int width, int height);
- void clear();
+ void clear();
private:
- void plot(int x, int y, double c);
- double ipart(double x);
- double round(double x);
- double fpart(double x);
- double rfpart(double x);
-
- Widget *widget;
- PixelBufferAlpha *pixbuf;
- Colour colour;
-};
-
+ Widget& widget;
+ PixelBufferAlpha* pixbuf;
+ Colour colour;
};
-#endif/*__DRUMGIZMO_PAINTER_H__*/
+} // GUI::
diff --git a/plugingui/pixelbuffer.cc b/plugingui/pixelbuffer.cc
index 2a6bf6f..f2fdf62 100644
--- a/plugingui/pixelbuffer.cc
+++ b/plugingui/pixelbuffer.cc
@@ -11,170 +11,155 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "pixelbuffer.h"
-#include <stdio.h>
+#include <cassert>
-GUI::PixelBuffer::PixelBuffer(size_t width, size_t height)
+namespace GUI {
+
+PixelBuffer::PixelBuffer(size_t width, size_t height)
+ : buf(nullptr)
{
- buf = NULL;
- realloc(width, height);
+ realloc(width, height);
}
-GUI::PixelBuffer::~PixelBuffer()
+PixelBuffer::~PixelBuffer()
{
- if(buf) free(buf);
+ free(buf);
}
-void GUI::PixelBuffer::realloc(size_t width, size_t height)
+void PixelBuffer::realloc(size_t width, size_t height)
{
- if(buf) free(buf);
- buf = (unsigned char *)calloc(width * height, 3);
- this->width = width;
- this->height = height;
+ free(buf);
+ buf = (unsigned char *)calloc(width * height, 3);
+ this->width = width;
+ this->height = height;
}
-#define PX(k) (x + y * width) * 3 + k
-void GUI::PixelBuffer::setPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha)
+#define PX(k) ((x + y * width) * 3 + k)
+void PixelBuffer::setPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha)
{
- if(x >= width || y >= height) return;
- /*
- float a,b;
- getAlpha(alpha, 255, a, b);
-
- buf[PX(0)] = (unsigned char)((float)red * a + (float)buf[PX(0)] * b);
- buf[PX(0)] /= (a + b);
- buf[PX(1)] = (unsigned char)((float)green * a + (float)buf[PX(1)] * b);
- buf[PX(1)] /= (a + b);
- buf[PX(2)] = (unsigned char)((float)blue * a + (float)buf[PX(2)] * b);
- buf[PX(2)] /= (a + b);
- */
- unsigned int a = alpha;
- unsigned int b = 255 - alpha;
-
- buf[PX(0)] = (unsigned char)(((int)red * a + (int)buf[PX(0)] * b) / 255);
- buf[PX(1)] = (unsigned char)(((int)green * a + (int)buf[PX(1)] * b) / 255);
- buf[PX(2)] = (unsigned char)(((int)blue * a + (int)buf[PX(2)] * b) / 255);
+ assert(x < width);
+ assert(y < height);
+
+ unsigned int a = alpha;
+ unsigned int b = 255 - alpha;
+
+ buf[PX(0)] = (unsigned char)(((int)red * a + (int)buf[PX(0)] * b) / 255);
+ buf[PX(1)] = (unsigned char)(((int)green * a + (int)buf[PX(1)] * b) / 255);
+ buf[PX(2)] = (unsigned char)(((int)blue * a + (int)buf[PX(2)] * b) / 255);
}
-static int idx = 0;
-GUI::PixelBufferAlpha::PixelBufferAlpha(size_t width, size_t height)
+PixelBufferAlpha::PixelBufferAlpha(size_t width, size_t height)
+ : buf(nullptr)
+ , x(0)
+ , y(0)
{
- this->idx = ::idx++;
- buf = NULL;
- x = y = 10;
- realloc(width, height);
+ realloc(width, height);
}
-GUI::PixelBufferAlpha::~PixelBufferAlpha()
+PixelBufferAlpha::~PixelBufferAlpha()
{
- if(buf) free(buf);
+ free(buf);
}
-void GUI::PixelBufferAlpha::realloc(size_t width, size_t height)
+void PixelBufferAlpha::realloc(size_t width, size_t height)
{
- if(buf) free(buf);
- buf = (unsigned char *)calloc(width * height, 4);
- this->width = width;
- this->height = height;
+ free(buf);
+ buf = (unsigned char *)calloc(width * height, 4);
+ this->width = width;
+ this->height = height;
}
#undef PX
-#define PX(k) (x + y * width) * 4 + k
-void GUI::PixelBufferAlpha::setPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha)
+#define PX(k) ((x + y * width) * 4 + k)
+void PixelBufferAlpha::setPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha)
{
- if(x >= width || y >= height) return;
+ assert(x < width);
+ assert(y < height);
- buf[PX(0)] = red;
- buf[PX(1)] = green;
- buf[PX(2)] = blue;
- buf[PX(3)] = alpha;
+ buf[PX(0)] = red;
+ buf[PX(1)] = green;
+ buf[PX(2)] = blue;
+ buf[PX(3)] = alpha;
}
// http://en.wikipedia.org/wiki/Alpha_compositing
-static void getAlpha(unsigned char _a, unsigned char _b, float &a, float &b)
+static inline void getAlpha(unsigned char _a, unsigned char _b,
+ float &a, float &b)
{
- a = _a / 255.0;
- b = _b / 255.0;
- b *= (1-a);
+ a = _a / 255.0;
+ b = _b / 255.0;
+ b *= (1 - a);
}
-void GUI::PixelBufferAlpha::addPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha)
+void PixelBufferAlpha::addPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha)
{
- if(x >= width || y >= height) return;
+ assert(x < width);
+ assert(y < height);
- if(alpha == 0) return;
+ if(alpha == 0)
+ {
+ return;
+ }
- float a,b;
- getAlpha(alpha, buf[PX(3)], a, b);
+ float a, b;
+ getAlpha(alpha, buf[PX(3)], a, b);
- buf[PX(0)] = (unsigned char)((float)red * a + (float)buf[PX(0)] * b);
- buf[PX(0)] /= (a + b);
- buf[PX(1)] = (unsigned char)((float)green * a + (float)buf[PX(1)] * b);
- buf[PX(1)] /= (a + b);
- buf[PX(2)] = (unsigned char)((float)blue * a + (float)buf[PX(2)] * b);
- buf[PX(2)] /= (a + b);
+ buf[PX(0)] = (unsigned char)((float)red * a + (float)buf[PX(0)] * b);
+ buf[PX(0)] /= (a + b);
+ buf[PX(1)] = (unsigned char)((float)green * a + (float)buf[PX(1)] * b);
+ buf[PX(1)] /= (a + b);
+ buf[PX(2)] = (unsigned char)((float)blue * a + (float)buf[PX(2)] * b);
+ buf[PX(2)] /= (a + b);
- buf[PX(3)] = (a + b) * 255;
+ buf[PX(3)] = (a + b) * 255;
}
-void GUI::PixelBufferAlpha::addPixel(size_t x, size_t y, GUI::Colour c)
+void PixelBufferAlpha::addPixel(size_t x, size_t y, Colour c)
{
- addPixel(x, y, c.red * 255, c.green * 255, c.blue * 255, c.alpha * 255);
+ addPixel(x, y, c.red * 255, c.green * 255, c.blue * 255, c.alpha * 255);
}
-void GUI::PixelBufferAlpha::pixel(size_t x, size_t y,
- unsigned char *red,
- unsigned char *green,
- unsigned char *blue,
- unsigned char *alpha)
+void PixelBufferAlpha::pixel(size_t x, size_t y,
+ unsigned char* red,
+ unsigned char* green,
+ unsigned char* blue,
+ unsigned char* alpha)
{
- if(x >= width || y >= height) return;
- *red = buf[PX(0)];
- *green = buf[PX(1)];
- *blue = buf[PX(2)];
- *alpha = buf[PX(3)];
-}
-
-#ifdef TEST_PIXELBUFFER
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
+ assert(x < width);
+ assert(y < height);
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
+ *red = buf[PX(0)];
+ *green = buf[PX(1)];
+ *blue = buf[PX(2)];
+ *alpha = buf[PX(3)];
+}
-#endif/*TEST_PIXELBUFFER*/
+} // GUI::
diff --git a/plugingui/pixelbuffer.h b/plugingui/pixelbuffer.h
index 2785eb1..f07f9a8 100644
--- a/plugingui/pixelbuffer.h
+++ b/plugingui/pixelbuffer.h
@@ -11,81 +11,77 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_PIXELBUFFER_H__
-#define __DRUMGIZMO_PIXELBUFFER_H__
-
-#include <stdlib.h>
+#pragma once
#include "colour.h"
+#include <stdlib.h>
+
namespace GUI {
class PixelBuffer {
public:
- PixelBuffer(size_t width, size_t height);
- ~PixelBuffer();
+ PixelBuffer(size_t width, size_t height);
+ ~PixelBuffer();
- void realloc(size_t width, size_t height);
+ void realloc(size_t width, size_t height);
- void setPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha);
+ void setPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha);
- unsigned char *buf;
- size_t width;
- size_t height;
+ unsigned char* buf;
+ size_t width;
+ size_t height;
};
class PixelBufferAlpha {
public:
- PixelBufferAlpha(size_t width, size_t height);
- ~PixelBufferAlpha();
-
- int idx;
- size_t x, y;
-
- void realloc(size_t width, size_t height);
-
- void setPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha);
-
- void addPixel(size_t x, size_t y,
- unsigned char red,
- unsigned char green,
- unsigned char blue,
- unsigned char alpha);
-
- void addPixel(size_t x, size_t y, Colour c);
-
- void pixel(size_t x, size_t y,
- unsigned char *red,
- unsigned char *green,
- unsigned char *blue,
- unsigned char *alpha);
-
- unsigned char *buf;
- size_t width;
- size_t height;
-};
-
+ PixelBufferAlpha(size_t width, size_t height);
+ ~PixelBufferAlpha();
+
+ void realloc(size_t width, size_t height);
+
+ void setPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha);
+
+ void addPixel(size_t x, size_t y,
+ unsigned char red,
+ unsigned char green,
+ unsigned char blue,
+ unsigned char alpha);
+
+ void addPixel(size_t x, size_t y, Colour c);
+
+ void pixel(size_t x, size_t y,
+ unsigned char* red,
+ unsigned char* green,
+ unsigned char* blue,
+ unsigned char* alpha);
+
+ unsigned char* buf;
+ size_t width;
+ size_t height;
+ size_t x;
+ size_t y;
};
-#endif/*__DRUMGIZMO_PIXELBUFFER_H__*/
+} // GUI::
diff --git a/plugingui/pluginconfig.cc b/plugingui/pluginconfig.cc
index d57d9df..85e101d 100644
--- a/plugingui/pluginconfig.cc
+++ b/plugingui/pluginconfig.cc
@@ -1,6 +1,6 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
- * config.cc
+ * pluginconfig.cc
*
* Tue Jun 3 13:54:05 CEST 2014
* Copyright 2014 Jonas Suhr Christensen
@@ -11,155 +11,58 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "pluginconfig.h"
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "directory.h"
-
-#ifdef WIN32
-#include <direct.h>
-#include <windows.h>
-#include <Shlobj.h>
-#include <Shlwapi.h>
-#else
-#endif
-
#include <hugin.hpp>
-
+
#define CONFIGFILENAME "plugingui.conf"
-#ifdef WIN32
- #define SEP "\\"
- #define CONFIGDIRNAME ".drumgizmo"
-#else
- #define SEP "/"
- #define CONFIGDIRNAME ".drumgizmo"
-#endif
+namespace GUI {
Config::Config()
+ : ConfigFile(CONFIGFILENAME)
{
-
}
Config::~Config()
{
-
}
-static std::string configPath() {
- #ifdef WIN32
- std::string configpath;
- TCHAR szPath[256];
- if(SUCCEEDED(SHGetFolderPath(NULL,
- CSIDL_APPDATA | CSIDL_FLAG_CREATE,
- NULL,
- 0,
- szPath))); {
- configpath = szPath;
- }
-#else
- std::string configpath = strdup(getenv("HOME"));
-#endif
- configpath += SEP;
- configpath += CONFIGDIRNAME;
-
- return configpath;
-}
-
-static bool createConfigPath() {
- std::string configpath = configPath();
-
- if(!Directory::exists(configpath)) {
- DEBUG(pluginconfig, "No configuration exists, creating directory '%s'\n", configpath.c_str());
-#ifdef WIN32
- if( (mkdir(configpath.c_str())) < 0) {
-#else
- if( (mkdir(configpath.c_str(), 0755)) < 0) {
-#endif
- DEBUG(pluginconfig, "Could not create config directory\n");
- }
- return false;
- }
-
- return true;
-}
-
-static FILE* openConfigFile(std::string mode) {
-
- std::string configpath = configPath();
+bool Config::load()
+{
+ lastkit.clear();
+ lastmidimap.clear();
- FILE *fp;
- std::string configfile = configpath;
- configfile += SEP;
- configfile += CONFIGFILENAME;
+ if(!ConfigFile::load())
+ {
+ return false;
+ }
- DEBUG(pluginconfig, "Opening config file '%s'\n", configfile.c_str());
- if(! (fp = fopen(configfile.c_str(), mode.c_str())) ) {
- return NULL;
- }
+ lastkit = getValue("lastkit");
+ lastmidimap = getValue("lastmidimap");
- return fp;
+ return true;
}
-void Config::load()
+bool Config::save()
{
- DEBUG(pluginconfig, "Loading config file...\n");
- FILE *fp = openConfigFile("r");
- if(!fp) return;
+ setValue("lastkit", lastkit);
+ setValue("lastmidimap", lastmidimap);
- lastkit.clear();
- lastmidimap.clear();
-
- char buf[4096];
- while( fgets(buf, 4096, fp) ) {
- if(!strncmp(buf, "lastkit:", 8)) {
- DEBUG(pluginconfig, "Loading last kit path\n");
- // Dont copy newline
- if(strlen(buf) > 8 + 1) {
- lastkit.append(buf+8, strlen(buf+8) - 1);
- DEBUG(pluginconfig, "\t path is %s\n", lastkit.c_str());
- }
- }
- if(!strncmp(buf, "lastmidimap:", 12)) {
- DEBUG(pluginconfig, "Loading lastmidimap path\n");
- // Dont copy newline
- if(strlen(buf) > 12+1) lastmidimap.append(buf+12, strlen(buf+12) - 1);
- DEBUG(pluginconfig, "\t path is %s\n", lastmidimap.c_str());
- }
- }
+ return ConfigFile::save();
}
-void Config::save()
-{
- DEBUG(pluginconfig, "Saving configuration...\n");
-
- createConfigPath();
-
- FILE *fp = openConfigFile("w");
- if(!fp) return;
-
- std::string buf;
- buf.append("lastkit:" + lastkit + '\n');
- buf.append("lastmidimap:" + lastmidimap + '\n');
-
- fputs(buf.c_str(), fp);
-
- fclose(fp);
-}
+} // GUI::
diff --git a/plugingui/pluginconfig.h b/plugingui/pluginconfig.h
index d0e9bcd..82344cc 100644
--- a/plugingui/pluginconfig.h
+++ b/plugingui/pluginconfig.h
@@ -1,6 +1,6 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
- * config.h
+ * pluginconfig.h
*
* Tue Jun 3 13:51:29 CEST 2014
* Copyright 2014 Jonas Suhr Christensen
@@ -11,38 +11,35 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_CONFIG_H__
-#define __DRUMGIZMO_CONFIG_H__
+#pragma once
-#include <string>
-#include <list>
+#include <configfile.h>
-#define DIRECTORY_HIDDEN 1
+namespace GUI {
-class Config {
+class Config : public ConfigFile {
+public:
+ Config();
+ ~Config();
- public:
- Config();
- ~Config();
+ bool load();
+ bool save();
- void load();
- void save();
-
- std::string lastkit;
- std::string lastmidimap;
+ std::string lastkit;
+ std::string lastmidimap;
};
-#endif/*__DRUMGIZMO_CONFIG_H__*/
+} // GUI::
diff --git a/plugingui/plugingui.cc b/plugingui/plugingui.cc
index 5408334..e34c471 100644
--- a/plugingui/plugingui.cc
+++ b/plugingui/plugingui.cc
@@ -11,549 +11,205 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "plugingui.h"
#include <hugin.hpp>
-#include <stdio.h>
-
-#include "knob.h"
-#include "verticalline.h"
-#include "../version.h"
#include "pluginconfig.h"
#include "messagehandler.h"
-static void checkClick(void *ptr)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- ChangeSettingMessage *msg =
- new ChangeSettingMessage(ChangeSettingMessage::enable_velocity_modifier,
- gui->check->checked());
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
-}
-
-static void knobChange(void *ptr)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- ChangeSettingMessage *msg =
- new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_weight,
- gui->knob->value());
-
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
-
-#ifdef STANDALONE
- int i = gui->knob->value() * 4;
- switch(i) {
- case 0: gui->progress->setState(GUI::ProgressBar::off); break;
- case 1: gui->progress->setState(GUI::ProgressBar::blue); break;
- case 2: gui->progress->setState(GUI::ProgressBar::green); break;
- case 3: gui->progress->setState(GUI::ProgressBar::red); break;
- default: break;
- }
-#endif
-}
-
-static void knobChange2(void *ptr)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- ChangeSettingMessage *msg =
- new ChangeSettingMessage(ChangeSettingMessage::velocity_modifier_falloff,
- gui->knob2->value());
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
-
-#ifdef STANDALONE
- gui->progress->setProgress(gui->knob2->value());
-#endif
-}
-
-//static void quit(void *ptr) {
-// PluginGUI *gui = (PluginGUI*)ptr;
-//
-// gui->stopThread();
-//}
-
-GUI::FileBrowser *fb;
-static void selectKitFile(void *ptr, std::string filename)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- gui->lineedit->setText(filename);
-
- fb->hide();
-
- std::string drumkit = gui->lineedit->text();
-
- gui->config->lastkit = drumkit;
- gui->config->save();
-
- gui->progress->setProgress(0);
- gui->progress->setState(GUI::ProgressBar::blue);
-
- LoadDrumKitMessage *msg = new LoadDrumKitMessage();
- msg->drumkitfile = drumkit;
-
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
-}
-
-static void kitBrowseClick(void *ptr)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- std::string path = gui->lineedit->text();
- if(path == "") path = gui->config->lastkit;
- if(path == "") path = gui->lineedit2->text();
-
- fb->setPath(path);
- fb->registerFileSelectHandler(selectKitFile, gui);
- fb->show();
-}
-
-static void selectMapFile(void *ptr, std::string filename)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- gui->lineedit2->setText(filename);
- fb->hide();
+namespace GUI {
- std::string midimap = gui->lineedit2->text();
-
- gui->config->lastmidimap = midimap;
- gui->config->save();
-
- LoadMidimapMessage *msg = new LoadMidimapMessage();
- msg->midimapfile = midimap;
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
-
- /*
- if(gui->changeMidimapHandler)
- gui->changeMidimapHandler(gui->changeMidimapPtr, midimap.c_str());
- gui->progress2->setState(GUI::ProgressBar::green);
- */
-}
-
-static void midimapBrowseClick(void *ptr)
+PluginGUI::PluginGUI(void* native_window)
+ : MessageReceiver(MSGRCV_UI)
+ , native_window(native_window)
{
- PluginGUI *gui = (PluginGUI*)ptr;
-
- std::string path = gui->lineedit2->text();
- if(path == "") path = gui->config->lastmidimap;
- if(path == "") path = gui->lineedit->text();
-
- fb->setPath(path);
- fb->registerFileSelectHandler(selectMapFile, gui);
- fb->show();
-}
-
-/*
-void closeClick(void *ptr)
-{
- PluginGUI *gui = (PluginGUI*)ptr;
- if(gui->windowClosedHandler) gui->windowClosedHandler(gui->windowClosedPtr);
-}
-*/
-
-PluginGUI::PluginGUI()
- : MessageReceiver(MSGRCV_UI), sem("plugingui")
-{
- initialised = false;
-
- windowClosedHandler = NULL;
- changeMidimapHandler = NULL;
-
- window = NULL;
-
- running = true;
- closing = false;
-
-#ifdef USE_THREAD
- run();
-#else
- init();
-#endif/*USE_THREAD*/
-
- sem.wait();
+ init();
}
PluginGUI::~PluginGUI()
{
- stopThread();
}
-void PluginGUI::stopThread()
-{
- if(running) {
- running = false;
- wait_stop();
- }
-}
-
-
void PluginGUI::handleMessage(Message *msg)
{
- GUI::Painter p(window);// Make sure we only redraw buffer one time.
-
- switch(msg->type()) {
- case Message::LoadStatus:
- {
- LoadStatusMessage *ls = (LoadStatusMessage*)msg;
- progress->setProgress((float)ls->numer_of_files_loaded /
- (float)ls->number_of_files);
- if(ls->numer_of_files_loaded == ls->number_of_files) {
- progress->setState(GUI::ProgressBar::green);
- }
- }
- break;
- case Message::LoadStatusMidimap:
- {
- LoadStatusMessageMidimap *ls = (LoadStatusMessageMidimap*)msg;
- progress2->setProgress(1);
- if(ls->success) {
- progress2->setState(GUI::ProgressBar::green);
- } else {
- progress2->setState(GUI::ProgressBar::red);
- }
- }
- break;
- case Message::EngineSettingsMessage:
- {
- EngineSettingsMessage *settings = (EngineSettingsMessage *)msg;
- lineedit->setText(settings->drumkitfile);
- if(settings->drumkit_loaded) {
- progress->setProgress(1);
- progress->setState(GUI::ProgressBar::green);
- } else {
- progress->setProgress(0);
- progress->setState(GUI::ProgressBar::blue);
- }
- lineedit2->setText(settings->midimapfile);
- if(settings->midimap_loaded) {
- progress2->setProgress(1);
- progress2->setState(GUI::ProgressBar::green);
- } else {
- progress2->setProgress(0);
- progress2->setState(GUI::ProgressBar::blue);
- }
- check->setChecked(settings->enable_velocity_modifier);
- knob->setValue(settings->velocity_modifier_weight);
- knob2->setValue(settings->velocity_modifier_falloff);
-
- }
- default:
- break;
- }
+ Painter p(*window);// Make sure we only redraw buffer once (set refcount to 1)
+
+ switch(msg->type()) {
+ case Message::LoadStatus:
+ {
+ LoadStatusMessage *ls = (LoadStatusMessage*)msg;
+ window->drumkitFileProgress->setProgress((float)ls->numer_of_files_loaded /
+ (float)ls->number_of_files);
+ if(ls->numer_of_files_loaded == ls->number_of_files)
+ {
+ window->drumkitFileProgress->setState(ProgressBarState::Green);
+ }
+ }
+ break;
+ case Message::LoadStatusMidimap:
+ {
+ LoadStatusMessageMidimap *ls = (LoadStatusMessageMidimap*)msg;
+ window->midimapFileProgress->setProgress(1);
+ if(ls->success)
+ {
+ window->midimapFileProgress->setState(ProgressBarState::Green);
+ }
+ else
+ {
+ window->midimapFileProgress->setState(ProgressBarState::Red);
+ }
+ }
+ break;
+ case Message::EngineSettingsMessage:
+ {
+ EngineSettingsMessage *settings = (EngineSettingsMessage *)msg;
+ window->lineedit->setText(settings->drumkitfile);
+ if(settings->drumkit_loaded)
+ {
+ window->drumkitFileProgress->setProgress(1);
+ window->drumkitFileProgress->setState(ProgressBarState::Green);
+ }
+ else
+ {
+ window->drumkitFileProgress->setProgress(0);
+ window->drumkitFileProgress->setState(ProgressBarState::Blue);
+ }
+ window->lineedit2->setText(settings->midimapfile);
+ if(settings->midimap_loaded)
+ {
+ window->midimapFileProgress->setProgress(1);
+ window->midimapFileProgress->setState(ProgressBarState::Green);
+ }
+ else
+ {
+ window->midimapFileProgress->setProgress(0);
+ window->midimapFileProgress->setState(ProgressBarState::Blue);
+ }
+ window->velocityCheck->setChecked(settings->enable_velocity_modifier);
+ window->attackKnob->setValue(settings->velocity_modifier_weight);
+ window->falloffKnob->setValue(settings->velocity_modifier_falloff);
+ }
+ default:
+ break;
+ }
+}
+
+bool PluginGUI::processEvents()
+{
+ if(!initialised)
+ {
+ return running;
+ }
+
+ window->eventHandler()->processEvents();
+ handleMessages();
+
+ if(closing)
+ {
+ closeNotifier();
+ closing = false;
+ return false;
+ }
+
+ return running;
}
-void PluginGUI::thread_main()
+void PluginGUI::init()
{
- init();
+ DEBUG(gui, "init");
- { // Request all engine settings
- EngineSettingsMessage *msg = new EngineSettingsMessage();
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
- }
+ config = new Config();
+ config->load();
- while(running) {
-#ifdef WIN32
- SleepEx(50, FALSE);
-#else
- usleep(50000);
-#endif/*WIN32*/
+ window = new DGWindow(native_window, msghandler, *config);
- // DEBUG(gui, "loop");
+ auto eventHandler = window->eventHandler();
+ CONNECT(eventHandler, closeNotifier, this, &PluginGUI::closeEventHandler);
- window->eventHandler()->processEvents();
- handleMessages();
- }
+ window->show();
- deinit();
+ { // Request all engine settings
+ EngineSettingsMessage *msg = new EngineSettingsMessage();
+ msghandler.sendMessage(MSGRCV_ENGINE, msg);
+ }
+
+ initialised = true;
}
void PluginGUI::deinit()
{
- if(config) {
- config->save();
- delete config;
- }
- if(window) delete window;
-}
+ if(config)
+ {
+ config->save();
+ delete config;
+ }
-void closeEventHandler(void *ptr)
-{
- volatile bool *closing = (volatile bool*)ptr;
- *closing = true;
-}
-
-void PluginGUI::init()
-{
- DEBUG(gui, "init");
-
- config = new Config();
- config->load();
-
- window = new GUI::Window();
- window->eventHandler()->registerCloseHandler(closeEventHandler,
- (void*)&closing);
-
- window->setFixedSize(370, 330);
- window->setCaption("DrumGizmo v"VERSION);
-
- GUI::Label *lbl_title = new GUI::Label(window);
- lbl_title->setText("DrumGizmo");
- lbl_title->move(127, 7);
- lbl_title->resize(200, 20);
-
- GUI::VerticalLine *l1 = new GUI::VerticalLine(window);
- l1->move(20, 30);
- l1->resize(window->width() - 40, 2);
-
-#define OFFSET1 17
-#define OFFSET2 38
-#define OFFSET3 20
-
-#define XOFFSET 20
- // Drumkit file
- {
- int y = 37;
- GUI::Label *lbl = new GUI::Label(window);
- lbl->setText("Drumkit file:");
- lbl->move(XOFFSET - 4, y);
- lbl->resize(100, 20);
-
- y += OFFSET1;
- lineedit = new GUI::LineEdit(window);
- lineedit->move(XOFFSET, y);
- lineedit->resize(243, 29);
- lineedit->setReadOnly(true);
-
- GUI::Button *btn_brw = new GUI::Button(window);
- btn_brw->setText("Browse...");
- btn_brw->move(266, y - 6 + 4);
- btn_brw->resize(85, 35 + 6 - 4);
- btn_brw->registerClickHandler(kitBrowseClick, this);
-
- y += OFFSET2;
- progress = new GUI::ProgressBar(window);
- progress->move(XOFFSET, y);
- progress->resize(window->width() - 2*XOFFSET, 11);
-
- y += OFFSET3;
- GUI::VerticalLine *l = new GUI::VerticalLine(window);
- l->move(XOFFSET, y);
- l->resize(window->width() - 2*XOFFSET, 2);
- }
-
- // Midimap file
- {
- int y = 120;
- lbl2 = new GUI::Label(window);
- lbl2->setText("Midimap file:");
- lbl2->move(XOFFSET - 4, y);
- lbl2->resize(100, 20);
-
- y += OFFSET1;
- lineedit2 = new GUI::LineEdit(window);
- lineedit2->move(XOFFSET, y);
- lineedit2->resize(243, 29);
- lineedit2->setReadOnly(true);
-
- GUI::Button *btn_brw = new GUI::Button(window);
- btn_brw->setText("Browse...");
- btn_brw->move(266, y - 6 + 4);
- btn_brw->resize(85, 35 + 6 - 4);
- btn_brw->registerClickHandler(midimapBrowseClick, this);
-
- y += OFFSET2;
- progress2 = new GUI::ProgressBar(window);
- progress2->move(XOFFSET, y);
- progress2->resize(window->width() - 2*XOFFSET, 11);
-
- y += OFFSET3;
- GUI::VerticalLine *l = new GUI::VerticalLine(window);
- l->move(XOFFSET, y);
- l->resize(window->width() - 2*XOFFSET, 2);
- }
-
- {
- int y = 203;
-#define OFFSET4 21
-
- // Enable Velocity
- GUI::Label *lbl_velocity = new GUI::Label(window);
- lbl_velocity->resize(78 ,20);
- lbl_velocity->move(16, y);
- lbl_velocity->setText("Humanizer");
-
- check = new GUI::CheckBox(window);
- //check->setText("Enable Velocity Modifier");
- check->move(26, y + OFFSET4);
- check->resize(59,38);
- check->registerClickHandler(checkClick, this);
-
- // Velocity Weight Modifier:
- {
- GUI::Label *lbl_weight = new GUI::Label(window);
- lbl_weight->setText("Attack");
- lbl_weight->move(107, y);
- lbl_weight->resize(100, 20);
-
- knob = new GUI::Knob(window);
- knob->move(109, y + OFFSET4 - 4);
- knob->resize(57, 57);
- knob->registerClickHandler(knobChange, this);
- }
-
- // Velocity Falloff Modifier:
- {
- GUI::Label *lbl_falloff = new GUI::Label(window);
- lbl_falloff->setText("Release");
- lbl_falloff->move(202 - 17 - 7, y);
- lbl_falloff->resize(100, 20);
-
- knob2 = new GUI::Knob(window);
- knob2->move(202 - 13 - 5, y + OFFSET4 - 4);
- knob2->resize(57, 57);
- knob2->registerClickHandler(knobChange2, this);
- }
- }
-
- GUI::VerticalLine *l2 = new GUI::VerticalLine(window);
- l2->move(20, 310 - 15 - 9);
- l2->resize(window->width() - 40, 2);
-
- GUI::Label *lbl_version = new GUI::Label(window);
- lbl_version->setText(".::. v"VERSION" .::. http://www.drumgizmo.org .::. GPLv3 .::.");
- lbl_version->move(16, 300);
- lbl_version->resize(window->width(), 20);
- /*
- {
- GUI::ComboBox *cmb = new GUI::ComboBox(window);
- cmb->addItem("Foo", "Bar");
- cmb->addItem("Hello", "World");
- cmb->move(10,10);
- cmb->resize(70, 30);
- }
- */
- // Create filebrowser
- filebrowser = new GUI::FileBrowser(window);
- filebrowser->move(0, 0);
- filebrowser->resize(window->width() - 1, window->height() - 1);
- filebrowser->hide();
- fb = filebrowser;
-
- // Enable quit button
-// GUI::Button *btn_quit = new GUI::Button(window);
-// btn_quit->setText("Quit");
-// btn_quit->move(50,280);
-// btn_quit->resize(80,80);
-// btn_quit->registerClickHandler(quit, this);
-
- window->show();
-
- sem.post();
-
- initialised = true;
+ if(window)
+ {
+ delete window;
+ }
}
void PluginGUI::show()
{
- while(!initialised) usleep(10000);
+ while(!initialised)
+ {
+ usleep(10000);
+ }
- if(!window) init();
+ if(!window)
+ {
+ init();
+ }
- window->show();
+ if(window)
+ {
+ window->show();
+ }
}
void PluginGUI::hide()
{
- while(!initialised) usleep(10000);
-
- if(window) window->hide();
-}
-
-void PluginGUI::processEvents()
-{
- if(!initialised) return;
-
- if(closing) {
- if(windowClosedHandler) windowClosedHandler(windowClosedPtr);
- closing = false;
- }
+ while(!initialised)
+ {
+ usleep(10000);
+ }
-#ifndef USE_THREAD
- window->eventHandler()->processEvents(window);
-#endif/*USE_THREAD*/
+ if(window)
+ {
+ window->hide();
+ }
}
-void PluginGUI::setWindowClosedCallback(void (*handler)(void *), void *ptr)
+void PluginGUI::setWindowClosedCallback(void (*handler)(void *), void* ptr)
{
- windowClosedHandler = handler;
- windowClosedPtr = ptr;
+ windowClosedHandler = handler;
+ windowClosedPtr = ptr;
}
-#ifdef STANDALONE
-
-class Engine : public MessageHandler {
-public:
- void handleMessage(Message *msg) {}
-};
-
-
-void stop(void *ptr)
+void PluginGUI::closeEventHandler()
{
- DEBUG(stop, "Stopping...\n");
- bool *running = (bool*)ptr;
- *running = false;
-}
-
-int main()
-{
-/*
- hug_status_t status = hug_init(HUG_FLAG_OUTPUT_TO_SYSLOG,
- HUG_OPTION_SYSLOG_HOST, "192.168.0.10",
- HUG_OPTION_SYSLOG_PORT, 514,
- HUG_OPTION_END);
-
- if(status != HUG_STATUS_OK) {
- printf("Error: %d\n", status);
- return 1;
- }
-*/
- INFO(example, "We are up and running");
-
- bool running = true;
-
- PluginGUI gui;
- gui.setWindowClosedCallback(stop, &running);
-
- // gui.show();
-
- while(running) {
- // gui.processEvents();
-#ifdef WIN32
- SleepEx(1000, FALSE);
-#else
- // usleep(10000);
- sleep(1);
-#endif
- }
-
- return 0;
+ closing = true;
+ closeNotifier();
+ // Call old-style notifier if one is registered.
+ if(windowClosedHandler)
+ {
+ windowClosedHandler(windowClosedPtr);
+ }
}
-#endif/*STANDALONE*/
+} // GUI::
diff --git a/plugingui/plugingui.h b/plugingui/plugingui.h
index 39643e1..f441696 100644
--- a/plugingui/plugingui.h
+++ b/plugingui/plugingui.h
@@ -11,90 +11,80 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_PLUGINGUI_H__
-#define __DRUMGIZMO_PLUGINGUI_H__
+#pragma once
-#include "window.h"
+#include "dgwindow.h"
#include "eventhandler.h"
-#include "label.h"
-#include "lineedit.h"
-#include "checkbox.h"
-#include "button.h"
-#include "knob.h"
-#include "progressbar.h"
#include "pluginconfig.h"
-#include "filebrowser.h"
#include "thread.h"
#include "semaphore.h"
#include "messagereceiver.h"
+#include "notifier.h"
-class PluginGUI : public Thread, public MessageReceiver {
+namespace GUI {
+
+class PluginGUI
+ : public MessageReceiver
+ , public Listener
+{
public:
- PluginGUI();
- virtual ~PluginGUI();
+ PluginGUI(void* native_window = nullptr);
+ virtual ~PluginGUI();
- void thread_main();
- void stopThread();
+ //! Process all events and messages in queue
+ //! \return true if not closing, returns false if closing.
+ bool processEvents();
- void init();
- void deinit();
+ void init();
+ void deinit();
- void show();
- void hide();
- void processEvents();
- void setWindowClosedCallback(void (*handler)(void *), void *ptr);
+ void show();
+ void hide();
- void handleMessage(Message *msg);
- //private:
- GUI::Window *window;
- GUI::EventHandler *eventhandler;
+ void handleMessage(Message* msg);
- GUI::FileBrowser *filebrowser;
+ DGWindow* window{nullptr};
+ EventHandler* eventhandler{nullptr};
- GUI::CheckBox *check;
- GUI::Knob *knob;
- GUI::Knob *knob2;
+ Config* config{nullptr};
- GUI::Label *lbl;
- GUI::LineEdit *lineedit;
- GUI::ProgressBar *progress;
+ Notifier<> closeNotifier;
- GUI::Label *lbl2;
- GUI::LineEdit *lineedit2;
- GUI::ProgressBar *progress2;
+ // Support old interface a little while longer..
+ void setWindowClosedCallback(void (*handler)(void*), void* ptr);
- Config *config;
+private:
+ void closeEventHandler();
- void (*windowClosedHandler)(void *);
- void *windowClosedPtr;
+ void* native_window{nullptr};
- void (*changeMidimapHandler)(void *, const char *);
- void *changeMidimapPtr;
+ volatile bool running{true};
+ volatile bool closing{false};
+ volatile bool initialised{false};
-private:
- volatile bool running;
- volatile bool closing;
- volatile bool initialised;
+ Semaphore sem{"plugingui"};
- Semaphore sem;
+ // For the old-style notifier.
+ void (*windowClosedHandler)(void *){nullptr};
+ void *windowClosedPtr{nullptr};
};
-#endif/*__DRUMGIZMO_PLUGINGUI_H__*/
+} // GUI::
diff --git a/plugingui/progressbar.cc b/plugingui/progressbar.cc
index 3b821bb..932f17c 100644
--- a/plugingui/progressbar.cc
+++ b/plugingui/progressbar.cc
@@ -11,98 +11,116 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "progressbar.h"
-#include "painter.h"
+namespace GUI {
-GUI::ProgressBar::ProgressBar(GUI::Widget *parent) : GUI::Widget(parent)
+ProgressBar::ProgressBar(Widget *parent)
+ : Widget(parent)
{
- bar_bg.left = new Image(":progress_back_l.png");
- bar_bg.right = new Image(":progress_back_r.png");
- bar_bg.center = new Image(":progress_back_c.png");
+ bar_bg.left = new Image(":progress_back_l.png");
+ bar_bg.right = new Image(":progress_back_r.png");
+ bar_bg.center = new Image(":progress_back_c.png");
- bar_blue.left = new Image(":progress_front_blue_l.png");
- bar_blue.right = new Image(":progress_front_blue_r.png");
- bar_blue.center = new Image(":progress_front_blue_c.png");
+ bar_blue.left = new Image(":progress_front_blue_l.png");
+ bar_blue.right = new Image(":progress_front_blue_r.png");
+ bar_blue.center = new Image(":progress_front_blue_c.png");
- bar_red.left = new Image(":progress_front_red_l.png");
- bar_red.right = new Image(":progress_front_red_r.png");
- bar_red.center = new Image(":progress_front_red_c.png");
+ bar_red.left = new Image(":progress_front_red_l.png");
+ bar_red.right = new Image(":progress_front_red_r.png");
+ bar_red.center = new Image(":progress_front_red_c.png");
- bar_green.left = new Image(":progress_front_green_l.png");
- bar_green.right = new Image(":progress_front_green_r.png");
- bar_green.center = new Image(":progress_front_green_c.png");
+ bar_green.left = new Image(":progress_front_green_l.png");
+ bar_green.right = new Image(":progress_front_green_r.png");
+ bar_green.center = new Image(":progress_front_green_c.png");
- state = blue;
- _progress = .5;
+ state = ProgressBarState::Blue;
+ _progress = .5;
}
-void GUI::ProgressBar::setState(GUI::ProgressBar::state_t state)
+ProgressBar::~ProgressBar()
{
- if(this->state != state) {
- this->state = state;
- repaintEvent(NULL);
- }
+ delete bar_bg.left;
+ delete bar_bg.right;
+ delete bar_bg.center;
+
+ delete bar_blue.left;
+ delete bar_blue.right;
+ delete bar_blue.center;
+
+ delete bar_red.left;
+ delete bar_red.right;
+ delete bar_red.center;
+
+ delete bar_green.left;
+ delete bar_green.right;
+ delete bar_green.center;
}
-float GUI::ProgressBar::progress()
+void ProgressBar::setState(ProgressBarState state)
{
- return _progress;
+ if(this->state != state)
+ {
+ this->state = state;
+ repaintEvent(nullptr);
+ }
}
-void GUI::ProgressBar::setProgress(float progress)
+float ProgressBar::progress()
{
- _progress = progress;
- repaintEvent(NULL);
+ return _progress;
}
-void GUI::ProgressBar::repaintEvent(GUI::RepaintEvent *e)
+void ProgressBar::setProgress(float progress)
{
- Painter p(this);
-
- int max = width() * _progress;
-
- p.clear();
-
- int brd = 4;
- p.drawBar(0, 0, &bar_bg, width(), height());
-
- GUI::Painter::Bar *b = NULL;
- switch(state) {
- case red: b = &bar_red; break;
- case green: b = &bar_green; break;
- case blue: b = &bar_blue; break;
- default: break;
- }
- if(b) p.drawBar(brd, 0, b, max - 2*brd, height());
+ _progress = progress;
+ repaintEvent(nullptr);
}
-#ifdef TEST_PROGRESSBAR
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
+void ProgressBar::repaintEvent(RepaintEvent* repaintEvent)
+{
+ Painter p(*this);
+
+ int max = width() * _progress;
+
+ p.clear();
+
+ int brd = 4;
+ p.drawBar(0, 0, bar_bg, width(), height());
+
+ Painter::Bar* bar = nullptr;
+ switch(state) {
+ case ProgressBarState::Red:
+ bar = &bar_red;
+ break;
+ case ProgressBarState::Green:
+ bar = &bar_green;
+ break;
+ case ProgressBarState::Blue:
+ bar = &bar_blue;
+ break;
+ case ProgressBarState::Off:
+ bar = nullptr;
+ break;
+ }
+
+ if(bar)
+ {
+ p.drawBar(brd, 0, *bar, max - 2 * brd, height());
+ }
+}
-#endif/*TEST_PROGRESSBAR*/
+} // GUI::
diff --git a/plugingui/progressbar.h b/plugingui/progressbar.h
index 9d08a9e..d5f6c61 100644
--- a/plugingui/progressbar.h
+++ b/plugingui/progressbar.h
@@ -11,61 +11,60 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_PROGRESSBAR_H__
-#define __DRUMGIZMO_PROGRESSBAR_H__
+#pragma once
#include "widget.h"
-#include <string>
-
#include "guievent.h"
#include "painter.h"
namespace GUI {
+enum class ProgressBarState
+{
+ Red,
+ Green,
+ Blue,
+ Off
+};
+
class ProgressBar : public Widget {
public:
- ProgressBar(Widget *parent);
+ ProgressBar(Widget *parent);
+ ~ProgressBar();
- float progress();
- void setProgress(float progress);
+ float progress();
+ void setProgress(float progress);
- typedef enum {
- red,
- green,
- blue,
- off
- } state_t;
- void setState(state_t state);
+ void setState(ProgressBarState state);
- //protected:
- virtual void repaintEvent(RepaintEvent *e);
+protected:
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
private:
- state_t state;
+ ProgressBarState state;
- Painter::Bar bar_bg;
+ Painter::Bar bar_bg;
- Painter::Bar bar_green;
- Painter::Bar bar_blue;
- Painter::Bar bar_red;
-
- float _progress;
-};
+ Painter::Bar bar_green;
+ Painter::Bar bar_blue;
+ Painter::Bar bar_red;
+ float _progress;
};
-#endif/*__DRUMGIZMO_PROGRESSBAR_H__*/
+} // GUI::
diff --git a/plugingui/rcgen.cc b/plugingui/rcgen.cc
index 5cb0999..9f93472 100644
--- a/plugingui/rcgen.cc
+++ b/plugingui/rcgen.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/plugingui/resource.cc b/plugingui/resource.cc
index 80bd51e..7d1c5b0 100644
--- a/plugingui/resource.cc
+++ b/plugingui/resource.cc
@@ -11,109 +11,134 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "resource.h"
-#include <stdio.h>
#include <hugin.hpp>
+#include <cstdio>
+
+// rcgen generated file containing rc_data declaration.
#include "resource_data.h"
-GUI::Resource::Resource(std::string name)
+namespace GUI {
+
+// Internal resources start with a colon.
+static bool nameIsInternal(const std::string& name)
+{
+ return name.size() && (name[0] == ':');
+}
+
+Resource::Resource(const std::string& name)
{
- is_valid = false;
- is_internal = false;
-
- if(name.length() == 0) return;
- if(name[0] == ':') {
- i_data = NULL;
- i_size = 0;
-
- // Use internal resource:
- const rc_data_t *p = rc_data;
- while(p->name[0] == ':') {
- if(std::string(p->name) == name) {
- i_data = p->data;
- i_size = p->size;
- break;
- }
- p++;
- }
-
- // We did not find the named resource.
- if(i_data == NULL) {
- ERR(rc, "Could not find '%s'\n", name.c_str());
- return;
- }
-
- is_internal = true;
- } else {
- // Read from file:
- FILE *fp = fopen(name.c_str(), "r");
- if(!fp) return;
- char buf[32];
- while(!feof(fp)) {
- size_t sz = fread(buf, 1, sizeof(buf), fp);
- e_data.append(buf, sz);
- }
- fclose(fp);
- is_internal = false;
+ if(nameIsInternal(name))
+ {
+ // Use internal resource:
+
+ // Find internal resource in rc_data.
+ const rc_data_t* p = rc_data;
+ while(p->name) // last entry in rc_data has the name := ""
+ {
+ if(name == p->name)
+ {
+ internalData = p->data;
+ internalSize = p->size;
+ break;
+ }
+ ++p;
+ }
+
+ // We did not find the named resource.
+ if(internalData == nullptr)
+ {
+ ERR(rc, "Could not find '%s'\n", name.c_str());
+ return;
+ }
+
+ isInternal = true;
+ }
+ else
+ {
+ // Read from file:
+ std::FILE *fp = std::fopen(name.c_str(), "rb");
+ if(!fp)
+ {
+ return;
+ }
+
+ // Get the file size
+ std::fseek(fp, 0, SEEK_END);
+ size_t filesize = ftell(fp);
+
+ // Reserve space in the string for the data.
+ externalData.reserve(filesize);
+
+ // Rewind and read...
+ std::rewind(fp);
+
+ char buffer[32];
+ while(!std::feof(fp))
+ {
+ size_t size = std::fread(buffer, 1, sizeof(buffer), fp);
+ externalData.append(buffer, size);
+ }
+
+ std::fclose(fp);
+
+ isInternal = false;
}
- is_valid = true;
+ isValid = true;
}
-const char *GUI::Resource::data()
+const char *Resource::data()
{
- if(is_valid == false) return NULL;
- if(is_internal) {
- return i_data;
- } else {
- return e_data.data();
- }
- return NULL;
+ if(isValid == false)
+ {
+ return nullptr;
+ }
+
+ if(isInternal)
+ {
+ return internalData;
+ }
+ else
+ {
+ return externalData.data();
+ }
}
-size_t GUI::Resource::size()
+size_t Resource::size()
{
- if(is_valid == false) return 0;
- if(is_internal) {
- return i_size;
- } else {
- return e_data.length();
- }
- return 0;
+ if(isValid == false)
+ {
+ return 0;
+ }
+
+ if(isInternal)
+ {
+ return internalSize;
+ }
+ else
+ {
+ return externalData.length();
+ }
}
-bool GUI::Resource::valid()
+bool Resource::valid()
{
- return is_valid;
+ return isValid;
}
-#ifdef TEST_RESOURCE
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_RESOURCE*/
+} // GUI::
diff --git a/plugingui/resource.h b/plugingui/resource.h
index 4b494f7..5f7b3b4 100644
--- a/plugingui/resource.h
+++ b/plugingui/resource.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_RESOURCE_H__
-#define __DRUMGIZMO_RESOURCE_H__
+#pragma once
#include <string>
@@ -33,21 +32,19 @@ namespace GUI {
class Resource {
public:
- Resource(std::string name);
+ Resource(const std::string& name);
- const char *data();
- size_t size();
+ const char* data();
+ size_t size();
- bool valid();
+ bool valid();
-private:
- std::string e_data;
- bool is_valid;
- bool is_internal;
- const char *i_data;
- size_t i_size;
+protected:
+ std::string externalData;
+ bool isValid{false};
+ bool isInternal{false};
+ const char *internalData{nullptr};
+ size_t internalSize{0};
};
-};
-
-#endif/*__DRUMGIZMO_RESOURCE_H__*/
+} // GUI::
diff --git a/plugingui/resource_data.h b/plugingui/resource_data.h
index c81c6cc..337caf6 100644
--- a/plugingui/resource_data.h
+++ b/plugingui/resource_data.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_RESOURCE_DATA_H__
-#define __DRUMGIZMO_RESOURCE_DATA_H__
+#pragma once
typedef struct {
const char *name;
@@ -34,5 +33,3 @@ typedef struct {
} rc_data_t;
extern const rc_data_t rc_data[];
-
-#endif/*__DRUMGIZMO_RESOURCE_DATA_H__*/
diff --git a/plugingui/scrollbar.cc b/plugingui/scrollbar.cc
index 07dc36b..654de29 100644
--- a/plugingui/scrollbar.cc
+++ b/plugingui/scrollbar.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -30,156 +30,180 @@
#include "painter.h"
-GUI::ScrollBar::ScrollBar(GUI::Widget *parent)
- : GUI::Widget(parent), bg_img(":widget_c.png")
+namespace GUI {
+
+ScrollBar::ScrollBar(Widget *parent)
+ : Widget(parent)
+ , bg_img(":widget_c.png")
{
- handler = NULL;
- ptr = NULL;
}
-void GUI::ScrollBar::setRange(int r)
+void ScrollBar::setRange(int r)
{
- DEBUG(scroll, "%d\n", r);
- ran = r;
- setValue(value());
- repaintEvent(NULL);
+ rangeValue = r;
+ setValue(value());
+ repaintEvent(nullptr);
}
-int GUI::ScrollBar::range()
+int ScrollBar::range()
{
- return ran;
+ return rangeValue;
}
-void GUI::ScrollBar::setMaximum(int m)
+void ScrollBar::setMaximum(int m)
{
- DEBUG(scroll, "%d\n", m);
- max = m;
- if(max < ran) ran = max;
- setValue(value());
- repaintEvent(NULL);
+ maxValue = m;
+ if(maxValue < rangeValue)
+ {
+ rangeValue = maxValue;
+ }
+ setValue(value());
+ repaintEvent(nullptr);
}
-int GUI::ScrollBar::maximum()
+int ScrollBar::maximum()
{
- return max;
+ return maxValue;
}
-void GUI::ScrollBar::setValue(int value)
+void ScrollBar::addValue(int delta)
{
- val = value;
- if(val > max - ran) val = max - ran;
- if(val < 0) val = 0;
-
- if(handler) handler(ptr);
-
- repaintEvent(NULL);
+ setValue(value() + delta);
}
-int GUI::ScrollBar::value()
+void ScrollBar::setValue(int value)
{
- return val;
+ if(value > (maxValue - rangeValue))
+ {
+ value = maxValue - rangeValue;
+ }
+
+ if(value < 0)
+ {
+ value = 0;
+ }
+
+ if(currentValue == value)
+ {
+ return;
+ }
+
+ currentValue = value;
+
+ valueChangeNotifier(value);
+
+ repaintEvent(nullptr);
}
-void GUI::ScrollBar::registerValueChangeHandler(void (*handler)(void *),
- void *ptr)
+int ScrollBar::value()
{
- this->handler = handler;
- this->ptr = ptr;
+ return currentValue;
}
-static void drawArrow(GUI::Painter &p, int x, int y, int w, int h)
+//! Draw an up/down arrow at (x,y) with the bounding box size (w,h)
+//! If h is negative the arrow will point down, if positive it will point up.
+static void drawArrow(Painter &p, int x, int y, int w, int h)
{
- if(h < 0) y -= h;
+ if(h < 0)
+ {
+ y -= h;
+ }
- p.drawLine(x, y, x+(w/2), y+h);
- p.drawLine(x+(w/2), y+h, x+w, y);
+ p.drawLine(x, y, x + (w / 2), y + h);
+ p.drawLine(x + (w / 2), y + h, x + w, y);
- y++;
- p.drawLine(x, y, x+(w/2), y+h);
- p.drawLine(x+(w/2), y+h, x+w, y);
+ ++y;
+ p.drawLine(x, y, x + (w / 2), y + h);
+ p.drawLine(x + (w / 2), y + h, x + w, y);
}
-void GUI::ScrollBar::repaintEvent(RepaintEvent *e)
+void ScrollBar::repaintEvent(RepaintEvent* repaintEvent)
{
- GUI::Painter p(this);
+ Painter p(*this);
- p.clear();
+ p.clear();
- p.drawImageStretched(0, 0, &bg_img, width(), height());
+ p.drawImageStretched(0, 0, bg_img, width(), height());
- p.setColour(GUI::Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
- if(!max) return;
+ p.setColour(Colour(183.0/255.0, 219.0/255.0 , 255.0/255.0, 1));
+ if(!maxValue)
+ {
+ return;
+ }
- {
- int h = height() - 2 * width() - 3;
- int offset = width() + 2;
+ {
+ int h = height() - 2 * width() - 3;
+ int offset = width() + 2;
- int y_val1 = (val * h) / max;
- int y_val2 = ((val + ran) * h) / max;
+ int y_val1 = (currentValue * h) / maxValue;
+ int y_val2 = ((currentValue + rangeValue) * h) / maxValue;
- p.drawFilledRectangle(2, y_val1 + offset, width() - 1, y_val2 + offset);
- }
+ p.drawFilledRectangle(2, y_val1 + offset, width() - 1, y_val2 + offset);
+ }
- p.drawLine(0, 0, 0, height());
+ p.drawLine(0, 0, 0, height());
- drawArrow(p, width()/4, width()/4, width()/2, -1 * (width()/3));
- p.drawLine(0, width(), width(), width());
+ drawArrow(p, width()/4, width()/4, width()/2, -1 * (width()/3));
+ p.drawLine(0, width(), width(), width());
- drawArrow(p, width()/4, height() - width() + width()/4, width()/2, width()/3);
- p.drawLine(0, height() - width(), width(), height() - width());
+ drawArrow(p, width()/4, height() - width() + width()/4, width()/2, width()/3);
+ p.drawLine(0, height() - width(), width(), height() - width());
}
-void GUI::ScrollBar::scrollEvent(ScrollEvent *e)
+void ScrollBar::scrollEvent(ScrollEvent* scrollEvent)
{
- setValue(value() + e->delta);
+ setValue(value() + scrollEvent->delta);
}
-void GUI::ScrollBar::mouseMoveEvent(MouseMoveEvent *e)
+void ScrollBar::mouseMoveEvent(MouseMoveEvent* mouseMoveEvent)
{
- if(!dragging) return;
+ if(!dragging)
+ {
+ return;
+ }
- float delta = yoffset - e->y;
+ float delta = yOffset - mouseMoveEvent->y;
- int h = height() - 2 * width() - 3;
- delta /= (float)h / (float)max;
+ int h = height() - 2 * width() - 3;
+ delta /= (float)h / (float)maxValue;
- int newval = value_offset - delta;
- if(newval != value()) setValue(newval);
+ int newval = valueOffset - delta;
+ if(newval != value())
+ {
+ setValue(newval);
+ }
}
-void GUI::ScrollBar::buttonEvent(ButtonEvent *e)
+void ScrollBar::buttonEvent(ButtonEvent* buttonEvent)
{
- if(e->y < (int)width() && e->y > 0) {
- if(e->direction == -1) setValue(value() - 1);
- return;
- }
-
- if(e->y > (int)height() - (int)width() && e->y < (int)height()) {
- if(e->direction == -1) setValue(value() + 1);
- return;
- }
-
- if(e->direction == 1) {
- yoffset = e->y;
- value_offset = value();
- }
-
- dragging = (e->direction == 1);
+ if((buttonEvent->y < (int)width()) && buttonEvent->y > 0)
+ {
+ if(buttonEvent->direction == Direction::down)
+ {
+ addValue(-1);
+ }
+
+ return;
+ }
+
+ if((buttonEvent->y > ((int)height() - (int)width())) &&
+ (buttonEvent->y < (int)height()))
+ {
+ if(buttonEvent->direction == Direction::down)
+ {
+ addValue(1);
+ }
+
+ return;
+ }
+
+ if(buttonEvent->direction == Direction::down)
+ {
+ yOffset = buttonEvent->y;
+ valueOffset = value();
+ }
+
+ dragging = (buttonEvent->direction == Direction::down);
}
-#ifdef TEST_SCROLLBAR
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_SCROLLBAR*/
+} // GUI::
diff --git a/plugingui/scrollbar.h b/plugingui/scrollbar.h
index 52acf9d..c9b78d0 100644
--- a/plugingui/scrollbar.h
+++ b/plugingui/scrollbar.h
@@ -11,65 +11,64 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_SCROLLBAR_H__
-#define __DRUMGIZMO_SCROLLBAR_H__
+#pragma once
+
+#include <limits>
#include "widget.h"
#include "image.h"
+#include "notifier.h"
namespace GUI {
class ScrollBar : public Widget {
+ friend class ListBoxBasic;
public:
- ScrollBar(Widget *parent);
-
- bool catchMouse() { return true; }
+ ScrollBar(Widget *parent);
- void setRange(int range);
- int range();
+ void setRange(int range);
+ int range();
- void setMaximum(int max);
- int maximum();
+ void setMaximum(int max);
+ int maximum();
- void setValue(int value);
- int value();
+ void addValue(int delta);
+ void setValue(int value);
+ int value();
- void registerValueChangeHandler(void (*handler)(void *), void *ptr);
+ Notifier<int> valueChangeNotifier; // (int value)
- void repaintEvent(RepaintEvent *e);
- void scrollEvent(ScrollEvent *e);
- void buttonEvent(ButtonEvent *e);
- void mouseMoveEvent(MouseMoveEvent *e);
+protected:
+ // From Widget:
+ bool catchMouse() override { return true; }
+ void scrollEvent(ScrollEvent* scrollEvent) override;
+ void repaintEvent(RepaintEvent* repaintEvent) override;
+ void buttonEvent(ButtonEvent* buttonEvent) override;
+ void mouseMoveEvent(MouseMoveEvent* mouseMoveEvent) override;
private:
- int max;
- int val;
- int ran;
-
- int yoffset;
- int value_offset;
- bool dragging;
+ int maxValue{100};
+ int currentValue{0};
+ int rangeValue{10};
- Image bg_img;
+ int yOffset{0};
+ int valueOffset{0};
+ bool dragging{false};
- void (*handler)(void *);
- void *ptr;
+ Image bg_img;
};
-};
-
-
-#endif/*__DRUMGIZMO_SCROLLBAR_H__*/
+} // GUI::
diff --git a/plugingui/slider.cc b/plugingui/slider.cc
index 953c8e6..71dd0c5 100644
--- a/plugingui/slider.cc
+++ b/plugingui/slider.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -31,128 +31,132 @@
#include <hugin.hpp>
#include <stdio.h>
-GUI::Slider::Slider(Widget *parent)
- : GUI::Widget(parent)
-{
- state = up;
+namespace GUI {
- val = 0.0;
- maximum = 1.0;
- minimum = 0.0;
+Slider::Slider(Widget *parent)
+ : Widget(parent)
+{
+ state = State::up;
- handler = NULL;
- ptr = NULL;
+ currentValue = 0.0;
+ maximum = 1.0;
+ minimum = 0.0;
}
-void GUI::Slider::setValue(float v)
+void Slider::setValue(float newValue)
{
- val = v;
- if(handler) handler(ptr);
- repaintEvent(NULL);
+ currentValue = newValue;
+ repaintEvent(nullptr);
+ clickNotifier();
}
-float GUI::Slider::value()
+float Slider::value()
{
- return val;
+ return currentValue;
}
-void GUI::Slider::registerClickHandler(void (*handler)(void *), void *ptr)
+void Slider::repaintEvent(RepaintEvent* repaintEvent)
{
- this->handler = handler;
- this->ptr = ptr;
+ Painter p(*this);
+
+ float alpha = 0.8;
+
+ int xpos = (int)((currentValue / maximum) * (float)(width() - 1));
+
+ if(hasKeyboardFocus())
+ {
+ p.setColour(Colour(0.6, alpha));
+ }
+ else
+ {
+ p.setColour(Colour(0.5, alpha));
+ }
+
+ p.drawFilledRectangle(0,0,width(),height());
+
+ //p.setColour(Colour(0.1, alpha));
+ //p.drawRectangle(0,0,width()-1,height() - 1);
+
+ p.setColour(Colour(1, 0, 0, alpha));
+ p.drawLine(xpos, 0, xpos, height() - 1);
+
+ //p.setColour(Colour(0.8, alpha));
+ //switch(state) {
+ //case State::up:
+ // p.drawLine(0, 0, 0, height() - 1);
+ // p.drawLine(0, 0, width() - 1, 0);
+ // break;
+ //case State::down:
+ // p.drawLine(width() - 1, 0, width() - 1, height() - 1);
+ // p.drawLine(width() - 1, height() - 1, 0, height() - 1);
+ // break;
+ //}
+
+ p.setColour(Colour(0.3, alpha));
+ p.drawPoint(0, height() - 1);
+ p.drawPoint(width() - 1, 0);
}
-void GUI::Slider::mouseMoveEvent(MouseMoveEvent *e)
+void Slider::buttonEvent(ButtonEvent* buttonEvent)
{
- if(state == down) {
- val = maximum / (float)width() * (float)e->x;
-
- if(val < 0) val = 0;
- if(val > 1) val = 1;
-
- if(handler) handler(ptr);
- repaintEvent(NULL);
- }
+ if(buttonEvent->direction == Direction::down)
+ {
+ state = State::down;
+ currentValue = maximum / (float)width() * (float)buttonEvent->x;
+
+ if(currentValue < 0)
+ {
+ currentValue = 0;
+ }
+
+ if(currentValue > 1)
+ {
+ currentValue = 1;
+ }
+
+ repaintEvent(nullptr);
+ clickNotifier();
+ }
+
+ if(buttonEvent->direction == Direction::up)
+ {
+ state = State::up;
+ currentValue = maximum / (float)width() * (float)buttonEvent->x;
+
+ if(currentValue < 0)
+ {
+ currentValue = 0;
+ }
+
+ if(currentValue > 1)
+ {
+ currentValue = 1;
+ }
+
+ repaintEvent(nullptr);
+ clickNotifier();
+ }
}
-void GUI::Slider::buttonEvent(ButtonEvent *e)
+void Slider::mouseMoveEvent(MouseMoveEvent* mouseMoveEvent)
{
- if(e->direction == 1) {
- state = down;
- val = maximum / (float)width() * (float)e->x;
-
- if(val < 0) val = 0;
- if(val > 1) val = 1;
-
- if(handler) handler(ptr);
- repaintEvent(NULL);
- }
- if(e->direction == -1) {
- state = up;
- val = maximum / (float)width() * (float)e->x;
-
- if(val < 0) val = 0;
- if(val > 1) val = 1;
-
- repaintEvent(NULL);
- clicked();
- if(handler) handler(ptr);
- }
+ if(state == State::down)
+ {
+ currentValue = maximum / (float)width() * (float)mouseMoveEvent->x;
+
+ if(currentValue < 0)
+ {
+ currentValue = 0;
+ }
+
+ if(currentValue > 1)
+ {
+ currentValue = 1;
+ }
+
+ repaintEvent(nullptr);
+ clickNotifier();
+ }
}
-void GUI::Slider::repaintEvent(GUI::RepaintEvent *e)
-{
- //DEBUG(slider, "Slider::repaintEvent (%f)\n", val);
-
- Painter p(this);
-
- float alpha = 0.8;
-
- int xpos = (int)((val / maximum) * (float)(width() - 1));
-
- if(hasKeyboardFocus()) {
- p.setColour(Colour(0.6, alpha));
- } else {
- p.setColour(Colour(0.5, alpha));
- }
- p.drawFilledRectangle(0,0,width(),height());
- /*
- p.setColour(Colour(0.1, alpha));
- p.drawRectangle(0,0,width()-1,height()-1);
- */
- p.setColour(Colour(1, 0, 0, alpha));
- p.drawLine(xpos, 0, xpos, height()-1);
- /*
- p.setColour(Colour(0.8, alpha));
- switch(state) {
- case up:
- p.drawLine(0,0,0,height()-1);
- p.drawLine(0,0,width()-1,0);
- break;
- case down:
- p.drawLine(width()-1,0, width()-1,height()-1);
- p.drawLine(width()-1,height()-1,0, height()-1);
- break;
- }
- */
- p.setColour(Colour(0.3, alpha));
- p.drawPoint(0,height()-1);
- p.drawPoint(width()-1,0);
-}
-
-#ifdef TEST_SLIDER
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_SLIDER*/
+} // GUI::
diff --git a/plugingui/slider.h b/plugingui/slider.h
index f07ccff..694be59 100644
--- a/plugingui/slider.h
+++ b/plugingui/slider.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_SLIDER_H__
-#define __DRUMGIZMO_SLIDER_H__
+#pragma once
#include "widget.h"
@@ -33,38 +32,32 @@ namespace GUI {
class Slider : public Widget {
public:
- Slider(Widget *parent);
+ Slider(Widget* parent);
- bool catchMouse() { return true; }
+ // From Widget:
+ bool catchMouse() override { return true; }
- void setValue(float value);
- float value();
+ void setValue(float value);
+ float value();
- void registerClickHandler(void (*handler)(void *), void *ptr);
+ Notifier<> clickNotifier;
- //protected:
- virtual void clicked() {}
-
- virtual void repaintEvent(RepaintEvent *e);
- virtual void buttonEvent(ButtonEvent *e);
- virtual void mouseMoveEvent(MouseMoveEvent *e);
+protected:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+ virtual void buttonEvent(ButtonEvent* buttonEvent) override;
+ virtual void mouseMoveEvent(MouseMoveEvent* mouseMoveEvent) override;
private:
- typedef enum {
- up,
- down
- } state_t;
-
- float val;
- float maximum;
- float minimum;
+ enum class State {
+ up,
+ down
+ };
- state_t state;
-
- void (*handler)(void *);
- void *ptr;
-};
+ float currentValue;
+ float maximum;
+ float minimum;
+ State state;
};
-#endif/*__DRUMGIZMO_SLIDER_H__*/
+} // GUI::
diff --git a/plugingui/testmain.cc b/plugingui/testmain.cc
new file mode 100644
index 0000000..8282bc8
--- /dev/null
+++ b/plugingui/testmain.cc
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * testmain.cc
+ *
+ * Sun Nov 22 20:06:42 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "plugingui.h"
+
+#include <hugin.hpp>
+
+// Dummy Engine class.
+class Engine : public MessageHandler {
+public:
+ void handleMessage(Message *msg) {}
+};
+
+class TestMain : public GUI::Listener {
+public:
+ TestMain()
+ {
+ CONNECT(&gui, closeNotifier, this, &TestMain::stop);
+ }
+
+ void stop()
+ {
+ DEBUG(stop, "Stopping...\n");
+ running = false;
+ }
+
+ void run()
+ {
+ while(running)
+ {
+#ifdef WIN32
+ SleepEx(50, FALSE);
+#else
+ usleep(50000);
+#endif
+ gui.processEvents();
+ }
+ }
+
+ bool running = true;
+
+ GUI::PluginGUI gui;
+};
+
+int main()
+{
+ INFO(example, "We are up and running");
+
+ TestMain testMain;
+ testMain.run();
+
+ return 0;
+}
diff --git a/plugingui/textedit.cc b/plugingui/textedit.cc
new file mode 100644
index 0000000..01895a8
--- /dev/null
+++ b/plugingui/textedit.cc
@@ -0,0 +1,214 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * lineedit.cc
+ *
+ * Tue Oct 21 11:25:26 CEST 2014
+ * Copyright 2014 Jonas Suhr Christensen
+ * jsc at umbraculum.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "textedit.h"
+
+#include "window.h"
+
+#include <assert.h>
+#include <list>
+#include <hugin.hpp>
+#include <stdio.h>
+
+#define BORDER 10
+
+namespace GUI {
+
+TextEdit::TextEdit(Widget *parent)
+ : Widget(parent)
+ , scroll(this)
+{
+ setReadOnly(true);
+
+ scroll.move(width() - 5, 1);
+ scroll.resize(20, 100);
+ CONNECT(&scroll, valueChangeNotifier, this, &TextEdit::scrolled);
+
+ box.topLeft = new Image(":widget_tl.png");
+ box.top = new Image(":widget_t.png");
+ box.topRight = new Image(":widget_tr.png");
+ box.left = new Image(":widget_l.png");
+ box.right = new Image(":widget_r.png");
+ box.bottomLeft = new Image(":widget_bl.png");
+ box.bottom = new Image(":widget_b.png");
+ box.bottomRight = new Image(":widget_br.png");
+ box.center = new Image(":widget_c.png");
+}
+
+TextEdit::~TextEdit()
+{
+ delete box.topLeft;
+ delete box.top;
+ delete box.topRight;
+ delete box.left;
+ delete box.right;
+ delete box.bottomLeft;
+ delete box.bottom;
+ delete box.bottomRight;
+ delete box.center;
+}
+
+void TextEdit::resize(int height, int width)
+{
+ Widget::resize(height, width);
+ scroll.resize(scroll.width(), height-10);
+ scroll.move(width-30,7);
+}
+
+void TextEdit::setReadOnly(bool readonly)
+{
+ this->readonly = readonly;
+}
+
+bool TextEdit::readOnly()
+{
+ return readonly;
+}
+
+void TextEdit::setText(const std::string& text)
+{
+ _text = text;
+
+ preprocessText();
+
+ int ran = height() / font.textHeight();
+
+ DEBUG(textedit, "Setting range and max of scrollbar to '%d' and '%d'\n",
+ ran, (int)preprocessedtext.size());
+
+ scroll.setRange(ran);
+ scroll.setMaximum(preprocessedtext.size());
+
+ repaintEvent(nullptr);
+
+ textChangedNotifier();
+}
+
+std::string TextEdit::text()
+{
+ return _text;
+}
+
+void TextEdit::preprocessText()
+{
+ preprocessedtext.clear();
+ std::string text = _text;
+
+ { // Handle tab characters
+ for(size_t i = 0; i < text.length(); ++i)
+ {
+ char ch = text.at(i);
+ if(ch == '\t')
+ {
+ text.erase(i, 1);
+ text.insert(i, 4, ' ');
+ }
+ }
+ }
+
+ std::list<std::string> lines;
+ { // Handle new line characters
+ size_t pos = 0;
+ do
+ {
+ pos = text.find("\n");
+ lines.push_back(text.substr(0, pos));
+ text = text.substr(pos+1);
+ }
+ while(pos != std::string::npos);
+ }
+
+ { // Wrap long lines
+ std::list<std::string>::iterator it;
+ for(it = lines.begin(); it != lines.end(); ++it)
+ {
+ std::string line = *it;
+
+ for(size_t i = 0; i < line.length(); ++i)
+ {
+ size_t linewidth = font.textWidth(line.substr(0, i));
+ if(linewidth >= width() - BORDER - 4 + 3 - 10 - scroll.width()) {
+ preprocessedtext.push_back(line.substr(0, i));
+ line = line.substr(i);
+ i = 0;
+ }
+ }
+ preprocessedtext.push_back(line);
+ }
+ }
+}
+
+void TextEdit::repaintEvent(RepaintEvent* repaintEvent)
+{
+ Painter p(*this);
+
+ p.clear();
+
+ int w = width();
+ int h = height();
+ if((w == 0) || (h == 0))
+ {
+ return;
+ }
+
+ p.drawBox(0, 0, box, w, h);
+
+ p.setColour(Colour(183.0 / 255.0, 219.0 / 255.0 , 255.0 / 255.0, 1));
+
+ int skip = scroll.value();
+
+ int ypos = font.textHeight() + 5 + 1 + 1 + 1;
+ std::list<std::string>::iterator it;
+ it = preprocessedtext.begin();
+
+ int c = 0;
+ for( ; c < skip; c++)
+ {
+ ++it;
+ }
+
+ c = 0;
+ for( ; it != preprocessedtext.end(); it++)
+ {
+ if((c * font.textHeight()) >= (height() - 8 - font.textHeight()))
+ {
+ break;
+ }
+
+ std::string line = *it;
+ p.drawText(BORDER - 4 + 3, ypos, font, line);
+ ypos += font.textHeight();
+ ++c;
+ }
+}
+
+void TextEdit::scrolled(int value)
+{
+ (void)value;
+ repaintEvent(nullptr);
+}
+
+} // GUI::
diff --git a/plugingui/textedit.h b/plugingui/textedit.h
new file mode 100644
index 0000000..6e8fadf
--- /dev/null
+++ b/plugingui/textedit.h
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * textedit.h
+ *
+ * Tue Oct 21 11:23:58 CEST 2014
+ * Copyright 2014 Jonas Suhr Christensen
+ * jsc at umbraculum.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <string>
+#include <list>
+
+#include "widget.h"
+#include "font.h"
+#include "painter.h"
+#include "scrollbar.h"
+
+#include "notifier.h"
+
+namespace GUI {
+
+class TextEdit : public Widget {
+public:
+ TextEdit(Widget *parent);
+ ~TextEdit();
+
+ // From Widget
+ bool isFocusable() override { return true; }
+ void resize(int width, int height) override;
+
+ std::string text();
+ void setText(const std::string& text);
+
+ void setReadOnly(bool readonly);
+ bool readOnly();
+
+ void preprocessText();
+
+ Notifier<> textChangedNotifier;
+
+protected:
+ // From Widget
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
+
+private:
+ void scrolled(int value);
+
+ Painter::Box box;
+ ScrollBar scroll;
+ Font font;
+
+ std::string _text;
+ size_t pos{0};
+
+ bool readonly{true};
+
+ std::list< std::string > preprocessedtext;
+};
+
+} // GUI::
diff --git a/plugingui/verticalline.cc b/plugingui/verticalline.cc
index 53d82a6..46d39e6 100644
--- a/plugingui/verticalline.cc
+++ b/plugingui/verticalline.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,14 +28,24 @@
#include "painter.h"
-GUI::VerticalLine::VerticalLine(GUI::Widget *parent)
- : Widget(parent), vline(":vertline.png")
+namespace GUI {
+
+VerticalLine::VerticalLine(Widget *parent)
+ : Widget(parent)
+ , vline(":vertline.png")
{
}
-void GUI::VerticalLine::repaintEvent(RepaintEvent *e)
+void VerticalLine::repaintEvent(RepaintEvent* repaintEvent)
{
- (void)e;
- GUI::Painter p(this);
- p.drawImageStretched(0, 0, &vline, width(), height());
+ if(height() < 2)
+ {
+ return;
+ }
+
+ Painter p(*this);
+ p.drawImageStretched(0, (height() - vline.height()) / 2,
+ vline, width(), vline.height());
}
+
+} // GUI::
diff --git a/plugingui/verticalline.h b/plugingui/verticalline.h
index 7c1bc27..dce5563 100644
--- a/plugingui/verticalline.h
+++ b/plugingui/verticalline.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_VERTICALLINE_H__
-#define __DRUMGIZMO_VERTICALLINE_H__
+#pragma once
#include "widget.h"
#include "image.h"
@@ -34,15 +33,14 @@ namespace GUI {
class VerticalLine : public Widget {
public:
- VerticalLine(Widget *parent);
+ VerticalLine(Widget* parent);
- //protected:
- virtual void repaintEvent(RepaintEvent *e);
+protected:
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent* repaintEvent) override;
private:
- Image vline;
+ Image vline;
};
-};
-
-#endif/*__DRUMGIZMO_VERTICALLINE_H__*/
+} // GUI::
diff --git a/plugingui/widget.cc b/plugingui/widget.cc
index 05966aa..9bac566 100644
--- a/plugingui/widget.cc
+++ b/plugingui/widget.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -31,188 +31,190 @@
#include <stdio.h>
-GUI::Widget::Widget(Widget *parent)
- : pixbuf(1, 1)
+namespace GUI {
+
+Widget::Widget(Widget* parent)
+ : parent(parent)
{
- _width = _height = 10;
+ if(parent)
+ {
+ parent->addChild(this);
+ _window = parent->window();
+ }
- this->parent = parent;
- if(parent) {
- parent->addChild(this);
- _window = parent->window();
- }
- _width = _height = 0;
- _visible = true;
+ _width = _height = 0;
+ _visible = true;
}
-GUI::Widget::~Widget()
+Widget::~Widget()
{
- if(parent) parent->removeChild(this);
+ if(parent)
+ {
+ parent->removeChild(this);
+ }
}
-void GUI::Widget::show()
+void Widget::show()
{
- setVisible(true);
+ setVisible(true);
}
-void GUI::Widget::hide()
+void Widget::hide()
{
- setVisible(false);
+ setVisible(false);
}
-void GUI::Widget::setVisible(bool v)
+void Widget::setVisible(bool visible)
{
- _visible = v;
- repaintEvent(NULL);
+ _visible = visible;
+ repaintEvent(nullptr);
}
-bool GUI::Widget::visible()
+bool Widget::visible()
{
- return _visible;
+ return _visible;
}
-void GUI::Widget::addChild(GUI::Widget *widget)
+void Widget::addChild(Widget* widget)
{
- children.push_back(widget);
+ children.push_back(widget);
}
-void GUI::Widget::removeChild(GUI::Widget *widget)
+void Widget::removeChild(Widget* widget)
{
- std::vector<Widget *>::iterator i = children.begin();
- while(i != children.end()) {
- if(*i == widget) {
- children.erase(i);
- return;
- }
- i++;
- }
+ for(auto i = children.begin(); i != children.end(); ++i)
+ {
+ if(*i == widget)
+ {
+ children.erase(i);
+ return;
+ }
+ }
}
-void GUI::Widget::resize(int width, int height)
+void Widget::resize(int width, int height)
{
- if(width < 1 || height < 1) return;
- _width = width;
- _height = height;
- pixbuf.realloc(width, height);
+ if((width < 1) || (height < 1) ||
+ (((size_t)width == _width) && ((size_t)height == _height)))
+ {
+ return;
+ }
+
+ _width = width;
+ _height = height;
+ pixbuf.realloc(width, height);
+
+ sizeChangeNotifier(width, height);
}
-void GUI::Widget::move(size_t x, size_t y)
+void Widget::move(size_t x, size_t y)
{
- _x = x;
- _y = y;
+ _x = x;
+ _y = y;
}
-size_t GUI::Widget::x() { return _x; }
-size_t GUI::Widget::y() { return _y; }
-size_t GUI::Widget::width() { return _width; }
-size_t GUI::Widget::height() { return _height; }
-
-size_t GUI::Widget::windowX()
+int Widget::x()
{
- size_t window_x = x();
- if(parent) window_x += parent->windowX();
- return window_x;
+ return _x;
}
-size_t GUI::Widget::windowY()
+int Widget::y()
{
- size_t window_y = y();
- if(parent) window_y += parent->windowY();
- return window_y;
+ return _y;
}
-GUI::Widget *GUI::Widget::find(size_t x, size_t y)
+size_t Widget::width()
{
- std::vector<Widget*>::reverse_iterator i = children.rbegin();
- while(i != children.rend()) {
- Widget *w = *i;
- if(w->visible()) {
- if(w->x() <= x && (w->x() + w->width()) >= x &&
- w->y() <= y && w->y() + w->height() >= y)
- return w->find(x - w->x(), y - w->y());
- }
- i++;
- }
-
- if(x > width() || x < 0 || y > height() || y < 0) return NULL;
- return this;
+ return _width;
}
-GUI::Window *GUI::Widget::window()
+size_t Widget::height()
{
- return _window;
+ return _height;
}
-void GUI::Widget::repaint_r(GUI::RepaintEvent *e)
+size_t Widget::windowX()
{
- Painter p(this); // make sure pixbuf refcount is incremented.
+ size_t window_x = x();
+ if(parent)
+ {
+ window_x += parent->windowX();
+ }
- repaintEvent(e);
-
- std::vector<Widget*>::iterator i = children.begin();
- while(i != children.end()) {
- Widget *w = *i;
- w->repaint_r(e);
- i++;
- }
+ return window_x;
}
-std::vector<GUI::PixelBufferAlpha *> GUI::Widget::getPixelBuffers()
+size_t Widget::windowY()
{
- std::vector<PixelBufferAlpha *> pbs;
-
- pixbuf.x = windowX();
- pixbuf.y = windowY();
+ size_t window_y = y();
+ if(parent)
+ {
+ window_y += parent->windowY();
+ }
- pbs.push_back(&pixbuf);
+ return window_y;
+}
- std::vector<Widget*>::iterator i = children.begin();
- while(i != children.end()) {
- Widget *w = *i;
- if(w->visible()) {
- std::vector<PixelBufferAlpha *> pbs0 = w->getPixelBuffers();
- pbs.insert(pbs.end(), pbs0.begin(), pbs0.end());
- }
- i++;
- }
+Widget* Widget::find(int x, int y)
+{
+ for(auto i = children.rbegin(); i != children.rend(); ++i)
+ {
+ Widget* widget = *i;
+ if(widget->visible())
+ {
+ if((x >= widget->x()) && (x < (widget->x() + (int)widget->width())) &&
+ (y >= widget->y()) && (y < (widget->y() + (int)widget->height())))
+ {
+ return widget->find(x - widget->x(), y - widget->y());
+ }
+ }
+ }
- return pbs;
+ return this;
}
-bool GUI::Widget::hasKeyboardFocus()
+Window* Widget::window()
{
- return window()->keyboardFocus() == this;
+ return _window;
}
-#ifdef TEST_WIDGET
-//deps: window.cc globalcontext.cc
-//cflags:
-//libs:
-#include "test.h"
+std::vector<PixelBufferAlpha*> Widget::getPixelBuffers()
+{
+ std::vector<PixelBufferAlpha*> pixelBuffers;
-#include "window.h"
+ pixbuf.x = windowX();
+ pixbuf.y = windowY();
-TEST_BEGIN;
+ pixelBuffers.push_back(&pixbuf);
-GUI::Window w1(NULL);
-w1.move(0,0);
-w1.resize(100, 100);
+ for(auto child : children)
+ {
+ if(child->visible())
+ {
+ auto childPixelBuffers = child->getPixelBuffers();
+ pixelBuffers.insert(pixelBuffers.end(),
+ childPixelBuffers.begin(), childPixelBuffers.end());
+ }
+ }
+
+ return pixelBuffers;
+}
-GUI::Widget w2(&w1);
-w2.resize(40,40);
-w2.move(10,10);
+bool Widget::hasKeyboardFocus()
+{
+ return window()->keyboardFocus() == this;
+}
-GUI::Widget w3(&w2);
-w3.resize(20,20);
-w3.move(10,10);
+void Widget::repaintChildren(RepaintEvent* repaintEvent)
+{
+ Painter p(*this); // make sure pixbuf refcount is incremented.
-TEST_EQUAL_PTR(w1.find(101,0), NULL, "Miss?");
-TEST_EQUAL_PTR(w1.find(0,0), &w1, "Hit w1?");
-TEST_EQUAL_PTR(w1.find(100,100), &w1, "Hit w1?");
-TEST_EQUAL_PTR(w1.find(0,0), &w1, "Hit w1?");
-TEST_EQUAL_PTR(w1.find(11,11), &w2, "Hit w2?");
-TEST_EQUAL_PTR(w1.find(22,22), &w3, "Hit w3?");
+ this->repaintEvent(repaintEvent);
-TEST_END;
+ for(auto child : children)
+ {
+ child->repaintChildren(repaintEvent);
+ }
+}
-#endif/*TEST_WIDGET*/
+} // GUI::
diff --git a/plugingui/widget.h b/plugingui/widget.h
index 47c374e..02b8c07 100644
--- a/plugingui/widget.h
+++ b/plugingui/widget.h
@@ -11,24 +11,25 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_WIDGET_H__
-#define __DRUMGIZMO_WIDGET_H__
+#pragma once
#include "guievent.h"
#include "pixelbuffer.h"
+#include "notifier.h"
+#include "layout.h"
#include <vector>
@@ -36,64 +37,69 @@ namespace GUI {
class Window;
-class Widget {
+class Widget : public Listener, public LayoutItem {
+ friend class Painter;
public:
- Widget(Widget *parent);
- virtual ~Widget();
+ Widget(Widget* parent);
+ virtual ~Widget();
- virtual void show();
- virtual void hide();
+ virtual void show();
+ virtual void hide();
- virtual void resize(int width, int height);
- virtual void move(size_t x, size_t y);
+ // From LayoutItem
+ virtual void resize(int width, int height) override;
+ virtual void move(size_t x, size_t y) override;
+ virtual int x() override;
+ virtual int y() override;
+ virtual size_t width() override;
+ virtual size_t height() override;
- virtual size_t x();
- virtual size_t y();
- virtual size_t windowX();
- virtual size_t windowY();
- virtual size_t width();
- virtual size_t height();
+ virtual size_t windowX();
+ virtual size_t windowY();
- virtual bool isFocusable() { return false; }
- virtual bool catchMouse() { return false; }
+ virtual bool isFocusable() { return false; }
+ virtual bool catchMouse() { return false; }
- void addChild(Widget *widget);
- void removeChild(Widget *widget);
+ void addChild(Widget* widget);
+ void removeChild(Widget* widget);
- virtual void repaintEvent(RepaintEvent *e) {}
- virtual void mouseMoveEvent(MouseMoveEvent *e) {}
- virtual void buttonEvent(ButtonEvent *e) {}
- virtual void scrollEvent(ScrollEvent *e) {}
- virtual void keyEvent(KeyEvent *e) {}
+ virtual void repaintEvent(RepaintEvent* repaintEvent) {}
+ virtual void mouseMoveEvent(MouseMoveEvent* mouseMoveEvent) {}
+ virtual void buttonEvent(ButtonEvent* buttonEvent) {}
+ virtual void scrollEvent(ScrollEvent* scrollEvent) {}
+ virtual void keyEvent(KeyEvent* keyEvent) {}
+ virtual void mouseLeaveEvent() {}
+ virtual void mouseEnterEvent() {}
- virtual void mouseLeaveEvent() {}
- virtual void mouseEnterEvent() {}
+ Widget* find(int x, int y);
- Widget *find(size_t x, size_t y);
+ virtual Window* window();
- virtual Window *window();
+ std::vector<PixelBufferAlpha*> getPixelBuffers();
- void repaint_r(RepaintEvent *e);
+ bool hasKeyboardFocus();
- PixelBufferAlpha pixbuf;
- std::vector<PixelBufferAlpha *> getPixelBuffers();
+ bool visible();
+ void setVisible(bool visible);
- bool hasKeyboardFocus();
+ Notifier<int, int> sizeChangeNotifier; // (int, width, int height)
- Widget *parent;
+protected:
+ void repaintChildren(RepaintEvent* repaintEvent);
- bool visible();
- void setVisible(bool visible);
+ PixelBufferAlpha pixbuf{0,0};
-protected:
- std::vector<Widget*> children;
- Window *_window;
- size_t _x, _y, _width, _height;
+ std::vector<Widget*> children;
-private:
- bool _visible;
-};
+ Widget* parent = nullptr;
+ Window* _window = nullptr;
+
+ int _x{0};
+ int _y{0};
+ size_t _width{0};
+ size_t _height{0};
+ bool _visible = true;
};
-#endif/*__DRUMGIZMO_WIDGET_H__*/
+} // GUI::
diff --git a/plugingui/window.cc b/plugingui/window.cc
index 8337533..8d56926 100644
--- a/plugingui/window.cc
+++ b/plugingui/window.cc
@@ -11,28 +11,23 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "window.h"
-#include "painter.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <string.h>
#include <hugin.hpp>
+#include "painter.h"
#ifndef PUGL
#ifdef X11
@@ -45,201 +40,230 @@
#include "nativewindow_pugl.h"
#endif
-GUI::Window::Window()
- : Widget(NULL), wpixbuf(100, 100), back(":bg.png"), logo(":logo.png")
-{
- _x = _y = 100;
- _width = wpixbuf.width;
- _height = wpixbuf.height;
+namespace GUI {
- refcount = 0;
- max_refcount = 0;
- _keyboardFocus = this;
- _buttonDownFocus = NULL;
- _mouseFocus = NULL;
+Window::Window(void* native_window)
+ : Widget(nullptr)
+ , wpixbuf(100, 100)
+{
+ // Make sure we have a valid size when initialising the NativeWindow
+ _width = wpixbuf.width;
+ _height = wpixbuf.height;
#ifndef PUGL
#ifdef X11
- native = new NativeWindowX11(this);
+ native = new NativeWindowX11(native_window, *this);
#endif/*X11*/
#ifdef WIN32
- native = new NativeWindowWin32(this);
+ native = new NativeWindowWin32(native_window, *this);
#endif/*WIN32*/
#else/*Use pugl*/
- native = new NativeWindowPugl(this);
+ native = new NativeWindowPugl(native_window, *this);
#endif
- eventhandler = new GUI::EventHandler(native, this);
+ eventhandler = new EventHandler(*native, *this);
}
-GUI::Window::~Window()
+Window::~Window()
{
- delete native;
- delete eventhandler;
+ delete native;
+ delete eventhandler;
}
-GUI::EventHandler *GUI::Window::eventHandler()
+void Window::setFixedSize(int w, int h)
{
- return eventhandler;
+ native->setFixedSize(w, h);
+ resize(w,h);
}
-void GUI::Window::setCaption(std::string caption)
+void Window::setCaption(const std::string& caption)
{
- native->setCaption(caption);
+ native->setCaption(caption);
}
-void GUI::Window::repaintEvent(GUI::RepaintEvent *e)
+void Window::resize(int width, int height)
{
- if(!visible()) return;
-
- Painter p(this);
- p.drawImageStretched(0,0, &back, width(), height());
- p.drawImage(width() - logo.width(),
- height() - logo.height(), &logo);
+ if((width < 1) || (height < 1))
+ {
+ return;
+ }
+
+ resized(width, height);
+ Widget::resize(width, height);
+ native->resize(width, height);
}
-void GUI::Window::setFixedSize(int w, int h)
+void Window::move(size_t x, size_t y)
{
- native->setFixedSize(w, h);
- resize(w,h);
+ native->move(x, y);
+
+ // Make sure widget corrdinates are updated.
+ Widget::move(x, y);
}
-void GUI::Window::resize(int width, int height)
+size_t Window::windowX()
{
- if(width < 1 || height < 1) return;
-
- // This needs to be done on all platoforms when setFixedSize is introduced.
- //#ifdef WIN32
- // Fix to force buffer size reallocation
- // FIXME: This should've been done indirectly through a WM_SIZE message in the
- // EventHandler...
- resized(width, height);
- //#endif
-
- Widget::resize(width, height);
- native->resize(width, height);
+ return 0;
}
-void GUI::Window::move(size_t x, size_t y)
+size_t Window::windowY()
{
- native->move(x, y);
-
- // Make sure widget corrds are updated.
- Widget::move(x, y);
+ return 0;
}
-size_t GUI::Window::x() { return _x; }
-size_t GUI::Window::y() { return _y; }
-size_t GUI::Window::width() { return _width; }
-size_t GUI::Window::height() { return _height; }
-size_t GUI::Window::windowX() { return 0; }
-size_t GUI::Window::windowY() { return 0; }
-
-void GUI::Window::show()
+void Window::show()
{
- repaint_r(NULL);
- native->show();
+ repaintChildren(nullptr);
+ native->show();
}
-void GUI::Window::hide()
+void Window::hide()
{
- native->hide();
+ native->hide();
}
-GUI::Window *GUI::Window::window()
+Window* Window::window()
{
- return this;
+ return this;
}
-void GUI::Window::beginPaint()
+EventHandler* Window::eventHandler()
{
- refcount++;
- if(refcount > max_refcount) max_refcount = refcount;
+ return eventhandler;
}
-void GUI::Window::endPaint()
+Widget* Window::keyboardFocus()
{
- if(refcount) refcount--;
-
- if(!refcount) {
- if(max_refcount > 1) { // Did we go deep enough for a buffer update?
- updateBuffer();
- redraw();
- }
- max_refcount = 0;
- }
+ return _keyboardFocus;
}
-void GUI::Window::updateBuffer()
+void Window::setKeyboardFocus(Widget* widget)
{
- DEBUG(window, "Updating buffer\n");
- memset(wpixbuf.buf, 0, wpixbuf.width * wpixbuf.height * 3);
-
- std::vector<PixelBufferAlpha *> pl = getPixelBuffers();
- std::vector<PixelBufferAlpha *>::iterator pli = pl.begin();
- while(pli != pl.end()) {
- PixelBufferAlpha *pb = *pli;
- for(size_t x = 0; x < pb->width; x++) {
- for(size_t y = 0; y < pb->height; y++) {
- unsigned char r,g,b,a;
- pb->pixel(x,y,&r,&g,&b,&a);
- wpixbuf.setPixel(x + pb->x, y + pb->y, r, g, b, a);
- }
- }
- pli++;
- }
- native->handleBuffer();
+ auto oldFocusWidget = _keyboardFocus;
+ _keyboardFocus = widget;
+
+ if(oldFocusWidget)
+ {
+ oldFocusWidget->repaintEvent(nullptr);
+ }
+
+ if(_keyboardFocus)
+ {
+ _keyboardFocus->repaintEvent(nullptr);
+ }
}
-void GUI::Window::resized(size_t w, size_t h)
+Widget* Window::buttonDownFocus()
{
- if(_width == w && _height == h) return;
-
- _width = w;
- _height = h;
- wpixbuf.realloc(w, h);
- updateBuffer();
-
- pixbuf.realloc(w, h);
- repaintEvent(NULL);
+ return _buttonDownFocus;
}
-void GUI::Window::redraw()
+void Window::setButtonDownFocus(Widget* widget)
{
- native->redraw();
+ _buttonDownFocus = widget;
+ native->grabMouse(widget != nullptr);
}
-GUI::Widget *GUI::Window::keyboardFocus()
+Widget* Window::mouseFocus()
{
- return _keyboardFocus;
+ return _mouseFocus;
}
-void GUI::Window::setKeyboardFocus(GUI::Widget *widget)
+void Window::setMouseFocus(Widget* widget)
{
- GUI::Widget *old_focus = _keyboardFocus;
- _keyboardFocus = widget;
+ _mouseFocus = widget;
+
+}
- if(old_focus) old_focus->repaintEvent(NULL);
- if(_keyboardFocus) _keyboardFocus->repaintEvent(NULL);
+void Window::redraw()
+{
+ native->redraw();
}
-GUI::Widget *GUI::Window::buttonDownFocus()
+void Window::resized(size_t width, size_t height)
{
- return _buttonDownFocus;
+ if((_width == width) && (_height == height))
+ {
+ return;
+ }
+
+ _width = width;
+ _height = height;
+
+ wpixbuf.realloc(width, height);
+ updateBuffer();
+
+ pixbuf.realloc(width, height);
+ repaintEvent(nullptr);
+
+ // Notify Widget
+ sizeChangeNotifier(width, height);
}
-void GUI::Window::setButtonDownFocus(GUI::Widget *widget)
+void Window::updateBuffer()
{
- _buttonDownFocus = widget;
- native->grabMouse(widget != NULL);
+ //DEBUG(window, "Updating buffer\n");
+ for(auto pixelBuffer : getPixelBuffers())
+ {
+ size_t updateWidth = pixelBuffer->width;
+ size_t updateHeight = pixelBuffer->height;
+
+ // Skip buffer if not inside window.
+ if((wpixbuf.width < pixelBuffer->x) || (wpixbuf.height < pixelBuffer->y))
+ {
+ continue;
+ }
+
+ if(updateWidth > (wpixbuf.width - pixelBuffer->x))
+ {
+ updateWidth = (wpixbuf.width - pixelBuffer->x);
+ }
+
+ if(updateHeight > (wpixbuf.height - pixelBuffer->y))
+ {
+ updateHeight = (wpixbuf.height - pixelBuffer->y);
+ }
+
+ unsigned char r,g,b,a;
+ for(size_t y = 0; y < updateHeight; y++)
+ {
+ for(size_t x = 0; x < updateWidth; x++)
+ {
+ pixelBuffer->pixel(x, y, &r, &g, &b, &a);
+ wpixbuf.setPixel(x + pixelBuffer->x, y + pixelBuffer->y, r, g, b, a);
+ }
+ }
+ }
+
+ native->handleBuffer();
}
-GUI::Widget *GUI::Window::mouseFocus()
+void Window::beginPaint()
{
- return _mouseFocus;
+ ++refcount;
+ if(refcount > maxRefcount)
+ {
+ maxRefcount = refcount;
+ }
}
-void GUI::Window::setMouseFocus(GUI::Widget *widget)
+void Window::endPaint()
{
- _mouseFocus = widget;
+ if(refcount)
+ {
+ --refcount;
+ }
+
+ if(!refcount)
+ {
+ // Did we go deep enough for a buffer update?
+ if(maxRefcount > 1)
+ {
+ updateBuffer();
+ redraw();
+ }
+ maxRefcount = 0;
+ }
}
+
+} // GUI::
diff --git a/plugingui/window.h b/plugingui/window.h
index f8deef0..0c93658 100644
--- a/plugingui/window.h
+++ b/plugingui/window.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_WINDOW_H__
-#define __DRUMGIZMO_WINDOW_H__
+#pragma once
#include "widget.h"
@@ -38,68 +37,60 @@ namespace GUI {
class Window : public Widget {
public:
- Window();
- ~Window();
+ Window(void* native_window);
+ ~Window();
- void show();
- void hide();
+ void setFixedSize(int width, int height);
+ void setCaption(const std::string& caption);
- void setFixedSize(int width, int height);
- void resize(int width, int height);
- void move(size_t x, size_t y);
+ // From Widget:
+ void resize(int width, int height) override;
+ void move(size_t x, size_t y) override;
+ size_t windowX() override;
+ size_t windowY() override;
+ void show() override;
+ void hide() override;
+ Window* window() override;
- size_t x();
- size_t y();
- size_t windowX();
- size_t windowY();
- size_t width();
- size_t height();
+ EventHandler* eventHandler();
- void setCaption(std::string caption);
+ Widget* keyboardFocus();
+ void setKeyboardFocus(Widget* widget);
- void addChild(Widget *widget);
+ Widget* buttonDownFocus();
+ void setButtonDownFocus(Widget* widget);
- void repaintEvent(GUI::RepaintEvent *e);
-
- void beginPaint();
- void endPaint();
-
- Window *window();
-
- EventHandler *eventHandler();
-
- // handlers
- virtual void redraw();
- void resized(size_t w, size_t h);
-
- Widget *keyboardFocus();
- void setKeyboardFocus(Widget *widget);
-
- Widget *buttonDownFocus();
- void setButtonDownFocus(Widget *widget);
-
- Widget *mouseFocus();
- void setMouseFocus(Widget *widget);
-
- PixelBuffer wpixbuf;
- void updateBuffer();
+ Widget* mouseFocus();
+ void setMouseFocus(Widget* widget);
protected:
- size_t refcount;
+ // For the EventHandler
+ friend class EventHandler;
+ void redraw();
+ void resized(size_t w, size_t h);
+ void updateBuffer();
- Widget *_keyboardFocus;
- Widget *_buttonDownFocus;
- Widget *_mouseFocus;
+ // For the Painter
+ friend class Painter;
+ void beginPaint();
+ void endPaint();
- NativeWindow *native;
- EventHandler *eventhandler;
+ // For the NativeWindow
+ friend class NativeWindowX11;
+ friend class NativeWindowWin32;
+ friend class NativeWindowPugl;
+ PixelBuffer wpixbuf;
- Image back;
- Image logo;
+ size_t refcount{0};
- size_t max_refcount;
-};
+ Widget* _keyboardFocus{nullptr};
+ Widget* _buttonDownFocus{nullptr};
+ Widget* _mouseFocus{nullptr};
+
+ NativeWindow* native{nullptr};
+ EventHandler* eventhandler{nullptr};
+ size_t maxRefcount{0};
};
-#endif/*__DRUMGIZMO_WINDOW_H__*/
+} // GUI::
diff --git a/pugl/pugl/pugl_x11.c b/pugl/pugl/pugl_x11.c
new file mode 100644
index 0000000..c25b273
--- /dev/null
+++ b/pugl/pugl/pugl_x11.c
@@ -0,0 +1,386 @@
+/*
+ Copyright 2012-2014 David Robillard <http://drobilla.net>
+ Copyright 2011-2012 Ben Loftis, Harrison Consoles
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+/**
+ @file pugl_x11.c X11 Pugl Implementation.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <GL/gl.h>
+#include <GL/glx.h>
+#include <X11/Xatom.h>
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+#include "pugl_internal.h"
+
+struct PuglInternalsImpl {
+ Display* display;
+ int screen;
+ Window win;
+ GLXContext ctx;
+ Bool doubleBuffered;
+};
+
+/**
+ Attributes for single-buffered RGBA with at least
+ 4 bits per color and a 16 bit depth buffer.
+*/
+static int attrListSgl[] = {
+ GLX_RGBA,
+ GLX_RED_SIZE, 4,
+ GLX_GREEN_SIZE, 4,
+ GLX_BLUE_SIZE, 4,
+ GLX_DEPTH_SIZE, 16,
+ None
+};
+
+/**
+ Attributes for double-buffered RGBA with at least
+ 4 bits per color and a 16 bit depth buffer.
+*/
+static int attrListDbl[] = {
+ GLX_RGBA, GLX_DOUBLEBUFFER,
+ GLX_RED_SIZE, 4,
+ GLX_GREEN_SIZE, 4,
+ GLX_BLUE_SIZE, 4,
+ GLX_DEPTH_SIZE, 16,
+ None
+};
+
+PuglView*
+puglCreate(PuglNativeWindow parent,
+ const char* title,
+ int width,
+ int height,
+ bool resizable,
+ bool visible)
+{
+ PuglView* view = (PuglView*)calloc(1, sizeof(PuglView));
+ PuglInternals* impl = (PuglInternals*)calloc(1, sizeof(PuglInternals));
+ if (!view || !impl) {
+ return NULL;
+ }
+
+ view->impl = impl;
+ view->width = width;
+ view->height = height;
+
+ impl->display = XOpenDisplay(0);
+ impl->screen = DefaultScreen(impl->display);
+
+ XVisualInfo* vi = glXChooseVisual(impl->display, impl->screen, attrListDbl);
+ if (!vi) {
+ vi = glXChooseVisual(impl->display, impl->screen, attrListSgl);
+ impl->doubleBuffered = False;
+ printf("singlebuffered rendering will be used, no doublebuffering available\n");
+ } else {
+ impl->doubleBuffered = True;
+ printf("doublebuffered rendering available\n");
+ }
+
+ int glxMajor, glxMinor;
+ glXQueryVersion(impl->display, &glxMajor, &glxMinor);
+ printf("GLX-Version %d.%d\n", glxMajor, glxMinor);
+
+ impl->ctx = glXCreateContext(impl->display, vi, 0, GL_TRUE);
+
+ Window xParent = parent
+ ? (Window)parent
+ : RootWindow(impl->display, impl->screen);
+
+ Colormap cmap = XCreateColormap(
+ impl->display, xParent, vi->visual, AllocNone);
+
+ XSetWindowAttributes attr;
+ memset(&attr, 0, sizeof(XSetWindowAttributes));
+ attr.colormap = cmap;
+ attr.border_pixel = 0;
+
+ attr.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask
+ | ButtonPressMask | ButtonReleaseMask
+ | PointerMotionMask | StructureNotifyMask;
+
+ impl->win = XCreateWindow(
+ impl->display, xParent,
+ 0, 0, view->width, view->height, 0, vi->depth, InputOutput, vi->visual,
+ CWBorderPixel | CWColormap | CWEventMask, &attr);
+
+ XSizeHints sizeHints;
+ memset(&sizeHints, 0, sizeof(sizeHints));
+ if (!resizable) {
+ sizeHints.flags = PMinSize|PMaxSize;
+ sizeHints.min_width = width;
+ sizeHints.min_height = height;
+ sizeHints.max_width = width;
+ sizeHints.max_height = height;
+ XSetNormalHints(impl->display, impl->win, &sizeHints);
+ }
+
+ if (title) {
+ XStoreName(impl->display, impl->win, title);
+ }
+
+ if (!parent) {
+ Atom wmDelete = XInternAtom(impl->display, "WM_DELETE_WINDOW", True);
+ XSetWMProtocols(impl->display, impl->win, &wmDelete, 1);
+ }
+
+ if (visible) {
+ XMapRaised(impl->display, impl->win);
+ }
+
+ if (glXIsDirect(impl->display, impl->ctx)) {
+ printf("DRI enabled\n");
+ } else {
+ printf("No DRI available\n");
+ }
+
+ XFree(vi);
+
+ return view;
+}
+
+void
+puglDestroy(PuglView* view)
+{
+ if (!view) {
+ return;
+ }
+
+ glXDestroyContext(view->impl->display, view->impl->ctx);
+ XDestroyWindow(view->impl->display, view->impl->win);
+ XCloseDisplay(view->impl->display);
+ free(view->impl);
+ free(view);
+}
+
+static void
+puglReshape(PuglView* view, int width, int height)
+{
+ glXMakeCurrent(view->impl->display, view->impl->win, view->impl->ctx);
+
+ if (view->reshapeFunc) {
+ view->reshapeFunc(view, width, height);
+ } else {
+ puglDefaultReshape(view, width, height);
+ }
+
+ view->width = width;
+ view->height = height;
+}
+
+static void
+puglDisplay(PuglView* view)
+{
+ glXMakeCurrent(view->impl->display, view->impl->win, view->impl->ctx);
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ glLoadIdentity();
+
+ if (view->displayFunc) {
+ view->displayFunc(view);
+ }
+
+ glFlush();
+ if (view->impl->doubleBuffered) {
+ glXSwapBuffers(view->impl->display, view->impl->win);
+ }
+
+ view->redisplay = false;
+}
+
+static PuglKey
+keySymToSpecial(KeySym sym)
+{
+ switch (sym) {
+ case XK_F1: return PUGL_KEY_F1;
+ case XK_F2: return PUGL_KEY_F2;
+ case XK_F3: return PUGL_KEY_F3;
+ case XK_F4: return PUGL_KEY_F4;
+ case XK_F5: return PUGL_KEY_F5;
+ case XK_F6: return PUGL_KEY_F6;
+ case XK_F7: return PUGL_KEY_F7;
+ case XK_F8: return PUGL_KEY_F8;
+ case XK_F9: return PUGL_KEY_F9;
+ case XK_F10: return PUGL_KEY_F10;
+ case XK_F11: return PUGL_KEY_F11;
+ case XK_F12: return PUGL_KEY_F12;
+ case XK_Left: return PUGL_KEY_LEFT;
+ case XK_Up: return PUGL_KEY_UP;
+ case XK_Right: return PUGL_KEY_RIGHT;
+ case XK_Down: return PUGL_KEY_DOWN;
+ case XK_Page_Up: return PUGL_KEY_PAGE_UP;
+ case XK_Page_Down: return PUGL_KEY_PAGE_DOWN;
+ case XK_Home: return PUGL_KEY_HOME;
+ case XK_End: return PUGL_KEY_END;
+ case XK_Insert: return PUGL_KEY_INSERT;
+ case XK_Shift_L: return PUGL_KEY_SHIFT;
+ case XK_Shift_R: return PUGL_KEY_SHIFT;
+ case XK_Control_L: return PUGL_KEY_CTRL;
+ case XK_Control_R: return PUGL_KEY_CTRL;
+ case XK_Alt_L: return PUGL_KEY_ALT;
+ case XK_Alt_R: return PUGL_KEY_ALT;
+ case XK_Super_L: return PUGL_KEY_SUPER;
+ case XK_Super_R: return PUGL_KEY_SUPER;
+ }
+ return (PuglKey)0;
+}
+
+static void
+setModifiers(PuglView* view, unsigned xstate, unsigned xtime)
+{
+ view->event_timestamp_ms = xtime;
+
+ view->mods = 0;
+ view->mods |= (xstate & ShiftMask) ? PUGL_MOD_SHIFT : 0;
+ view->mods |= (xstate & ControlMask) ? PUGL_MOD_CTRL : 0;
+ view->mods |= (xstate & Mod1Mask) ? PUGL_MOD_ALT : 0;
+ view->mods |= (xstate & Mod4Mask) ? PUGL_MOD_SUPER : 0;
+}
+
+static void
+dispatchKey(PuglView* view, XEvent* event, bool press)
+{
+ KeySym sym;
+ char str[5];
+ const int n = XLookupString(&event->xkey, str, 4, &sym, NULL);
+ if (n == 0) {
+ return;
+ } else if (n > 1) {
+ fprintf(stderr, "warning: Unsupported multi-byte key %X\n", (int)sym);
+ return;
+ }
+
+ const PuglKey special = keySymToSpecial(sym);
+ if (special && view->specialFunc) {
+ view->specialFunc(view, press, special);
+ } else if (!special && view->keyboardFunc) {
+ view->keyboardFunc(view, press, str[0]);
+ }
+}
+
+PuglStatus
+puglProcessEvents(PuglView* view)
+{
+ XEvent event;
+ while (XPending(view->impl->display) > 0) {
+ XNextEvent(view->impl->display, &event);
+ switch (event.type) {
+ case MapNotify:
+ puglReshape(view, view->width, view->height);
+ break;
+ case ConfigureNotify:
+ if ((event.xconfigure.width != view->width) ||
+ (event.xconfigure.height != view->height)) {
+ puglReshape(view,
+ event.xconfigure.width,
+ event.xconfigure.height);
+ }
+ break;
+ case Expose:
+ if (event.xexpose.count != 0) {
+ break;
+ }
+ puglDisplay(view);
+ break;
+ case MotionNotify:
+ setModifiers(view, event.xmotion.state, event.xmotion.time);
+ if (view->motionFunc) {
+ view->motionFunc(view, event.xmotion.x, event.xmotion.y);
+ }
+ break;
+ case ButtonPress:
+ setModifiers(view, event.xbutton.state, event.xbutton.time);
+ if (event.xbutton.button >= 4 && event.xbutton.button <= 7) {
+ if (view->scrollFunc) {
+ float dx = 0, dy = 0;
+ switch (event.xbutton.button) {
+ case 4: dy = 1.0f; break;
+ case 5: dy = -1.0f; break;
+ case 6: dx = -1.0f; break;
+ case 7: dx = 1.0f; break;
+ }
+ view->scrollFunc(view,
+ event.xbutton.x, event.xbutton.y,
+ dx, dy);
+ }
+ break;
+ }
+ // nobreak
+ case ButtonRelease:
+ setModifiers(view, event.xbutton.state, event.xbutton.time);
+ if (view->mouseFunc &&
+ (event.xbutton.button < 4 || event.xbutton.button > 7)) {
+ view->mouseFunc(view,
+ event.xbutton.button, event.type == ButtonPress,
+ event.xbutton.x, event.xbutton.y);
+ }
+ break;
+ case KeyPress:
+ setModifiers(view, event.xkey.state, event.xkey.time);
+ dispatchKey(view, &event, true);
+ break;
+ case KeyRelease:
+ setModifiers(view, event.xkey.state, event.xkey.time);
+ if (view->ignoreKeyRepeat &&
+ XEventsQueued(view->impl->display, QueuedAfterReading)) {
+ XEvent next;
+ XPeekEvent(view->impl->display, &next);
+ if (next.type == KeyPress &&
+ next.xkey.time == event.xkey.time &&
+ next.xkey.keycode == event.xkey.keycode) {
+ XNextEvent(view->impl->display, &event);
+ break;
+ }
+ }
+ dispatchKey(view, &event, false);
+ break;
+ case ClientMessage:
+ if (!strcmp(XGetAtomName(view->impl->display,
+ event.xclient.message_type),
+ "WM_PROTOCOLS")) {
+ if (view->closeFunc) {
+ view->closeFunc(view);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (view->redisplay) {
+ puglDisplay(view);
+ }
+
+ return PUGL_SUCCESS;
+}
+
+void
+puglPostRedisplay(PuglView* view)
+{
+ view->redisplay = true;
+}
+
+PuglNativeWindow
+puglGetNativeWindow(PuglView* view)
+{
+ return view->impl->win;
+}
diff --git a/src/Makefile.am b/src/Makefile.am
index df9f4ca..a1b1615 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,8 @@
EXTRA_DIST = \
+ audiocachefile.h \
+ audiocache.h \
+ audiocacheeventhandler.h \
+ audiocacheidmanager.h \
audio.h \
audiofile.h \
audioinputengine.h \
@@ -8,8 +12,10 @@ EXTRA_DIST = \
channel.h \
channelmixer.h \
chresampler.h \
+ configfile.h \
configuration.h \
configparser.h \
+ cpp11fix.h \
drumgizmo.h \
drumkit.h \
drumkitloader.h \
@@ -17,6 +23,7 @@ EXTRA_DIST = \
events.h \
instrument.h \
instrumentparser.h \
+ memchecker.h \
message.h \
messagehandler.h \
messagereceiver.h \
@@ -34,6 +41,10 @@ EXTRA_DIST = \
velocity.h \
versionstr.h \
\
+ audiocachefile.cc \
+ audiocache.cc \
+ audiocacheeventhandler.cc \
+ audiocacheidmanager.cc \
audiofile.cc \
audioinputengine.cc \
audioinputenginemidi.cc \
@@ -42,6 +53,7 @@ EXTRA_DIST = \
channel.cc \
channelmixer.cc \
chresampler.cc \
+ configfile.cc \
configuration.cc \
configparser.cc \
drumgizmo.cc \
@@ -51,6 +63,7 @@ EXTRA_DIST = \
events.cc \
instrument.cc \
instrumentparser.cc \
+ memchecker.cc \
messagehandler.cc \
messagereceiver.cc \
midimapparser.cc \
@@ -63,4 +76,4 @@ EXTRA_DIST = \
semaphore.cc \
thread.cc \
velocity.cc \
- versionstr.cc
\ No newline at end of file
+ versionstr.cc
diff --git a/src/Makefile.am.drumgizmo b/src/Makefile.am.drumgizmo
index 26e2a30..e41bacc 100644
--- a/src/Makefile.am.drumgizmo
+++ b/src/Makefile.am.drumgizmo
@@ -1,9 +1,16 @@
+# -*- Makefile -*-
+
DRUMGIZMO_SOURCES = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
$(top_srcdir)/src/audioinputenginemidi.cc \
$(top_srcdir)/src/audiofile.cc \
$(top_srcdir)/src/channel.cc \
$(top_srcdir)/src/channelmixer.cc \
$(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
$(top_srcdir)/src/configuration.cc \
$(top_srcdir)/src/configparser.cc \
$(top_srcdir)/src/drumgizmo.cc \
@@ -13,6 +20,7 @@ DRUMGIZMO_SOURCES = \
$(top_srcdir)/src/events.cc \
$(top_srcdir)/src/instrument.cc \
$(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
$(top_srcdir)/src/messagehandler.cc \
$(top_srcdir)/src/messagereceiver.cc \
$(top_srcdir)/src/midimapparser.cc \
@@ -27,4 +35,12 @@ DRUMGIZMO_SOURCES = \
$(top_srcdir)/src/velocity.cc \
$(top_srcdir)/src/versionstr.cc
-DRUMGIZMO_LIBS = $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS)
\ No newline at end of file
+DRUMGIZMO_LIBS = \
+ $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS) \
+ $(PTHREAD_LIBS)
+
+DRUMGIZMO_CPPFLAGS = \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/hugin \
+ $(SSEFLAGS) \
+ $(ZITA_CPPFLAGS) $(SNDFILE_CXXFLAGS) $(EXPAT_CFLAGS) $(SAMPLERATE_CFLAGS) \
+ $(PTHREAD_CFLAGS)
diff --git a/src/Makefile.in b/src/Makefile.in
index 58191e8..6f13097 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -145,7 +145,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -209,8 +209,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -266,6 +264,10 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
+ audiocachefile.h \
+ audiocache.h \
+ audiocacheeventhandler.h \
+ audiocacheidmanager.h \
audio.h \
audiofile.h \
audioinputengine.h \
@@ -275,8 +277,10 @@ EXTRA_DIST = \
channel.h \
channelmixer.h \
chresampler.h \
+ configfile.h \
configuration.h \
configparser.h \
+ cpp11fix.h \
drumgizmo.h \
drumkit.h \
drumkitloader.h \
@@ -284,6 +288,7 @@ EXTRA_DIST = \
events.h \
instrument.h \
instrumentparser.h \
+ memchecker.h \
message.h \
messagehandler.h \
messagereceiver.h \
@@ -301,6 +306,10 @@ EXTRA_DIST = \
velocity.h \
versionstr.h \
\
+ audiocachefile.cc \
+ audiocache.cc \
+ audiocacheeventhandler.cc \
+ audiocacheidmanager.cc \
audiofile.cc \
audioinputengine.cc \
audioinputenginemidi.cc \
@@ -309,6 +318,7 @@ EXTRA_DIST = \
channel.cc \
channelmixer.cc \
chresampler.cc \
+ configfile.cc \
configuration.cc \
configparser.cc \
drumgizmo.cc \
@@ -318,6 +328,7 @@ EXTRA_DIST = \
events.cc \
instrument.cc \
instrumentparser.cc \
+ memchecker.cc \
messagehandler.cc \
messagereceiver.cc \
midimapparser.cc \
diff --git a/src/audio.h b/src/audio.h
index dc890cc..a5ef06d 100644
--- a/src/audio.h
+++ b/src/audio.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/audiocache.cc b/src/audiocache.cc
new file mode 100644
index 0000000..65ddef9
--- /dev/null
+++ b/src/audiocache.cc
@@ -0,0 +1,297 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocache.cc
+ *
+ * Fri Apr 10 10:39:24 CEST 2015
+ * Copyright 2015 Jonas Suhr Christensen
+ * jsc at umbraculum.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "audiocache.h"
+
+#include <mutex>
+
+#include <stdio.h>
+#include <assert.h>
+
+#include <hugin.hpp>
+
+#include "audiocachefile.h"
+
+#define CHUNKSIZE(x) (x * CHUNK_MULTIPLIER)
+
+AudioCache::~AudioCache()
+{
+ DEBUG(cache, "~AudioCache() pre\n");
+
+ deinit();
+ delete[] nodata;
+
+ DEBUG(cache, "~AudioCache() post\n");
+}
+
+void AudioCache::init(size_t poolsize)
+{
+ setAsyncMode(true);
+
+ id_manager.init(poolsize);
+ event_handler.start();
+}
+
+void AudioCache::deinit()
+{
+ event_handler.stop();
+}
+
+// Invariant: initial_samples_needed < preloaded audio data
+sample_t* AudioCache::open(const AudioFile& file, size_t initial_samples_needed,
+ int channel, cacheid_t& id)
+{
+ if(!file.isValid())
+ {
+ // File preload not yet ready - skip this sample.
+ id = CACHE_DUMMYID;
+ assert(nodata);
+ return nodata;
+ }
+
+ // Register a new id for this cache session.
+ id = id_manager.registerID({});
+
+ // If we are out of available ids we get CACHE_DUMMYID
+ if(id == CACHE_DUMMYID)
+ {
+ // Use nodata buffer instead.
+ assert(nodata);
+ return nodata;
+ }
+
+ // Get the cache_t connected with the registered id.
+ cache_t& c = id_manager.getCache(id);
+
+ c.afile = nullptr; // File is opened when needed.
+ c.channel = channel;
+
+ // Next call to 'next()' will read from this point.
+ c.localpos = initial_samples_needed;
+
+ c.front = nullptr; // This is allocated when needed.
+ c.back = nullptr; // This is allocated when needed.
+
+ size_t cropped_size;
+
+ if(file.preloadedsize == file.size)
+ {
+ // We have preloaded the entire file, so use it.
+ cropped_size = file.preloadedsize;
+ }
+ else
+ {
+ // Make sure that the preload-data made available to the next() calls
+ // fit on frame boundary:
+ //
+ // [ all preloaded data ]
+ // [ initial ][ biggest multiple of full frames ][ the rest ]
+ // \ /
+ // \----------------------v-------------------/
+ // cropped_size
+
+ cropped_size = file.preloadedsize - c.localpos;
+ cropped_size -= cropped_size % framesize;
+ cropped_size += initial_samples_needed;
+ }
+
+ c.preloaded_samples = file.data;
+ c.preloaded_samples_size = cropped_size;
+
+ // Next potential read from disk will read from this point.
+ c.pos = cropped_size;
+
+ // Only load next buffer if there is more data in the file to be loaded...
+ if(c.pos < file.size)
+ {
+ c.afile = &event_handler.openFile(file.filename);
+
+ if(c.back == nullptr)
+ {
+ c.back = new sample_t[CHUNKSIZE(framesize)];
+ }
+
+ event_handler.pushLoadNextEvent(c.afile, c.channel, c.pos,
+ c.back, &c.ready);
+ }
+
+ return c.preloaded_samples; // return preloaded data
+}
+
+sample_t* AudioCache::next(cacheid_t id, size_t& size)
+{
+ size = framesize;
+
+ if(id == CACHE_DUMMYID)
+ {
+ assert(nodata);
+ return nodata;
+ }
+
+ cache_t& c = id_manager.getCache(id);
+
+ if(c.preloaded_samples)
+ {
+
+ // We are playing from memory:
+ if(c.localpos < c.preloaded_samples_size)
+ {
+ sample_t* s = c.preloaded_samples + c.localpos;
+
+ if((c.localpos + framesize) > c.preloaded_samples_size)
+ {
+ // Only a partial frame is returned. Reflect this in the size
+ size = c.preloaded_samples_size - c.localpos;
+ }
+
+ c.localpos += framesize;
+
+ return s;
+ }
+
+ c.preloaded_samples = nullptr; // Start using samples from disk.
+
+ }
+ else
+ {
+
+ // We are playing from cache:
+ if(c.localpos < CHUNKSIZE(framesize))
+ {
+ sample_t* s = c.front + c.localpos;
+ c.localpos += framesize;
+ return s;
+ }
+ }
+
+ // Check for buffer underrun
+ if(!c.ready)
+ {
+ // Just return silence.
+ ++number_of_underruns;
+ return nodata;
+ }
+
+ // Swap buffers
+ std::swap(c.front, c.back);
+
+ // Next time we go here we have already read the first frame.
+ c.localpos = framesize;
+
+ c.pos += CHUNKSIZE(framesize);
+
+ // Does the file have remaining unread samples?
+ assert(c.afile); // Assert that we have an audio file.
+ if(c.pos < c.afile->getSize())
+ {
+ // Do we have a back buffer to read into?
+ if(c.back == nullptr)
+ {
+ c.back = new sample_t[CHUNKSIZE(framesize)];
+ }
+
+ event_handler.pushLoadNextEvent(c.afile, c.channel, c.pos,
+ c.back, &c.ready);
+ }
+
+ // We should always have a front buffer at this point.
+ assert(c.front);
+
+ return c.front;
+}
+
+bool AudioCache::isReady(cacheid_t id)
+{
+ if(id == CACHE_DUMMYID)
+ {
+ return true;
+ }
+
+ cache_t& cache = id_manager.getCache(id);
+ return cache.ready;
+}
+
+void AudioCache::close(cacheid_t id)
+{
+ if(id == CACHE_DUMMYID)
+ {
+ return;
+ }
+
+ event_handler.pushCloseEvent(id);
+}
+
+void AudioCache::setFrameSize(size_t framesize)
+{
+ DEBUG(cache, "%s\n", __PRETTY_FUNCTION__);
+
+ // Make sure the event handler thread is stalled while we set the framesize
+ // state.
+ std::lock_guard<AudioCacheEventHandler> event_handler_lock(event_handler);
+
+ // NOTE: Not threaded...
+ //std::lock_guard<AudioCacheIDManager> id_manager_lock(id_manager);
+
+ if(framesize > this->framesize)
+ {
+ delete[] nodata;
+ nodata = new sample_t[framesize];
+
+ for(size_t i = 0; i < framesize; ++i)
+ {
+ nodata[i] = 0.0f;
+ }
+ }
+
+ this->framesize = framesize;
+
+ event_handler.setChunkSize(CHUNKSIZE(framesize));
+}
+
+size_t AudioCache::frameSize() const
+{
+ return framesize;
+}
+
+void AudioCache::setAsyncMode(bool async)
+{
+ event_handler.setThreaded(async);
+}
+
+bool AudioCache::asyncMode() const
+{
+ return event_handler.isThreaded();
+}
+
+size_t AudioCache::getNumberOfUnderruns() const
+{
+ return number_of_underruns;
+}
+
+void AudioCache::resetNumberOfUnderruns()
+{
+ number_of_underruns = 0;
+}
diff --git a/src/audiocache.h b/src/audiocache.h
new file mode 100644
index 0000000..5e27cc5
--- /dev/null
+++ b/src/audiocache.h
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocache.h
+ *
+ * Fri Apr 10 10:39:24 CEST 2015
+ * Copyright 2015 Jonas Suhr Christensen
+ * jsc at umbraculum.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <string>
+#include <list>
+#include <vector>
+
+#include "audiotypes.h"
+#include "audiofile.h"
+
+#include "audiocachefile.h"
+#include "audiocacheidmanager.h"
+#include "audiocacheeventhandler.h"
+
+#define CHUNK_MULTIPLIER 16
+
+class AudioCache {
+public:
+ AudioCache() = default;
+
+ //! Destroy object and stop thread if needed.
+ ~AudioCache();
+
+ //! Initialise cache manager and allocate needed resources
+ //! This method starts the cache manager thread.
+ //! This method blocks until the thread has been started.
+ //! \param poolsize The maximum number of parellel events supported.
+ void init(size_t poolsize);
+
+ //! Stop thread and clean up resources.
+ //! This method blocks until the thread has stopped.
+ void deinit();
+
+ //! Register new cache entry.
+ //! Prepares an entry in the cache manager for future disk streaming.
+ //! \param file A pointer to the file which is to be streamed from.
+ //! \param initial_samples_needed The number of samples needed in the first
+ //! read that is not nessecarily of framesize. This is the number of samples
+ //! from the input event offset to the end of the frame in which it resides.
+ //! initial_samples_needed <= framesize.
+ //! \param channel The channel to which the cache id will be bound.
+ //! \param [out] new_id The newly created cache id.
+ //! \return A pointer to the first buffer containing the
+ //! 'initial_samples_needed' number of samples.
+ sample_t* open(const AudioFile& file, size_t initial_samples_needed, int channel,
+ cacheid_t& new_id);
+
+ //! Get next buffer.
+ //! Returns the next buffer for reading based on cache id.
+ //! This function will (if needed) schedule a new disk read to make sure that
+ //! data is available in the next call to this method.
+ //! \param id The cache id to read from.
+ //! \param [out] size The size of the returned buffer.
+ //! \return A pointer to the buffer.
+ sample_t* next(cacheid_t id, size_t &size);
+
+ //! Returns true iff the next chunk of the supplied id has been read from disk.
+ bool isReady(cacheid_t id);
+
+ //! Unregister cache entry.
+ //! Close associated file handles and free associated buffers.
+ //! \param id The cache id to close.
+ void close(cacheid_t id);
+
+ //! Set/get internal framesize used when iterating through cache buffers.
+ void setFrameSize(size_t framesize);
+ size_t frameSize() const;
+
+ //! Control/get reader threaded mode.
+ //! True means reading happening threaded, false means all reading done
+ //! synchronious.
+ void setAsyncMode(bool async);
+ bool asyncMode() const;
+
+ //! Return the number of chunks that were read too late.
+ size_t getNumberOfUnderruns() const;
+
+ //! Set underrun counter to 0.
+ void resetNumberOfUnderruns();
+
+private:
+ size_t framesize{0};
+ sample_t* nodata{nullptr};
+ size_t number_of_underruns{0};
+
+ AudioCacheIDManager id_manager;
+ AudioCacheEventHandler event_handler{id_manager};
+};
diff --git a/src/audiocacheeventhandler.cc b/src/audiocacheeventhandler.cc
new file mode 100644
index 0000000..8ceabc8
--- /dev/null
+++ b/src/audiocacheeventhandler.cc
@@ -0,0 +1,326 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocacheeventhandler.cc
+ *
+ * Sun Jan 3 19:57:55 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "audiocacheeventhandler.h"
+
+#include <assert.h>
+
+#include <hugin.hpp>
+
+#include "audiocachefile.h"
+#include "audiocache.h"
+#include "audiocacheidmanager.h"
+
+enum class EventType {
+ LoadNext,
+ Close,
+};
+
+class CacheEvent {
+public:
+ EventType event_type;
+
+ // For close event:
+ cacheid_t id;
+
+ // For load next event:
+ size_t pos;
+ AudioCacheFile* afile;
+ CacheChannels channels;
+};
+
+AudioCacheEventHandler::AudioCacheEventHandler(AudioCacheIDManager& id_manager)
+ : id_manager(id_manager)
+{
+}
+
+AudioCacheEventHandler::~AudioCacheEventHandler()
+{
+ // Close all ids already enqueued to be closed.
+ clearEvents();
+
+ auto active_ids = id_manager.getActiveIDs();
+ for(auto id : active_ids)
+ {
+ handleCloseCache(id);
+ }
+}
+
+void AudioCacheEventHandler::start()
+{
+ if(running)
+ {
+ return;
+ }
+
+ running = true;
+ run();
+ sem_run.wait();
+}
+
+void AudioCacheEventHandler::stop()
+{
+ if(!running)
+ {
+ return;
+ }
+
+ running = false;
+
+ sem.post();
+ wait_stop();
+}
+
+void AudioCacheEventHandler::setThreaded(bool threaded)
+{
+ if(this->threaded == threaded)
+ {
+ return;
+ }
+
+ if(threaded && !running)
+ {
+ start();
+ }
+ else if(!threaded && running)
+ {
+ stop();
+ }
+
+ this->threaded = threaded;
+}
+
+bool AudioCacheEventHandler::isThreaded() const
+{
+ return threaded;
+}
+
+void AudioCacheEventHandler::lock()
+{
+ mutex.lock();
+}
+
+void AudioCacheEventHandler::unlock()
+{
+ mutex.unlock();
+}
+
+void AudioCacheEventHandler::pushLoadNextEvent(AudioCacheFile* afile,
+ size_t channel,
+ size_t pos, sample_t* buffer,
+ volatile bool* ready)
+{
+ CacheEvent cache_event;
+ cache_event.event_type = EventType::LoadNext;
+ cache_event.pos = pos;
+ cache_event.afile = afile;
+
+ CacheChannel c;
+ c.channel = channel;
+ c.samples = buffer;
+
+ *ready = false;
+ c.ready = ready;
+
+ cache_event.channels.insert(cache_event.channels.end(), c);
+
+ pushEvent(cache_event);
+}
+
+void AudioCacheEventHandler::pushCloseEvent(cacheid_t id)
+{
+ CacheEvent cache_event;
+ cache_event.event_type = EventType::Close;
+ cache_event.id = id;
+
+ pushEvent(cache_event);
+}
+
+void AudioCacheEventHandler::setChunkSize(size_t chunksize)
+{
+ DEBUG(cache, "%s\n", __PRETTY_FUNCTION__);
+
+ // We should already locked when this method is called.
+ //assert(!mutex.try_lock());
+
+ if(this->chunksize == chunksize)
+ {
+ return;
+ }
+
+ DEBUG(cache, "setChunkSize 1\n");
+
+ // Remove all events from event queue.
+ clearEvents();
+
+ DEBUG(cache, "setChunkSize 2\n");
+
+ // Skip all active cacheids and make their buffers point at nodata.
+ id_manager.disableActive();
+
+ DEBUG(cache, "setChunkSize 3\n");
+
+ this->chunksize = chunksize;
+}
+
+size_t AudioCacheEventHandler::chunkSize()
+{
+ return chunksize;
+}
+
+AudioCacheFile& AudioCacheEventHandler::openFile(const std::string& filename)
+{
+ std::lock_guard<std::mutex> lock(mutex);
+ return files.getFile(filename);
+}
+
+void AudioCacheEventHandler::clearEvents()
+{
+ // Iterate all events ignoring load events and handling close events.
+ for(auto& event : eventqueue)
+ {
+ if(event.event_type == EventType::Close)
+ {
+ handleCloseCache(event.id); // This method does not lock.
+ }
+ }
+
+ eventqueue.clear();
+}
+
+void AudioCacheEventHandler::handleLoadNextEvent(CacheEvent& cache_event)
+{
+ assert(cache_event.afile); // Assert that we have an audio file
+
+ cache_event.afile->readChunk(cache_event.channels, cache_event.pos,
+ chunksize);
+}
+
+void AudioCacheEventHandler::handleCloseEvent(CacheEvent& cache_event)
+{
+ std::lock_guard<std::mutex> lock(mutex);
+ handleCloseCache(cache_event.id);
+}
+
+void AudioCacheEventHandler::handleCloseCache(cacheid_t id)
+{
+ auto& cache = id_manager.getCache(id);
+
+ // Only close the file if we have also opened it.
+ if(cache.afile)
+ {
+ files.releaseFile(cache.afile->getFilename());
+ }
+
+ delete[] cache.front;
+ delete[] cache.back;
+
+ id_manager.releaseID(id);
+}
+
+void AudioCacheEventHandler::handleEvent(CacheEvent& cache_event)
+{
+ switch(cache_event.event_type)
+ {
+ case EventType::LoadNext:
+ handleLoadNextEvent(cache_event);
+ break;
+ case EventType::Close:
+ handleCloseEvent(cache_event);
+ break;
+ }
+}
+
+void AudioCacheEventHandler::thread_main()
+{
+ sem_run.post(); // Signal that the thread has been started
+
+ while(running)
+ {
+ sem.wait();
+
+ mutex.lock();
+ if(eventqueue.empty())
+ {
+ mutex.unlock();
+ continue;
+ }
+
+ CacheEvent cache_event = eventqueue.front();
+ eventqueue.pop_front();
+ mutex.unlock();
+
+ handleEvent(cache_event);
+ }
+}
+
+void AudioCacheEventHandler::pushEvent(CacheEvent& cache_event)
+{
+ if(!threaded)
+ {
+ handleEvent(cache_event);
+ return;
+ }
+
+ {
+ std::lock_guard<std::mutex> lock(mutex);
+
+ bool found = false;
+
+ if(cache_event.event_type == EventType::LoadNext)
+ {
+ for(auto& queued_event : eventqueue)
+ {
+ if(queued_event.event_type == EventType::LoadNext)
+ {
+
+ assert(cache_event.afile); // Assert that we have an audio file
+ assert(queued_event.afile); // Assert that we have an audio file
+
+ if((cache_event.afile->getFilename() ==
+ queued_event.afile->getFilename()) &&
+ (cache_event.pos == queued_event.pos))
+ {
+ // Append channel and buffer to the existing event.
+ queued_event.channels.insert(queued_event.channels.end(),
+ cache_event.channels.begin(),
+ cache_event.channels.end());
+ found = true;
+ break;
+ }
+ }
+ }
+ }
+
+ if(!found)
+ {
+ // The event was not already on the list, create a new one.
+ eventqueue.push_back(cache_event);
+ }
+ }
+
+ sem.post();
+}
diff --git a/src/audiocacheeventhandler.h b/src/audiocacheeventhandler.h
new file mode 100644
index 0000000..87cb3eb
--- /dev/null
+++ b/src/audiocacheeventhandler.h
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocacheeventhandler.h
+ *
+ * Sun Jan 3 19:57:55 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <list>
+#include <mutex>
+
+#include "thread.h"
+#include "semaphore.h"
+#include "mutex.h"
+
+#include "audiocachefile.h"
+#include "audiocacheidmanager.h"
+
+class CacheEvent;
+
+class AudioCacheEventHandler
+ : protected Thread
+{
+public:
+ AudioCacheEventHandler(AudioCacheIDManager& id_manager);
+ ~AudioCacheEventHandler();
+
+ //! Start event handler thread.
+ //! This method blocks until the thread has actually been started.
+ void start();
+
+ //! Stop event handler thread.
+ //! This method blocks until the thread has actually been stopped.
+ void stop();
+
+ //! Set thread status and start/stop thread accordingly.
+ //! \param threaded Set to true to start thread or false to stop it.
+ void setThreaded(bool threaded);
+
+ //! Get current threaded status.
+ bool isThreaded() const;
+
+ //! Lock thread mutex.
+ //! This methods are supplied to make this class lockable by std::lock_guard
+ void lock();
+
+ //! Unlock thread mutex.
+ //! This methods are supplied to make this class lockable by std::lock_guard
+ void unlock();
+
+ void pushLoadNextEvent(AudioCacheFile* afile, size_t channel,
+ size_t pos, sample_t* buffer,
+ volatile bool* ready);
+ void pushCloseEvent(cacheid_t id);
+
+ void setChunkSize(size_t chunksize);
+ size_t chunkSize();
+
+ AudioCacheFile& openFile(const std::string& filename);
+
+protected:
+ void clearEvents();
+
+ void handleLoadNextEvent(CacheEvent& cache_event);
+
+ //! Lock the mutex and calls handleCloseCache
+ void handleCloseEvent(CacheEvent& cache_event);
+
+ //! Close decrease the file ref and release the cache id.
+ void handleCloseCache(cacheid_t id);
+
+ void handleEvent(CacheEvent& cache_event);
+
+ // From Thread
+ void thread_main() override;
+
+ void pushEvent(CacheEvent& cache_event);
+
+ AudioCacheFiles files;
+
+ std::mutex mutex;
+
+ std::list<CacheEvent> eventqueue;
+
+ bool threaded{false};
+ Semaphore sem;
+ Semaphore sem_run;
+ bool running{false};
+
+ AudioCacheIDManager& id_manager;
+
+ size_t chunksize{1024};
+};
diff --git a/src/audiocachefile.cc b/src/audiocachefile.cc
new file mode 100644
index 0000000..41e9859
--- /dev/null
+++ b/src/audiocachefile.cc
@@ -0,0 +1,169 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * cacheaudiofile.cc
+ *
+ * Thu Dec 24 12:17:58 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "audiocachefile.h"
+
+#include <assert.h>
+
+#include <hugin.hpp>
+
+#include <cstring>
+
+#include "audiocache.h"
+
+AudioCacheFile::AudioCacheFile(const std::string& filename,
+ std::vector<sample_t>& read_buffer)
+ : filename(filename), read_buffer(read_buffer)
+{
+ std::memset(&sf_info, 0, sizeof(SF_INFO));
+
+ fh = sf_open(filename.c_str(), SFM_READ, &sf_info);
+ if(!fh)
+ {
+ ERR(audiofile,"SNDFILE Error (%s): %s\n",
+ filename.c_str(), sf_strerror(fh));
+ return;
+ }
+
+ if(sf_info.frames == 0)
+ {
+ WARN(cache, "sf_info.frames == 0\n");
+ }
+}
+
+AudioCacheFile::~AudioCacheFile()
+{
+ if(fh)
+ {
+ sf_close(fh);
+ fh = nullptr;
+ }
+}
+
+size_t AudioCacheFile::getSize() const
+{
+ return sf_info.frames;
+}
+
+const std::string& AudioCacheFile::getFilename() const
+{
+ return filename;
+}
+
+size_t AudioCacheFile::getChannelCount()
+{
+ return sf_info.channels;
+}
+
+void AudioCacheFile::readChunk(const CacheChannels& channels,
+ size_t pos, size_t num_samples)
+{
+ //assert(fh != nullptr); // File handle must never be nullptr
+ if(!fh)
+ {
+ return;
+ }
+
+ if((int)pos > sf_info.frames)
+ {
+ WARN(cache, "pos (%d) > sf_info.frames (%d)\n",
+ (int)pos, (int)sf_info.frames);
+ return;
+ }
+
+ sf_seek(fh, pos, SEEK_SET);
+
+ size_t size = sf_info.frames - pos;
+ if(size > num_samples)
+ {
+ size = num_samples;
+ }
+
+ if((size * sf_info.channels) > read_buffer.size())
+ {
+ read_buffer.resize(size * sf_info.channels);
+ }
+
+ size_t read_size = sf_readf_float(fh, read_buffer.data(), size);
+ (void)read_size;
+
+ for(auto it = channels.begin(); it != channels.end(); ++it)
+ {
+ size_t channel = it->channel;
+ sample_t* data = it->samples;
+ for (size_t i = 0; i < size; ++i)
+ {
+ data[i] = read_buffer[(i * sf_info.channels) + channel];
+ }
+ }
+
+ for(auto it = channels.begin(); it != channels.end(); ++it)
+ {
+ *(it->ready) = true;
+ }
+}
+
+AudioCacheFile& AudioCacheFiles::getFile(const std::string& filename)
+{
+ std::lock_guard<std::mutex> lock(mutex);
+
+ auto it = audiofiles.find(filename);
+ if(it == audiofiles.end())
+ {
+ // Construct a new AudioCacheFile in place. The in place construction is relevant.
+ it = audiofiles.emplace(std::piecewise_construct, std::make_tuple(filename),
+ std::make_tuple(filename, std::ref(read_buffer))).first;
+ }
+
+ auto& cache_audio_file = it->second;
+
+ // Increase ref count.
+ ++cache_audio_file.ref;
+
+ return cache_audio_file;
+}
+
+void AudioCacheFiles::releaseFile(const std::string& filename)
+{
+ std::lock_guard<std::mutex> lock(mutex);
+
+ auto it = audiofiles.find(filename);
+ if(it == audiofiles.end())
+ {
+ assert(false); // This should never happen!
+ return; // not open
+ }
+
+ auto& audiofile = it->second;
+
+ assert(audiofile.ref); // If ref is not > 0 it shouldn't be in the map.
+
+ --audiofile.ref;
+ if(audiofile.ref == 0)
+ {
+ audiofiles.erase(it);
+ }
+}
diff --git a/src/audiocachefile.h b/src/audiocachefile.h
new file mode 100644
index 0000000..88f1df2
--- /dev/null
+++ b/src/audiocachefile.h
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * cacheaudiofile.h
+ *
+ * Thu Dec 24 12:17:58 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <string>
+#include <list>
+#include <map>
+#include <vector>
+
+#include <mutex>
+#include "mutex.h"
+
+#include <sndfile.h>
+
+#include <audiotypes.h>
+
+//! Channel data container in the cache world.
+class CacheChannel {
+public:
+ size_t channel; //< Channel number
+ sample_t* samples; //< Sample buffer pointer.
+ size_t num_samples; //< Number of samples in the sample buffer
+ volatile bool* ready; //< Is set to true when the loading is done.
+};
+
+using CacheChannels = std::list<CacheChannel>;
+
+//! This class is used to encapsulate reading from a single file source.
+//! The access is ref counted so that the file is only opened once and closed
+//! when it is no longer required.
+class AudioCacheFile {
+ friend class AudioCacheFiles;
+ friend class TestableAudioCacheFiles;
+public:
+ //! Create file handle for filename.
+ AudioCacheFile(const std::string& filename, std::vector<sample_t>& read_buffer);
+
+ //! Closes file handle.
+ ~AudioCacheFile();
+
+ //! Get sample count of the file connected with this cache object.
+ size_t getSize() const;
+
+ //! Get filename of the file connected with this cache object.
+ const std::string& getFilename() const;
+
+ //! Get number of channels in the file
+ size_t getChannelCount();
+
+ //! Read audio data from the file into the supplied channel caches.
+ void readChunk(const CacheChannels& channels, size_t pos, size_t num_samples);
+
+private:
+ int ref{0};
+ SNDFILE* fh{nullptr};
+ SF_INFO sf_info;
+ std::string filename;
+ std::vector<sample_t>& read_buffer;
+};
+
+class AudioCacheFiles {
+public:
+ //! Get the CacheAudioFile object corresponding to filename.
+ //! If it does not exist it will be created.
+ //! It's ref count will be increased.
+ AudioCacheFile& getFile(const std::string& filename);
+
+ //! Release the CacheAudioFile corresponding to filename.
+ //! It's ref count will be decreased.
+ //! If the ref count reaches 0 the object will be deleted.
+ void releaseFile(const std::string& filename);
+
+protected:
+ std::map<std::string, AudioCacheFile> audiofiles;
+ std::mutex mutex;
+ std::vector<sample_t> read_buffer;
+};
diff --git a/src/audiocacheidmanager.cc b/src/audiocacheidmanager.cc
new file mode 100644
index 0000000..efef17e
--- /dev/null
+++ b/src/audiocacheidmanager.cc
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocacheidmanager.cc
+ *
+ * Tue Jan 5 10:59:37 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "audiocacheidmanager.h"
+
+#include <limits>
+#include <assert.h>
+
+AudioCacheIDManager::~AudioCacheIDManager()
+{
+ assert(available_ids.size() == id2cache.size()); // All ids should be released.
+}
+
+void AudioCacheIDManager::init(unsigned int capacity)
+{
+ std::lock_guard<std::mutex> guard(mutex);
+
+ id2cache.resize(capacity);
+ available_ids.resize(capacity);
+ for(size_t i = 0; i < capacity; ++i)
+ {
+ available_ids[i] = i;
+ }
+}
+
+cache_t& AudioCacheIDManager::getCache(cacheid_t id)
+{
+ std::lock_guard<std::mutex> guard(mutex);
+
+ assert(id != CACHE_NOID);
+ assert(id != CACHE_DUMMYID);
+ assert(id >= 0);
+ assert(id < (int)id2cache.size());
+ assert(id2cache[id].id == id);
+
+ return id2cache[id];
+}
+
+cacheid_t AudioCacheIDManager::registerID(const cache_t& cache)
+{
+ std::lock_guard<std::mutex> guard(mutex);
+
+ cacheid_t id = CACHE_NOID;
+
+ if(available_ids.empty())
+ {
+ return CACHE_DUMMYID;
+ }
+ else
+ {
+ id = available_ids.back();
+ available_ids.pop_back();
+ }
+
+ assert(id2cache[id].id == CACHE_NOID); // Make sure it is not already in use
+
+ id2cache[id] = cache;
+ id2cache[id].id = id;
+
+ return id;
+}
+
+void AudioCacheIDManager::releaseID(cacheid_t id)
+{
+ std::lock_guard<std::mutex> guard(mutex);
+
+ assert(id2cache[id].id != CACHE_NOID); // Test if it wasn't already released.
+
+ id2cache[id].id = CACHE_NOID;
+
+ available_ids.push_back(id);
+}
+
+void AudioCacheIDManager::disableActive()
+{
+ // Run through all active cache_ts and disable them.
+ for(auto& cache : id2cache)
+ {
+ if(cache.id != CACHE_NOID)
+ {
+ // Force use of nodata in all of the rest of the next() calls:
+ cache.localpos = std::numeric_limits<size_t>::max();
+ cache.ready = false;
+ }
+ }
+}
+
+std::vector<cacheid_t> AudioCacheIDManager::getActiveIDs()
+{
+ std::vector<cacheid_t> active_ids;
+
+ for(auto& cache : id2cache)
+ {
+ if(cache.id != CACHE_NOID)
+ {
+ active_ids.push_back(cache.id);
+ }
+ }
+
+ return active_ids;
+}
diff --git a/src/audiocacheidmanager.h b/src/audiocacheidmanager.h
new file mode 100644
index 0000000..a5a9755
--- /dev/null
+++ b/src/audiocacheidmanager.h
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocacheidmanager.h
+ *
+ * Tue Jan 5 10:59:37 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <stdlib.h>
+
+#include <vector>
+
+#include <audiotypes.h>
+
+#include <mutex>
+#include "mutex.h"
+
+class AudioCacheFile;
+
+#define CACHE_DUMMYID -2
+#define CACHE_NOID -1
+
+typedef int cacheid_t;
+
+typedef struct {
+ cacheid_t id{CACHE_NOID}; //< Current id of this cache_t. CACHE_NOID means not in use.
+
+ AudioCacheFile* afile{nullptr};
+ size_t channel{0};
+ size_t pos{0}; //< File position
+ volatile bool ready{false};
+ sample_t* front{nullptr};
+ sample_t* back{nullptr};
+ size_t localpos{0}; //< Intra buffer (front) position.
+
+ sample_t* preloaded_samples{nullptr}; // nullptr means preload buffer not active.
+ size_t preloaded_samples_size{0};
+} cache_t;
+
+class AudioCacheIDManager {
+ friend class AudioCacheEventHandler;
+public:
+ AudioCacheIDManager() = default;
+ ~AudioCacheIDManager();
+
+ //! Initialise id lists with specified capacity.
+ //! Exceeding this capacity will result in CACHE_DUMMYID on calls to
+ //! registerID.
+ void init(unsigned int capacity);
+
+ //! Get the cache object connected with the specified cacheid.
+ //! Note: The cacheid MUST be active.
+ cache_t& getCache(cacheid_t id);
+
+ //! Reserve a new cache object and return its cacheid.
+ //! The contents of the supplied cache object will be copied to the new
+ //! cache object.
+ cacheid_t registerID(const cache_t& cache);
+
+ //! Release a cache object and its correseponding cacheid.
+ //! After this call the cacheid can no longer be used.
+ void releaseID(cacheid_t id);
+
+protected:
+ // For AudioCacheEventHandler
+ void disableActive();
+ std::vector<cacheid_t> getActiveIDs();
+
+ std::mutex mutex;
+
+ std::vector<cache_t> id2cache;
+ std::vector<cacheid_t> available_ids;
+};
diff --git a/src/audiofile.cc b/src/audiofile.cc
index 59e0c14..58b248b 100644
--- a/src/audiofile.cc
+++ b/src/audiofile.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
@@ -38,223 +38,116 @@
#include "configuration.h"
-AudioFile::AudioFile(std::string filename, int filechannel)
+AudioFile::AudioFile(const std::string& filename, int filechannel)
{
- is_loaded = false;
- this->filename = filename;
- this->filechannel = filechannel;
+ is_loaded = false;
+ this->filename = filename;
+ this->filechannel = filechannel;
- data = NULL;
- size = 0;
+ data = nullptr;
+ size = 0;
-#ifdef LAZYLOAD
- preloaded_data = NULL;
-#endif/*LAZYLOAD*/
-
- magic = this;
+ magic = this;
}
AudioFile::~AudioFile()
{
- magic = NULL;
- unload();
+ magic = nullptr;
+ unload();
}
-bool AudioFile::isValid()
+bool AudioFile::isValid() const
{
- return this == magic;
+ return this == magic;
}
void AudioFile::unload()
{
- // Make sure we don't unload the object while loading it...
- MutexAutolock l(mutex);
+ // Make sure we don't unload the object while loading it...
+ MutexAutolock l(mutex);
- is_loaded = false;
+ is_loaded = false;
-#ifdef LAZYLOAD
- if(data == preloaded_data) {
- delete[] data;
- data = NULL;
- size = 0;
- } else {
- size = 0;
- delete[] data;
- data = NULL;
- delete preloaded_data;
- preloaded_data = NULL;
- }
-#else
- delete[] data;
- data = NULL;
- size = 0;
-#endif/*LAZYLOAD*/
+ delete[] data;
+ data = nullptr;
+ size = 0;
}
#define BUFFER_SIZE 4092
void AudioFile::load(int num_samples)
{
- // Make sure we don't unload the object while loading it...
- MutexAutolock l(mutex);
-
- /*
- Lazy load of drum kits
- init();
- return;
- */
-
- if(data) return;
-
- SF_INFO sf_info;
- SNDFILE *fh = sf_open(filename.c_str(), SFM_READ, &sf_info);
- if(!fh) {
- ERR(audiofile,"SNDFILE Error (%s): %s\n",
- filename.c_str(), sf_strerror(fh));
- return;
- }
-
- size = sf_info.frames;
-
- double ratio = (double)Conf::samplerate / (double)sf_info.samplerate;
-
- if(num_samples != ALL_SAMPLES) {
- // Make sure we read enough samples, even after conversion.
- num_samples /= ratio;
- if((int)size > num_samples) size = num_samples;
- }
-
- sample_t* data = new sample_t[size];
- if(sf_info.channels == 1) {
- size = sf_read_float(fh, data, size);
- }
- else {
- // check filechannel exists
- if(filechannel >= sf_info.channels) {
- filechannel = sf_info.channels - 1;
- }
- sample_t buffer[BUFFER_SIZE];
- int readsize = BUFFER_SIZE / sf_info.channels;
- int totalread = 0;
- int read;
- do {
- read = sf_readf_float(fh, buffer, readsize);
- for (int i = 0; i < read; i++) {
- data[totalread++] = buffer[i * sf_info.channels + filechannel];
- }
- } while(read > 0 && totalread < (int)size);
- // set data size to total bytes read
- size = totalread;
- }
-
- DEBUG(audiofile,"Loaded %d samples %p\n", (int)size, this);
-
- sf_close(fh);
-
- this->data = data;
- is_loaded = true;
-
- //DEBUG(audiofile, "Loading of %s completed.\n", filename.c_str());
-}
-
-bool AudioFile::isLoaded()
-{
- return is_loaded;
-}
-
-#ifdef LAZYLOAD
-#define SIZE 512*4
-void AudioFile::init()
-{
- //DEBUG(audiofile,"Initializing %p\n", this);
- if(data) {
- //DEBUG(audiofile,"\t already initialized\n");
- return;
- }
-
- SF_INFO sf_info;
- SNDFILE *fh = sf_open(filename.c_str(), SFM_READ, &sf_info);
- if(!fh) {
- ERR(audiofile,"SNDFILE Error (%s): %s\n",
- filename.c_str(), sf_strerror(fh));
- return;
- }
-
- int size = SIZE;
-
- sample_t* data = new sample_t[size];
-
- size = sf_read_float(fh, data, size);
-
- //DEBUG(audiofile,"Lazy loaded %d samples\n", size);
- sf_close(fh);
-
- mutex.lock();
- this->data = data;
- this->size = size;
- this->preloaded_data = data;
- this->is_loaded = true;
- mutex.unlock();
+ // Make sure we don't unload the object while loading it...
+ MutexAutolock l(mutex);
+
+ if(data)
+ {
+ return;
+ }
+
+ SF_INFO sf_info{};
+ SNDFILE *fh = sf_open(filename.c_str(), SFM_READ, &sf_info);
+ if(!fh)
+ {
+ ERR(audiofile,"SNDFILE Error (%s): %s\n",
+ filename.c_str(), sf_strerror(fh));
+ return;
+ }
+
+ if(num_samples == ALL_SAMPLES)
+ {
+ num_samples = sf_info.frames;
+ }
+
+ size = sf_info.frames;
+ preloadedsize = sf_info.frames;
+
+ if(preloadedsize > (size_t)num_samples)
+ {
+ preloadedsize = num_samples;
+ }
+
+ sample_t* data = new sample_t[preloadedsize];
+ if(sf_info.channels == 1)
+ {
+ preloadedsize = sf_read_float(fh, data, preloadedsize);
+ }
+ else
+ {
+ // check filechannel exists
+ if(filechannel >= sf_info.channels)
+ {
+ filechannel = sf_info.channels - 1;
+ }
+
+ sample_t buffer[BUFFER_SIZE];
+ int readsize = BUFFER_SIZE / sf_info.channels;
+ int totalread = 0;
+ int read;
+
+ do
+ {
+ read = sf_readf_float(fh, buffer, readsize);
+ for(int i = 0; (i < read) && (totalread < num_samples); ++i)
+ {
+ data[totalread++] = buffer[i * sf_info.channels + filechannel];
+ }
+ }
+ while( (read > 0) &&
+ (totalread < (int)preloadedsize) &&
+ (totalread < num_samples) );
+
+ // set data size to total bytes read
+ preloadedsize = totalread;
+ }
+
+ sf_close(fh);
+
+ this->data = data;
+ is_loaded = true;
}
-void AudioFile::loadNext()
+bool AudioFile::isLoaded() const
{
- if(this->data != this->preloaded_data) {
- //DEBUG(audiofile,"Already completely loaded %p\n", this);
- return;
- }
-
- SF_INFO sf_info;
- SNDFILE *fh = sf_open(filename.c_str(), SFM_READ, &sf_info);
- if(!fh) {
- ERR(audiofile,"SNDFILE Error (%s): %s\n",
- filename.c_str(), sf_strerror(fh));
- return;
- }
-
- int r;
-// int size_accum = 0;
- sample_t* data = new sample_t[sf_info.frames];
- memcpy(data, this->preloaded_data, this->size * sizeof(sample_t));
- this->data = data;
- sf_seek(fh, this->size, SEEK_SET);
-// sample_t* data_buf = new sample_t[SIZE];
- while(this->size < sf_info.frames) {
- //DEBUG(audiofile,"Accumulated %d of %llu\n", size_accum, sf_info.frames);
- //if( (r = sf_read_float(fh, data_buf, SIZE)) < 0) {
- if( (r = sf_read_float(fh, &data[this->size], SIZE)) < 0) {
- ERR(audiofile,"Error reading sound file\n");
- break;
- }
- //size_accum += r;
- //memcpy(data+size_accum, data_buf, sizeof(sample_t) * r);
- this->size += r;
- }
- //delete data_buf;
-
- //DEBUG(audiofile,"Finished loading %d samples %p\n", size, this);
- sf_close(fh);
-
- //mutex.lock();
- //this->data = data;
- //this->size = size;
- //mutex.unlock();
-}
-
-void AudioFile::reset()
-{
- //DEBUG(audiofile,"Resetting audio file %p\n", this);
- if(this->data == this->preloaded_data) {
- //DEBUG(audiofile,"\tNot completely loaded - skipping %p\n", this);
- return;
- }
-
- mutex.lock();
- volatile sample_t* old_data = data;
- this->size = SIZE;
- this->data = this->preloaded_data;
- //DEBUG(audiofile,"Deleting data %p\n", this);
- delete old_data;
- mutex.unlock();
+ return is_loaded;
}
-#endif
diff --git a/src/audiofile.h b/src/audiofile.h
index 98bf101..c310a55 100644
--- a/src/audiofile.h
+++ b/src/audiofile.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_AUDIOFILE_H__
-#define __DRUMGIZMO_AUDIOFILE_H__
+#pragma once
#include <string>
#include <map>
@@ -36,72 +35,31 @@
#include "mutex.h"
#include "audio.h"
-/*
- Plan for lazy loading of audio (Brainstorming)
- * Encapsulate data array?
- - Speed issues?
- - Other suggestion
- * Trigger on read begin and read done
- - readnext(instrument)?
- * size_t current latest loaded sample
- * run in own thread? threads in drumgizmo??
- - Add soundfile-loader-class which run in its own thread
- * Add pre-loading constant
- * Pointer to pos in audio stream (maybe just last position read)
- * Strategy for how to handle pre-loading of remaining file
- - Is it acceptable only to handle sequential reading of data (no random access)?
-
- Thread A Thread B
-
- :preload constant (user defined)
- :speed modifier constant (in which time must
- sample n be loaded relative to trigger time)
- ---------- ------
- | Loader | <------- Trigger load of InstrumentSample n --------- | DG |
- ---------- ------
- Load (int- right most loaded sample --> If current sample pos loaded
- | --------- | |
- Wave Into --> | SndFile | <----- Read data (directly from array)
- ---------
-*/
-
-//#define LAZYLOAD
-
#define ALL_SAMPLES -1
class AudioFile {
public:
- AudioFile(std::string filename, int filechannel);
- ~AudioFile();
+ AudioFile(const std::string& filename, int filechannel);
+ ~AudioFile();
- void load(int num_samples = ALL_SAMPLES);
- void unload();
+ void load(int num_samples = ALL_SAMPLES);
+ void unload();
- bool isLoaded();
+ bool isLoaded() const;
- volatile size_t size;
- volatile sample_t *data;
+ volatile size_t size{0}; // Full size of the file
+ volatile size_t preloadedsize{0}; // Number of samples preloaded (in data)
+ sample_t *data{nullptr};
- std::string filename;
+ std::string filename;
-#ifdef LAZYLOAD
-// SF_INFO sf_info;
-// SNDFILE *fh;
-// bool completely_loaded;
- void init();
- void reset();
- void loadNext();
- sample_t* preloaded_data;
-#endif/*LAZYLOAD*/
+ bool isValid() const;
- bool isValid();
+ Mutex mutex;
- Mutex mutex;
+ int filechannel;
private:
- void *magic;
- volatile bool is_loaded;
- int filechannel;
+ void *magic;
+ volatile bool is_loaded;
};
-
-#endif/*__DRUMGIZMO_AUDIOFILE_H__*/
diff --git a/src/audioinputengine.cc b/src/audioinputengine.cc
index 95c7c13..387de4f 100644
--- a/src/audioinputengine.cc
+++ b/src/audioinputengine.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/audioinputengine.h b/src/audioinputengine.h
index f2b49c0..b218086 100644
--- a/src/audioinputengine.h
+++ b/src/audioinputengine.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,6 +28,7 @@
#define __DRUMGIZMO_AUDIOINPUTENGINE_H__
#include <string>
+#include <vector>
#include <event.h>
@@ -47,7 +48,7 @@ public:
virtual void stop() = 0;
virtual void pre() = 0;
- virtual event_t *run(size_t pos, size_t len, size_t *nevents) = 0;
+ virtual void run(size_t pos, size_t len, std::vector<event_t>& events) = 0;
virtual void post() = 0;
};
diff --git a/src/audioinputenginemidi.cc b/src/audioinputenginemidi.cc
index 82cafbf..d81a49b 100644
--- a/src/audioinputenginemidi.cc
+++ b/src/audioinputenginemidi.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,16 +28,29 @@
#include "midimapparser.h"
+#include "drumgizmo.h"
+
#include <hugin.hpp>
AudioInputEngineMidi::AudioInputEngineMidi()
+ : refs(REFSFILE)
{
is_valid = false;
}
-bool AudioInputEngineMidi::loadMidiMap(std::string f, Instruments &instruments)
+bool AudioInputEngineMidi::loadMidiMap(std::string file, Instruments &instruments)
{
- file = "";
+ std::string f = file;
+
+ if(refs.load()) {
+ if(file.size() > 1 && file[0] == '@') {
+ f = refs.getValue(file.substr(1));
+ }
+ } else {
+ ERR(drumkitparser, "Error reading refs.conf");
+ }
+
+ midimap = "";
is_valid = false;
DEBUG(mmap, "loadMidiMap(%s, i.size() == %d)\n", f.c_str(),
@@ -57,7 +70,7 @@ bool AudioInputEngineMidi::loadMidiMap(std::string f, Instruments &instruments)
mmap.instrmap[instruments[i]->name()] = i;
}
- file = f;
+ midimap = file;
is_valid = true;
return true;
@@ -65,27 +78,10 @@ bool AudioInputEngineMidi::loadMidiMap(std::string f, Instruments &instruments)
std::string AudioInputEngineMidi::midimapFile()
{
- return file;
+ return midimap;
}
bool AudioInputEngineMidi::isValid()
{
return is_valid;
}
-
-#ifdef TEST_AUDIOINPUTENGINEMIDI
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_AUDIOINPUTENGINEMIDI*/
diff --git a/src/audioinputenginemidi.h b/src/audioinputenginemidi.h
index b01fef0..3f96afe 100644
--- a/src/audioinputenginemidi.h
+++ b/src/audioinputenginemidi.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -34,6 +34,8 @@
#include "midimapper.h"
#include "instrument.h"
+#include "configfile.h"
+
class AudioInputEngineMidi : public AudioInputEngine {
public:
AudioInputEngineMidi();
@@ -49,7 +51,7 @@ public:
virtual void stop() = 0;
virtual void pre() = 0;
- virtual event_t *run(size_t pos, size_t len, size_t *nevents) = 0;
+ virtual void run(size_t pos, size_t len, std::vector<event_t>& events) = 0;
virtual void post() = 0;
bool loadMidiMap(std::string file, Instruments &i);
@@ -60,8 +62,10 @@ public:
protected:
MidiMapper mmap;
- std::string file;
+ std::string midimap;
bool is_valid;
+
+ ConfigFile refs;
};
#endif/*__DRUMGIZMO_AUDIOINPUTENGINEMIDI_H__*/
diff --git a/src/audiooutputengine.cc b/src/audiooutputengine.cc
index 7070222..115e3f1 100644
--- a/src/audiooutputengine.cc
+++ b/src/audiooutputengine.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/audiooutputengine.h b/src/audiooutputengine.h
index 7f15e49..0a9d65b 100644
--- a/src/audiooutputengine.h
+++ b/src/audiooutputengine.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -55,6 +55,8 @@ public:
* Overload this method to force engine to use different buffer size.
*/
virtual size_t getBufferSize() { return 1024; }
+
+ virtual size_t samplerate() { return 44100; }
};
#endif/*__DRUMGIZMO_AUDIOOUTPUTENGINE_H__*/
diff --git a/src/beatmapper.cc b/src/beatmapper.cc
index 1b25d07..78441cb 100644
--- a/src/beatmapper.cc
+++ b/src/beatmapper.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/beatmapper.h b/src/beatmapper.h
index 8182e40..fde1988 100644
--- a/src/beatmapper.h
+++ b/src/beatmapper.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/channel.cc b/src/channel.cc
index 941847a..6aece18 100644
--- a/src/channel.cc
+++ b/src/channel.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/channel.h b/src/channel.h
index 2484d92..c031973 100644
--- a/src/channel.h
+++ b/src/channel.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/channelmixer.cc b/src/channelmixer.cc
index c8ee71a..76a25a6 100644
--- a/src/channelmixer.cc
+++ b/src/channelmixer.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/channelmixer.h b/src/channelmixer.h
index 06cef2f..fadf181 100644
--- a/src/channelmixer.h
+++ b/src/channelmixer.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/chresampler.cc b/src/chresampler.cc
index 301e650..414efc3 100644
--- a/src/chresampler.cc
+++ b/src/chresampler.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/chresampler.h b/src/chresampler.h
index 5943627..ae6cb3b 100644
--- a/src/chresampler.h
+++ b/src/chresampler.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/configfile.cc b/src/configfile.cc
new file mode 100644
index 0000000..fc1611e
--- /dev/null
+++ b/src/configfile.cc
@@ -0,0 +1,348 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * configfile.cc
+ *
+ * Thu May 14 14:51:39 CEST 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "configfile.h"
+
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#ifdef WIN32
+#include <direct.h>
+#include <windows.h>
+#include <Shlobj.h>
+#include <Shlwapi.h>
+#else
+#endif
+
+#include <hugin.hpp>
+
+#ifdef WIN32
+ #define SEP "\\"
+#else
+ #define SEP "/"
+#endif
+
+#define CONFIGDIRNAME ".drumgizmo"
+
+/**
+ * Return the path containing the config files.
+ */
+static std::string configPath()
+{
+#ifdef WIN32
+ std::string configpath;
+ TCHAR szPath[256];
+ if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE,
+ NULL, 0, szPath))) {
+ configpath = szPath;
+ }
+#else
+ std::string configpath = getenv("HOME");
+#endif
+ configpath += SEP;
+ configpath += CONFIGDIRNAME;
+
+ return configpath;
+}
+
+/**
+ * Calling this makes sure that the config path exists
+ */
+static bool createConfigPath()
+{
+ std::string configpath = configPath();
+
+ struct stat st;
+ if(stat(configpath.c_str(), &st) == 0) {
+ DEBUG(configfile, "No configuration exists, creating directory '%s'\n",
+ configpath.c_str());
+#ifdef WIN32
+ if(mkdir(configpath.c_str()) < 0) {
+#else
+ if(mkdir(configpath.c_str(), 0755) < 0) {
+#endif
+ DEBUG(configfile, "Could not create config directory\n");
+ }
+
+ return false;
+ }
+
+ return true;
+}
+
+ConfigFile::ConfigFile(std::string filename)
+ : filename(filename)
+ , fp(NULL)
+{
+}
+
+ConfigFile::~ConfigFile()
+{
+}
+
+bool ConfigFile::load()
+{
+ DEBUG(configfile, "Loading config file...\n");
+ if(!open("r")) {
+ return false;
+ }
+
+ values.clear();
+
+ std::string line;
+ while(true) {
+ line = readLine();
+
+ if(line == "") break;
+
+ if(!parseLine(line)) {
+ return false;
+ }
+ }
+
+ close();
+
+ return true;
+}
+
+bool ConfigFile::save()
+{
+ DEBUG(configfile, "Saving configuration...\n");
+
+ createConfigPath();
+
+ if(!open("w")) {
+ return false;
+ }
+
+ std::map<std::string, std::string>::iterator v = values.begin();
+ for(; v != values.end(); ++v) {
+ fprintf(fp, "%s:%s\n", v->first.c_str(), v->second.c_str());
+ }
+
+ close();
+
+ return true;
+}
+
+std::string ConfigFile::getValue(const std::string& key)
+{
+ if(values.find(key) != values.end()) {
+ return values[key];
+ }
+
+ return "";
+}
+
+void ConfigFile::setValue(const std::string& key, const std::string& value)
+{
+ values[key] = value;
+}
+
+bool ConfigFile::open(std::string mode)
+{
+ if(fp) close();
+
+ std::string configpath = configPath();
+
+ std::string configfile = configpath;
+ configfile += SEP;
+ configfile += filename;
+
+ DEBUG(configfile, "Opening config file '%s'\n", configfile.c_str());
+ fp = fopen(configfile.c_str(), mode.c_str());
+
+ if(!fp) return false;
+
+ return true;
+}
+
+void ConfigFile::close()
+{
+ fclose(fp);
+ fp = NULL;
+}
+
+std::string ConfigFile::readLine()
+{
+ if(!fp) return "";
+
+ std::string line;
+
+ char buf[1024];
+ while(!feof(fp)) {
+ char *s = fgets(buf, sizeof(buf), fp);
+ if(s) {
+ line += buf;
+ if(buf[strlen(buf) - 1] == '\n') break;
+ }
+ }
+
+ return line;
+}
+
+bool ConfigFile::parseLine(const std::string& line)
+{
+ std::string key;
+ std::string value;
+ enum {
+ before_key,
+ in_key,
+ after_key,
+ before_value,
+ in_value,
+ in_value_single_quoted,
+ in_value_double_quoted,
+ after_value,
+ } state = before_key;
+
+ for(std::size_t p = 0; p < line.size(); ++p) {
+ switch(state) {
+ case before_key:
+ if(line[p] == '#') {
+ // Comment: Ignore line.
+ p = line.size();
+ continue;
+ }
+ if(std::isspace(line[p])) {
+ continue;
+ }
+ key += line[p];
+ state = in_key;
+ break;
+
+ case in_key:
+ if(std::isspace(line[p])) {
+ state = after_key;
+ continue;
+ }
+ if(line[p] == ':' || line[p] == '=') {
+ state = before_value;
+ continue;
+ }
+ key += line[p];
+ break;
+
+ case after_key:
+ if(std::isspace(line[p])) {
+ continue;
+ }
+ if(line[p] == ':' || line[p] == '=') {
+ state = before_value;
+ continue;
+ }
+ ERR(configfile, "Bad symbol."
+ " Expecting only whitespace or key/value seperator: '%s'",
+ line.c_str());
+ return false;
+
+ case before_value:
+ if(std::isspace(line[p])) {
+ continue;
+ }
+ if(line[p] == '\'') {
+ state = in_value_single_quoted;
+ continue;
+ }
+ if(line[p] == '"') {
+ state = in_value_double_quoted;
+ continue;
+ }
+ value += line[p];
+ state = in_value;
+ break;
+
+ case in_value:
+ if(std::isspace(line[p])) {
+ state = after_value;
+ continue;
+ }
+ if(line[p] == '#') {
+ // Comment: Ignore the rest of the line.
+ p = line.size();
+ state = after_value;
+ continue;
+ }
+ value += line[p];
+ break;
+
+ case in_value_single_quoted:
+ if(line[p] == '\'') {
+ state = after_value;
+ continue;
+ }
+ value += line[p];
+ break;
+
+ case in_value_double_quoted:
+ if(line[p] == '"') {
+ state = after_value;
+ continue;
+ }
+ value += line[p];
+ break;
+
+ case after_value:
+ if(std::isspace(line[p])) {
+ continue;
+ }
+ if(line[p] == '#') {
+ // Comment: Ignore the rest of the line.
+ p = line.size();
+ continue;
+ }
+ ERR(configfile, "Bad symbol."
+ " Expecting only whitespace or key/value seperator: '%s'",
+ line.c_str());
+ return false;
+ }
+ }
+
+ if(state == before_key) {
+ // Line did not contain any data (empty or comment)
+ return true;
+ }
+
+ // If state == in_value_XXX_quoted here, the string was not terminated.
+ if(state != after_value && state != in_value) {
+ ERR(configfile,"Malformed line: '%s'", line.c_str());
+ return false;
+ }
+
+ DEBUG(configfile, "key['%s'] value['%s']\n", key.c_str(), value.c_str());
+
+ if(key != "") {
+ values[key] = value;
+ }
+
+ return true;
+}
diff --git a/src/configfile.h b/src/configfile.h
new file mode 100644
index 0000000..3a781ec
--- /dev/null
+++ b/src/configfile.h
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * configfile.h
+ *
+ * Thu May 14 14:51:38 CEST 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#ifndef __DRUMGIZMO_CONFIGFILE_H__
+#define __DRUMGIZMO_CONFIGFILE_H__
+
+#include <string>
+#include <map>
+#include <stdio.h>
+
+class ConfigFile {
+public:
+ ConfigFile(std::string filename);
+ virtual ~ConfigFile();
+
+ virtual bool load();
+ virtual bool save();
+
+ virtual std::string getValue(const std::string& key);
+ virtual void setValue(const std::string& key, const std::string& value);
+
+protected:
+ std::map<std::string, std::string> values;
+ std::string filename;
+
+ virtual bool open(std::string mode);
+ void close();
+ std::string readLine();
+ bool parseLine(const std::string& line);
+
+ FILE* fp;
+};
+
+#endif/*__DRUMGIZMO_CONFIGFILE_H__*/
diff --git a/src/configparser.cc b/src/configparser.cc
index 96e701b..ac8b876 100644
--- a/src/configparser.cc
+++ b/src/configparser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/configparser.h b/src/configparser.h
index e67babd..b5f4d74 100644
--- a/src/configparser.h
+++ b/src/configparser.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/configuration.cc b/src/configuration.cc
index 5c733ee..72f6e4a 100644
--- a/src/configuration.cc
+++ b/src/configuration.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/configuration.h b/src/configuration.h
index b8be49f..3adf525 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/vst/constants.h b/src/cpp11fix.h
similarity index 55%
rename from vst/constants.h
rename to src/cpp11fix.h
index ff07c54..c6512ae 100644
--- a/vst/constants.h
+++ b/src/cpp11fix.h
@@ -1,32 +1,38 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
- * constants.h
+ * cpp11fix.h
*
- * Tue Sep 20 11:49:29 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
+ * Mi 20. Jan 10:22:36 CET 2016
+ * Copyright 2016 Christian Glöckner
+ * cgloeckner at freenet.de
****************************************************************************/
/*
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_CONSTANTS_H__
-#define __DRUMGIZMO_CONSTANTS_H__
+#pragma once
-#define NUM_OUTPUTS 16
+#include <memory>
-#endif/*__DRUMGIZMO_CONSTANTS_H__*/
+namespace std {
+
+template <typename T, typename ...Args>
+std::unique_ptr<T> make_unique(Args&& ...args) {
+ return std::unique_ptr<T>{new T{std::forward<Args>(args)...}};
+}
+
+} // std
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index 7ce05ef..159b01b 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -28,6 +28,7 @@
#include <math.h>
#include <stdio.h>
+#include <assert.h>
#include <event.h>
#include <audiotypes.h>
@@ -46,718 +47,733 @@
#include "nolocale.h"
DrumGizmo::DrumGizmo(AudioOutputEngine *o, AudioInputEngine *i)
- : MessageReceiver(MSGRCV_ENGINE),
- loader(), oe(o), ie(i)
+ : MessageReceiver(MSGRCV_ENGINE)
+ , loader()
+ , oe(o)
+ , ie(i)
+ , framesize(0)
+ , freewheel(false)
+ , events{}
{
- is_stopping = false;
+ is_stopping = false;
+ audioCache.init(10000); // start thread
+
+ events.reserve(1000);
}
DrumGizmo::~DrumGizmo()
{
+ audioCache.deinit(); // stop thread
}
bool DrumGizmo::loadkit(std::string file)
{
- if(file == "") return 1;
+ if(file == "")
+ {
+ return 1;
+ }
- DEBUG(drumgizmo, "loadkit(%s)\n", file.c_str());
+ DEBUG(drumgizmo, "loadkit(%s)\n", file.c_str());
- // Remove all queue AudioFiles from loader before we actually delete them.
- loader.skip();
+ // Remove all queue AudioFiles from loader before we actually delete them.
+ loader.skip();
- // Delete all Channels, Instruments, Samples and AudioFiles.
- kit.clear();
+ // Delete all Channels, Instruments, Samples and AudioFiles.
+ kit.clear();
- DrumKitParser parser(file, kit);
- if(parser.parse()) {
- ERR(drumgizmo, "Drumkit parser failed: %s\n", file.c_str());
- return false;
- }
+ DrumKitParser parser(file, kit);
+ if(parser.parse())
+ {
+ ERR(drumgizmo, "Drumkit parser failed: %s\n", file.c_str());
+ return false;
+ }
- loader.loadKit(&kit);
+ // Check if there is enough free RAM to load the drumkit.
+ if(!memchecker.enoughFreeMemory(kit))
+ {
+ printf("WARNING: "
+ "There doesn't seem to be enough RAM available to load the kit.\n"
+ "Trying to load it anyway...\n");
+ }
+
+ loader.loadKit(&kit);
#ifdef WITH_RESAMPLER
- for(int i = 0; i < MAX_NUM_CHANNELS; i++) {
- resampler[i].setup(kit.samplerate(), Conf::samplerate);
- }
+ for(int i = 0; i < MAX_NUM_CHANNELS; ++i)
+ {
+ resampler[i].setup(kit.samplerate(), Conf::samplerate);
+ }
#endif/*WITH_RESAMPLER*/
- DEBUG(loadkit, "loadkit: Success\n");
+ DEBUG(loadkit, "loadkit: Success\n");
- return true;
+ return true;
}
bool DrumGizmo::init()
{
- if(!ie->init(kit.instruments)) return false;
- if(!oe->init(kit.channels)) return false;
+ if(!ie->init(kit.instruments))
+ {
+ return false;
+ }
+
+ if(!oe->init(kit.channels))
+ {
+ return false;
+ }
- return true;
+ return true;
}
void DrumGizmo::handleMessage(Message *msg)
{
- DEBUG(msg, "got message.");
- switch(msg->type()) {
- case Message::LoadDrumKit:
- {
- DEBUG(msg, "got LoadDrumKitMessage message.");
- LoadDrumKitMessage *m = (LoadDrumKitMessage*)msg;
- loadkit(m->drumkitfile);
- //init(true);
- }
- break;
- case Message::LoadMidimap:
- DEBUG(msg, "got LoadMidimapMessage message.");
- if(!ie->isMidiEngine()) break;
- {
- AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
- LoadMidimapMessage *m = (LoadMidimapMessage*)msg;
- bool ret = aim->loadMidiMap(m->midimapfile, kit.instruments);
-
- LoadStatusMessageMidimap *ls = new LoadStatusMessageMidimap();
- ls->success = ret;
- msghandler.sendMessage(MSGRCV_UI, ls);
- }
- break;
- case Message::EngineSettingsMessage:
- {
- bool mmap_loaded = false;
- std::string mmapfile;
- if(ie->isMidiEngine()) {
- AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
- mmapfile = aim->midimapFile();
- mmap_loaded = aim->isValid();
- }
-
- EngineSettingsMessage *msg = new EngineSettingsMessage();
- msg->midimapfile = mmapfile;
- msg->midimap_loaded = mmap_loaded;
- msg->drumkitfile = kit.file();
- msg->drumkit_loaded = loader.isDone();
- msg->enable_velocity_modifier = Conf::enable_velocity_modifier;
- msg->velocity_modifier_falloff = Conf::velocity_modifier_falloff;
- msg->velocity_modifier_weight = Conf::velocity_modifier_weight;
- msg->enable_velocity_randomiser = Conf::enable_velocity_randomiser;
- msg->velocity_randomiser_weight = Conf::velocity_randomiser_weight;
- msghandler.sendMessage(MSGRCV_UI, msg);
- }
- break;
- case Message::ChangeSettingMessage:
- {
- ChangeSettingMessage *ch = (ChangeSettingMessage*)msg;
- switch(ch->name) {
- case ChangeSettingMessage::enable_velocity_modifier:
- Conf::enable_velocity_modifier = ch->value;
- break;
- case ChangeSettingMessage::velocity_modifier_weight:
- Conf::velocity_modifier_weight = ch->value;
- break;
- case ChangeSettingMessage::velocity_modifier_falloff:
- Conf::velocity_modifier_falloff = ch->value;
- break;
- }
- }
- break;
- default:
- break;
- }
+ DEBUG(msg, "got message.");
+ switch(msg->type()) {
+ case Message::LoadDrumKit:
+ {
+ DEBUG(msg, "got LoadDrumKitMessage message.");
+ LoadDrumKitMessage *m = (LoadDrumKitMessage*)msg;
+ loadkit(m->drumkitfile);
+ //init(true);
+ }
+ break;
+ case Message::LoadMidimap:
+ DEBUG(msg, "got LoadMidimapMessage message.");
+ if(!ie->isMidiEngine())
+ {
+ break;
+ }
+ {
+ AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
+ LoadMidimapMessage *m = (LoadMidimapMessage*)msg;
+ bool ret = aim->loadMidiMap(m->midimapfile, kit.instruments);
+
+ LoadStatusMessageMidimap *ls = new LoadStatusMessageMidimap();
+ ls->success = ret;
+ msghandler.sendMessage(MSGRCV_UI, ls);
+ }
+ break;
+ case Message::EngineSettingsMessage:
+ {
+ bool mmap_loaded = false;
+ std::string mmapfile;
+ if(ie->isMidiEngine())
+ {
+ AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
+ mmapfile = aim->midimapFile();
+ mmap_loaded = aim->isValid();
+ }
+
+ EngineSettingsMessage *msg = new EngineSettingsMessage();
+ msg->midimapfile = mmapfile;
+ msg->midimap_loaded = mmap_loaded;
+ msg->drumkitfile = kit.file();
+ msg->drumkit_loaded = loader.isDone();
+ msg->enable_velocity_modifier = Conf::enable_velocity_modifier;
+ msg->velocity_modifier_falloff = Conf::velocity_modifier_falloff;
+ msg->velocity_modifier_weight = Conf::velocity_modifier_weight;
+ msg->enable_velocity_randomiser = Conf::enable_velocity_randomiser;
+ msg->velocity_randomiser_weight = Conf::velocity_randomiser_weight;
+ msghandler.sendMessage(MSGRCV_UI, msg);
+ }
+ break;
+ case Message::ChangeSettingMessage:
+ {
+ ChangeSettingMessage *ch = (ChangeSettingMessage*)msg;
+ switch(ch->name) {
+ case ChangeSettingMessage::enable_velocity_modifier:
+ Conf::enable_velocity_modifier = ch->value;
+ break;
+ case ChangeSettingMessage::velocity_modifier_weight:
+ Conf::velocity_modifier_weight = ch->value;
+ break;
+ case ChangeSettingMessage::velocity_modifier_falloff:
+ Conf::velocity_modifier_falloff = ch->value;
+ break;
+ }
+ }
+ break;
+ default:
+ break;
+ }
}
-bool DrumGizmo::run(size_t pos, sample_t *samples, size_t nsamples)
+void DrumGizmo::setFrameSize(size_t framesize)
{
- // Handle engine messages, at most one in each iteration:
- handleMessages(1);
-
- ie->pre();
- oe->pre(nsamples);
-
- //
- // Read new events
- //
-
- //DEBUG(engine, "Number of active events: %d\n", activeevents[0].size());
-
- size_t nev;
- event_t *evs = ie->run(pos, nsamples, &nev);
-
- for(size_t e = 0; e < nev; e++) {
- if(evs[e].type == TYPE_ONSET) {
- Instrument *i = NULL;
- int d = evs[e].instrument;
- /*
- Instruments::iterator it = kit.instruments.begin();
- while(d-- && it != kit.instruments.end()) {
- i = &(it->second);
- it++;
- }
- */
-
- if(!kit.isValid()) continue;
-
- if(d < (int)kit.instruments.size()) {
- i = kit.instruments[d];
- }
-
- if(i == NULL || !i->isValid()) {
- ERR(drumgizmo, "Missing Instrument %d.\n", evs[e].instrument);
- continue;
- }
-
- if(i->group() != "") {
- // Add event to ramp down all existing events with the same groupname.
- Channels::iterator j = kit.channels.begin();
- while(j != kit.channels.end()) {
- Channel &ch = *j;
- std::list< Event* >::iterator evs = activeevents[ch.num].begin();
- while(evs != activeevents[ch.num].end()) {
- Event *ev = *evs;
- if(ev->type() == Event::sample) {
- EventSample *sev = (EventSample*)ev;
- if(sev->group == i->group() && sev->instrument != i) {
- sev->rampdown = 3000; // Ramp down 3000 samples
- // TODO: This must be configurable at some point...
- // ... perhaps even by instrument (ie. in the xml file)
- sev->ramp_start = sev->rampdown;
- }
- }
- evs++;
- }
- j++;
- }
- }
-
- Sample *s = i->sample(evs[e].velocity, evs[e].offset + pos);
-
- if(s == NULL) {
- ERR(drumgizmo, "Missing Sample.\n");
- continue;
- }
-
- Channels::iterator j = kit.channels.begin();
- while(j != kit.channels.end()) {
- Channel &ch = *j;
- AudioFile *af = s->getAudioFile(&ch);
- if(af) {
- // LAZYLOAD:
- // DEBUG(drumgizmo,"Requesting preparing of audio file\n");
- // loader.prepare(af);
- }
- if(af == NULL || !af->isValid()) {
- //DEBUG(drumgizmo,"Missing AudioFile.\n");
- } else {
- //DEBUG(drumgizmo, "Adding event %d.\n", evs[e].offset);
- Event *evt = new EventSample(ch.num, 1.0, af, i->group(), i);
- evt->offset = (evs[e].offset + pos) * resampler[0].ratio();
- activeevents[ch.num].push_back(evt);
- }
- j++;
- }
- }
-
- if(evs[e].type == TYPE_STOP) {
- is_stopping = true;
- }
-
- if(is_stopping) {
- // Count the number of active events.
- int num_active_events = 0;
- Channels::iterator j = kit.channels.begin();
- while(j != kit.channels.end()) {
- Channel &ch = *j;
- num_active_events += activeevents[ch.num].size();
- j++;
- }
-
- if(num_active_events == 0) {
- // No more active events - now we can stop the engine.
- return false;
- }
- }
-
- }
-
- free(evs);
-
- //
- // Write audio
- //
-#ifdef WITH_RESAMPLER
- if(Conf::enable_resampling == false ||
- resampler[0].ratio() == 1.0) { // No resampling needed
-#endif
- for(size_t c = 0; c < kit.channels.size(); c++) {
- sample_t *buf = samples;
- bool internal = false;
- if(oe->getBuffer(c)) {
- buf = oe->getBuffer(c);
- internal = true;
- }
- if(buf) {
- memset(buf, 0, nsamples * sizeof(sample_t));
-
- getSamples(c, pos, buf, nsamples);
-
- if(!internal) oe->run(c, samples, nsamples);
- }
- }
-#ifdef WITH_RESAMPLER
- } else {
- // Resampling needed
-
- //
- // NOTE: Channels must be processed one buffer at a time on all channels in
- // parallel - NOT all buffers on one channel and then all buffer on the next
- // one since this would mess up the event queue (it would jump back and forth
- // in time)
- //
-
- // Prepare output buffer
- for(size_t c = 0; c < kit.channels.size(); c++) {
- resampler[c].setOutputSamples(resampler_output_buffer[c], nsamples);
- }
-
- // Process channel data
- size_t kitpos = pos * resampler[0].ratio();
- size_t insize = sizeof(resampler_input_buffer[0]) / sizeof(sample_t);
-
- //printf("ratio: %f\n", resampler[c].ratio());
- while(resampler[0].getOutputSampleCount() > 0) {
- for(size_t c = 0; c < kit.channels.size(); c++) {
- if(resampler[c].getInputSampleCount() == 0) {
- sample_t *sin = resampler_input_buffer[c];
- memset(resampler_input_buffer[c], 0,
- sizeof(resampler_input_buffer[c]));
- getSamples(c, kitpos, sin, insize);
-
- resampler[c].setInputSamples(sin, insize);
- }
- resampler[c].process();
- }
- kitpos += insize;
- }
-
- // Write output data to output engine.
- for(size_t c = 0; c < kit.channels.size(); c++) {
- oe->run(c, resampler_output_buffer[c], nsamples);
- }
-
- }
-#endif/*WITH_RESAMPLER*/
-
- ie->post();
- oe->post(nsamples);
-
- pos += nsamples;
+ // If we are resampling override the frame size.
+ if(resampler[0].ratio() != 1)
+ {
+ framesize = RESAMPLER_INPUT_BUFFER;
+ }
+
+ if(this->framesize != framesize)
+ {
+ DEBUG(drumgizmo, "New framesize: %d\n", (int)framesize);
+
+ this->framesize = framesize;
+
+ // Update framesize in drumkitloader and cachemanager:
+ loader.setFrameSize(framesize);
+ audioCache.setFrameSize(framesize);
+ }
+}
- return true;
+void DrumGizmo::setFreeWheel(bool freewheel)
+{
+ // Freewheel = true means that we are bouncing and therefore running faster
+ // than realtime.
+ if(freewheel != this->freewheel)
+ {
+ this->freewheel = freewheel;
+ audioCache.setAsyncMode(!freewheel);
+ }
}
void DrumGizmo::run(int endpos)
{
- size_t pos = 0;
- size_t nsamples = oe->getBufferSize();
- sample_t *samples = (sample_t *)malloc(nsamples * sizeof(sample_t));
+ size_t pos = 0;
+ size_t nsamples = oe->getBufferSize();
+ sample_t *samples = (sample_t *)malloc(nsamples * sizeof(sample_t));
+
+ setFrameSize(oe->getBufferSize());
- ie->start();
- oe->start();
+ ie->start();
+ oe->start();
+
+ while(run(pos, samples, nsamples) == true)
+ {
+ pos += nsamples;
+ if((endpos != -1) && (pos >= (size_t)endpos))
+ {
+ break;
+ }
+ }
+
+ ie->stop();
+ oe->stop();
+
+ free(samples);
+}
+
+bool DrumGizmo::run(size_t pos, sample_t *samples, size_t nsamples)
+{
+ setFrameSize(nsamples);
+
+ // Handle engine messages, at most one in each iteration:
+ handleMessages(1);
+
+ ie->pre();
+ oe->pre(nsamples);
+
+ //
+ // Read new events
+ //
+
+ //DEBUG(engine, "Number of active events: %d\n", activeevents[0].size());
+
+ ie->run(pos, nsamples, events);
+
+ for(const auto& event: events)
+ {
+ if(event.type == TYPE_ONSET)
+ {
+ Instrument *i = nullptr;
+ int d = event.instrument;
+ /*
+ Instruments::iterator it = kit.instruments.begin();
+ while(d-- && it != kit.instruments.end())
+ {
+ i = &(it->second);
+ ++it;
+ }
+ */
+
+ if(!kit.isValid())
+ {
+ continue;
+ }
+
+ if(d < (int)kit.instruments.size())
+ {
+ i = kit.instruments[d];
+ }
+
+ if(i == nullptr || !i->isValid())
+ {
+ ERR(drumgizmo, "Missing Instrument %d.\n", (int)event.instrument);
+ continue;
+ }
+
+ if(i->group() != "")
+ {
+ // Add event to ramp down all existing events with the same groupname.
+ Channels::iterator j = kit.channels.begin();
+ while(j != kit.channels.end())
+ {
+ Channel &ch = *j;
+ std::list< Event* >::iterator evs = activeevents[ch.num].begin();
+ while(evs != activeevents[ch.num].end())
+ {
+ Event *ev = *evs;
+ if(ev->type() == Event::sample)
+ {
+ EventSample *sev = (EventSample*)ev;
+ if(sev->group == i->group() && sev->instrument != i)
+ {
+ sev->rampdown = 3000; // Ramp down 3000 samples
+ // TODO: This must be configurable at some point...
+ // ... perhaps even by instrument (ie. in the xml file)
+ sev->ramp_start = sev->rampdown;
+ }
+ }
+ ++evs;
+ }
+ ++j;
+ }
+ }
+
+ Sample *s = i->sample(event.velocity, event.offset + pos);
+
+ if(s == nullptr)
+ {
+ ERR(drumgizmo, "Missing Sample.\n");
+ continue;
+ }
+
+ Channels::iterator j = kit.channels.begin();
+ while(j != kit.channels.end())
+ {
+ Channel &ch = *j;
+ AudioFile *af = s->getAudioFile(&ch);
+ if(af)
+ {
+ // LAZYLOAD:
+ // DEBUG(drumgizmo,"Requesting preparing of audio file\n");
+ // loader.prepare(af);
+ }
+ if(af == nullptr || !af->isValid())
+ {
+ //DEBUG(drumgizmo,"Missing AudioFile.\n");
+ }
+ else
+ {
+ //DEBUG(drumgizmo, "Adding event %d.\n", event.offset);
+ Event *evt = new EventSample(ch.num, 1.0, af, i->group(), i);
+ evt->offset = (event.offset + pos) * resampler[0].ratio();
+ activeevents[ch.num].push_back(evt);
+ }
+ ++j;
+ }
+ }
+
+ if(event.type == TYPE_STOP)
+ {
+ is_stopping = true;
+ }
+
+ if(is_stopping)
+ {
+ // Count the number of active events.
+ int num_active_events = 0;
+ Channels::iterator j = kit.channels.begin();
+ while(j != kit.channels.end())
+ {
+ Channel &ch = *j;
+ num_active_events += activeevents[ch.num].size();
+ ++j;
+ }
+
+ if(num_active_events == 0)
+ {
+ // No more active events - now we can stop the engine.
+ return false;
+ }
+ }
+
+ }
+
+ events.clear();
+
+ //
+ // Write audio
+ //
+#ifdef WITH_RESAMPLER
+ if((Conf::enable_resampling == false) ||
+ (resampler[0].ratio() == 1.0)) // No resampling needed
+ {
+#endif
+ for(size_t c = 0; c < kit.channels.size(); ++c)
+ {
+ sample_t *buf = samples;
+ bool internal = false;
+ if(oe->getBuffer(c))
+ {
+ buf = oe->getBuffer(c);
+ internal = true;
+ }
+
+ if(buf)
+ {
+ memset(buf, 0, nsamples * sizeof(sample_t));
+
+ getSamples(c, pos, buf, nsamples);
+
+ if(!internal)
+ {
+ oe->run(c, samples, nsamples);
+ }
+ }
+ }
+#ifdef WITH_RESAMPLER
+ }
+ else
+ {
+ // Resampling needed
+
+ //
+ // NOTE: Channels must be processed one buffer at a time on all channels in
+ // parallel - NOT all buffers on one channel and then all buffer on the next
+ // one since this would mess up the event queue (it would jump back and
+ // forth in time)
+ //
+
+ // Prepare output buffer
+ for(size_t c = 0; c < kit.channels.size(); ++c)
+ {
+ resampler[c].setOutputSamples(resampler_output_buffer[c], nsamples);
+ }
+
+ // Process channel data
+ size_t kitpos = pos * resampler[0].ratio();
+ size_t insize = sizeof(resampler_input_buffer[0]) / sizeof(sample_t);
+
+ while(resampler[0].getOutputSampleCount() > 0)
+ {
+ for(size_t c = 0; c < kit.channels.size(); ++c)
+ {
+ if(resampler[c].getInputSampleCount() == 0)
+ {
+ sample_t *sin = resampler_input_buffer[c];
+ memset(resampler_input_buffer[c], 0,
+ sizeof(resampler_input_buffer[c]));
+ getSamples(c, kitpos, sin, insize);
+
+ resampler[c].setInputSamples(sin, insize);
+ }
+ resampler[c].process();
+ }
+ kitpos += insize;
+ }
+
+ // Write output data to output engine.
+ for(size_t c = 0; c < kit.channels.size(); ++c)
+ {
+ oe->run(c, resampler_output_buffer[c], nsamples);
+ }
+
+ }
+#endif/*WITH_RESAMPLER*/
- while(run(pos, samples, nsamples) == true) {
- pos += nsamples;
- if(endpos != -1 && pos >= (size_t)endpos) break;
- }
+ ie->post();
+ oe->post(nsamples);
- ie->stop();
- oe->stop();
+ pos += nsamples;
- free(samples);
+ return true;
}
+#undef SSE // SSE broken for now ... so disable it.
#ifdef SSE
#define N 8
-typedef float vNsf __attribute__ ((vector_size(sizeof(float)*N)));
+typedef float vNsf __attribute__ ((vector_size(sizeof(sample_t)*N)));
#endif/*SSE*/
-void DrumGizmo::getSamples(int ch, int pos, sample_t *s, size_t sz)
+void DrumGizmo::getSamples(int ch, int pos, sample_t* s, size_t sz)
{
- std::list< Event* >::iterator i = activeevents[ch].begin();
- while(i != activeevents[ch].end()) {
- bool removeevent = false;
-
- Event *event = *i;
-
- Event::type_t type = event->type();
- switch(type) {
- case Event::sample:
- {
- EventSample *evt = (EventSample *)event;
- AudioFile *af = evt->file;
-
- if(!af->isLoaded() || !af->isValid() || s == NULL) {
- removeevent = true;
- break;
- }
-
- {
- MutexAutolock l(af->mutex);
-
- size_t n = 0;
- if(evt->offset > (size_t)pos) n = evt->offset - pos;
- size_t end = sz;
- if((evt->t + end - n) > af->size) end = af->size - evt->t + n;
- if(end > sz) end = sz;
-
- if(evt->rampdown == NO_RAMPDOWN) {
+ std::vector< Event* > erase_list;
+ std::list< Event* >::iterator i = activeevents[ch].begin();
+ for(; i != activeevents[ch].end(); ++i)
+ {
+ bool removeevent = false;
+
+ Event* event = *i;
+
+ Event::type_t type = event->type();
+ switch(type) {
+ case Event::sample:
+ {
+ EventSample& evt = *static_cast<EventSample*>(event);
+ AudioFile& af = *evt.file;
+
+ if(!af.isLoaded() || !af.isValid() || (s == nullptr))
+ {
+ removeevent = true;
+ break;
+ }
+
+ // Don't handle event now is is scheduled for a future iteration?
+ if(evt.offset > (pos + sz))
+ {
+ continue;
+ }
+
+ if(evt.cache_id == CACHE_NOID)
+ {
+ size_t initial_chunksize = (pos + sz) - evt.offset;
+ evt.buffer = audioCache.open(af, initial_chunksize,
+ af.filechannel, evt.cache_id);
+ evt.buffer_size = initial_chunksize;
+ }
+
+ {
+ MutexAutolock l(af.mutex);
+
+ size_t n = 0; // default start point is 0.
+
+ // If we are not at offset 0 in current buffer:
+ if(evt.offset > (size_t)pos)
+ {
+ n = evt.offset - pos;
+ }
+
+ size_t end = sz; // default end point is the end of the buffer.
+
+ // Find the end point intra-buffer
+ if((evt.t + end - n) > af.size)
+ {
+ end = af.size - evt.t + n;
+ }
+
+ // This should not be necessary but make absolutely sure that we do
+ // not write over the end of the buffer.
+ if(end > sz)
+ {
+ end = sz;
+ }
+
+ size_t t = 0; // Internal buffer counter
+ if(evt.rampdown == NO_RAMPDOWN)
+ {
+
#ifdef SSE
-// DEBUG(drumgizmo,"%d\n", evt->t); fflush(stdout);
- size_t optend = ((end - n) / N) * N + n;
- for(; n < optend; n += N) {
- *(vNsf*)&(s[n]) += *(vNsf*)&(af->data[evt->t]);
- evt->t += N;
- }
+ size_t optend = ((end - n) / N) * N + n;
+
+ // Force source addr to be 16 byte aligned...
+ // (might skip 1 or 2 samples)
+ while((size_t)&evt.buffer[t] % 16)
+ {
+ ++t;
+ }
+
+ for(; (n < optend) && (t < evt.buffer_size); n += N)
+ {
+ *(vNsf*)&(s[n]) += *(vNsf*)&(evt.buffer[t]);
+ t += N;
+ }
#endif
- for(; n < end; n++) {
- s[n] += af->data[evt->t];
- evt->t++;
- }
- } else { // Ramp down in progress.
- for(; n < end && evt->rampdown; n++) {
- float scale = (float)evt->rampdown/(float)evt->ramp_start;
- s[n] += af->data[evt->t] * scale;
- evt->t++;
- evt->rampdown--;
- }
-
- if(evt->rampdown == 0) {
- removeevent = true; // Down ramp done. Remove event.
- }
- }
-
- if(evt->t >= af->size) {
- removeevent = true;
- }
-
- }
- }
- break;
- }
-
- if(removeevent) {
- delete event;
- i = activeevents[ch].erase(i);
- continue;
- }
- i++;
- }
+ for(; (n < end) && (t < evt.buffer_size); ++n)
+ {
+ assert(n >= 0);
+ assert(n < sz);
+
+ assert(t >= 0);
+ assert(t < evt.buffer_size);
+
+ s[n] += evt.buffer[t];
+ ++t;
+ }
+ }
+ else
+ { // Ramp down in progress.
+ for(; (n < end) && (t < evt.buffer_size) && evt.rampdown; ++n)
+ {
+ float scale = (float)evt.rampdown/(float)evt.ramp_start;
+ s[n] += evt.buffer[t] * scale;
+ ++t;
+ evt.rampdown--;
+ }
+ }
+
+ // Add internal buffer counter to "global" event counter.
+ evt.t += evt.buffer_size;
+
+ if((evt.t < af.size) && (evt.rampdown != 0))
+ {
+ evt.buffer = audioCache.next(evt.cache_id, evt.buffer_size);
+ }
+ else
+ {
+ removeevent = true;
+ }
+
+ if(removeevent)
+ {
+ audioCache.close(evt.cache_id);
+ }
+ }
+ }
+ break;
+ }
+
+ if(removeevent)
+ {
+ erase_list.push_back(event); // don't delete until we are out of the loop.
+ continue;
+ }
+ }
+
+ for(auto& event : erase_list)
+ {
+ activeevents[ch].remove(event);
+ delete event;
+ }
}
void DrumGizmo::stop()
{
- // engine.stop();
+ // engine.stop();
}
int DrumGizmo::samplerate()
{
- return Conf::samplerate;
+ return Conf::samplerate;
}
void DrumGizmo::setSamplerate(int samplerate)
{
- Conf::samplerate = samplerate;
+ DEBUG(dgeditor, "%s samplerate: %d\n", __PRETTY_FUNCTION__, samplerate);
+ Conf::samplerate = samplerate;
#ifdef WITH_RESAMPLER
- for(int i = 0; i < MAX_NUM_CHANNELS; i++) {
- resampler[i].setup(kit.samplerate(), Conf::samplerate);
- }
+ for(int i = 0; i < MAX_NUM_CHANNELS; ++i)
+ {
+ resampler[i].setup(kit.samplerate(), Conf::samplerate);
+ }
+ if(resampler[0].ratio() != 1)
+ {
+ setFrameSize(RESAMPLER_INPUT_BUFFER);
+ }
#endif/*WITH_RESAMPLER*/
-
}
std::string float2str(float a)
{
- char buf[256];
- snprintf_nol(buf, sizeof(buf) - 1, "%f", a);
- return buf;
+ char buf[256];
+ snprintf_nol(buf, sizeof(buf) - 1, "%f", a);
+ return buf;
}
std::string bool2str(bool a)
{
- return a?"true":"false";
+ return a?"true":"false";
}
float str2float(std::string a)
{
- if(a == "") return 0.0;
- return atof_nol(a.c_str());
+ if(a == "")
+ {
+ return 0.0;
+ }
+
+ return atof_nol(a.c_str());
}
std::string DrumGizmo::configString()
{
- std::string mmapfile;
- if(ie->isMidiEngine()) {
- AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
- mmapfile = aim->midimapFile();
- }
-
- return
- "<config>\n"
- " <value name=\"drumkitfile\">" + kit.file() + "</value>\n"
- " <value name=\"midimapfile\">" + mmapfile + "</value>\n"
- " <value name=\"enable_velocity_modifier\">" +
- bool2str(Conf::enable_velocity_modifier) + "</value>\n"
- " <value name=\"velocity_modifier_falloff\">" +
- float2str(Conf::velocity_modifier_falloff) + "</value>\n"
- " <value name=\"velocity_modifier_weight\">" +
- float2str(Conf::velocity_modifier_weight) + "</value>\n"
- " <value name=\"enable_velocity_randomiser\">" +
- bool2str(Conf::enable_velocity_randomiser) + "</value>\n"
- " <value name=\"velocity_randomiser_weight\">" +
- float2str(Conf::velocity_randomiser_weight) + "</value>\n"
- "</config>";
+ std::string mmapfile;
+ if(ie->isMidiEngine())
+ {
+ AudioInputEngineMidi *aim = (AudioInputEngineMidi*)ie;
+ mmapfile = aim->midimapFile();
+ }
+
+ return
+ "<config>\n"
+ " <value name=\"drumkitfile\">" + kit.file() + "</value>\n"
+ " <value name=\"midimapfile\">" + mmapfile + "</value>\n"
+ " <value name=\"enable_velocity_modifier\">" +
+ bool2str(Conf::enable_velocity_modifier) + "</value>\n"
+ " <value name=\"velocity_modifier_falloff\">" +
+ float2str(Conf::velocity_modifier_falloff) + "</value>\n"
+ " <value name=\"velocity_modifier_weight\">" +
+ float2str(Conf::velocity_modifier_weight) + "</value>\n"
+ " <value name=\"enable_velocity_randomiser\">" +
+ bool2str(Conf::enable_velocity_randomiser) + "</value>\n"
+ " <value name=\"velocity_randomiser_weight\">" +
+ float2str(Conf::velocity_randomiser_weight) + "</value>\n"
+ "</config>";
}
-
bool DrumGizmo::setConfigString(std::string cfg)
{
- DEBUG(config, "Load config: %s\n", cfg.c_str());
-
- std::string dkf;
- ConfigParser p;
- if(p.parse(cfg)) {
- ERR(drumgizmo, "Config parse error.\n");
- return false;
- }
-
- if(p.value("enable_velocity_modifier") != "") {
- Conf::enable_velocity_modifier =
- p.value("enable_velocity_modifier") == "true";
- }
-
- if(p.value("velocity_modifier_falloff") != "") {
- Conf::velocity_modifier_falloff =
- str2float(p.value("velocity_modifier_falloff"));
- }
-
- if(p.value("velocity_modifier_weight") != "") {
- Conf::velocity_modifier_weight =
- str2float(p.value("velocity_modifier_weight"));
- }
-
- if(p.value("enable_velocity_randomiser") != "") {
- Conf::enable_velocity_randomiser =
- p.value("enable_velocity_randomiser") == "true";
- }
-
- if(p.value("velocity_randomiser_weight") != "") {
- Conf::velocity_randomiser_weight =
- str2float(p.value("velocity_randomiser_weight"));
- }
-
- if(p.value("enable_resampling") != "") {
- Conf::enable_resampling =
- p.value("enable_resampling") == "true";
- }
-
- std::string newkit = p.value("drumkitfile");
- if(newkit != "" && kit.file() != newkit) {
- /*
- if(!loadkit(p.values["drumkitfile"])) return false;
- init(true);
- */
- LoadDrumKitMessage *msg = new LoadDrumKitMessage();
- msg->drumkitfile = newkit;
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
- }
-
- std::string newmidimap = p.value("midimapfile");
- if(newmidimap != "") {
- //midimapfile = newmidimap;
- LoadMidimapMessage *msg = new LoadMidimapMessage();
- msg->midimapfile = newmidimap;
- msghandler.sendMessage(MSGRCV_ENGINE, msg);
- }
-
- return true;
-}
-
-#ifdef TEST_DRUMGIZMO
-//deps: instrument.cc sample.cc channel.cc audiofile.cc drumkit.cc drumkitparser.cc configuration.cc saxparser.cc instrumentparser.cc path.cc
-//cflags: $(SNDFILE_CFLAGS) $(EXPAT_CFLAGS) -I../include -DSSE -msse -msse2 -msse3
-//libs: $(SNDFILE_LIBS) $(EXPAT_LIBS)
-#include "test.h"
-
-static float f(size_t x)
-{
- return x + 1.0;
-}
-
-class AITest : public AudioInputEngine {
-public:
- bool init(Instruments &instruments) { return true; }
- void setParm(std::string parm, std::string value) {}
- bool start() { return true; }
- void stop() {}
- void pre() {}
- event_t *run(size_t pos, size_t len, size_t *nevents)
- {
- event_t *e = NULL;
- *nevents = 0;
-
- if(pos <= offset && offset < pos + len) {
- e = new event_t;
-
- e->type = TYPE_ONSET;
- e->instrument = 0;
- e->velocity = 1.0;
- e->offset = offset - pos;
-
- *nevents = 1;
- }
- return e;
- }
- void post() {}
- size_t offset;
-};
-
-class AOTest : public AudioOutputEngine {
-public:
- bool init(Channels channels) { return true; }
- void setParm(std::string parm, std::string value) {}
- bool start() { return true; }
- void stop() {}
- void pre(size_t nsamples) {}
- void run(int ch, sample_t *samples, size_t nsamples)
- {
- }
- void post(size_t nsamples) {}
-};
-
-const char xml_kit[] =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<drumkit name=\"test\" description=\"\">\n"
- " <channels>\n"
- " <channel name=\"ch1\"/>\n"
- " </channels>\n"
- " <instruments>\n"
- " <instrument name=\"instr1\" file=\"instr1.xml\">\n"
- " <channelmap in=\"ch1\" out=\"ch1\"/>\n"
- " </instrument>\n"
- " </instruments>\n"
- "</drumkit>";
-
-const char xml_instr[] =
- "<?xml version='1.0' encoding='UTF-8'?>\n"
- "<instrument name=\"instr1\">\n"
- " <samples>\n"
- " <sample name=\"sample1\">\n"
- " <audiofile channel=\"ch1\" file=\"instr1.wav\"/>\n"
- " </sample>\n"
- " </samples>\n"
- " <velocities>\n"
- " <velocity lower=\"0\" upper=\"1.0\">\n"
- " <sampleref name=\"sample1\"/>\n"
- " </velocity>\n"
- " </velocities>\n"
- "</instrument>";
-
-#define PCM_SIZE 100
-
-void createTestKit()
-{
- FILE *fp;
- fp = fopen("/tmp/kit.xml", "w");
- fwrite(xml_kit, strlen(xml_kit), 1, fp);
- fclose(fp);
-
- fp = fopen("/tmp/instr1.xml", "w");
- fwrite(xml_instr, strlen(xml_instr), 1, fp);
- fclose(fp);
-
- SF_INFO sf_info;
- sf_info.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT;
- sf_info.samplerate = 44100;
- sf_info.channels = 1;
-
- SNDFILE *fh = sf_open("/tmp/instr1.wav", SFM_WRITE, &sf_info);
- if(!fh) {
- printf("Error: %s\n", sf_strerror(fh));
- }
-
- size_t size = PCM_SIZE;
- sample_t samples[size];
-
- for(size_t i = 0; i < size; i++) {
- samples[i] = f(i);//(float)i / (float)size;
- }
-
- sf_write_float(fh, samples, size);
- sf_close(fh);
-}
-
-void deleteTestKit()
-{
- unlink("/tmp/kit.xml");
- unlink("/tmp/instr1.xml");
- unlink("/tmp/instr1.wav");
+ DEBUG(config, "Load config: %s\n", cfg.c_str());
+
+ std::string dkf;
+ ConfigParser p;
+ if(p.parse(cfg))
+ {
+ ERR(drumgizmo, "Config parse error.\n");
+ return false;
+ }
+
+ if(p.value("enable_velocity_modifier") != "")
+ {
+ Conf::enable_velocity_modifier =
+ p.value("enable_velocity_modifier") == "true";
+ }
+
+ if(p.value("velocity_modifier_falloff") != "")
+ {
+ Conf::velocity_modifier_falloff =
+ str2float(p.value("velocity_modifier_falloff"));
+ }
+
+ if(p.value("velocity_modifier_weight") != "")
+ {
+ Conf::velocity_modifier_weight =
+ str2float(p.value("velocity_modifier_weight"));
+ }
+
+ if(p.value("enable_velocity_randomiser") != "")
+ {
+ Conf::enable_velocity_randomiser =
+ p.value("enable_velocity_randomiser") == "true";
+ }
+
+ if(p.value("velocity_randomiser_weight") != "")
+ {
+ Conf::velocity_randomiser_weight =
+ str2float(p.value("velocity_randomiser_weight"));
+ }
+
+ if(p.value("enable_resampling") != "")
+ {
+ Conf::enable_resampling =
+ p.value("enable_resampling") == "true";
+ }
+
+ std::string newkit = p.value("drumkitfile");
+ if(newkit != "" && kit.file() != newkit)
+ {
+ /*
+ if(!loadkit(p.values["drumkitfile"]))
+ {
+ return false;
+ }
+ init(true);
+ */
+ LoadDrumKitMessage *msg = new LoadDrumKitMessage();
+ msg->drumkitfile = newkit;
+ msghandler.sendMessage(MSGRCV_ENGINE, msg);
+ }
+
+ std::string newmidimap = p.value("midimapfile");
+ if(newmidimap != "")
+ {
+ //midimapfile = newmidimap;
+ LoadMidimapMessage *msg = new LoadMidimapMessage();
+ msg->midimapfile = newmidimap;
+ msghandler.sendMessage(MSGRCV_ENGINE, msg);
+ }
+
+ return true;
}
-
-TEST_BEGIN;
-
-createTestKit();
-
-size_t size = PCM_SIZE;
-//for(size_t chunksz = 1; chunksz < size + 1; chunksz++) {
-size_t chunksz = 16; {
- sample_t samples[chunksz];
-
- for(size_t offset = 0; offset < chunksz + size + 1; offset++) {
- //size_t offset = 5; {
- for(size_t padding = 0; padding < chunksz + size + offset + 1; padding++) {
- //size_t padding = 2; {
- TEST_MSG("Values (offset %d, padding %d, chunksz %d)",
- offset, padding, chunksz);
-
- AOTest ao;
- AITest ai; ai.offset = offset;
- DrumGizmo dg(&ao, &ai);
- dg.loadkit("/tmp/kit.xml");
-
- size_t pos = 0;
- // sample_t samples[chunksz];
- while(pos < offset + size + padding) {
- dg.run(pos, samples, chunksz);
-
- float err = 0;
- size_t errcnt = 0;
- for(size_t i = 0; i < chunksz && pos < offset + size + padding; i++) {
- float val = 0.0;
- if(pos >= offset && pos < (offset + size)) val = f(pos - offset);
- float diff = samples[i] - val;
- /*
- if(diff != 0.0) {
- TEST_EQUAL_FLOAT(samples[i], val,
- "samples[%d] ?= val, pos %d", i, pos);
- }
- */
- if(diff != 0.0) errcnt++;
-
- err += fabs(diff);
- pos++;
- }
-
- TEST_EQUAL_FLOAT(err, 0.0,
- "Compare error (offset %d, padding %d, chunksz %d)",
- offset, padding, chunksz);
- TEST_EQUAL_INT(errcnt, 0,
- "Compare count (offset %d, padding %d, chunksz %d)",
- offset, padding, chunksz);
- }
-
- }
- }
-}
-
-deleteTestKit();
-
-TEST_END;
-
-#endif/*TEST_DRUMGIZMO*/
diff --git a/src/drumgizmo.h b/src/drumgizmo.h
index f8d45f5..632d5fc 100644
--- a/src/drumgizmo.h
+++ b/src/drumgizmo.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_DRUMGIZMO_H__
-#define __DRUMGIZMO_DRUMGIZMO_H__
+#pragma once
#include <string>
#include <list>
@@ -36,8 +35,10 @@
#include "events.h"
#include "audiofile.h"
#include "drumkit.h"
+#include "memchecker.h"
#include "drumkitloader.h"
+#include "audiocache.h"
#include "mutex.h"
@@ -47,56 +48,64 @@
#include "chresampler.h"
+#include "configfile.h"
+
#define MAX_NUM_CHANNELS 64
+#define REFSFILE "refs.conf"
+#define RESAMPLER_INPUT_BUFFER 64
-class DrumGizmo : public MessageReceiver {
+class DrumGizmo
+ : public MessageReceiver
+{
public:
- DrumGizmo(AudioOutputEngine *outputengine, AudioInputEngine *inputengine);
- virtual ~DrumGizmo();
+ DrumGizmo(AudioOutputEngine *outputengine, AudioInputEngine *inputengine);
+ virtual ~DrumGizmo();
- bool loadkit(std::string kitfile);
+ bool loadkit(std::string kitfile);
- bool init();
+ bool init();
- /**
- * @param endpos number of samples to process, -1 := never stop.
- */
- void run(int endpos);
- bool run(size_t pos, sample_t *samples, size_t nsamples);
- void stop();
+ void run(int endpos);
+ bool run(size_t pos, sample_t *samples, size_t nsamples);
+ void stop();
- void getSamples(int ch, int pos, sample_t *s, size_t sz);
+ void getSamples(int ch, int pos, sample_t *s, size_t sz);
- std::string configString();
- bool setConfigString(std::string cfg);
+ std::string configString();
+ bool setConfigString(std::string cfg);
- void handleMessage(Message *msg);
+ void handleMessage(Message *msg);
- int samplerate();
- void setSamplerate(int samplerate);
+ int samplerate();
+ void setSamplerate(int samplerate);
-private:
- DrumKitLoader loader;
+ void setFrameSize(size_t framesize);
- Mutex mutex;
- bool is_stopping; ///< Is set to true when a TYPE_STOP event has been seen.
+ void setFreeWheel(bool freewheel);
- AudioOutputEngine *oe;
- AudioInputEngine *ie;
+protected:
+ DrumKitLoader loader;
- std::list< Event* > activeevents[MAX_NUM_CHANNELS];
+ Mutex mutex;
+ bool is_stopping; ///< Is set to true when a TYPE_STOP event has been seen.
- CHResampler resampler[MAX_NUM_CHANNELS];
- sample_t resampler_output_buffer[MAX_NUM_CHANNELS][4096];
- sample_t resampler_input_buffer[MAX_NUM_CHANNELS][64];
+ AudioOutputEngine *oe;
+ AudioInputEngine *ie;
- std::map<std::string, AudioFile *> audiofiles;
+ std::list< Event* > activeevents[MAX_NUM_CHANNELS];
-#ifdef TEST_DRUMGIZMO
-public:
-#endif
- DrumKit kit;
-};
+ CHResampler resampler[MAX_NUM_CHANNELS];
+ sample_t resampler_output_buffer[MAX_NUM_CHANNELS][4096];
+ sample_t resampler_input_buffer[MAX_NUM_CHANNELS][RESAMPLER_INPUT_BUFFER];
+ std::map<std::string, AudioFile *> audiofiles;
-#endif/*__DRUMGIZMO_DRUMGIZMO_H__*/
+ AudioCache audioCache;
+ DrumKit kit;
+ MemChecker memchecker;
+
+ size_t framesize;
+ bool freewheel;
+
+ std::vector<event_t> events;
+};
diff --git a/src/drumkit.cc b/src/drumkit.cc
index 4d75f3b..d8596c7 100644
--- a/src/drumkit.cc
+++ b/src/drumkit.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/drumkit.h b/src/drumkit.h
index 04b2c56..24fce99 100644
--- a/src/drumkit.h
+++ b/src/drumkit.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -56,13 +56,13 @@ public:
size_t samplerate();
private:
- void *magic;
+ void *magic{nullptr};
std::string _file;
std::string _name;
std::string _description;
- size_t _samplerate;
+ size_t _samplerate{0};
VersionStr _version;
};
diff --git a/src/drumkitloader.cc b/src/drumkitloader.cc
index bf01db6..ff489ea 100644
--- a/src/drumkitloader.cc
+++ b/src/drumkitloader.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -32,123 +32,168 @@
#include "drumgizmo.h"
DrumKitLoader::DrumKitLoader()
- : semaphore("drumkitloader")
+ : semaphore("drumkitloader")
+ , framesize(0)
{
- run();
- run_semaphore.wait(); // Wait for the thread to actually start.
+ run();
+ run_semaphore.wait(); // Wait for the thread to actually start.
}
DrumKitLoader::~DrumKitLoader()
{
- if(running) {
- stop();
- }
+ DEBUG(loader, "~DrumKitLoader() pre\n");
+
+ if(running)
+ {
+ framesize_semaphore.post();
+ stop();
+ }
+
+ DEBUG(loader, "~DrumKitLoader() post\n");
}
void DrumKitLoader::stop()
{
- {
- MutexAutolock l(mutex);
- load_queue.clear();
- }
-
- running = false;
- semaphore.post();
- wait_stop();
+ {
+ MutexAutolock l(mutex);
+ load_queue.clear();
+ }
+
+ running = false;
+ semaphore.post();
+ wait_stop();
}
void DrumKitLoader::skip()
{
- MutexAutolock l(mutex);
- load_queue.clear();
+ MutexAutolock l(mutex);
+ load_queue.clear();
+}
+
+void DrumKitLoader::setFrameSize(size_t framesize)
+{
+ DEBUG(loader, "%s pre\n", __PRETTY_FUNCTION__);
+
+ {
+ MutexAutolock l(mutex);
+ this->framesize = framesize;
+ framesize_semaphore.post(); // Signal that the framesize has been set.
+ }
+
+ DEBUG(loader, "%s post\n", __PRETTY_FUNCTION__);
}
bool DrumKitLoader::isDone()
{
- MutexAutolock l(mutex);
- return load_queue.size() == 0;
+ MutexAutolock l(mutex);
+ return load_queue.size() == 0;
}
void DrumKitLoader::loadKit(DrumKit *kit)
{
- MutexAutolock l(mutex);
-
- DEBUG(loader, "Create AudioFile queue from DrumKit\n");
-
- total_num_audiofiles = 0;// For UI Progress Messages
-
- { // Count total number of files that need loading:
- Instruments::iterator i = kit->instruments.begin();
- while(i != kit->instruments.end()) {
- Instrument *instr = *i;
- total_num_audiofiles += instr->audiofiles.size();
- i++;
- }
- }
-
- fraction = total_num_audiofiles / 200;
- if(fraction == 0) fraction = 1;
-
- { // Now actually queue them for loading:
- Instruments::iterator i = kit->instruments.begin();
- while(i != kit->instruments.end()) {
- Instrument *instr = *i;
-
- std::vector<AudioFile*>::iterator af = instr->audiofiles.begin();
- while(af != instr->audiofiles.end()) {
- AudioFile *audiofile = *af;
- load_queue.push_back(audiofile);
- af++;
- }
-
- i++;
- }
- }
-
- loaded = 0; // For UI Progress Messages
-
- DEBUG(loader, "Queued %d (size: %d) AudioFiles for loading.\n",
- (int)total_num_audiofiles, (int)load_queue.size());
-
- semaphore.post(); // Start loader loop.
+ MutexAutolock l(mutex);
+
+ DEBUG(loader, "Create AudioFile queue from DrumKit\n");
+
+ total_num_audiofiles = 0;// For UI Progress Messages
+
+ { // Count total number of files that need loading:
+ Instruments::iterator i = kit->instruments.begin();
+ while(i != kit->instruments.end())
+ {
+ Instrument *instr = *i;
+ total_num_audiofiles += instr->audiofiles.size();
+ ++i;
+ }
+ }
+
+ fraction = total_num_audiofiles / 200;
+ if(fraction == 0)
+ {
+ fraction = 1;
+ }
+
+ { // Now actually queue them for loading:
+ Instruments::iterator i = kit->instruments.begin();
+ while(i != kit->instruments.end())
+ {
+ Instrument *instr = *i;
+
+ std::vector<AudioFile*>::iterator af = instr->audiofiles.begin();
+ while(af != instr->audiofiles.end())
+ {
+ AudioFile *audiofile = *af;
+ load_queue.push_back(audiofile);
+ af++;
+ }
+
+ ++i;
+ }
+ }
+
+ loaded = 0; // For UI Progress Messages
+
+ DEBUG(loader, "Queued %d (size: %d) AudioFiles for loading.\n",
+ (int)total_num_audiofiles, (int)load_queue.size());
+
+ semaphore.post(); // Start loader loop.
}
void DrumKitLoader::thread_main()
{
- running = true;
-
- run_semaphore.post(); // Signal that the thread has been started.
-
- while(running) {
- size_t size;
- {
- MutexAutolock l(mutex);
- size = load_queue.size();
- }
-
- // Only sleep if queue is empty.
- if(size == 0) semaphore.wait();
-
- std::string filename;
- {
- MutexAutolock l(mutex);
- if(load_queue.size() == 0) continue;
- AudioFile *audiofile = load_queue.front();
- load_queue.pop_front();
- filename = audiofile->filename;
- audiofile->load();
- }
-
- loaded++;
-
- if(loaded % fraction == 0 || loaded == total_num_audiofiles) {
- LoadStatusMessage *ls = new LoadStatusMessage();
- ls->number_of_files = total_num_audiofiles;
- ls->numer_of_files_loaded = loaded;
- ls->current_file = filename;
- msghandler.sendMessage(MSGRCV_UI, ls);
- }
- }
-
- DEBUG(loader, "Loader thread finished.");
+ running = true;
+
+ run_semaphore.post(); // Signal that the thread has been started.
+
+ framesize_semaphore.wait(); // Wait until the framesize has been set.
+
+ while(running)
+ {
+ size_t size;
+ {
+ MutexAutolock l(mutex);
+ size = load_queue.size();
+ }
+
+ // Only sleep if queue is empty.
+ if(size == 0)
+ {
+ semaphore.wait();
+ }
+
+ std::string filename;
+ {
+ MutexAutolock l(mutex);
+ if(load_queue.size() == 0)
+ {
+ continue;
+ }
+ AudioFile *audiofile = load_queue.front();
+ load_queue.pop_front();
+ filename = audiofile->filename;
+ int preload_size = framesize * CHUNK_MULTIPLIER + framesize;
+ if(preload_size < 1024)
+ {
+ preload_size = 1024;
+ }
+
+ // Note: Remove this line to enable diskstreaming
+ preload_size = ALL_SAMPLES;
+
+ audiofile->load(preload_size);
+ }
+
+ loaded++;
+
+ if(loaded % fraction == 0 || loaded == total_num_audiofiles)
+ {
+ LoadStatusMessage *ls = new LoadStatusMessage();
+ ls->number_of_files = total_num_audiofiles;
+ ls->numer_of_files_loaded = loaded;
+ ls->current_file = filename;
+ msghandler.sendMessage(MSGRCV_UI, ls);
+ }
+ }
+
+ DEBUG(loader, "Loader thread finished.");
}
diff --git a/src/drumkitloader.h b/src/drumkitloader.h
index 2c0ea8e..3656839 100644
--- a/src/drumkitloader.h
+++ b/src/drumkitloader.h
@@ -11,21 +11,20 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_DRUMKITLOADER_H__
-#define __DRUMGIZMO_DRUMKITLOADER_H__
+#pragma once
#include <string>
#include <list>
@@ -36,64 +35,51 @@
#include "drumkit.h"
-/**
- * This class is responsible for loading the drumkits in its own thread.
- * All interaction calls are simply modifying queues and not doing any
- * work in-sync with the caller.
- * This means that if loadKit(...) is called, one cannot assume that the
- * drumkit has actually been loaded when the call returns.
- */
-class DrumKitLoader : public Thread {
+//! This class is responsible for loading the drumkits in its own thread.
+//! All interaction calls are simply modifying queues and not doing any
+//! work in-sync with the caller.
+//! This means that if loadKit(...) is called, one cannot assume that the
+//! drumkit has actually been loaded when the call returns.
+class DrumKitLoader
+ : public Thread
+{
public:
- /**
- * The constrcutor starts the loader thread.
- */
- DrumKitLoader();
+ //! The constrcutor starts the loader thread.
+ DrumKitLoader();
- /**
- * The destructor signals the thread to stop and waits to merge before
- * returning (ie. deleting the object will garantuee that the thread has
- * been stopped).
- */
- ~DrumKitLoader();
+ //! The destructor signals the thread to stop and waits to merge before
+ //! returning (ie. deleting the object will garantuee that the thread has
+ //! been stopped).
+ ~DrumKitLoader();
- /**
- * Signal the loader to start loading all audio files contained in kit.
- * All other AudioFiles in queue will be removed before the new ones are
- * scheduled.
- */
- void loadKit(DrumKit *kit);
-
- // I have no idea what this does..
- //void reset(AudioFile* af);
+ //! Signal the loader to start loading all audio files contained in kit.
+ //! All other AudioFiles in queue will be removed before the new ones are
+ //! scheduled.
+ void loadKit(DrumKit *kit);
- void thread_main();
+ void thread_main();
- /**
- * Simply reports if the load queue is empty (i.e. all AudioFiles has been
- * loaded).
- */
- bool isDone();
+ //! Simply reports if the load queue is empty (i.e. all AudioFiles has been
+ //! loaded).
+ bool isDone();
- /**
- * Signal the loader to stop and wait until it has.
- */
- void stop();
+ //! Signal the loader to stop and wait until it has.
+ void stop();
- /**
- * Skip all queued AudioFiles.
- */
- void skip();
+ //! Skip all queued AudioFiles.
+ void skip();
-private:
- Semaphore run_semaphore;
- Semaphore semaphore;
- Mutex mutex;
- volatile bool running;
- std::list<AudioFile*> load_queue;
- size_t total_num_audiofiles;
- size_t fraction;
- size_t loaded;
-};
+ void setFrameSize(size_t framesize);
-#endif/*__DRUMGIZMO_DRUMKITLOADER_H__*/
+protected:
+ Semaphore run_semaphore;
+ Semaphore semaphore;
+ Semaphore framesize_semaphore;
+ Mutex mutex;
+ volatile bool running{false};
+ std::list<AudioFile*> load_queue;
+ size_t total_num_audiofiles{0};
+ size_t fraction{1};
+ size_t loaded{0};
+ size_t framesize{0};
+};
diff --git a/src/drumkitparser.cc b/src/drumkitparser.cc
index 2c21c52..f0fddf8 100644
--- a/src/drumkitparser.cc
+++ b/src/drumkitparser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -32,10 +32,22 @@
#include "instrumentparser.h"
#include "path.h"
+#include "drumgizmo.h"
-DrumKitParser::DrumKitParser(const std::string &kitfile, DrumKit &k)
+DrumKitParser::DrumKitParser(const std::string &file, DrumKit &k)
: kit(k)
+ , refs(REFSFILE)
{
+ std::string kitfile = file;
+
+ if(refs.load()) {
+ if(file.size() > 1 && file[0] == '@') {
+ kitfile = refs.getValue(file.substr(1));
+ }
+ } else {
+ ERR(drumkitparser, "Error reading refs.conf");
+ }
+
// instr = NULL;
path = getPath(kitfile);
@@ -45,7 +57,7 @@ DrumKitParser::DrumKitParser(const std::string &kitfile, DrumKit &k)
if(!fd) return;
- kit._file = kitfile;
+ kit._file = file;
}
DrumKitParser::~DrumKitParser()
diff --git a/src/drumkitparser.h b/src/drumkitparser.h
index 907b09d..b59e81b 100644
--- a/src/drumkitparser.h
+++ b/src/drumkitparser.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -29,6 +29,7 @@
#include "saxparser.h"
#include "drumkit.h"
+#include "configfile.h"
class DrumKitParser : public SAXParser {
public:
@@ -52,6 +53,8 @@ private:
std::string instr_file;
std::string instr_name;
std::string instr_group;
+
+ ConfigFile refs;
};
#endif/*__DRUMGIZMO_DRUMKITPARSER_H__*/
diff --git a/src/events.cc b/src/events.cc
index c72646a..8149c08 100644
--- a/src/events.cc
+++ b/src/events.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/events.h b/src/events.h
index fa0147b..a965bd3 100644
--- a/src/events.h
+++ b/src/events.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -35,6 +35,7 @@
#include "audiofile.h"
#include "audio.h"
#include "mutex.h"
+#include "audiocache.h"
typedef unsigned int timepos_t;
@@ -58,6 +59,7 @@ public:
EventSample(channel_t c, float g, AudioFile *af, std::string grp,
void *instr)
{
+ cache_id = CACHE_NOID;
channel = c;
gain = g;
t = 0;
@@ -70,6 +72,10 @@ public:
Event::type_t type() { return Event::sample; }
+ cacheid_t cache_id;
+ sample_t *buffer;
+ size_t buffer_size;
+
float gain;
unsigned int t;
AudioFile *file;
diff --git a/src/instrument.cc b/src/instrument.cc
index d0b25aa..96a6bfd 100644
--- a/src/instrument.cc
+++ b/src/instrument.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/instrument.h b/src/instrument.h
index 416b6c2..e880d8d 100644
--- a/src/instrument.h
+++ b/src/instrument.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/instrumentparser.cc b/src/instrumentparser.cc
index 1f25bc7..b097c8c 100644
--- a/src/instrumentparser.cc
+++ b/src/instrumentparser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -90,6 +90,7 @@ void InstrumentParser::startTag(std::string name,
DEBUG(instrparser, "Instrument power set to %f\n", power);
}
+ // TODO get rid of new or delete it properly
s = new Sample(attr["name"], power);
}
@@ -117,6 +118,7 @@ void InstrumentParser::startTag(std::string name,
}
}
filechannel = filechannel - 1; // 1-based in file, but zero-based internally
+ // TODO do those next two lines correspond with proper deletes? If not fix it.
AudioFile *af = new AudioFile(path + "/" + attr["file"], filechannel);
InstrumentChannel *ch = new InstrumentChannel(attr["channel"]);
channellist.push_back(ch);
diff --git a/src/instrumentparser.h b/src/instrumentparser.h
index 2a7a9c9..e08b54c 100644
--- a/src/instrumentparser.h
+++ b/src/instrumentparser.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -47,14 +47,14 @@ protected:
int readData(char *data, size_t size);
private:
- FILE *fd;
+ FILE *fd{nullptr};
Instrument &instrument;
- Sample *s;
+ Sample *s{nullptr};
std::string path;
- level_t lower;
- level_t upper;
+ level_t lower{0};
+ level_t upper{0};
};
#endif/*__DRUMGIZMO_INSTRUMENTPARSER_H__*/
diff --git a/src/memchecker.cc b/src/memchecker.cc
new file mode 100644
index 0000000..1110e69
--- /dev/null
+++ b/src/memchecker.cc
@@ -0,0 +1,102 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * memchecker.cc
+ *
+ * Sat Jan 16 18:27:52 CET 2016
+ * Copyright 2016 André Nusser
+ * andre.nusser at googlemail.com
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "memchecker.h"
+
+#ifdef WIN32
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#else
+#include <sys/sysinfo.h>
+#endif
+#include <sndfile.h>
+#include <hugin.hpp>
+
+bool MemChecker::enoughFreeMemory(const DrumKit& drumkit) const
+{
+ uint64_t free_memory = calcFreeMemory();
+ uint64_t needed_memory = calcNeededMemory(drumkit);
+
+ return free_memory >= needed_memory;
+}
+
+uint64_t MemChecker::calcFreeMemory() const
+{
+ uint64_t free_memory = 0;
+
+ // Platform specific calculation of the amount of free memory.
+#ifdef WIN32
+ MEMORYSTATUSEX status;
+ status.dwLength = sizeof(status);
+ GlobalMemoryStatusEx(&status);
+ free_memory = status.ullAvailPhys;
+#else
+ struct sysinfo sys_info;
+ sysinfo(&sys_info);
+ free_memory = sys_info.freeram * sys_info.mem_unit;
+#endif
+
+ DEBUG(memchecker, "Calculated %" PRIu64 " free memory.\n", free_memory);
+
+ return free_memory;
+}
+
+uint64_t MemChecker::calcNeededMemory(const DrumKit& drumkit) const
+{
+ uint64_t needed_memory = 0;
+
+ // Calculate memory usage of all instruments of drumkit.
+ for(auto instrument : drumkit.instruments)
+ {
+ const auto& audiofiles = instrument->audiofiles;
+
+ // Calculate memory usage of all audiofiles.
+ for(auto audiofile : audiofiles)
+ {
+ needed_memory += calcBytesPerChannel(audiofile->filename);
+ }
+ }
+
+ DEBUG(memchecker, "Calculated %" PRIu64 " needed memory.\n", needed_memory);
+
+ return needed_memory;
+}
+
+uint64_t MemChecker::calcBytesPerChannel(const std::string& filename) const
+{
+ SF_INFO sf_info{};
+
+ SNDFILE* f = sf_open(filename.c_str(), SFM_READ, &sf_info);
+ if(!f)
+ {
+ ERR(memchecker, "SNDFILE Error (%s): %s\n", filename.c_str(), sf_strerror(f));
+ return 0;
+ }
+
+ sf_close(f);
+
+ return sf_info.frames * sizeof(sample_t);
+}
diff --git a/src/memchecker.h b/src/memchecker.h
new file mode 100644
index 0000000..aeefb3a
--- /dev/null
+++ b/src/memchecker.h
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * memchecker.h
+ *
+ * Sat Jan 16 18:27:52 CET 2016
+ * Copyright 2016 André Nusser
+ * andre.nusser at googlemail.com
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include "drumkit.h"
+
+#include <string>
+// includes cstdint automatically and is needed for the PRIu64 macro
+#include <cinttypes>
+
+class MemChecker
+{
+public:
+ //! Checks if there is enough memory left to load drumkit into RAM.
+ //! \param drumkit The drumkit for which it is checked if there's enough memory left.
+ //! \return True iff there is enough memory left.
+ bool enoughFreeMemory(const DrumKit& drumkit) const;
+
+protected:
+ // Computes how much RAM (in bytes) is left.
+ uint64_t calcFreeMemory() const;
+
+ // Computes how much memory the drumkit takes when loaded into RAM (in bytes).
+ uint64_t calcNeededMemory(const DrumKit& drumkit) const;
+
+ // Computes the number of bytes per channel of <filename> using libsnd.
+ uint64_t calcBytesPerChannel(const std::string& filename) const;
+};
diff --git a/src/message.h b/src/message.h
index 07b0300..71d0da6 100644
--- a/src/message.h
+++ b/src/message.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/messagehandler.cc b/src/messagehandler.cc
index 52a89a5..7a0c7ea 100644
--- a/src/messagehandler.cc
+++ b/src/messagehandler.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/messagehandler.h b/src/messagehandler.h
index 9812777..2b6c40e 100644
--- a/src/messagehandler.h
+++ b/src/messagehandler.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/messagereceiver.cc b/src/messagereceiver.cc
index a24482b..590c98a 100644
--- a/src/messagereceiver.cc
+++ b/src/messagereceiver.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/messagereceiver.h b/src/messagereceiver.h
index 2794091..c1a8e60 100644
--- a/src/messagereceiver.h
+++ b/src/messagereceiver.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/midimapparser.cc b/src/midimapparser.cc
index 07210a5..8dabb05 100644
--- a/src/midimapparser.cc
+++ b/src/midimapparser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -50,20 +50,3 @@ int MidiMapParser::readData(char *data, size_t size)
if(!fd) return -1;
return fread(data, 1, size, fd);
}
-
-#ifdef TEST_MIDIMAPPARSER
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_MIDIMAPPARSER*/
diff --git a/src/midimapparser.h b/src/midimapparser.h
index 98ab886..b9ef3e7 100644
--- a/src/midimapparser.h
+++ b/src/midimapparser.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/midimapper.cc b/src/midimapper.cc
index d4ff94e..8df5901 100644
--- a/src/midimapper.cc
+++ b/src/midimapper.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/midimapper.h b/src/midimapper.h
index 7439c4b..e8f7ab3 100644
--- a/src/midimapper.h
+++ b/src/midimapper.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/mutex.cc b/src/mutex.cc
index 22d59a6..84143be 100644
--- a/src/mutex.cc
+++ b/src/mutex.cc
@@ -9,147 +9,111 @@
****************************************************************************/
/*
- * This file is part of Pracro.
+ * This file is part of DrumGizmo.
*
- * Pracro 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
+ * DrumGizmo 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 3 of the License, or
* (at your option) any later version.
*
- * Pracro is distributed in the hope that it will be useful,
+ * DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Pracro; if not, write to the Free Software
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "mutex.h"
+#include <hugin.hpp>
+
#ifdef WIN32
#include <windows.h>
#else
#include <pthread.h>
+#include <errno.h>
#endif
struct mutex_private_t {
#ifdef WIN32
- HANDLE mutex;
+ HANDLE mutex;
#else
- pthread_mutex_t mutex;
+ pthread_mutex_t mutex;
#endif
};
Mutex::Mutex()
{
- prv = new struct mutex_private_t();
+ prv = new struct mutex_private_t();
#ifdef WIN32
- prv->mutex = CreateMutex(NULL, // default security attributes
- FALSE, // initially not owned
- NULL); // unnamed mutex
+ prv->mutex = CreateMutex(nullptr, // default security attributes
+ FALSE, // initially not owned
+ nullptr); // unnamed mutex
#else
- pthread_mutex_init (&prv->mutex, NULL);
+ pthread_mutex_init (&prv->mutex, nullptr);
#endif
}
Mutex::~Mutex()
{
#ifdef WIN32
- CloseHandle(prv->mutex);
+ CloseHandle(prv->mutex);
#else
- pthread_mutex_destroy(&prv->mutex);
+ pthread_mutex_destroy(&prv->mutex);
#endif
- if(prv) delete prv;
+ if(prv)
+ {
+ delete prv;
+ }
+}
+
+//! \return true if the function succeeds in locking the mutex for the thread.
+//! false otherwise.
+bool Mutex::try_lock()
+{
+#ifdef WIN32
+ DEBUG(mutex, "%s\n", __PRETTY_FUNCTION__);
+
+ DWORD result = WaitForSingleObject(prv->mutex, 0);
+
+ DEBUG(mutex, "WAIT_OBJECT_0: %lu, WAIT_TIMEOUT: %lu, result: %lu\n",
+ WAIT_OBJECT_0, WAIT_TIMEOUT, result);
+
+ return result != WAIT_TIMEOUT;
+#else
+ return pthread_mutex_trylock(&prv->mutex) != EBUSY;
+#endif
}
void Mutex::lock()
{
#ifdef WIN32
- WaitForSingleObject(prv->mutex, // handle to mutex
- INFINITE); // no time-out interval
+ WaitForSingleObject(prv->mutex, // handle to mutex
+ INFINITE); // no time-out interval
#else
- pthread_mutex_lock(&prv->mutex);
+ pthread_mutex_lock(&prv->mutex);
#endif
}
void Mutex::unlock()
{
#ifdef WIN32
- ReleaseMutex(prv->mutex);
+ ReleaseMutex(prv->mutex);
#else
- pthread_mutex_unlock(&prv->mutex);
+ pthread_mutex_unlock(&prv->mutex);
#endif
}
MutexAutolock::MutexAutolock(Mutex &m)
- : mutex(m)
+ : mutex(m)
{
- mutex.lock();
+ mutex.lock();
}
MutexAutolock::~MutexAutolock()
{
- mutex.unlock();
-}
-
-#ifdef TEST_MUTEX
-//deps:
-//cflags: $(PTHREAD_CFLAGS)
-//libs: $(PTHREAD_LIBS)
-#include <test.h>
-
-#include <unistd.h>
-
-volatile int cnt = 0;
-
-static void* thread_run(void *data)
-{
- Mutex *mutex = (Mutex*)data;
- mutex->lock();
- cnt++;
- mutex->unlock();
- return NULL;
+ mutex.unlock();
}
-
-TEST_BEGIN;
-
-Mutex mutex;
-
-mutex.lock();
-TEST_FALSE(mutex.trylock(), "Testing if trylock works negative.");
-mutex.unlock();
-TEST_TRUE(mutex.trylock(), "Testing if trylock works positive.");
-mutex.unlock();
-
-mutex.lock();
-
-pthread_attr_t attr;
-pthread_t tid;
-pthread_attr_init(&attr);
-pthread_create(&tid, &attr, thread_run, &mutex);
-
-sleep(1);
-TEST_EQUAL_INT(cnt, 0, "Testing if lock prevent cnt from increasing.");
-mutex.unlock();
-
-sleep(1);
-TEST_EQUAL_INT(cnt, 1, "Testing if unlock makes cnt increase.");
-
-pthread_join(tid, NULL);
-pthread_attr_destroy(&attr);
-
-{
- TEST_TRUE(mutex.trylock(), "Testing if autolock has not yet locked the mutex.");
- mutex.unlock();
- MutexAutolock mlock(mutex);
- TEST_FALSE(mutex.trylock(), "Testing if autolock worked.");
-}
-
-TEST_TRUE(mutex.trylock(), "Testing if autolock has released the lock on the mutex.");
-mutex.unlock();
-
-TEST_END;
-
-#endif/*TEST_MUTEX*/
diff --git a/src/mutex.h b/src/mutex.h
index 11704d4..7e31296 100644
--- a/src/mutex.h
+++ b/src/mutex.h
@@ -9,47 +9,51 @@
****************************************************************************/
/*
- * This file is part of Pracro.
+ * This file is part of DrumGizmo.
*
- * Pracro 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
+ * DrumGizmo 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 3 of the License, or
* (at your option) any later version.
*
- * Pracro is distributed in the hope that it will be useful,
+ * DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Pracro; if not, write to the Free Software
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __PRACRO_MUTEX_H__
-#define __PRACRO_MUTEX_H__
+#pragma once
struct mutex_private_t;
class Mutex {
public:
- Mutex();
- ~Mutex();
+ Mutex();
+ ~Mutex();
- bool trylock();
- void lock();
- void unlock();
+ bool try_lock();
+ void lock();
+ void unlock();
private:
- struct mutex_private_t* prv;
+ struct mutex_private_t* prv;
};
+#ifdef WIN32
+// Hack: mingw doesn't have std::mutex
+namespace std {
+ class mutex : public Mutex {};
+}
+#endif
+
class MutexAutolock {
public:
- MutexAutolock(Mutex &mutex);
- ~MutexAutolock();
+ MutexAutolock(Mutex &mutex);
+ ~MutexAutolock();
private:
- Mutex &mutex;
+ Mutex &mutex;
};
-
-#endif/*__PRACRO_MUTEX_H__*/
diff --git a/src/nolocale.h b/src/nolocale.h
index 816dd9c..4d6fc75 100644
--- a/src/nolocale.h
+++ b/src/nolocale.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/path.cc b/src/path.cc
index 1b4ede3..5c899f2 100644
--- a/src/path.cc
+++ b/src/path.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/path.h b/src/path.h
index bdad0a5..17b63d9 100644
--- a/src/path.h
+++ b/src/path.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/powerlist.cc b/src/powerlist.cc
index 6fc77ad..efb1f97 100644
--- a/src/powerlist.cc
+++ b/src/powerlist.cc
@@ -11,27 +11,33 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "powerlist.h"
#include <stdlib.h>
-#include <math.h>
+
#include <string.h>
#include <hugin.hpp>
+// M_PI is not defined in math.h if __STRICT_ANSI__ is defined.
+#ifdef __STRICT_ANSI__
+#undef __STRICT_ANSI__
+#endif
+#include <math.h>
+
/**
* Minimum sample set size.
* Smaller means wider 'velocity groups'.
diff --git a/src/powerlist.h b/src/powerlist.h
index 3a07b37..43f51d2 100644
--- a/src/powerlist.h
+++ b/src/powerlist.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/rangemap.h b/src/rangemap.h
index d863052..34a50b1 100644
--- a/src/rangemap.h
+++ b/src/rangemap.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/sample.cc b/src/sample.cc
index d50137d..27382af 100644
--- a/src/sample.cc
+++ b/src/sample.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/sample.h b/src/sample.h
index 61a3468..26c7be2 100644
--- a/src/sample.h
+++ b/src/sample.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/saxparser.cc b/src/saxparser.cc
index 1bd98a8..1ed3050 100644
--- a/src/saxparser.cc
+++ b/src/saxparser.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/saxparser.h b/src/saxparser.h
index aff90d7..cc1800e 100644
--- a/src/saxparser.h
+++ b/src/saxparser.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/semaphore.cc b/src/semaphore.cc
index 47ce8e0..cd29bbf 100644
--- a/src/semaphore.cc
+++ b/src/semaphore.cc
@@ -8,26 +8,28 @@
****************************************************************************/
/*
- * This file is part of Pracro.
+ * This file is part of DrumGizmo.
*
- * Pracro 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
+ * DrumGizmo 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 3 of the License, or
* (at your option) any later version.
*
- * Pracro is distributed in the hope that it will be useful,
+ * DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Pracro; if not, write to the Free Software
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include "semaphore.h"
#include <hugin.hpp>
+#include <limits>
+
#ifdef WIN32
#include <windows.h>
#else
@@ -46,14 +48,14 @@ struct semaphore_private_t {
Semaphore::Semaphore(const char *name)
{
this->name = name;
- DEBUG(semaphore, "Create [%s]\n", name);
+ // DEBUG(semaphore, "Create [%s]\n", name);
prv = new struct semaphore_private_t();
#ifdef WIN32
prv->semaphore = CreateSemaphore(NULL, // default security attributes
0, // initial count
- 2147483647, // maximum count (Max LONG)
+ std::numeric_limits<LONG>::max(),
NULL); // unnamed semaphore
#else
sem_init(&prv->semaphore, 0, 0);
@@ -62,7 +64,7 @@ Semaphore::Semaphore(const char *name)
Semaphore::~Semaphore()
{
- DEBUG(semaphore, "Delete [%s]\n", name);
+ // DEBUG(semaphore, "Delete [%s]\n", name);
#ifdef WIN32
CloseHandle(prv->semaphore);
@@ -70,12 +72,12 @@ Semaphore::~Semaphore()
sem_destroy(&prv->semaphore);
#endif
- if(prv) delete prv;
+ delete prv;
}
void Semaphore::post()
{
- DEBUG(semaphore, "Post [%s]\n", name);
+ // DEBUG(semaphore, "Post [%s]\n", name);
#ifdef WIN32
ReleaseSemaphore(prv->semaphore, 1, NULL);
@@ -86,7 +88,7 @@ void Semaphore::post()
void Semaphore::wait()
{
- DEBUG(semaphore, "Wait [%s]\n", name);
+ // DEBUG(semaphore, "Wait [%s]\n", name);
#ifdef WIN32
WaitForSingleObject(prv->semaphore, INFINITE);
diff --git a/src/semaphore.h b/src/semaphore.h
index 7e39f5a..4464898 100644
--- a/src/semaphore.h
+++ b/src/semaphore.h
@@ -8,20 +8,20 @@
****************************************************************************/
/*
- * This file is part of Pracro.
+ * This file is part of DrumGizmo.
*
- * Pracro 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
+ * DrumGizmo 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 3 of the License, or
* (at your option) any later version.
*
- * Pracro is distributed in the hope that it will be useful,
+ * DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Pracro; if not, write to the Free Software
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#ifndef __PRACRO_SEMAPHORE_H__
@@ -38,8 +38,8 @@ public:
void wait();
private:
- struct semaphore_private_t *prv;
- const char *name;
+ struct semaphore_private_t *prv{nullptr};
+ const char *name{nullptr};
};
#endif/*__PRACRO_SEMAPHORE_H__*/
diff --git a/src/thread.cc b/src/thread.cc
index 8abf3cb..030c5dd 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -29,18 +29,6 @@
#include <stdio.h>
#include <hugin.hpp>
-#ifdef WIN32
-static DWORD WINAPI thread_run(void *data)
-#else
-static void* thread_run(void *data)
-#endif/*WIN32*/
-{
- DEBUG(thread, "Thread run\n");
- Thread *t = (Thread*)data;
- t->thread_main();
- return 0;
-}
-
Thread::Thread()
{}
@@ -66,19 +54,15 @@ void Thread::wait_stop()
#endif/*WIN32*/
}
-#ifdef TEST_THREAD
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
-
-#endif/*TEST_THREAD*/
+#ifdef WIN32
+DWORD WINAPI
+#else
+void*
+#endif/*WIN32*/
+Thread::thread_run(void *data)
+{
+ DEBUG(thread, "Thread run\n");
+ Thread *t = (Thread*)data;
+ t->thread_main();
+ return 0;
+}
diff --git a/src/thread.h b/src/thread.h
index 837222a..6d3b920 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -11,23 +11,23 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_THREAD_H__
-#define __DRUMGIZMO_THREAD_H__
+#pragma once
#ifdef WIN32
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#else
#include <pthread.h>
@@ -41,14 +41,16 @@ public:
void run();
void wait_stop();
+protected:
virtual void thread_main() = 0;
private:
#ifdef WIN32
- HANDLE tid;
+ HANDLE tid{nullptr};
+ static DWORD WINAPI
#else
- pthread_t tid;
+ pthread_t tid{0};
+ static void*
#endif/*WIN32*/
+ thread_run(void *data);
};
-
-#endif/*__DRUMGIZMO_THREAD_H__*/
diff --git a/src/velocity.cc b/src/velocity.cc
index 319dc82..04d0475 100644
--- a/src/velocity.cc
+++ b/src/velocity.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/velocity.h b/src/velocity.h
index 10a3eb0..439ca68 100644
--- a/src/velocity.h
+++ b/src/velocity.h
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/versionstr.cc b/src/versionstr.cc
index 90557f6..48764ba 100644
--- a/src/versionstr.cc
+++ b/src/versionstr.cc
@@ -12,16 +12,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/src/versionstr.h b/src/versionstr.h
index ecb1df3..9cdd056 100644
--- a/src/versionstr.h
+++ b/src/versionstr.h
@@ -12,16 +12,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/test/Makefile.am b/test/Makefile.am
index 5aaf33f..6e56043 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,13 +1,81 @@
# Rules for the test code (use `make check` to execute)
include $(top_srcdir)/src/Makefile.am.drumgizmo
-TESTS = engine gui resampler lv2
+TESTS = resource engine gui resampler lv2 configfile audiocache \
+ audiocachefile audiocacheidmanager audiocacheeventhandler \
+ memchecker
check_PROGRAMS = $(TESTS)
+resource_CXXFLAGS = -DOUTPUT=\"resource\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/hugin
+resource_LDFLAGS = $(CPPUNIT_LIBS)
+resource_SOURCES = \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ test.cc \
+ resource_test.cc
+
+audiocache_CXXFLAGS = -DOUTPUT=\"audiocache\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+audiocache_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocache_SOURCES = \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/audiofile.cc \
+ test.cc \
+ audiocachetest.cc
+
+audiocachefile_CXXFLAGS = -DOUTPUT=\"audiocachefile\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+audiocachefile_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocachefile_SOURCES = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/audiofile.cc \
+ test.cc \
+ audiocachefiletest.cc
+
+audiocacheidmanager_CXXFLAGS = -DOUTPUT=\"audiocacheidmanager\" \
+ $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(SNDFILE_CFLAGS)
+audiocacheidmanager_LDFLAGS = $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocacheidmanager_SOURCES = \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ test.cc \
+ audiocacheidmanagertest.cc
+
+audiocacheeventhandler_CXXFLAGS = -DOUTPUT=\"audiocacheeventhandler\" \
+ $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+audiocacheeventhandler_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocacheeventhandler_SOURCES = \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ test.cc \
+ audiocacheeventhandlertest.cc
+
engine_CXXFLAGS = -DOUTPUT=\"engine\" $(CPPUNIT_CFLAGS) \
-I$(top_srcdir)/src -I$(top_srcdir)/include \
- -I$(top_srcdir)/hugin -DDISABLE_HUGIN
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS)
engine_CFLAGS = -DDISABLE_HUGIN
engine_LDFLAGS = $(CPPUNIT_LIBS) $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS)
engine_SOURCES = \
@@ -40,3 +108,25 @@ lv2_SOURCES = \
test.cc \
lv2_test_host.cc \
lv2.cc
+
+configfile_CXXFLAGS = -DOUTPUT=\"configfile\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/hugin
+configfile_LDFLAGS = $(CPPUNIT_LIBS)
+configfile_SOURCES = \
+ $(top_srcdir)/src/configfile.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ test.cc \
+ configtest.cc
+
+memchecker_CXXFLAGS = -DOUTPUT=\"memchecker\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS)
+memcheckere_CFLAGS = -DDISABLE_HUGIN
+memchecker_LDFLAGS = $(CPPUNIT_LIBS) $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS)
+memchecker_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ test.cc \
+ memcheckertest.cc
+
+EXTRA_DIST = \
+ lv2_test_host.h
diff --git a/test/Makefile.in b/test/Makefile.in
index b8f4c47..c761102 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -13,6 +13,8 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
+
+# -*- Makefile -*-
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -80,7 +82,11 @@ host_triplet = @host@
DIST_COMMON = $(top_srcdir)/src/Makefile.am.drumgizmo \
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp $(top_srcdir)/test-driver
-TESTS = engine$(EXEEXT) gui$(EXEEXT) resampler$(EXEEXT) lv2$(EXEEXT)
+TESTS = resource$(EXEEXT) engine$(EXEEXT) gui$(EXEEXT) \
+ resampler$(EXEEXT) lv2$(EXEEXT) configfile$(EXEEXT) \
+ audiocache$(EXEEXT) audiocachefile$(EXEEXT) \
+ audiocacheidmanager$(EXEEXT) audiocacheeventhandler$(EXEEXT) \
+ memchecker$(EXEEXT)
check_PROGRAMS = $(am__EXEEXT_1)
subdir = test
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -91,17 +97,88 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-am__EXEEXT_1 = engine$(EXEEXT) gui$(EXEEXT) resampler$(EXEEXT) \
- lv2$(EXEEXT)
-am__objects_1 = engine-audioinputenginemidi.$(OBJEXT) \
+am__EXEEXT_1 = resource$(EXEEXT) engine$(EXEEXT) gui$(EXEEXT) \
+ resampler$(EXEEXT) lv2$(EXEEXT) configfile$(EXEEXT) \
+ audiocache$(EXEEXT) audiocachefile$(EXEEXT) \
+ audiocacheidmanager$(EXEEXT) audiocacheeventhandler$(EXEEXT) \
+ memchecker$(EXEEXT)
+am_audiocache_OBJECTS = audiocache-audiocache.$(OBJEXT) \
+ audiocache-audiocacheeventhandler.$(OBJEXT) \
+ audiocache-audiocachefile.$(OBJEXT) \
+ audiocache-audiocacheidmanager.$(OBJEXT) \
+ audiocache-thread.$(OBJEXT) audiocache-mutex.$(OBJEXT) \
+ audiocache-semaphore.$(OBJEXT) \
+ audiocache-configuration.$(OBJEXT) \
+ audiocache-audiofile.$(OBJEXT) audiocache-test.$(OBJEXT) \
+ audiocache-audiocachetest.$(OBJEXT)
+audiocache_OBJECTS = $(am_audiocache_OBJECTS)
+audiocache_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+audiocache_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(audiocache_CXXFLAGS) \
+ $(CXXFLAGS) $(audiocache_LDFLAGS) $(LDFLAGS) -o $@
+am_audiocacheeventhandler_OBJECTS = \
+ audiocacheeventhandler-audiocacheeventhandler.$(OBJEXT) \
+ audiocacheeventhandler-audiocacheidmanager.$(OBJEXT) \
+ audiocacheeventhandler-audiocachefile.$(OBJEXT) \
+ audiocacheeventhandler-mutex.$(OBJEXT) \
+ audiocacheeventhandler-thread.$(OBJEXT) \
+ audiocacheeventhandler-semaphore.$(OBJEXT) \
+ audiocacheeventhandler-test.$(OBJEXT) \
+ audiocacheeventhandler-audiocacheeventhandlertest.$(OBJEXT)
+audiocacheeventhandler_OBJECTS = $(am_audiocacheeventhandler_OBJECTS)
+audiocacheeventhandler_LDADD = $(LDADD)
+audiocacheeventhandler_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) \
+ $(audiocacheeventhandler_LDFLAGS) $(LDFLAGS) -o $@
+am_audiocachefile_OBJECTS = audiocachefile-audiocachefile.$(OBJEXT) \
+ audiocachefile-thread.$(OBJEXT) audiocachefile-mutex.$(OBJEXT) \
+ audiocachefile-semaphore.$(OBJEXT) \
+ audiocachefile-configuration.$(OBJEXT) \
+ audiocachefile-audiofile.$(OBJEXT) \
+ audiocachefile-test.$(OBJEXT) \
+ audiocachefile-audiocachefiletest.$(OBJEXT)
+audiocachefile_OBJECTS = $(am_audiocachefile_OBJECTS)
+audiocachefile_LDADD = $(LDADD)
+audiocachefile_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(audiocachefile_CXXFLAGS) $(CXXFLAGS) \
+ $(audiocachefile_LDFLAGS) $(LDFLAGS) -o $@
+am_audiocacheidmanager_OBJECTS = \
+ audiocacheidmanager-audiocacheidmanager.$(OBJEXT) \
+ audiocacheidmanager-test.$(OBJEXT) \
+ audiocacheidmanager-audiocacheidmanagertest.$(OBJEXT)
+audiocacheidmanager_OBJECTS = $(am_audiocacheidmanager_OBJECTS)
+audiocacheidmanager_LDADD = $(LDADD)
+audiocacheidmanager_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) \
+ $(audiocacheidmanager_LDFLAGS) $(LDFLAGS) -o $@
+am_configfile_OBJECTS = configfile-configfile.$(OBJEXT) \
+ hugin.$(OBJEXT) configfile-test.$(OBJEXT) \
+ configfile-configtest.$(OBJEXT)
+configfile_OBJECTS = $(am_configfile_OBJECTS)
+configfile_LDADD = $(LDADD)
+configfile_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(configfile_CXXFLAGS) \
+ $(CXXFLAGS) $(configfile_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_1 = engine-audiocachefile.$(OBJEXT) \
+ engine-audiocache.$(OBJEXT) \
+ engine-audiocacheeventhandler.$(OBJEXT) \
+ engine-audiocacheidmanager.$(OBJEXT) \
+ engine-audioinputenginemidi.$(OBJEXT) \
engine-audiofile.$(OBJEXT) engine-channel.$(OBJEXT) \
engine-channelmixer.$(OBJEXT) engine-chresampler.$(OBJEXT) \
- engine-configuration.$(OBJEXT) engine-configparser.$(OBJEXT) \
- engine-drumgizmo.$(OBJEXT) engine-drumkit.$(OBJEXT) \
- engine-drumkitloader.$(OBJEXT) engine-drumkitparser.$(OBJEXT) \
- engine-events.$(OBJEXT) engine-instrument.$(OBJEXT) \
- engine-instrumentparser.$(OBJEXT) \
- engine-messagehandler.$(OBJEXT) \
+ engine-configfile.$(OBJEXT) engine-configuration.$(OBJEXT) \
+ engine-configparser.$(OBJEXT) engine-drumgizmo.$(OBJEXT) \
+ engine-drumkit.$(OBJEXT) engine-drumkitloader.$(OBJEXT) \
+ engine-drumkitparser.$(OBJEXT) engine-events.$(OBJEXT) \
+ engine-instrument.$(OBJEXT) engine-instrumentparser.$(OBJEXT) \
+ engine-memchecker.$(OBJEXT) engine-messagehandler.$(OBJEXT) \
engine-messagereceiver.$(OBJEXT) \
engine-midimapparser.$(OBJEXT) engine-midimapper.$(OBJEXT) \
engine-mutex.$(OBJEXT) engine-path.$(OBJEXT) \
@@ -113,10 +190,6 @@ am_engine_OBJECTS = $(am__objects_1) engine-hugin.$(OBJEXT) \
engine-test.$(OBJEXT) engine-engine.$(OBJEXT)
engine_OBJECTS = $(am_engine_OBJECTS)
engine_LDADD = $(LDADD)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
engine_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(engine_CXXFLAGS) \
$(CXXFLAGS) $(engine_LDFLAGS) $(LDFLAGS) -o $@
@@ -133,6 +206,38 @@ lv2_LDADD = $(LDADD)
lv2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(lv2_CXXFLAGS) \
$(CXXFLAGS) $(lv2_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_2 = memchecker-audiocachefile.$(OBJEXT) \
+ memchecker-audiocache.$(OBJEXT) \
+ memchecker-audiocacheeventhandler.$(OBJEXT) \
+ memchecker-audiocacheidmanager.$(OBJEXT) \
+ memchecker-audioinputenginemidi.$(OBJEXT) \
+ memchecker-audiofile.$(OBJEXT) memchecker-channel.$(OBJEXT) \
+ memchecker-channelmixer.$(OBJEXT) \
+ memchecker-chresampler.$(OBJEXT) \
+ memchecker-configfile.$(OBJEXT) \
+ memchecker-configuration.$(OBJEXT) \
+ memchecker-configparser.$(OBJEXT) \
+ memchecker-drumgizmo.$(OBJEXT) memchecker-drumkit.$(OBJEXT) \
+ memchecker-drumkitloader.$(OBJEXT) \
+ memchecker-drumkitparser.$(OBJEXT) memchecker-events.$(OBJEXT) \
+ memchecker-instrument.$(OBJEXT) \
+ memchecker-instrumentparser.$(OBJEXT) \
+ memchecker-memchecker.$(OBJEXT) \
+ memchecker-messagehandler.$(OBJEXT) \
+ memchecker-messagereceiver.$(OBJEXT) \
+ memchecker-midimapparser.$(OBJEXT) \
+ memchecker-midimapper.$(OBJEXT) memchecker-mutex.$(OBJEXT) \
+ memchecker-path.$(OBJEXT) memchecker-powerlist.$(OBJEXT) \
+ memchecker-sample.$(OBJEXT) memchecker-semaphore.$(OBJEXT) \
+ memchecker-saxparser.$(OBJEXT) memchecker-thread.$(OBJEXT) \
+ memchecker-velocity.$(OBJEXT) memchecker-versionstr.$(OBJEXT)
+am_memchecker_OBJECTS = $(am__objects_2) memchecker-test.$(OBJEXT) \
+ memchecker-memcheckertest.$(OBJEXT)
+memchecker_OBJECTS = $(am_memchecker_OBJECTS)
+memchecker_LDADD = $(LDADD)
+memchecker_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(memchecker_CXXFLAGS) \
+ $(CXXFLAGS) $(memchecker_LDFLAGS) $(LDFLAGS) -o $@
am_resampler_OBJECTS = resampler-chresampler.$(OBJEXT) \
resampler-test.$(OBJEXT) resampler-resampler.$(OBJEXT)
resampler_OBJECTS = $(am_resampler_OBJECTS)
@@ -140,6 +245,14 @@ resampler_LDADD = $(LDADD)
resampler_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(resampler_CXXFLAGS) \
$(CXXFLAGS) $(resampler_LDFLAGS) $(LDFLAGS) -o $@
+am_resource_OBJECTS = resource-resource.$(OBJEXT) \
+ resource-resource_data.$(OBJEXT) hugin.$(OBJEXT) \
+ resource-test.$(OBJEXT) resource-resource_test.$(OBJEXT)
+resource_OBJECTS = $(am_resource_OBJECTS)
+resource_LDADD = $(LDADD)
+resource_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(resource_CXXFLAGS) \
+ $(CXXFLAGS) $(resource_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_ at AM_V@)
am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
am__v_P_0 = false
@@ -192,10 +305,16 @@ AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
-SOURCES = $(engine_SOURCES) $(gui_SOURCES) $(lv2_SOURCES) \
- $(resampler_SOURCES)
-DIST_SOURCES = $(engine_SOURCES) $(gui_SOURCES) $(lv2_SOURCES) \
- $(resampler_SOURCES)
+SOURCES = $(audiocache_SOURCES) $(audiocacheeventhandler_SOURCES) \
+ $(audiocachefile_SOURCES) $(audiocacheidmanager_SOURCES) \
+ $(configfile_SOURCES) $(engine_SOURCES) $(gui_SOURCES) \
+ $(lv2_SOURCES) $(memchecker_SOURCES) $(resampler_SOURCES) \
+ $(resource_SOURCES)
+DIST_SOURCES = $(audiocache_SOURCES) $(audiocacheeventhandler_SOURCES) \
+ $(audiocachefile_SOURCES) $(audiocacheidmanager_SOURCES) \
+ $(configfile_SOURCES) $(engine_SOURCES) $(gui_SOURCES) \
+ $(lv2_SOURCES) $(memchecker_SOURCES) $(resampler_SOURCES) \
+ $(resource_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -462,7 +581,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -526,8 +645,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -583,11 +700,16 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
DRUMGIZMO_SOURCES = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
$(top_srcdir)/src/audioinputenginemidi.cc \
$(top_srcdir)/src/audiofile.cc \
$(top_srcdir)/src/channel.cc \
$(top_srcdir)/src/channelmixer.cc \
$(top_srcdir)/src/chresampler.cc \
+ $(top_srcdir)/src/configfile.cc \
$(top_srcdir)/src/configuration.cc \
$(top_srcdir)/src/configparser.cc \
$(top_srcdir)/src/drumgizmo.cc \
@@ -597,6 +719,7 @@ DRUMGIZMO_SOURCES = \
$(top_srcdir)/src/events.cc \
$(top_srcdir)/src/instrument.cc \
$(top_srcdir)/src/instrumentparser.cc \
+ $(top_srcdir)/src/memchecker.cc \
$(top_srcdir)/src/messagehandler.cc \
$(top_srcdir)/src/messagereceiver.cc \
$(top_srcdir)/src/midimapparser.cc \
@@ -611,10 +734,90 @@ DRUMGIZMO_SOURCES = \
$(top_srcdir)/src/velocity.cc \
$(top_srcdir)/src/versionstr.cc
-DRUMGIZMO_LIBS = $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS)
+DRUMGIZMO_LIBS = \
+ $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS) \
+ $(PTHREAD_LIBS)
+
+DRUMGIZMO_CPPFLAGS = \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/hugin \
+ $(SSEFLAGS) \
+ $(ZITA_CPPFLAGS) $(SNDFILE_CXXFLAGS) $(EXPAT_CFLAGS) $(SAMPLERATE_CFLAGS) \
+ $(PTHREAD_CFLAGS)
+
+resource_CXXFLAGS = -DOUTPUT=\"resource\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/hugin
+
+resource_LDFLAGS = $(CPPUNIT_LIBS)
+resource_SOURCES = \
+ $(top_srcdir)/plugingui/resource.cc \
+ $(top_srcdir)/plugingui/resource_data.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ test.cc \
+ resource_test.cc
+
+audiocache_CXXFLAGS = -DOUTPUT=\"audiocache\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+
+audiocache_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocache_SOURCES = \
+ $(top_srcdir)/src/audiocache.cc \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/audiofile.cc \
+ test.cc \
+ audiocachetest.cc
+
+audiocachefile_CXXFLAGS = -DOUTPUT=\"audiocachefile\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+
+audiocachefile_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocachefile_SOURCES = \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ $(top_srcdir)/src/configuration.cc \
+ $(top_srcdir)/src/audiofile.cc \
+ test.cc \
+ audiocachefiletest.cc
+
+audiocacheidmanager_CXXFLAGS = -DOUTPUT=\"audiocacheidmanager\" \
+ $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(SNDFILE_CFLAGS)
+
+audiocacheidmanager_LDFLAGS = $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocacheidmanager_SOURCES = \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ test.cc \
+ audiocacheidmanagertest.cc
+
+audiocacheeventhandler_CXXFLAGS = -DOUTPUT=\"audiocacheeventhandler\" \
+ $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS) $(SNDFILE_CFLAGS)
+
+audiocacheeventhandler_LDFLAGS = $(PTHREAD_LIBS) $(CPPUNIT_LIBS) $(SNDFILE_LIBS)
+audiocacheeventhandler_SOURCES = \
+ $(top_srcdir)/src/audiocacheeventhandler.cc \
+ $(top_srcdir)/src/audiocacheidmanager.cc \
+ $(top_srcdir)/src/audiocachefile.cc \
+ $(top_srcdir)/src/mutex.cc \
+ $(top_srcdir)/src/thread.cc \
+ $(top_srcdir)/src/semaphore.cc \
+ test.cc \
+ audiocacheeventhandlertest.cc
+
engine_CXXFLAGS = -DOUTPUT=\"engine\" $(CPPUNIT_CFLAGS) \
-I$(top_srcdir)/src -I$(top_srcdir)/include \
- -I$(top_srcdir)/hugin -DDISABLE_HUGIN
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS)
engine_CFLAGS = -DDISABLE_HUGIN
engine_LDFLAGS = $(CPPUNIT_LIBS) $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS)
@@ -652,6 +855,30 @@ lv2_SOURCES = \
lv2_test_host.cc \
lv2.cc
+configfile_CXXFLAGS = -DOUTPUT=\"configfile\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/hugin
+
+configfile_LDFLAGS = $(CPPUNIT_LIBS)
+configfile_SOURCES = \
+ $(top_srcdir)/src/configfile.cc \
+ $(top_srcdir)/hugin/hugin.c \
+ test.cc \
+ configtest.cc
+
+memchecker_CXXFLAGS = -DOUTPUT=\"memchecker\" $(CPPUNIT_CFLAGS) \
+ -I$(top_srcdir)/src -I$(top_srcdir)/include \
+ -I$(top_srcdir)/hugin -DDISABLE_HUGIN $(PTHREAD_CFLAGS)
+
+memcheckere_CFLAGS = -DDISABLE_HUGIN
+memchecker_LDFLAGS = $(CPPUNIT_LIBS) $(DRUMGIZMO_LIBS) $(PTHREAD_LIBS)
+memchecker_SOURCES = \
+ $(DRUMGIZMO_SOURCES) \
+ test.cc \
+ memcheckertest.cc
+
+EXTRA_DIST = \
+ lv2_test_host.h
+
all: all-am
.SUFFIXES:
@@ -697,6 +924,26 @@ clean-checkPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
+audiocache$(EXEEXT): $(audiocache_OBJECTS) $(audiocache_DEPENDENCIES) $(EXTRA_audiocache_DEPENDENCIES)
+ @rm -f audiocache$(EXEEXT)
+ $(AM_V_CXXLD)$(audiocache_LINK) $(audiocache_OBJECTS) $(audiocache_LDADD) $(LIBS)
+
+audiocacheeventhandler$(EXEEXT): $(audiocacheeventhandler_OBJECTS) $(audiocacheeventhandler_DEPENDENCIES) $(EXTRA_audiocacheeventhandler_DEPENDENCIES)
+ @rm -f audiocacheeventhandler$(EXEEXT)
+ $(AM_V_CXXLD)$(audiocacheeventhandler_LINK) $(audiocacheeventhandler_OBJECTS) $(audiocacheeventhandler_LDADD) $(LIBS)
+
+audiocachefile$(EXEEXT): $(audiocachefile_OBJECTS) $(audiocachefile_DEPENDENCIES) $(EXTRA_audiocachefile_DEPENDENCIES)
+ @rm -f audiocachefile$(EXEEXT)
+ $(AM_V_CXXLD)$(audiocachefile_LINK) $(audiocachefile_OBJECTS) $(audiocachefile_LDADD) $(LIBS)
+
+audiocacheidmanager$(EXEEXT): $(audiocacheidmanager_OBJECTS) $(audiocacheidmanager_DEPENDENCIES) $(EXTRA_audiocacheidmanager_DEPENDENCIES)
+ @rm -f audiocacheidmanager$(EXEEXT)
+ $(AM_V_CXXLD)$(audiocacheidmanager_LINK) $(audiocacheidmanager_OBJECTS) $(audiocacheidmanager_LDADD) $(LIBS)
+
+configfile$(EXEEXT): $(configfile_OBJECTS) $(configfile_DEPENDENCIES) $(EXTRA_configfile_DEPENDENCIES)
+ @rm -f configfile$(EXEEXT)
+ $(AM_V_CXXLD)$(configfile_LINK) $(configfile_OBJECTS) $(configfile_LDADD) $(LIBS)
+
engine$(EXEEXT): $(engine_OBJECTS) $(engine_DEPENDENCIES) $(EXTRA_engine_DEPENDENCIES)
@rm -f engine$(EXEEXT)
$(AM_V_CXXLD)$(engine_LINK) $(engine_OBJECTS) $(engine_LDADD) $(LIBS)
@@ -709,21 +956,67 @@ lv2$(EXEEXT): $(lv2_OBJECTS) $(lv2_DEPENDENCIES) $(EXTRA_lv2_DEPENDENCIES)
@rm -f lv2$(EXEEXT)
$(AM_V_CXXLD)$(lv2_LINK) $(lv2_OBJECTS) $(lv2_LDADD) $(LIBS)
+memchecker$(EXEEXT): $(memchecker_OBJECTS) $(memchecker_DEPENDENCIES) $(EXTRA_memchecker_DEPENDENCIES)
+ @rm -f memchecker$(EXEEXT)
+ $(AM_V_CXXLD)$(memchecker_LINK) $(memchecker_OBJECTS) $(memchecker_LDADD) $(LIBS)
+
resampler$(EXEEXT): $(resampler_OBJECTS) $(resampler_DEPENDENCIES) $(EXTRA_resampler_DEPENDENCIES)
@rm -f resampler$(EXEEXT)
$(AM_V_CXXLD)$(resampler_LINK) $(resampler_OBJECTS) $(resampler_LDADD) $(LIBS)
+resource$(EXEEXT): $(resource_OBJECTS) $(resource_DEPENDENCIES) $(EXTRA_resource_DEPENDENCIES)
+ @rm -f resource$(EXEEXT)
+ $(AM_V_CXXLD)$(resource_LINK) $(resource_OBJECTS) $(resource_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiocache.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiocacheeventhandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiocacheidmanager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiocachetest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-audiofile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-configuration.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-semaphore.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocache-thread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-semaphore.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheeventhandler-thread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-audiocachefiletest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-audiofile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-configuration.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-semaphore.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocachefile-thread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audiocacheidmanager-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/configfile-configfile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/configfile-configtest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/configfile-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audiocache.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audiocacheeventhandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audiocacheidmanager.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audiofile.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-audioinputenginemidi.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-channel.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-channelmixer.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-chresampler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-configfile.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-configparser.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-configuration.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-drumgizmo.Po at am__quote@
@@ -735,6 +1028,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-hugin.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-instrument.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-instrumentparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-memchecker.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-messagehandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-messagereceiver.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-midimapparser.Po at am__quote@
@@ -751,12 +1045,52 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/engine-versionstr.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gui-gui.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gui-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lv2-lv2.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lv2-lv2_test_host.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lv2-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audiocache.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audiocacheeventhandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audiocachefile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audiocacheidmanager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audiofile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-audioinputenginemidi.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-channel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-channelmixer.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-chresampler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-configfile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-configparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-configuration.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-drumgizmo.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-drumkit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-drumkitloader.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-drumkitparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-events.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-instrument.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-instrumentparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-memchecker.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-memcheckertest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-messagehandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-messagereceiver.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-midimapparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-midimapper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-mutex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-path.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-powerlist.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-sample.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-saxparser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-semaphore.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-thread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-velocity.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memchecker-versionstr.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resampler-chresampler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resampler-resampler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resampler-test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resource-resource.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resource-resource_data.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resource-resource_test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resource-test.Po at am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -779,6 +1113,20 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+hugin.o: $(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.o -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
+
+hugin.obj: $(top_srcdir)/hugin/hugin.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.obj -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.obj `if test -f '$(top_srcdir)/hugin/hugin.c'; then $(CYGPATH_W) '$(top_srcdir)/hugin/hugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hugin/hugin.c'; fi`
+
engine-hugin.o: $(top_srcdir)/hugin/hugin.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CFLAGS) $(CFLAGS) -MT engine-hugin.o -MD -MP -MF $(DEPDIR)/engine-hugin.Tpo -c -o engine-hugin.o `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-hugin.Tpo $(DEPDIR)/engine-hugin.Po
@@ -814,6 +1162,524 @@ engine-hugin.obj: $(top_srcdir)/hugin/hugin.c
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+audiocache-audiocache.o: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocache.o -MD -MP -MF $(DEPDIR)/audiocache-audiocache.Tpo -c -o audiocache-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocache.Tpo $(DEPDIR)/audiocache-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='audiocache-audiocache.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+audiocache-audiocache.obj: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocache.obj -MD -MP -MF $(DEPDIR)/audiocache-audiocache.Tpo -c -o audiocache-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocache.Tpo $(DEPDIR)/audiocache-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='audiocache-audiocache.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+
+audiocache-audiocacheeventhandler.o: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocacheeventhandler.o -MD -MP -MF $(DEPDIR)/audiocache-audiocacheeventhandler.Tpo -c -o audiocache-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocacheeventhandler.Tpo $(DEPDIR)/audiocache-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='audiocache-audiocacheeventhandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+audiocache-audiocacheeventhandler.obj: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocacheeventhandler.obj -MD -MP -MF $(DEPDIR)/audiocache-audiocacheeventhandler.Tpo -c -o audiocache-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocacheeventhandler.Tpo $(DEPDIR)/audiocache-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='audiocache-audiocacheeventhandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+
+audiocache-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocachefile.o -MD -MP -MF $(DEPDIR)/audiocache-audiocachefile.Tpo -c -o audiocache-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocachefile.Tpo $(DEPDIR)/audiocache-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocache-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+audiocache-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocachefile.obj -MD -MP -MF $(DEPDIR)/audiocache-audiocachefile.Tpo -c -o audiocache-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocachefile.Tpo $(DEPDIR)/audiocache-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocache-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+audiocache-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/audiocache-audiocacheidmanager.Tpo -c -o audiocache-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocacheidmanager.Tpo $(DEPDIR)/audiocache-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocache-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+audiocache-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/audiocache-audiocacheidmanager.Tpo -c -o audiocache-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocacheidmanager.Tpo $(DEPDIR)/audiocache-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocache-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
+audiocache-thread.o: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-thread.o -MD -MP -MF $(DEPDIR)/audiocache-thread.Tpo -c -o audiocache-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-thread.Tpo $(DEPDIR)/audiocache-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocache-thread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+audiocache-thread.obj: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-thread.obj -MD -MP -MF $(DEPDIR)/audiocache-thread.Tpo -c -o audiocache-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-thread.Tpo $(DEPDIR)/audiocache-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocache-thread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+
+audiocache-mutex.o: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-mutex.o -MD -MP -MF $(DEPDIR)/audiocache-mutex.Tpo -c -o audiocache-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-mutex.Tpo $(DEPDIR)/audiocache-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocache-mutex.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+audiocache-mutex.obj: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-mutex.obj -MD -MP -MF $(DEPDIR)/audiocache-mutex.Tpo -c -o audiocache-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-mutex.Tpo $(DEPDIR)/audiocache-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocache-mutex.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+
+audiocache-semaphore.o: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-semaphore.o -MD -MP -MF $(DEPDIR)/audiocache-semaphore.Tpo -c -o audiocache-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-semaphore.Tpo $(DEPDIR)/audiocache-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocache-semaphore.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+audiocache-semaphore.obj: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-semaphore.obj -MD -MP -MF $(DEPDIR)/audiocache-semaphore.Tpo -c -o audiocache-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-semaphore.Tpo $(DEPDIR)/audiocache-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocache-semaphore.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+
+audiocache-configuration.o: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-configuration.o -MD -MP -MF $(DEPDIR)/audiocache-configuration.Tpo -c -o audiocache-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-configuration.Tpo $(DEPDIR)/audiocache-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='audiocache-configuration.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+
+audiocache-configuration.obj: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-configuration.obj -MD -MP -MF $(DEPDIR)/audiocache-configuration.Tpo -c -o audiocache-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-configuration.Tpo $(DEPDIR)/audiocache-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='audiocache-configuration.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+
+audiocache-audiofile.o: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiofile.o -MD -MP -MF $(DEPDIR)/audiocache-audiofile.Tpo -c -o audiocache-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiofile.Tpo $(DEPDIR)/audiocache-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='audiocache-audiofile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+
+audiocache-audiofile.obj: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiofile.obj -MD -MP -MF $(DEPDIR)/audiocache-audiofile.Tpo -c -o audiocache-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiofile.Tpo $(DEPDIR)/audiocache-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='audiocache-audiofile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+
+audiocache-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-test.o -MD -MP -MF $(DEPDIR)/audiocache-test.Tpo -c -o audiocache-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-test.Tpo $(DEPDIR)/audiocache-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocache-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+audiocache-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-test.obj -MD -MP -MF $(DEPDIR)/audiocache-test.Tpo -c -o audiocache-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-test.Tpo $(DEPDIR)/audiocache-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocache-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+audiocache-audiocachetest.o: audiocachetest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocachetest.o -MD -MP -MF $(DEPDIR)/audiocache-audiocachetest.Tpo -c -o audiocache-audiocachetest.o `test -f 'audiocachetest.cc' || echo '$(srcdir)/'`audiocachetest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocachetest.Tpo $(DEPDIR)/audiocache-audiocachetest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocachetest.cc' object='audiocache-audiocachetest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocachetest.o `test -f 'audiocachetest.cc' || echo '$(srcdir)/'`audiocachetest.cc
+
+audiocache-audiocachetest.obj: audiocachetest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -MT audiocache-audiocachetest.obj -MD -MP -MF $(DEPDIR)/audiocache-audiocachetest.Tpo -c -o audiocache-audiocachetest.obj `if test -f 'audiocachetest.cc'; then $(CYGPATH_W) 'audiocachetest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocachetest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocache-audiocachetest.Tpo $(DEPDIR)/audiocache-audiocachetest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocachetest.cc' object='audiocache-audiocachetest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocache_CXXFLAGS) $(CXXFLAGS) -c -o audiocache-audiocachetest.obj `if test -f 'audiocachetest.cc'; then $(CYGPATH_W) 'audiocachetest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocachetest.cc'; fi`
+
+audiocacheeventhandler-audiocacheeventhandler.o: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheeventhandler.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Tpo -c -o audiocacheeventhandler-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='audiocacheeventhandler-audiocacheeventhandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+audiocacheeventhandler-audiocacheeventhandler.obj: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheeventhandler.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Tpo -c -o audiocacheeventhandler-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='audiocacheeventhandler-audiocacheeventhandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+
+audiocacheeventhandler-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Tpo -c -o audiocacheeventhandler-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocacheeventhandler-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+audiocacheeventhandler-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Tpo -c -o audiocacheeventhandler-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocacheeventhandler-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
+audiocacheeventhandler-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocachefile.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocachefile.Tpo -c -o audiocacheeventhandler-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocachefile.Tpo $(DEPDIR)/audiocacheeventhandler-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocacheeventhandler-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+audiocacheeventhandler-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocachefile.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocachefile.Tpo -c -o audiocacheeventhandler-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocachefile.Tpo $(DEPDIR)/audiocacheeventhandler-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocacheeventhandler-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+audiocacheeventhandler-mutex.o: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-mutex.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-mutex.Tpo -c -o audiocacheeventhandler-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-mutex.Tpo $(DEPDIR)/audiocacheeventhandler-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocacheeventhandler-mutex.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+audiocacheeventhandler-mutex.obj: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-mutex.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-mutex.Tpo -c -o audiocacheeventhandler-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-mutex.Tpo $(DEPDIR)/audiocacheeventhandler-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocacheeventhandler-mutex.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+
+audiocacheeventhandler-thread.o: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-thread.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-thread.Tpo -c -o audiocacheeventhandler-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-thread.Tpo $(DEPDIR)/audiocacheeventhandler-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocacheeventhandler-thread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+audiocacheeventhandler-thread.obj: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-thread.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-thread.Tpo -c -o audiocacheeventhandler-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-thread.Tpo $(DEPDIR)/audiocacheeventhandler-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocacheeventhandler-thread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+
+audiocacheeventhandler-semaphore.o: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-semaphore.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-semaphore.Tpo -c -o audiocacheeventhandler-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-semaphore.Tpo $(DEPDIR)/audiocacheeventhandler-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocacheeventhandler-semaphore.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+audiocacheeventhandler-semaphore.obj: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-semaphore.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-semaphore.Tpo -c -o audiocacheeventhandler-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-semaphore.Tpo $(DEPDIR)/audiocacheeventhandler-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocacheeventhandler-semaphore.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+
+audiocacheeventhandler-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-test.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-test.Tpo -c -o audiocacheeventhandler-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-test.Tpo $(DEPDIR)/audiocacheeventhandler-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocacheeventhandler-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+audiocacheeventhandler-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-test.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-test.Tpo -c -o audiocacheeventhandler-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-test.Tpo $(DEPDIR)/audiocacheeventhandler-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocacheeventhandler-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+audiocacheeventhandler-audiocacheeventhandlertest.o: audiocacheeventhandlertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheeventhandlertest.o -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Tpo -c -o audiocacheeventhandler-audiocacheeventhandlertest.o `test -f 'audiocacheeventhandlertest.cc' || echo '$(srcdir)/'`audiocacheeventhandlertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocacheeventhandlertest.cc' object='audiocacheeventhandler-audiocacheeventhandlertest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheeventhandlertest.o `test -f 'audiocacheeventhandlertest.cc' || echo '$(srcdir)/'`audiocacheeventhandlertest.cc
+
+audiocacheeventhandler-audiocacheeventhandlertest.obj: audiocacheeventhandlertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -MT audiocacheeventhandler-audiocacheeventhandlertest.obj -MD -MP -MF $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Tpo -c -o audiocacheeventhandler-audiocacheeventhandlertest.obj `if test -f 'audiocacheeventhandlertest.cc'; then $(CYGPATH_W) 'audiocacheeventhandlertest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocacheeventhandlertest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Tpo $(DEPDIR)/audiocacheeventhandler-audiocacheeventhandlertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocacheeventhandlertest.cc' object='audiocacheeventhandler-audiocacheeventhandlertest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheeventhandler_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheeventhandler-audiocacheeventhandlertest.obj `if test -f 'audiocacheeventhandlertest.cc'; then $(CYGPATH_W) 'audiocacheeventhandlertest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocacheeventhandlertest.cc'; fi`
+
+audiocachefile-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiocachefile.o -MD -MP -MF $(DEPDIR)/audiocachefile-audiocachefile.Tpo -c -o audiocachefile-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiocachefile.Tpo $(DEPDIR)/audiocachefile-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocachefile-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+audiocachefile-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiocachefile.obj -MD -MP -MF $(DEPDIR)/audiocachefile-audiocachefile.Tpo -c -o audiocachefile-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiocachefile.Tpo $(DEPDIR)/audiocachefile-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='audiocachefile-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+audiocachefile-thread.o: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-thread.o -MD -MP -MF $(DEPDIR)/audiocachefile-thread.Tpo -c -o audiocachefile-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-thread.Tpo $(DEPDIR)/audiocachefile-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocachefile-thread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+audiocachefile-thread.obj: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-thread.obj -MD -MP -MF $(DEPDIR)/audiocachefile-thread.Tpo -c -o audiocachefile-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-thread.Tpo $(DEPDIR)/audiocachefile-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='audiocachefile-thread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+
+audiocachefile-mutex.o: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-mutex.o -MD -MP -MF $(DEPDIR)/audiocachefile-mutex.Tpo -c -o audiocachefile-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-mutex.Tpo $(DEPDIR)/audiocachefile-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocachefile-mutex.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+audiocachefile-mutex.obj: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-mutex.obj -MD -MP -MF $(DEPDIR)/audiocachefile-mutex.Tpo -c -o audiocachefile-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-mutex.Tpo $(DEPDIR)/audiocachefile-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='audiocachefile-mutex.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+
+audiocachefile-semaphore.o: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-semaphore.o -MD -MP -MF $(DEPDIR)/audiocachefile-semaphore.Tpo -c -o audiocachefile-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-semaphore.Tpo $(DEPDIR)/audiocachefile-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocachefile-semaphore.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+audiocachefile-semaphore.obj: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-semaphore.obj -MD -MP -MF $(DEPDIR)/audiocachefile-semaphore.Tpo -c -o audiocachefile-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-semaphore.Tpo $(DEPDIR)/audiocachefile-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='audiocachefile-semaphore.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+
+audiocachefile-configuration.o: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-configuration.o -MD -MP -MF $(DEPDIR)/audiocachefile-configuration.Tpo -c -o audiocachefile-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-configuration.Tpo $(DEPDIR)/audiocachefile-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='audiocachefile-configuration.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+
+audiocachefile-configuration.obj: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-configuration.obj -MD -MP -MF $(DEPDIR)/audiocachefile-configuration.Tpo -c -o audiocachefile-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-configuration.Tpo $(DEPDIR)/audiocachefile-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='audiocachefile-configuration.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+
+audiocachefile-audiofile.o: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiofile.o -MD -MP -MF $(DEPDIR)/audiocachefile-audiofile.Tpo -c -o audiocachefile-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiofile.Tpo $(DEPDIR)/audiocachefile-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='audiocachefile-audiofile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+
+audiocachefile-audiofile.obj: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiofile.obj -MD -MP -MF $(DEPDIR)/audiocachefile-audiofile.Tpo -c -o audiocachefile-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiofile.Tpo $(DEPDIR)/audiocachefile-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='audiocachefile-audiofile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+
+audiocachefile-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-test.o -MD -MP -MF $(DEPDIR)/audiocachefile-test.Tpo -c -o audiocachefile-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-test.Tpo $(DEPDIR)/audiocachefile-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocachefile-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+audiocachefile-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-test.obj -MD -MP -MF $(DEPDIR)/audiocachefile-test.Tpo -c -o audiocachefile-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-test.Tpo $(DEPDIR)/audiocachefile-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocachefile-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+audiocachefile-audiocachefiletest.o: audiocachefiletest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiocachefiletest.o -MD -MP -MF $(DEPDIR)/audiocachefile-audiocachefiletest.Tpo -c -o audiocachefile-audiocachefiletest.o `test -f 'audiocachefiletest.cc' || echo '$(srcdir)/'`audiocachefiletest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiocachefiletest.Tpo $(DEPDIR)/audiocachefile-audiocachefiletest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocachefiletest.cc' object='audiocachefile-audiocachefiletest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiocachefiletest.o `test -f 'audiocachefiletest.cc' || echo '$(srcdir)/'`audiocachefiletest.cc
+
+audiocachefile-audiocachefiletest.obj: audiocachefiletest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -MT audiocachefile-audiocachefiletest.obj -MD -MP -MF $(DEPDIR)/audiocachefile-audiocachefiletest.Tpo -c -o audiocachefile-audiocachefiletest.obj `if test -f 'audiocachefiletest.cc'; then $(CYGPATH_W) 'audiocachefiletest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocachefiletest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocachefile-audiocachefiletest.Tpo $(DEPDIR)/audiocachefile-audiocachefiletest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocachefiletest.cc' object='audiocachefile-audiocachefiletest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocachefile_CXXFLAGS) $(CXXFLAGS) -c -o audiocachefile-audiocachefiletest.obj `if test -f 'audiocachefiletest.cc'; then $(CYGPATH_W) 'audiocachefiletest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocachefiletest.cc'; fi`
+
+audiocacheidmanager-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Tpo -c -o audiocacheidmanager-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Tpo $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocacheidmanager-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+audiocacheidmanager-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Tpo -c -o audiocacheidmanager-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Tpo $(DEPDIR)/audiocacheidmanager-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='audiocacheidmanager-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
+audiocacheidmanager-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-test.o -MD -MP -MF $(DEPDIR)/audiocacheidmanager-test.Tpo -c -o audiocacheidmanager-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-test.Tpo $(DEPDIR)/audiocacheidmanager-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocacheidmanager-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+audiocacheidmanager-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-test.obj -MD -MP -MF $(DEPDIR)/audiocacheidmanager-test.Tpo -c -o audiocacheidmanager-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-test.Tpo $(DEPDIR)/audiocacheidmanager-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='audiocacheidmanager-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+audiocacheidmanager-audiocacheidmanagertest.o: audiocacheidmanagertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-audiocacheidmanagertest.o -MD -MP -MF $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Tpo -c -o audiocacheidmanager-audiocacheidmanagertest.o `test -f 'audiocacheidmanagertest.cc' || echo '$(srcdir)/'`audiocacheidmanagertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Tpo $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocacheidmanagertest.cc' object='audiocacheidmanager-audiocacheidmanagertest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-audiocacheidmanagertest.o `test -f 'audiocacheidmanagertest.cc' || echo '$(srcdir)/'`audiocacheidmanagertest.cc
+
+audiocacheidmanager-audiocacheidmanagertest.obj: audiocacheidmanagertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -MT audiocacheidmanager-audiocacheidmanagertest.obj -MD -MP -MF $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Tpo -c -o audiocacheidmanager-audiocacheidmanagertest.obj `if test -f 'audiocacheidmanagertest.cc'; then $(CYGPATH_W) 'audiocacheidmanagertest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocacheidmanagertest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Tpo $(DEPDIR)/audiocacheidmanager-audiocacheidmanagertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='audiocacheidmanagertest.cc' object='audiocacheidmanager-audiocacheidmanagertest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(audiocacheidmanager_CXXFLAGS) $(CXXFLAGS) -c -o audiocacheidmanager-audiocacheidmanagertest.obj `if test -f 'audiocacheidmanagertest.cc'; then $(CYGPATH_W) 'audiocacheidmanagertest.cc'; else $(CYGPATH_W) '$(srcdir)/audiocacheidmanagertest.cc'; fi`
+
+configfile-configfile.o: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-configfile.o -MD -MP -MF $(DEPDIR)/configfile-configfile.Tpo -c -o configfile-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-configfile.Tpo $(DEPDIR)/configfile-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='configfile-configfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+configfile-configfile.obj: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-configfile.obj -MD -MP -MF $(DEPDIR)/configfile-configfile.Tpo -c -o configfile-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-configfile.Tpo $(DEPDIR)/configfile-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='configfile-configfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+
+configfile-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-test.o -MD -MP -MF $(DEPDIR)/configfile-test.Tpo -c -o configfile-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-test.Tpo $(DEPDIR)/configfile-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='configfile-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+configfile-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-test.obj -MD -MP -MF $(DEPDIR)/configfile-test.Tpo -c -o configfile-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-test.Tpo $(DEPDIR)/configfile-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='configfile-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+configfile-configtest.o: configtest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-configtest.o -MD -MP -MF $(DEPDIR)/configfile-configtest.Tpo -c -o configfile-configtest.o `test -f 'configtest.cc' || echo '$(srcdir)/'`configtest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-configtest.Tpo $(DEPDIR)/configfile-configtest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='configtest.cc' object='configfile-configtest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-configtest.o `test -f 'configtest.cc' || echo '$(srcdir)/'`configtest.cc
+
+configfile-configtest.obj: configtest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -MT configfile-configtest.obj -MD -MP -MF $(DEPDIR)/configfile-configtest.Tpo -c -o configfile-configtest.obj `if test -f 'configtest.cc'; then $(CYGPATH_W) 'configtest.cc'; else $(CYGPATH_W) '$(srcdir)/configtest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/configfile-configtest.Tpo $(DEPDIR)/configfile-configtest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='configtest.cc' object='configfile-configtest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(configfile_CXXFLAGS) $(CXXFLAGS) -c -o configfile-configtest.obj `if test -f 'configtest.cc'; then $(CYGPATH_W) 'configtest.cc'; else $(CYGPATH_W) '$(srcdir)/configtest.cc'; fi`
+
+engine-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocachefile.o -MD -MP -MF $(DEPDIR)/engine-audiocachefile.Tpo -c -o engine-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocachefile.Tpo $(DEPDIR)/engine-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='engine-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+engine-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocachefile.obj -MD -MP -MF $(DEPDIR)/engine-audiocachefile.Tpo -c -o engine-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocachefile.Tpo $(DEPDIR)/engine-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='engine-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+engine-audiocache.o: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocache.o -MD -MP -MF $(DEPDIR)/engine-audiocache.Tpo -c -o engine-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocache.Tpo $(DEPDIR)/engine-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='engine-audiocache.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+engine-audiocache.obj: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocache.obj -MD -MP -MF $(DEPDIR)/engine-audiocache.Tpo -c -o engine-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocache.Tpo $(DEPDIR)/engine-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='engine-audiocache.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+
+engine-audiocacheeventhandler.o: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocacheeventhandler.o -MD -MP -MF $(DEPDIR)/engine-audiocacheeventhandler.Tpo -c -o engine-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocacheeventhandler.Tpo $(DEPDIR)/engine-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='engine-audiocacheeventhandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+engine-audiocacheeventhandler.obj: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocacheeventhandler.obj -MD -MP -MF $(DEPDIR)/engine-audiocacheeventhandler.Tpo -c -o engine-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocacheeventhandler.Tpo $(DEPDIR)/engine-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='engine-audiocacheeventhandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+
+engine-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/engine-audiocacheidmanager.Tpo -c -o engine-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocacheidmanager.Tpo $(DEPDIR)/engine-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='engine-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+engine-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/engine-audiocacheidmanager.Tpo -c -o engine-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audiocacheidmanager.Tpo $(DEPDIR)/engine-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='engine-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
engine-audioinputenginemidi.o: $(top_srcdir)/src/audioinputenginemidi.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-audioinputenginemidi.o -MD -MP -MF $(DEPDIR)/engine-audioinputenginemidi.Tpo -c -o engine-audioinputenginemidi.o `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-audioinputenginemidi.Tpo $(DEPDIR)/engine-audioinputenginemidi.Po
@@ -884,6 +1750,20 @@ engine-chresampler.obj: $(top_srcdir)/src/chresampler.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-chresampler.obj `if test -f '$(top_srcdir)/src/chresampler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/chresampler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/chresampler.cc'; fi`
+engine-configfile.o: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-configfile.o -MD -MP -MF $(DEPDIR)/engine-configfile.Tpo -c -o engine-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-configfile.Tpo $(DEPDIR)/engine-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='engine-configfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+engine-configfile.obj: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-configfile.obj -MD -MP -MF $(DEPDIR)/engine-configfile.Tpo -c -o engine-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-configfile.Tpo $(DEPDIR)/engine-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='engine-configfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+
engine-configuration.o: $(top_srcdir)/src/configuration.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-configuration.o -MD -MP -MF $(DEPDIR)/engine-configuration.Tpo -c -o engine-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-configuration.Tpo $(DEPDIR)/engine-configuration.Po
@@ -1010,6 +1890,20 @@ engine-instrumentparser.obj: $(top_srcdir)/src/instrumentparser.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-instrumentparser.obj `if test -f '$(top_srcdir)/src/instrumentparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrumentparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrumentparser.cc'; fi`
+engine-memchecker.o: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-memchecker.o -MD -MP -MF $(DEPDIR)/engine-memchecker.Tpo -c -o engine-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-memchecker.Tpo $(DEPDIR)/engine-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='engine-memchecker.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+
+engine-memchecker.obj: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-memchecker.obj -MD -MP -MF $(DEPDIR)/engine-memchecker.Tpo -c -o engine-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-memchecker.Tpo $(DEPDIR)/engine-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='engine-memchecker.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -c -o engine-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+
engine-messagehandler.o: $(top_srcdir)/src/messagehandler.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(engine_CXXFLAGS) $(CXXFLAGS) -MT engine-messagehandler.o -MD -MP -MF $(DEPDIR)/engine-messagehandler.Tpo -c -o engine-messagehandler.o `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/engine-messagehandler.Tpo $(DEPDIR)/engine-messagehandler.Po
@@ -1290,6 +2184,496 @@ lv2-lv2.obj: lv2.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lv2_CXXFLAGS) $(CXXFLAGS) -c -o lv2-lv2.obj `if test -f 'lv2.cc'; then $(CYGPATH_W) 'lv2.cc'; else $(CYGPATH_W) '$(srcdir)/lv2.cc'; fi`
+memchecker-audiocachefile.o: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocachefile.o -MD -MP -MF $(DEPDIR)/memchecker-audiocachefile.Tpo -c -o memchecker-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocachefile.Tpo $(DEPDIR)/memchecker-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='memchecker-audiocachefile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocachefile.o `test -f '$(top_srcdir)/src/audiocachefile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocachefile.cc
+
+memchecker-audiocachefile.obj: $(top_srcdir)/src/audiocachefile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocachefile.obj -MD -MP -MF $(DEPDIR)/memchecker-audiocachefile.Tpo -c -o memchecker-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocachefile.Tpo $(DEPDIR)/memchecker-audiocachefile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocachefile.cc' object='memchecker-audiocachefile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocachefile.obj `if test -f '$(top_srcdir)/src/audiocachefile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocachefile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocachefile.cc'; fi`
+
+memchecker-audiocache.o: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocache.o -MD -MP -MF $(DEPDIR)/memchecker-audiocache.Tpo -c -o memchecker-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocache.Tpo $(DEPDIR)/memchecker-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='memchecker-audiocache.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocache.o `test -f '$(top_srcdir)/src/audiocache.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocache.cc
+
+memchecker-audiocache.obj: $(top_srcdir)/src/audiocache.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocache.obj -MD -MP -MF $(DEPDIR)/memchecker-audiocache.Tpo -c -o memchecker-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocache.Tpo $(DEPDIR)/memchecker-audiocache.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocache.cc' object='memchecker-audiocache.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocache.obj `if test -f '$(top_srcdir)/src/audiocache.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocache.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocache.cc'; fi`
+
+memchecker-audiocacheeventhandler.o: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocacheeventhandler.o -MD -MP -MF $(DEPDIR)/memchecker-audiocacheeventhandler.Tpo -c -o memchecker-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocacheeventhandler.Tpo $(DEPDIR)/memchecker-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='memchecker-audiocacheeventhandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocacheeventhandler.o `test -f '$(top_srcdir)/src/audiocacheeventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheeventhandler.cc
+
+memchecker-audiocacheeventhandler.obj: $(top_srcdir)/src/audiocacheeventhandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocacheeventhandler.obj -MD -MP -MF $(DEPDIR)/memchecker-audiocacheeventhandler.Tpo -c -o memchecker-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocacheeventhandler.Tpo $(DEPDIR)/memchecker-audiocacheeventhandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheeventhandler.cc' object='memchecker-audiocacheeventhandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocacheeventhandler.obj `if test -f '$(top_srcdir)/src/audiocacheeventhandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheeventhandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheeventhandler.cc'; fi`
+
+memchecker-audiocacheidmanager.o: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocacheidmanager.o -MD -MP -MF $(DEPDIR)/memchecker-audiocacheidmanager.Tpo -c -o memchecker-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocacheidmanager.Tpo $(DEPDIR)/memchecker-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='memchecker-audiocacheidmanager.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocacheidmanager.o `test -f '$(top_srcdir)/src/audiocacheidmanager.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiocacheidmanager.cc
+
+memchecker-audiocacheidmanager.obj: $(top_srcdir)/src/audiocacheidmanager.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiocacheidmanager.obj -MD -MP -MF $(DEPDIR)/memchecker-audiocacheidmanager.Tpo -c -o memchecker-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiocacheidmanager.Tpo $(DEPDIR)/memchecker-audiocacheidmanager.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiocacheidmanager.cc' object='memchecker-audiocacheidmanager.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiocacheidmanager.obj `if test -f '$(top_srcdir)/src/audiocacheidmanager.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiocacheidmanager.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiocacheidmanager.cc'; fi`
+
+memchecker-audioinputenginemidi.o: $(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audioinputenginemidi.o -MD -MP -MF $(DEPDIR)/memchecker-audioinputenginemidi.Tpo -c -o memchecker-audioinputenginemidi.o `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audioinputenginemidi.Tpo $(DEPDIR)/memchecker-audioinputenginemidi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='memchecker-audioinputenginemidi.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audioinputenginemidi.o `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
+
+memchecker-audioinputenginemidi.obj: $(top_srcdir)/src/audioinputenginemidi.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audioinputenginemidi.obj -MD -MP -MF $(DEPDIR)/memchecker-audioinputenginemidi.Tpo -c -o memchecker-audioinputenginemidi.obj `if test -f '$(top_srcdir)/src/audioinputenginemidi.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audioinputenginemidi.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audioinputenginemidi.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audioinputenginemidi.Tpo $(DEPDIR)/memchecker-audioinputenginemidi.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='memchecker-audioinputenginemidi.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audioinputenginemidi.obj `if test -f '$(top_srcdir)/src/audioinputenginemidi.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audioinputenginemidi.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audioinputenginemidi.cc'; fi`
+
+memchecker-audiofile.o: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiofile.o -MD -MP -MF $(DEPDIR)/memchecker-audiofile.Tpo -c -o memchecker-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiofile.Tpo $(DEPDIR)/memchecker-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='memchecker-audiofile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiofile.o `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
+
+memchecker-audiofile.obj: $(top_srcdir)/src/audiofile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-audiofile.obj -MD -MP -MF $(DEPDIR)/memchecker-audiofile.Tpo -c -o memchecker-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-audiofile.Tpo $(DEPDIR)/memchecker-audiofile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='memchecker-audiofile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-audiofile.obj `if test -f '$(top_srcdir)/src/audiofile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/audiofile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/audiofile.cc'; fi`
+
+memchecker-channel.o: $(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-channel.o -MD -MP -MF $(DEPDIR)/memchecker-channel.Tpo -c -o memchecker-channel.o `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-channel.Tpo $(DEPDIR)/memchecker-channel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='memchecker-channel.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-channel.o `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
+
+memchecker-channel.obj: $(top_srcdir)/src/channel.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-channel.obj -MD -MP -MF $(DEPDIR)/memchecker-channel.Tpo -c -o memchecker-channel.obj `if test -f '$(top_srcdir)/src/channel.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/channel.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/channel.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-channel.Tpo $(DEPDIR)/memchecker-channel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='memchecker-channel.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-channel.obj `if test -f '$(top_srcdir)/src/channel.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/channel.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/channel.cc'; fi`
+
+memchecker-channelmixer.o: $(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-channelmixer.o -MD -MP -MF $(DEPDIR)/memchecker-channelmixer.Tpo -c -o memchecker-channelmixer.o `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-channelmixer.Tpo $(DEPDIR)/memchecker-channelmixer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='memchecker-channelmixer.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-channelmixer.o `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
+
+memchecker-channelmixer.obj: $(top_srcdir)/src/channelmixer.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-channelmixer.obj -MD -MP -MF $(DEPDIR)/memchecker-channelmixer.Tpo -c -o memchecker-channelmixer.obj `if test -f '$(top_srcdir)/src/channelmixer.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/channelmixer.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/channelmixer.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-channelmixer.Tpo $(DEPDIR)/memchecker-channelmixer.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='memchecker-channelmixer.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-channelmixer.obj `if test -f '$(top_srcdir)/src/channelmixer.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/channelmixer.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/channelmixer.cc'; fi`
+
+memchecker-chresampler.o: $(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-chresampler.o -MD -MP -MF $(DEPDIR)/memchecker-chresampler.Tpo -c -o memchecker-chresampler.o `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-chresampler.Tpo $(DEPDIR)/memchecker-chresampler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='memchecker-chresampler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-chresampler.o `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
+
+memchecker-chresampler.obj: $(top_srcdir)/src/chresampler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-chresampler.obj -MD -MP -MF $(DEPDIR)/memchecker-chresampler.Tpo -c -o memchecker-chresampler.obj `if test -f '$(top_srcdir)/src/chresampler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/chresampler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/chresampler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-chresampler.Tpo $(DEPDIR)/memchecker-chresampler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='memchecker-chresampler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-chresampler.obj `if test -f '$(top_srcdir)/src/chresampler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/chresampler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/chresampler.cc'; fi`
+
+memchecker-configfile.o: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configfile.o -MD -MP -MF $(DEPDIR)/memchecker-configfile.Tpo -c -o memchecker-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configfile.Tpo $(DEPDIR)/memchecker-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='memchecker-configfile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configfile.o `test -f '$(top_srcdir)/src/configfile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configfile.cc
+
+memchecker-configfile.obj: $(top_srcdir)/src/configfile.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configfile.obj -MD -MP -MF $(DEPDIR)/memchecker-configfile.Tpo -c -o memchecker-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configfile.Tpo $(DEPDIR)/memchecker-configfile.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configfile.cc' object='memchecker-configfile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configfile.obj `if test -f '$(top_srcdir)/src/configfile.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configfile.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configfile.cc'; fi`
+
+memchecker-configuration.o: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configuration.o -MD -MP -MF $(DEPDIR)/memchecker-configuration.Tpo -c -o memchecker-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configuration.Tpo $(DEPDIR)/memchecker-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='memchecker-configuration.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configuration.o `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
+
+memchecker-configuration.obj: $(top_srcdir)/src/configuration.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configuration.obj -MD -MP -MF $(DEPDIR)/memchecker-configuration.Tpo -c -o memchecker-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configuration.Tpo $(DEPDIR)/memchecker-configuration.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='memchecker-configuration.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configuration.obj `if test -f '$(top_srcdir)/src/configuration.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configuration.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configuration.cc'; fi`
+
+memchecker-configparser.o: $(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configparser.o -MD -MP -MF $(DEPDIR)/memchecker-configparser.Tpo -c -o memchecker-configparser.o `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configparser.Tpo $(DEPDIR)/memchecker-configparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='memchecker-configparser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configparser.o `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
+
+memchecker-configparser.obj: $(top_srcdir)/src/configparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-configparser.obj -MD -MP -MF $(DEPDIR)/memchecker-configparser.Tpo -c -o memchecker-configparser.obj `if test -f '$(top_srcdir)/src/configparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configparser.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-configparser.Tpo $(DEPDIR)/memchecker-configparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='memchecker-configparser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-configparser.obj `if test -f '$(top_srcdir)/src/configparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/configparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/configparser.cc'; fi`
+
+memchecker-drumgizmo.o: $(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumgizmo.o -MD -MP -MF $(DEPDIR)/memchecker-drumgizmo.Tpo -c -o memchecker-drumgizmo.o `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumgizmo.Tpo $(DEPDIR)/memchecker-drumgizmo.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='memchecker-drumgizmo.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumgizmo.o `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
+
+memchecker-drumgizmo.obj: $(top_srcdir)/src/drumgizmo.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumgizmo.obj -MD -MP -MF $(DEPDIR)/memchecker-drumgizmo.Tpo -c -o memchecker-drumgizmo.obj `if test -f '$(top_srcdir)/src/drumgizmo.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumgizmo.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumgizmo.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumgizmo.Tpo $(DEPDIR)/memchecker-drumgizmo.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='memchecker-drumgizmo.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumgizmo.obj `if test -f '$(top_srcdir)/src/drumgizmo.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumgizmo.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumgizmo.cc'; fi`
+
+memchecker-drumkit.o: $(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkit.o -MD -MP -MF $(DEPDIR)/memchecker-drumkit.Tpo -c -o memchecker-drumkit.o `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkit.Tpo $(DEPDIR)/memchecker-drumkit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='memchecker-drumkit.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkit.o `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
+
+memchecker-drumkit.obj: $(top_srcdir)/src/drumkit.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkit.obj -MD -MP -MF $(DEPDIR)/memchecker-drumkit.Tpo -c -o memchecker-drumkit.obj `if test -f '$(top_srcdir)/src/drumkit.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkit.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkit.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkit.Tpo $(DEPDIR)/memchecker-drumkit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='memchecker-drumkit.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkit.obj `if test -f '$(top_srcdir)/src/drumkit.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkit.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkit.cc'; fi`
+
+memchecker-drumkitloader.o: $(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkitloader.o -MD -MP -MF $(DEPDIR)/memchecker-drumkitloader.Tpo -c -o memchecker-drumkitloader.o `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkitloader.Tpo $(DEPDIR)/memchecker-drumkitloader.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='memchecker-drumkitloader.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkitloader.o `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
+
+memchecker-drumkitloader.obj: $(top_srcdir)/src/drumkitloader.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkitloader.obj -MD -MP -MF $(DEPDIR)/memchecker-drumkitloader.Tpo -c -o memchecker-drumkitloader.obj `if test -f '$(top_srcdir)/src/drumkitloader.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkitloader.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkitloader.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkitloader.Tpo $(DEPDIR)/memchecker-drumkitloader.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='memchecker-drumkitloader.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkitloader.obj `if test -f '$(top_srcdir)/src/drumkitloader.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkitloader.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkitloader.cc'; fi`
+
+memchecker-drumkitparser.o: $(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkitparser.o -MD -MP -MF $(DEPDIR)/memchecker-drumkitparser.Tpo -c -o memchecker-drumkitparser.o `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkitparser.Tpo $(DEPDIR)/memchecker-drumkitparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='memchecker-drumkitparser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkitparser.o `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
+
+memchecker-drumkitparser.obj: $(top_srcdir)/src/drumkitparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-drumkitparser.obj -MD -MP -MF $(DEPDIR)/memchecker-drumkitparser.Tpo -c -o memchecker-drumkitparser.obj `if test -f '$(top_srcdir)/src/drumkitparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkitparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkitparser.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-drumkitparser.Tpo $(DEPDIR)/memchecker-drumkitparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='memchecker-drumkitparser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-drumkitparser.obj `if test -f '$(top_srcdir)/src/drumkitparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/drumkitparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/drumkitparser.cc'; fi`
+
+memchecker-events.o: $(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-events.o -MD -MP -MF $(DEPDIR)/memchecker-events.Tpo -c -o memchecker-events.o `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-events.Tpo $(DEPDIR)/memchecker-events.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='memchecker-events.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-events.o `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
+
+memchecker-events.obj: $(top_srcdir)/src/events.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-events.obj -MD -MP -MF $(DEPDIR)/memchecker-events.Tpo -c -o memchecker-events.obj `if test -f '$(top_srcdir)/src/events.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/events.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/events.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-events.Tpo $(DEPDIR)/memchecker-events.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='memchecker-events.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-events.obj `if test -f '$(top_srcdir)/src/events.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/events.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/events.cc'; fi`
+
+memchecker-instrument.o: $(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-instrument.o -MD -MP -MF $(DEPDIR)/memchecker-instrument.Tpo -c -o memchecker-instrument.o `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-instrument.Tpo $(DEPDIR)/memchecker-instrument.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='memchecker-instrument.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-instrument.o `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
+
+memchecker-instrument.obj: $(top_srcdir)/src/instrument.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-instrument.obj -MD -MP -MF $(DEPDIR)/memchecker-instrument.Tpo -c -o memchecker-instrument.obj `if test -f '$(top_srcdir)/src/instrument.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrument.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrument.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-instrument.Tpo $(DEPDIR)/memchecker-instrument.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='memchecker-instrument.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-instrument.obj `if test -f '$(top_srcdir)/src/instrument.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrument.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrument.cc'; fi`
+
+memchecker-instrumentparser.o: $(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-instrumentparser.o -MD -MP -MF $(DEPDIR)/memchecker-instrumentparser.Tpo -c -o memchecker-instrumentparser.o `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-instrumentparser.Tpo $(DEPDIR)/memchecker-instrumentparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='memchecker-instrumentparser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-instrumentparser.o `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
+
+memchecker-instrumentparser.obj: $(top_srcdir)/src/instrumentparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-instrumentparser.obj -MD -MP -MF $(DEPDIR)/memchecker-instrumentparser.Tpo -c -o memchecker-instrumentparser.obj `if test -f '$(top_srcdir)/src/instrumentparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrumentparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrumentparser.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-instrumentparser.Tpo $(DEPDIR)/memchecker-instrumentparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='memchecker-instrumentparser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-instrumentparser.obj `if test -f '$(top_srcdir)/src/instrumentparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/instrumentparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/instrumentparser.cc'; fi`
+
+memchecker-memchecker.o: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-memchecker.o -MD -MP -MF $(DEPDIR)/memchecker-memchecker.Tpo -c -o memchecker-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-memchecker.Tpo $(DEPDIR)/memchecker-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='memchecker-memchecker.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-memchecker.o `test -f '$(top_srcdir)/src/memchecker.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/memchecker.cc
+
+memchecker-memchecker.obj: $(top_srcdir)/src/memchecker.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-memchecker.obj -MD -MP -MF $(DEPDIR)/memchecker-memchecker.Tpo -c -o memchecker-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-memchecker.Tpo $(DEPDIR)/memchecker-memchecker.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/memchecker.cc' object='memchecker-memchecker.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-memchecker.obj `if test -f '$(top_srcdir)/src/memchecker.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/memchecker.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/memchecker.cc'; fi`
+
+memchecker-messagehandler.o: $(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-messagehandler.o -MD -MP -MF $(DEPDIR)/memchecker-messagehandler.Tpo -c -o memchecker-messagehandler.o `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-messagehandler.Tpo $(DEPDIR)/memchecker-messagehandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='memchecker-messagehandler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-messagehandler.o `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
+
+memchecker-messagehandler.obj: $(top_srcdir)/src/messagehandler.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-messagehandler.obj -MD -MP -MF $(DEPDIR)/memchecker-messagehandler.Tpo -c -o memchecker-messagehandler.obj `if test -f '$(top_srcdir)/src/messagehandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/messagehandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/messagehandler.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-messagehandler.Tpo $(DEPDIR)/memchecker-messagehandler.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='memchecker-messagehandler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-messagehandler.obj `if test -f '$(top_srcdir)/src/messagehandler.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/messagehandler.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/messagehandler.cc'; fi`
+
+memchecker-messagereceiver.o: $(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-messagereceiver.o -MD -MP -MF $(DEPDIR)/memchecker-messagereceiver.Tpo -c -o memchecker-messagereceiver.o `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-messagereceiver.Tpo $(DEPDIR)/memchecker-messagereceiver.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='memchecker-messagereceiver.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-messagereceiver.o `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
+
+memchecker-messagereceiver.obj: $(top_srcdir)/src/messagereceiver.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-messagereceiver.obj -MD -MP -MF $(DEPDIR)/memchecker-messagereceiver.Tpo -c -o memchecker-messagereceiver.obj `if test -f '$(top_srcdir)/src/messagereceiver.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/messagereceiver.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/messagereceiver.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-messagereceiver.Tpo $(DEPDIR)/memchecker-messagereceiver.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='memchecker-messagereceiver.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-messagereceiver.obj `if test -f '$(top_srcdir)/src/messagereceiver.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/messagereceiver.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/messagereceiver.cc'; fi`
+
+memchecker-midimapparser.o: $(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-midimapparser.o -MD -MP -MF $(DEPDIR)/memchecker-midimapparser.Tpo -c -o memchecker-midimapparser.o `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-midimapparser.Tpo $(DEPDIR)/memchecker-midimapparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='memchecker-midimapparser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-midimapparser.o `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
+
+memchecker-midimapparser.obj: $(top_srcdir)/src/midimapparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-midimapparser.obj -MD -MP -MF $(DEPDIR)/memchecker-midimapparser.Tpo -c -o memchecker-midimapparser.obj `if test -f '$(top_srcdir)/src/midimapparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/midimapparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/midimapparser.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-midimapparser.Tpo $(DEPDIR)/memchecker-midimapparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='memchecker-midimapparser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-midimapparser.obj `if test -f '$(top_srcdir)/src/midimapparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/midimapparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/midimapparser.cc'; fi`
+
+memchecker-midimapper.o: $(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-midimapper.o -MD -MP -MF $(DEPDIR)/memchecker-midimapper.Tpo -c -o memchecker-midimapper.o `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-midimapper.Tpo $(DEPDIR)/memchecker-midimapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='memchecker-midimapper.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-midimapper.o `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
+
+memchecker-midimapper.obj: $(top_srcdir)/src/midimapper.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-midimapper.obj -MD -MP -MF $(DEPDIR)/memchecker-midimapper.Tpo -c -o memchecker-midimapper.obj `if test -f '$(top_srcdir)/src/midimapper.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/midimapper.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/midimapper.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-midimapper.Tpo $(DEPDIR)/memchecker-midimapper.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='memchecker-midimapper.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-midimapper.obj `if test -f '$(top_srcdir)/src/midimapper.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/midimapper.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/midimapper.cc'; fi`
+
+memchecker-mutex.o: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-mutex.o -MD -MP -MF $(DEPDIR)/memchecker-mutex.Tpo -c -o memchecker-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-mutex.Tpo $(DEPDIR)/memchecker-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='memchecker-mutex.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-mutex.o `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
+
+memchecker-mutex.obj: $(top_srcdir)/src/mutex.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-mutex.obj -MD -MP -MF $(DEPDIR)/memchecker-mutex.Tpo -c -o memchecker-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-mutex.Tpo $(DEPDIR)/memchecker-mutex.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='memchecker-mutex.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-mutex.obj `if test -f '$(top_srcdir)/src/mutex.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/mutex.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/mutex.cc'; fi`
+
+memchecker-path.o: $(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-path.o -MD -MP -MF $(DEPDIR)/memchecker-path.Tpo -c -o memchecker-path.o `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-path.Tpo $(DEPDIR)/memchecker-path.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='memchecker-path.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-path.o `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
+
+memchecker-path.obj: $(top_srcdir)/src/path.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-path.obj -MD -MP -MF $(DEPDIR)/memchecker-path.Tpo -c -o memchecker-path.obj `if test -f '$(top_srcdir)/src/path.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/path.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/path.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-path.Tpo $(DEPDIR)/memchecker-path.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='memchecker-path.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-path.obj `if test -f '$(top_srcdir)/src/path.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/path.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/path.cc'; fi`
+
+memchecker-powerlist.o: $(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-powerlist.o -MD -MP -MF $(DEPDIR)/memchecker-powerlist.Tpo -c -o memchecker-powerlist.o `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-powerlist.Tpo $(DEPDIR)/memchecker-powerlist.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='memchecker-powerlist.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-powerlist.o `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
+
+memchecker-powerlist.obj: $(top_srcdir)/src/powerlist.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-powerlist.obj -MD -MP -MF $(DEPDIR)/memchecker-powerlist.Tpo -c -o memchecker-powerlist.obj `if test -f '$(top_srcdir)/src/powerlist.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/powerlist.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/powerlist.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-powerlist.Tpo $(DEPDIR)/memchecker-powerlist.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='memchecker-powerlist.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-powerlist.obj `if test -f '$(top_srcdir)/src/powerlist.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/powerlist.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/powerlist.cc'; fi`
+
+memchecker-sample.o: $(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-sample.o -MD -MP -MF $(DEPDIR)/memchecker-sample.Tpo -c -o memchecker-sample.o `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-sample.Tpo $(DEPDIR)/memchecker-sample.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='memchecker-sample.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-sample.o `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
+
+memchecker-sample.obj: $(top_srcdir)/src/sample.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-sample.obj -MD -MP -MF $(DEPDIR)/memchecker-sample.Tpo -c -o memchecker-sample.obj `if test -f '$(top_srcdir)/src/sample.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/sample.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/sample.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-sample.Tpo $(DEPDIR)/memchecker-sample.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='memchecker-sample.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-sample.obj `if test -f '$(top_srcdir)/src/sample.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/sample.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/sample.cc'; fi`
+
+memchecker-semaphore.o: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-semaphore.o -MD -MP -MF $(DEPDIR)/memchecker-semaphore.Tpo -c -o memchecker-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-semaphore.Tpo $(DEPDIR)/memchecker-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='memchecker-semaphore.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-semaphore.o `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
+
+memchecker-semaphore.obj: $(top_srcdir)/src/semaphore.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-semaphore.obj -MD -MP -MF $(DEPDIR)/memchecker-semaphore.Tpo -c -o memchecker-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-semaphore.Tpo $(DEPDIR)/memchecker-semaphore.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='memchecker-semaphore.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-semaphore.obj `if test -f '$(top_srcdir)/src/semaphore.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/semaphore.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/semaphore.cc'; fi`
+
+memchecker-saxparser.o: $(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-saxparser.o -MD -MP -MF $(DEPDIR)/memchecker-saxparser.Tpo -c -o memchecker-saxparser.o `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-saxparser.Tpo $(DEPDIR)/memchecker-saxparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='memchecker-saxparser.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-saxparser.o `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
+
+memchecker-saxparser.obj: $(top_srcdir)/src/saxparser.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-saxparser.obj -MD -MP -MF $(DEPDIR)/memchecker-saxparser.Tpo -c -o memchecker-saxparser.obj `if test -f '$(top_srcdir)/src/saxparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/saxparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/saxparser.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-saxparser.Tpo $(DEPDIR)/memchecker-saxparser.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='memchecker-saxparser.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-saxparser.obj `if test -f '$(top_srcdir)/src/saxparser.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/saxparser.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/saxparser.cc'; fi`
+
+memchecker-thread.o: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-thread.o -MD -MP -MF $(DEPDIR)/memchecker-thread.Tpo -c -o memchecker-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-thread.Tpo $(DEPDIR)/memchecker-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='memchecker-thread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-thread.o `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
+
+memchecker-thread.obj: $(top_srcdir)/src/thread.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-thread.obj -MD -MP -MF $(DEPDIR)/memchecker-thread.Tpo -c -o memchecker-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-thread.Tpo $(DEPDIR)/memchecker-thread.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='memchecker-thread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-thread.obj `if test -f '$(top_srcdir)/src/thread.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/thread.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/thread.cc'; fi`
+
+memchecker-velocity.o: $(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-velocity.o -MD -MP -MF $(DEPDIR)/memchecker-velocity.Tpo -c -o memchecker-velocity.o `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-velocity.Tpo $(DEPDIR)/memchecker-velocity.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='memchecker-velocity.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-velocity.o `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
+
+memchecker-velocity.obj: $(top_srcdir)/src/velocity.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-velocity.obj -MD -MP -MF $(DEPDIR)/memchecker-velocity.Tpo -c -o memchecker-velocity.obj `if test -f '$(top_srcdir)/src/velocity.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/velocity.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/velocity.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-velocity.Tpo $(DEPDIR)/memchecker-velocity.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='memchecker-velocity.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-velocity.obj `if test -f '$(top_srcdir)/src/velocity.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/velocity.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/velocity.cc'; fi`
+
+memchecker-versionstr.o: $(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-versionstr.o -MD -MP -MF $(DEPDIR)/memchecker-versionstr.Tpo -c -o memchecker-versionstr.o `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-versionstr.Tpo $(DEPDIR)/memchecker-versionstr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='memchecker-versionstr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-versionstr.o `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
+
+memchecker-versionstr.obj: $(top_srcdir)/src/versionstr.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-versionstr.obj -MD -MP -MF $(DEPDIR)/memchecker-versionstr.Tpo -c -o memchecker-versionstr.obj `if test -f '$(top_srcdir)/src/versionstr.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/versionstr.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/versionstr.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-versionstr.Tpo $(DEPDIR)/memchecker-versionstr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='memchecker-versionstr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-versionstr.obj `if test -f '$(top_srcdir)/src/versionstr.cc'; then $(CYGPATH_W) '$(top_srcdir)/src/versionstr.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/versionstr.cc'; fi`
+
+memchecker-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-test.o -MD -MP -MF $(DEPDIR)/memchecker-test.Tpo -c -o memchecker-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-test.Tpo $(DEPDIR)/memchecker-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='memchecker-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+memchecker-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-test.obj -MD -MP -MF $(DEPDIR)/memchecker-test.Tpo -c -o memchecker-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-test.Tpo $(DEPDIR)/memchecker-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='memchecker-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+memchecker-memcheckertest.o: memcheckertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-memcheckertest.o -MD -MP -MF $(DEPDIR)/memchecker-memcheckertest.Tpo -c -o memchecker-memcheckertest.o `test -f 'memcheckertest.cc' || echo '$(srcdir)/'`memcheckertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-memcheckertest.Tpo $(DEPDIR)/memchecker-memcheckertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='memcheckertest.cc' object='memchecker-memcheckertest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-memcheckertest.o `test -f 'memcheckertest.cc' || echo '$(srcdir)/'`memcheckertest.cc
+
+memchecker-memcheckertest.obj: memcheckertest.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -MT memchecker-memcheckertest.obj -MD -MP -MF $(DEPDIR)/memchecker-memcheckertest.Tpo -c -o memchecker-memcheckertest.obj `if test -f 'memcheckertest.cc'; then $(CYGPATH_W) 'memcheckertest.cc'; else $(CYGPATH_W) '$(srcdir)/memcheckertest.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/memchecker-memcheckertest.Tpo $(DEPDIR)/memchecker-memcheckertest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='memcheckertest.cc' object='memchecker-memcheckertest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(memchecker_CXXFLAGS) $(CXXFLAGS) -c -o memchecker-memcheckertest.obj `if test -f 'memcheckertest.cc'; then $(CYGPATH_W) 'memcheckertest.cc'; else $(CYGPATH_W) '$(srcdir)/memcheckertest.cc'; fi`
+
resampler-chresampler.o: $(top_srcdir)/src/chresampler.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resampler_CXXFLAGS) $(CXXFLAGS) -MT resampler-chresampler.o -MD -MP -MF $(DEPDIR)/resampler-chresampler.Tpo -c -o resampler-chresampler.o `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resampler-chresampler.Tpo $(DEPDIR)/resampler-chresampler.Po
@@ -1332,6 +2716,62 @@ resampler-resampler.obj: resampler.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resampler_CXXFLAGS) $(CXXFLAGS) -c -o resampler-resampler.obj `if test -f 'resampler.cc'; then $(CYGPATH_W) 'resampler.cc'; else $(CYGPATH_W) '$(srcdir)/resampler.cc'; fi`
+resource-resource.o: $(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource.o -MD -MP -MF $(DEPDIR)/resource-resource.Tpo -c -o resource-resource.o `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource.Tpo $(DEPDIR)/resource-resource.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='resource-resource.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource.o `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
+
+resource-resource.obj: $(top_srcdir)/plugingui/resource.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource.obj -MD -MP -MF $(DEPDIR)/resource-resource.Tpo -c -o resource-resource.obj `if test -f '$(top_srcdir)/plugingui/resource.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/resource.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/resource.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource.Tpo $(DEPDIR)/resource-resource.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='resource-resource.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource.obj `if test -f '$(top_srcdir)/plugingui/resource.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/resource.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/resource.cc'; fi`
+
+resource-resource_data.o: $(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource_data.o -MD -MP -MF $(DEPDIR)/resource-resource_data.Tpo -c -o resource-resource_data.o `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource_data.Tpo $(DEPDIR)/resource-resource_data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='resource-resource_data.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource_data.o `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
+
+resource-resource_data.obj: $(top_srcdir)/plugingui/resource_data.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource_data.obj -MD -MP -MF $(DEPDIR)/resource-resource_data.Tpo -c -o resource-resource_data.obj `if test -f '$(top_srcdir)/plugingui/resource_data.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/resource_data.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/resource_data.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource_data.Tpo $(DEPDIR)/resource-resource_data.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='resource-resource_data.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource_data.obj `if test -f '$(top_srcdir)/plugingui/resource_data.cc'; then $(CYGPATH_W) '$(top_srcdir)/plugingui/resource_data.cc'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/plugingui/resource_data.cc'; fi`
+
+resource-test.o: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-test.o -MD -MP -MF $(DEPDIR)/resource-test.Tpo -c -o resource-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-test.Tpo $(DEPDIR)/resource-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='resource-test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc
+
+resource-test.obj: test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-test.obj -MD -MP -MF $(DEPDIR)/resource-test.Tpo -c -o resource-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-test.Tpo $(DEPDIR)/resource-test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='resource-test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi`
+
+resource-resource_test.o: resource_test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource_test.o -MD -MP -MF $(DEPDIR)/resource-resource_test.Tpo -c -o resource-resource_test.o `test -f 'resource_test.cc' || echo '$(srcdir)/'`resource_test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource_test.Tpo $(DEPDIR)/resource-resource_test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='resource_test.cc' object='resource-resource_test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource_test.o `test -f 'resource_test.cc' || echo '$(srcdir)/'`resource_test.cc
+
+resource-resource_test.obj: resource_test.cc
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -MT resource-resource_test.obj -MD -MP -MF $(DEPDIR)/resource-resource_test.Tpo -c -o resource-resource_test.obj `if test -f 'resource_test.cc'; then $(CYGPATH_W) 'resource_test.cc'; else $(CYGPATH_W) '$(srcdir)/resource_test.cc'; fi`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/resource-resource_test.Tpo $(DEPDIR)/resource-resource_test.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='resource_test.cc' object='resource-resource_test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(resource_CXXFLAGS) $(CXXFLAGS) -c -o resource-resource_test.obj `if test -f 'resource_test.cc'; then $(CYGPATH_W) 'resource_test.cc'; else $(CYGPATH_W) '$(srcdir)/resource_test.cc'; fi`
+
mostlyclean-libtool:
-rm -f *.lo
@@ -1531,6 +2971,13 @@ recheck: all $(check_PROGRAMS)
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
+resource.log: resource$(EXEEXT)
+ @p='resource$(EXEEXT)'; \
+ b='resource'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
engine.log: engine$(EXEEXT)
@p='engine$(EXEEXT)'; \
b='engine'; \
@@ -1559,6 +3006,48 @@ lv2.log: lv2$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+configfile.log: configfile$(EXEEXT)
+ @p='configfile$(EXEEXT)'; \
+ b='configfile'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+audiocache.log: audiocache$(EXEEXT)
+ @p='audiocache$(EXEEXT)'; \
+ b='audiocache'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+audiocachefile.log: audiocachefile$(EXEEXT)
+ @p='audiocachefile$(EXEEXT)'; \
+ b='audiocachefile'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+audiocacheidmanager.log: audiocacheidmanager$(EXEEXT)
+ @p='audiocacheidmanager$(EXEEXT)'; \
+ b='audiocacheidmanager'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+audiocacheeventhandler.log: audiocacheeventhandler$(EXEEXT)
+ @p='audiocacheeventhandler$(EXEEXT)'; \
+ b='audiocacheeventhandler'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+memchecker.log: memchecker$(EXEEXT)
+ @p='memchecker$(EXEEXT)'; \
+ b='memchecker'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
@p='$<'; \
$(am__set_b); \
diff --git a/test/gui.cc b/test/audiocacheeventhandlertest.cc
similarity index 55%
copy from test/gui.cc
copy to test/audiocacheeventhandlertest.cc
index f227747..0b408e0 100644
--- a/test/gui.cc
+++ b/test/audiocacheeventhandlertest.cc
@@ -1,9 +1,9 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
- * gui.cc
+ * audiocacheeventhandlertest.cc
*
- * Fri Nov 29 18:08:57 CET 2013
- * Copyright 2013 Bent Bisballe Nyeng
+ * Thu Jan 7 15:44:14 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
* deva at aasimon.org
****************************************************************************/
@@ -11,35 +11,42 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
#include <cppunit/extensions/HelperMacros.h>
-class test_gui : public CppUnit::TestFixture
+#include <audiocacheeventhandler.h>
+
+class AudioCacheEventHandlerTest
+ : public CppUnit::TestFixture
{
- CPPUNIT_TEST_SUITE(test_gui);
- CPPUNIT_TEST(test1);
+ CPPUNIT_TEST_SUITE(AudioCacheEventHandlerTest);
+ CPPUNIT_TEST(threadedTest);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {}
void tearDown() {}
- void test1() {
+ void threadedTest()
+ {
+ AudioCacheIDManager id_manager;
+ id_manager.init(10);
+
+ AudioCacheEventHandler event_handler(id_manager);
}
};
// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION(test_gui);
-
+CPPUNIT_TEST_SUITE_REGISTRATION(AudioCacheEventHandlerTest);
diff --git a/test/audiocachefiletest.cc b/test/audiocachefiletest.cc
new file mode 100644
index 0000000..d5d5437
--- /dev/null
+++ b/test/audiocachefiletest.cc
@@ -0,0 +1,246 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocachefiletest.cc
+ *
+ * Thu Jan 7 15:43:12 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include <cstring>
+
+#include <audiocachefile.h>
+#include <audiofile.h>
+
+class TestableAudioCacheFiles
+ : public AudioCacheFiles
+{
+public:
+ //CacheAudioFile& getAudioFile(const std::string& filename);
+ //void release(const std::string& filename);
+ int getRef(const std::string& filename)
+ {
+ auto it = audiofiles.find(filename);
+
+ if(it == audiofiles.end())
+ {
+ return -1;
+ }
+
+ return (it->second).ref;
+ }
+};
+
+class AudioCacheFileTest
+ : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(AudioCacheFileTest);
+ CPPUNIT_TEST(refTest);
+ CPPUNIT_TEST(readTest);
+ CPPUNIT_TEST(noFileTest);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ void setUp() {}
+ void tearDown() {}
+
+ void refTest()
+ {
+ TestableAudioCacheFiles audiofiles;
+ std::string filename = "kit/ride-single-channel.wav";
+ CPPUNIT_ASSERT_EQUAL(-1, audiofiles.getRef(filename));
+
+ audiofiles.getFile(filename);
+ CPPUNIT_ASSERT_EQUAL(1, audiofiles.getRef(filename));
+
+ audiofiles.getFile(filename);
+ CPPUNIT_ASSERT_EQUAL(2, audiofiles.getRef(filename));
+
+ audiofiles.releaseFile(filename);
+ CPPUNIT_ASSERT_EQUAL(1, audiofiles.getRef(filename));
+
+ audiofiles.releaseFile(filename);
+ CPPUNIT_ASSERT_EQUAL(-1, audiofiles.getRef(filename));
+ }
+
+ void readTestHelper(size_t buffer_size)
+ {
+ printf("Test buffer size: %d samples\n", (int)buffer_size);
+
+ std::string filename = "kit/ride-multi-channel.wav";
+ AudioFile* ref_file[13];
+ for(size_t c = 0; c < 13; ++c)
+ {
+ ref_file[c] = new AudioFile(filename, c);
+ ref_file[c]->load();
+ }
+
+ std::vector<sample_t> read_buffer;
+
+ AudioCacheFile file(filename, read_buffer);
+ CPPUNIT_ASSERT_EQUAL(filename, file.getFilename());
+ CPPUNIT_ASSERT_EQUAL(13, (int)file.getChannelCount()); // Sanity check
+
+ CacheChannels channels;
+
+ sample_t samples[13][buffer_size];
+ volatile bool ready[13];
+ for(size_t c = 0; c < 13; ++c)
+ {
+ for(size_t i = 0; i < buffer_size; ++i)
+ {
+ samples[c][i] = 42;
+ }
+
+ channels.push_back(
+ {
+ c, // channel
+ samples[c], // samples
+ buffer_size, // max_num_samples
+ &ready[c] // ready
+ }
+ );
+ }
+
+ for(size_t offset = 0; offset < file.getSize(); offset += buffer_size)
+ {
+ for(size_t c = 0; c < 13; ++c)
+ {
+ ready[c] = false;
+ }
+
+ size_t read_size = file.getSize() - offset;
+ if(read_size > buffer_size)
+ {
+ read_size = buffer_size;
+ }
+ else
+ {
+ printf("Last read: %d samples\n", (int)read_size);
+ }
+
+ file.readChunk(channels, offset, read_size);
+
+ for(size_t c = 0; c < 13; ++c)
+ {
+ CPPUNIT_ASSERT_EQUAL(true, ready[c]?true:false);
+ }
+
+ sample_t diff[13] = {0.0};
+ for(size_t c = 0; c < 13; ++c)
+ {
+ for(size_t i = 0; i < read_size; ++i)
+ {
+ diff[c] += abs(ref_file[c]->data[i + offset] - samples[c][i]);
+ }
+ }
+
+ for(int c = 0; c < 13; ++c)
+ {
+ CPPUNIT_ASSERT_EQUAL((sample_t)0.0, diff[c]);
+ }
+ }
+
+ for(size_t c = 0; c < 13; ++c)
+ {
+ delete ref_file[c];
+ }
+ }
+
+ void readTest()
+ {
+ // Exhaustive test for 1...64
+ for(size_t buffer_size = 1; buffer_size < 64; ++buffer_size)
+ {
+ readTestHelper(buffer_size);
+ }
+
+ // Binary test for 64 .. 4096
+ for(size_t buffer_size = 64; buffer_size < 4096; buffer_size *= 2)
+ {
+ readTestHelper(buffer_size);
+ }
+
+ // And some sporadic tests for some "wierd" sizes.
+ for(size_t buffer_size = 65; buffer_size < 4096; buffer_size *= 1.1)
+ {
+ readTestHelper(buffer_size);
+ }
+ }
+
+ void noFileTest()
+ {
+ size_t buffer_size = 64;
+ std::string filename = "kits/no-such-file.wav";
+
+ std::vector<sample_t> read_buffer;
+
+ AudioCacheFile file(filename, read_buffer);
+ CPPUNIT_ASSERT_EQUAL(filename, file.getFilename());
+ CPPUNIT_ASSERT_EQUAL(0u, (unsigned int)file.getSize());
+ CPPUNIT_ASSERT_EQUAL(0u, (unsigned int)file.getChannelCount());
+
+ CacheChannels channels;
+
+ sample_t samples[13][buffer_size];
+ volatile bool ready[13];
+ for(size_t c = 0; c < 13; ++c)
+ {
+ for(size_t i = 0; i < buffer_size; ++i)
+ {
+ samples[c][i] = 42.0f;
+ }
+
+ channels.push_back(
+ {
+ c, // channel
+ samples[c], // samples
+ buffer_size, // max_num_samples
+ &ready[c] // ready
+ }
+ );
+ }
+
+ for(size_t c = 0; c < 13; ++c)
+ {
+ ready[c] = false;
+ }
+
+ file.readChunk(channels, 0, buffer_size);
+
+ for(size_t c = 0; c < 13; ++c)
+ {
+ CPPUNIT_ASSERT_EQUAL(false, ready[c]?true:false);
+ }
+
+ for(size_t c = 0; c < 13; ++c)
+ {
+ for(size_t i = 0; i < buffer_size; ++i)
+ {
+ CPPUNIT_ASSERT_EQUAL(42.0f, samples[c][i]);
+ }
+ }
+ }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(AudioCacheFileTest);
diff --git a/test/audiocacheidmanagertest.cc b/test/audiocacheidmanagertest.cc
new file mode 100644
index 0000000..74aaaf6
--- /dev/null
+++ b/test/audiocacheidmanagertest.cc
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * audiocacheidmanagertest.cc
+ *
+ * Thu Jan 7 15:42:31 CET 2016
+ * Copyright 2016 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include <audiocacheidmanager.h>
+
+class TestableAudioCacheIDManager
+ : public AudioCacheIDManager
+{
+public:
+ int getAvailableIDs()
+ {
+ return available_ids.size();
+ }
+};
+
+class AudioCacheIDManagerTest
+ : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(AudioCacheIDManagerTest);
+ CPPUNIT_TEST(registerReleaseTest);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ void setUp() {}
+ void tearDown() {}
+
+ void registerReleaseTest()
+ {
+ TestableAudioCacheIDManager manager;
+ manager.init(2);
+
+ cache_t c1; c1.afile = (AudioCacheFile*)1;
+ auto id1 = manager.registerID(c1);
+ CPPUNIT_ASSERT(id1 != CACHE_DUMMYID);
+ CPPUNIT_ASSERT(id1 != CACHE_NOID);
+ CPPUNIT_ASSERT_EQUAL(1, manager.getAvailableIDs());
+
+ cache_t c2; c2.afile = (AudioCacheFile*)2;
+ auto id2 = manager.registerID(c2);
+ CPPUNIT_ASSERT(id2 != CACHE_DUMMYID);
+ CPPUNIT_ASSERT(id2 != CACHE_NOID);
+ CPPUNIT_ASSERT_EQUAL(0, manager.getAvailableIDs());
+
+ cache_t c3; c3.afile = (AudioCacheFile*)3;
+ auto id3 = manager.registerID(c3);
+ CPPUNIT_ASSERT(id3 == CACHE_DUMMYID);
+ CPPUNIT_ASSERT_EQUAL(0, manager.getAvailableIDs());
+
+ cache_t& tc1 = manager.getCache(id1);
+ CPPUNIT_ASSERT_EQUAL(c1.afile, tc1.afile);
+
+ cache_t& tc2 = manager.getCache(id2);
+ CPPUNIT_ASSERT_EQUAL(c2.afile, tc2.afile);
+
+ manager.releaseID(id1);
+ CPPUNIT_ASSERT_EQUAL(1, manager.getAvailableIDs());
+
+ cache_t c4; c4.afile = (AudioCacheFile*)4;
+ auto id4 = manager.registerID(c4);
+ CPPUNIT_ASSERT(id4 != CACHE_DUMMYID);
+ CPPUNIT_ASSERT(id4 != CACHE_NOID);
+ CPPUNIT_ASSERT_EQUAL(0, manager.getAvailableIDs());
+
+ cache_t& tc4 = manager.getCache(id4);
+ CPPUNIT_ASSERT_EQUAL(c4.afile, tc4.afile);
+
+ manager.releaseID(id2);
+ CPPUNIT_ASSERT_EQUAL(1, manager.getAvailableIDs());
+
+ manager.releaseID(id4);
+ CPPUNIT_ASSERT_EQUAL(2, manager.getAvailableIDs());
+ }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(AudioCacheIDManagerTest);
diff --git a/test/audiocachetest.cc b/test/audiocachetest.cc
new file mode 100644
index 0000000..f67909d
--- /dev/null
+++ b/test/audiocachetest.cc
@@ -0,0 +1,180 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * cachemanagertest.cc
+ *
+ * Sun Apr 19 10:15:59 CEST 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include <audiofile.h>
+#include <audiocache.h>
+#include <unistd.h>
+
+#define FRAMESIZE 64
+
+class AudioCacheTest
+ : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(AudioCacheTest);
+ CPPUNIT_TEST(singleChannelNonThreaded);
+ CPPUNIT_TEST(singleChannelThreaded);
+ CPPUNIT_TEST(multiChannelNonThreaded);
+ CPPUNIT_TEST(multiChannelThreaded);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ void setUp() {}
+ void tearDown() {}
+
+ //! Test runner.
+ //! \param filename The name of the file to read.
+ //! \param channel The channel number to do comparison on.
+ //! \param thread Control if this test is running in threaded mode or not.
+ //! \param framesize The initial framesize to use.
+ void testHelper(const char* filename, int channel, bool threaded,
+ int framesize)
+ {
+ // Reference file:
+ AudioFile audio_file_ref(filename, channel);
+ printf("audio_file_ref.load\n");
+ audio_file_ref.load(ALL_SAMPLES);
+
+ // Input file:
+ AudioFile audio_file(filename, channel);
+ printf("audio_file.load\n");
+ audio_file.load(4096);
+
+ AudioCache audio_cache;
+ printf("audio_cache.init\n");
+ audio_cache.init(100);
+ audio_cache.setAsyncMode(threaded);
+
+ // Set initial (upper limit) framesize
+ audio_cache.setFrameSize(framesize);
+
+ cacheid_t id;
+
+ for(size_t initial_samples_needed = 0;
+ initial_samples_needed < (size_t)(framesize + 1);
+ ++initial_samples_needed)
+ {
+
+ printf("open: initial_samples_needed: %d\n", (int)initial_samples_needed);
+ sample_t *samples =
+ audio_cache.open(audio_file, initial_samples_needed, channel, id);
+ size_t size = initial_samples_needed;
+ size_t offset = 0;
+
+ // Test pre cache:
+ for(size_t i = 0; i < size; ++i)
+ {
+ CPPUNIT_ASSERT_EQUAL(audio_file_ref.data[offset], samples[i]);
+ ++offset;
+ }
+
+ // Test the rest
+ while(offset < audio_file_ref.size)
+ {
+ if(threaded)
+ {
+ // Wait until we are finished reading
+ int timeout = 1000;
+ while(!audio_cache.isReady(id))
+ {
+ usleep(1000);
+ if(--timeout == 0)
+ {
+ CPPUNIT_ASSERT(false); // timeout
+ }
+ }
+ }
+
+ samples = audio_cache.next(id, size);
+
+ CPPUNIT_ASSERT_EQUAL(0, (int)audio_cache.getNumberOfUnderruns());
+
+ for(size_t i = 0; (i < size) && (offset < audio_file_ref.size); ++i)
+ {
+ if(audio_file_ref.data[offset] != samples[i])
+ {
+ printf("-----> offset: %d, size: %d, diff: %d,"
+ " i: %d, size: %d, block-diff: %d\n",
+ (int)offset, (int)audio_file_ref.size,
+ (int)(audio_file_ref.size - offset),
+ (int)i, (int)size, (int)(size - i));
+ }
+ CPPUNIT_ASSERT_EQUAL(audio_file_ref.data[offset], samples[i]);
+ ++offset;
+ }
+ }
+
+ audio_cache.close(id);
+ }
+
+ printf("done\n");
+ }
+
+ void singleChannelNonThreaded()
+ {
+ printf("\nsinglechannel_nonthreaded()\n");
+ const char filename[] = "kit/ride-single-channel.wav";
+ int channel = 0;
+ bool threaded = false;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ }
+
+ void singleChannelThreaded()
+ {
+ printf("\nsinglechannel_threaded()\n");
+ const char filename[] = "kit/ride-single-channel.wav";
+ int channel = 0;
+ bool threaded = true;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ }
+
+ void multiChannelNonThreaded()
+ {
+ printf("\nmultichannel_nonthreaded()\n");
+ const char filename[] = "kit/ride-multi-channel.wav";
+ int channel = 0;
+ bool threaded = false;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ ++channel;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ }
+
+ void multiChannelThreaded()
+ {
+ printf("\nmultichannel_threaded()\n");
+ const char filename[] = "kit/ride-multi-channel.wav";
+ int channel = 0;
+ bool threaded = true;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ ++channel;
+ testHelper(filename, channel, threaded, FRAMESIZE);
+ }
+
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(AudioCacheTest);
diff --git a/test/configtest.cc b/test/configtest.cc
new file mode 100644
index 0000000..1b8b265
--- /dev/null
+++ b/test/configtest.cc
@@ -0,0 +1,219 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * configtest.cc
+ *
+ * Thu May 14 20:58:29 CEST 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include <unistd.h>
+#include <stdio.h>
+
+#include "../src/configfile.h"
+
+class TestConfigFile : public ConfigFile {
+public:
+ TestConfigFile() : ConfigFile("") {}
+
+protected:
+ // Overload the built-in open method to use local file instead of homedir.
+ virtual bool open(std::string mode)
+ {
+ fp = fopen("test.conf", mode.c_str());
+ return fp != NULL;
+ }
+};
+
+class test_configtest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(test_configtest);
+ CPPUNIT_TEST(loading_no_newline);
+ CPPUNIT_TEST(loading_equal_sign);
+ CPPUNIT_TEST(loading_newline);
+ CPPUNIT_TEST(loading_padding_space);
+ CPPUNIT_TEST(loading_padding_space_newline);
+ CPPUNIT_TEST(loading_padding_tab);
+ CPPUNIT_TEST(loading_padding_tab_newline);
+ CPPUNIT_TEST(loading_comment);
+ CPPUNIT_TEST(loading_inline_comment);
+ CPPUNIT_TEST(loading_single_quoted_string);
+ CPPUNIT_TEST(loading_double_quoted_string);
+ CPPUNIT_TEST(loading_error_no_key);
+ CPPUNIT_TEST(loading_error_no_value);
+ CPPUNIT_TEST(loading_error_string_not_terminated_single);
+ CPPUNIT_TEST(loading_error_string_not_terminated_double);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ void setUp()
+ {
+ }
+
+ void tearDown()
+ {
+ unlink("test.conf");
+ }
+
+ void writeFile(const char* str)
+ {
+ FILE* fp = fopen("test.conf", "w");
+ fprintf(fp, "%s", str);
+ fclose(fp);
+ }
+
+ void loading_no_newline()
+ {
+ writeFile("a:b");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_equal_sign()
+ {
+ writeFile(" a =\tb\t\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_newline()
+ {
+ writeFile("a:b\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_padding_space()
+ {
+ writeFile(" a : b ");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_padding_tab()
+ {
+ writeFile("\ta\t:\tb\t");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_padding_space_newline()
+ {
+ writeFile(" a : b \n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_padding_tab_newline()
+ {
+ writeFile("\ta\t:\tb\t\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_comment()
+ {
+ writeFile("# comment\na:b\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_inline_comment()
+ {
+ writeFile("a:b #comment\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("b"), cf.getValue("a"));
+ }
+
+ void loading_single_quoted_string()
+ {
+ writeFile("a: '#\"b\" ' \n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("#\"b\" "), cf.getValue("a"));
+ }
+
+ void loading_double_quoted_string()
+ {
+ writeFile("a: \"#'b' \" \n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(true, cf.load());
+ CPPUNIT_ASSERT_EQUAL(std::string("#'b' "), cf.getValue("a"));
+ }
+
+ void loading_error_no_key()
+ {
+ writeFile(":foo");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(false, cf.load());
+ }
+
+ void loading_error_no_value()
+ {
+ writeFile("key");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(false, cf.load());
+ }
+
+ void loading_error_string_not_terminated_single()
+ {
+ writeFile("a:'b\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(false, cf.load());
+ }
+
+ void loading_error_string_not_terminated_double()
+ {
+ writeFile("a:\"b\n");
+
+ TestConfigFile cf;
+ CPPUNIT_ASSERT_EQUAL(false, cf.load());
+ }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(test_configtest);
+
+
diff --git a/test/engine.cc b/test/engine.cc
index 69d2a37..86f4f4d 100644
--- a/test/engine.cc
+++ b/test/engine.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -43,6 +43,7 @@ public:
AudioOutputEngine *oe = NULL;
AudioInputEngine *ie = NULL;
DrumGizmo dg(oe, ie);
+ dg.setFrameSize(100);
// Switch kits emmidiately with giving the loader time to work:
for(int i = 0; i < 100; i++) {
diff --git a/test/gui.cc b/test/gui.cc
index f227747..59e98b0 100644
--- a/test/gui.cc
+++ b/test/gui.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/test/lv2.cc b/test/lv2.cc
index bfd2ce5..45af076 100644
--- a/test/lv2.cc
+++ b/test/lv2.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -35,6 +35,13 @@
#define DG_URI "http://drumgizmo.org/lv2"
+enum class Ports {
+ FreeWheel = 0,
+ Latency,
+ MidiPort,
+ AudioPortOffset,
+};
+
/**
* Tests that should be performed:
* -------------------------------
@@ -47,7 +54,7 @@
*/
class test_lv2 : public CppUnit::TestFixture
{
- CPPUNIT_TEST_SUITE(test_lv2);
+ CPPUNIT_TEST_SUITE(test_lv2);
CPPUNIT_TEST(open_and_verify);
CPPUNIT_TEST(run_no_ports_connected);
CPPUNIT_TEST(run_no_output_ports_connected);
@@ -58,274 +65,297 @@ public:
void setUp() {}
void tearDown() {}
- void open_and_verify()
- {
- int res;
-
- LV2TestHost h(LV2_PATH);
-
- res = h.open(DG_URI);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.verify();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.close();
- CPPUNIT_ASSERT_EQUAL(0, res);
- }
-
- void run_no_ports_connected()
- {
- int res;
-
- LV2TestHost h(LV2_PATH);
-
- res = h.open(DG_URI);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.verify();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.createInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- const char config_fmt[] =
- "<config>\n"
- " <value name=\"drumkitfile\">%s</value>\n"
- " <value name=\"midimapfile\">%s</value>\n"
- " <value name=\"enable_velocity_modifier\">%s</value>\n"
- " <value name=\"velocity_modifier_falloff\">%f</value>\n"
- " <value name=\"velocity_modifier_weight\">%f</value>\n"
- " <value name=\"enable_velocity_randomiser\">%s</value>\n"
- " <value name=\"velocity_randomiser_weight\">%f</value>\n"
- " <value name=\"enable_resampling\">%s</value>\n"
- "</config>";
-
- const char drumkitfile[] = "kit/kit1.xml";
- const char midimapfile[] = "kit/midimap.xml";
- bool enable_velocity_modifier = true;
- float velocity_modifier_falloff = 0.5;
- float velocity_modifier_weight = 0.25;
- bool enable_velocity_randomiser = false;
- float velocity_randomiser_weight = 0.1;
- bool enable_resampling = false;
-
- char config[sizeof(config_fmt) * 2];
- sprintf(config, config_fmt,
- drumkitfile,
- midimapfile,
- enable_velocity_modifier?"true":"false",
- velocity_modifier_falloff,
- velocity_modifier_weight,
- enable_velocity_randomiser?"true":"false",
- velocity_randomiser_weight,
- enable_resampling?"true":"false"
- );
-
- res = h.loadConfig(config, strlen(config));
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- // run for 1 samples to trigger kit loading
- res = h.run(1);
- CPPUNIT_ASSERT_EQUAL(0, res);
- sleep(1); // wait for kit to get loaded (async),
-
- res = h.run(100);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.destroyInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.close();
- CPPUNIT_ASSERT_EQUAL(0, res);
- }
-
- void run_no_output_ports_connected()
- {
- int res;
-
- LV2TestHost h(LV2_PATH);
-
- res = h.open(DG_URI);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.verify();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.createInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- const char config_fmt[] =
- "<config>\n"
- " <value name=\"drumkitfile\">%s</value>\n"
- " <value name=\"midimapfile\">%s</value>\n"
- " <value name=\"enable_velocity_modifier\">%s</value>\n"
- " <value name=\"velocity_modifier_falloff\">%f</value>\n"
- " <value name=\"velocity_modifier_weight\">%f</value>\n"
- " <value name=\"enable_velocity_randomiser\">%s</value>\n"
- " <value name=\"velocity_randomiser_weight\">%f</value>\n"
- " <value name=\"enable_resampling\">%s</value>\n"
- "</config>";
-
- const char drumkitfile[] = "kit/kit1.xml";
- const char midimapfile[] = "kit/midimap.xml";
- bool enable_velocity_modifier = true;
- float velocity_modifier_falloff = 0.5;
- float velocity_modifier_weight = 0.25;
- bool enable_velocity_randomiser = false;
- float velocity_randomiser_weight = 0.1;
- bool enable_resampling = false;
-
- char config[sizeof(config_fmt) * 2];
- sprintf(config, config_fmt,
- drumkitfile,
- midimapfile,
- enable_velocity_modifier?"true":"false",
- velocity_modifier_falloff,
- velocity_modifier_weight,
- enable_velocity_randomiser?"true":"false",
- velocity_randomiser_weight,
- enable_resampling?"true":"false"
- );
-
- res = h.loadConfig(config, strlen(config));
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- // Port buffers:
- char sequence_buffer[4096];
-
- LV2TestHost::Sequence seq(sequence_buffer, sizeof(sequence_buffer));
- res = h.connectPort(0, seq.data());
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- // run for 1 samples to trigger kit loading
- res = h.run(1);
- CPPUNIT_ASSERT_EQUAL(0, res);
- sleep(1); // wait for kit to get loaded (async),
-
- seq.addMidiNote(5, 1, 127);
- res = h.run(100);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.destroyInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.close();
- CPPUNIT_ASSERT_EQUAL(0, res);
- }
-
- void test1()
- {
- int res;
-
- LV2TestHost h(LV2_PATH);
-
- res = h.open(DG_URI);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.verify();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.createInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- const char config_fmt[] =
- "<config>\n"
- " <value name=\"drumkitfile\">%s</value>\n"
- " <value name=\"midimapfile\">%s</value>\n"
- " <value name=\"enable_velocity_modifier\">%s</value>\n"
- " <value name=\"velocity_modifier_falloff\">%f</value>\n"
- " <value name=\"velocity_modifier_weight\">%f</value>\n"
- " <value name=\"enable_velocity_randomiser\">%s</value>\n"
- " <value name=\"velocity_randomiser_weight\">%f</value>\n"
- " <value name=\"enable_resampling\">%s</value>\n"
- "</config>";
-
- const char drumkitfile[] = "kit/kit1.xml";
- const char midimapfile[] = "kit/midimap.xml";
- bool enable_velocity_modifier = true;
- float velocity_modifier_falloff = 0.5;
- float velocity_modifier_weight = 0.25;
- bool enable_velocity_randomiser = false;
- float velocity_randomiser_weight = 0.1;
- bool enable_resampling = false;
-
- char config[sizeof(config_fmt) * 2];
- sprintf(config, config_fmt,
- drumkitfile,
- midimapfile,
- enable_velocity_modifier?"true":"false",
- velocity_modifier_falloff,
- velocity_modifier_weight,
- enable_velocity_randomiser?"true":"false",
- velocity_randomiser_weight,
- enable_resampling?"true":"false"
- );
-
- res = h.loadConfig(config, strlen(config));
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- // Port buffers:
- char sequence_buffer[4096];
- float pcm_buffer[16][10];
-
- LV2TestHost::Sequence seq(sequence_buffer, sizeof(sequence_buffer));
- res = h.connectPort(0, seq.data());
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- for(int i = 1; i <= 16; i++) {
- memset(pcm_buffer, 1, sizeof(pcm_buffer));
- res += h.connectPort(i, pcm_buffer[i-1]);
- }
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- // run for 1 samples to trigger kit loading
- res = h.run(1);
- CPPUNIT_ASSERT_EQUAL(0, res);
- sleep(1); // wait for kit to get loaded (async),
-
- /*
- seq.addMidiNote(5, 1, 127);
- for(int i = 0; i < 10; i++) {
- res = h.run(10);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- printf("Iteration:\n");
- for(int k = 0; k < 4; k++) {
- printf("#%d ", k);
- for(int j = 0; j < 10; j++) printf("[%f]", pcm_buffer[k][j]);
- printf("\n");
- }
- printf("\n");
-
- seq.clear();
- }
- */
-
- seq.addMidiNote(5, 1, 127);
- res = h.run(10);
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- union {
- float f;
- unsigned int u;
- } comp_val;
-
- comp_val.u = 1040744448;
-
- for(int k = 0; k < 4; k++) {
- for(int j = 0; j < 10; j++) {
- CPPUNIT_ASSERT(pcm_buffer[k][j] == ((j==4)?comp_val.f:0));
- }
- }
- seq.clear();
-
- res = h.destroyInstance();
- CPPUNIT_ASSERT_EQUAL(0, res);
-
- res = h.close();
- CPPUNIT_ASSERT_EQUAL(0, res);
- }
+ void open_and_verify()
+ {
+ int res;
+
+ LV2TestHost h(LV2_PATH);
+
+ res = h.open(DG_URI);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.verify();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.close();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ }
+
+ void run_no_ports_connected()
+ {
+ int res;
+
+ LV2TestHost h(LV2_PATH);
+
+ res = h.open(DG_URI);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.verify();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.createInstance(44100);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ const char config_fmt[] =
+ "<config>\n"
+ " <value name=\"drumkitfile\">%s</value>\n"
+ " <value name=\"midimapfile\">%s</value>\n"
+ " <value name=\"enable_velocity_modifier\">%s</value>\n"
+ " <value name=\"velocity_modifier_falloff\">%f</value>\n"
+ " <value name=\"velocity_modifier_weight\">%f</value>\n"
+ " <value name=\"enable_velocity_randomiser\">%s</value>\n"
+ " <value name=\"velocity_randomiser_weight\">%f</value>\n"
+ " <value name=\"enable_resampling\">%s</value>\n"
+ "</config>";
+
+ const char drumkitfile[] = "kit/kit1.xml";
+ const char midimapfile[] = "kit/midimap.xml";
+ bool enable_velocity_modifier = true;
+ float velocity_modifier_falloff = 0.5;
+ float velocity_modifier_weight = 0.25;
+ bool enable_velocity_randomiser = false;
+ float velocity_randomiser_weight = 0.1;
+ bool enable_resampling = false;
+
+ char config[sizeof(config_fmt) * 2];
+ sprintf(config, config_fmt,
+ drumkitfile,
+ midimapfile,
+ enable_velocity_modifier?"true":"false",
+ velocity_modifier_falloff,
+ velocity_modifier_weight,
+ enable_velocity_randomiser?"true":"false",
+ velocity_randomiser_weight,
+ enable_resampling?"true":"false");
+
+ res = h.loadConfig(config, strlen(config));
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ // run for 1 samples to trigger kit loading
+ res = h.run(1);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ usleep(1000); // wait for kit to get loaded (async),
+
+ res = h.run(100);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.destroyInstance();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.close();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ }
+
+ void run_no_output_ports_connected()
+ {
+ int res;
+
+ LV2TestHost h(LV2_PATH);
+
+ res = h.open(DG_URI);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.verify();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.createInstance(44100);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ const char config_fmt[] =
+ "<config>\n"
+ " <value name=\"drumkitfile\">%s</value>\n"
+ " <value name=\"midimapfile\">%s</value>\n"
+ " <value name=\"enable_velocity_modifier\">%s</value>\n"
+ " <value name=\"velocity_modifier_falloff\">%f</value>\n"
+ " <value name=\"velocity_modifier_weight\">%f</value>\n"
+ " <value name=\"enable_velocity_randomiser\">%s</value>\n"
+ " <value name=\"velocity_randomiser_weight\">%f</value>\n"
+ " <value name=\"enable_resampling\">%s</value>\n"
+ "</config>";
+
+ const char drumkitfile[] = "kit/kit1.xml";
+ const char midimapfile[] = "kit/midimap.xml";
+ bool enable_velocity_modifier = true;
+ float velocity_modifier_falloff = 0.5;
+ float velocity_modifier_weight = 0.25;
+ bool enable_velocity_randomiser = false;
+ float velocity_randomiser_weight = 0.1;
+ bool enable_resampling = false;
+
+ char config[sizeof(config_fmt) * 2];
+ sprintf(config, config_fmt,
+ drumkitfile,
+ midimapfile,
+ enable_velocity_modifier?"true":"false",
+ velocity_modifier_falloff,
+ velocity_modifier_weight,
+ enable_velocity_randomiser?"true":"false",
+ velocity_randomiser_weight,
+ enable_resampling?"true":"false");
+
+ res = h.loadConfig(config, strlen(config));
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ // Port buffers:
+ char sequence_buffer[4096];
+ bool freeWheel = false;
+
+ // Free wheel port
+ res = h.connectPort((int)Ports::FreeWheel, (void*)&freeWheel);
+
+ LV2TestHost::Sequence seq(sequence_buffer, sizeof(sequence_buffer));
+ res = h.connectPort((int)Ports::MidiPort, seq.data());
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ // run for 1 samples to trigger kit loading
+ res = h.run(1);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ usleep(1000); // wait for kit to get loaded (async),
+
+ seq.addMidiNote(5, 1, 127);
+ res = h.run(100);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.destroyInstance();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.close();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ }
+
+ void test1()
+ {
+ int res;
+
+ LV2TestHost h(LV2_PATH);
+
+ res = h.open(DG_URI);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.verify();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.createInstance(44100);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ const char config_fmt[] =
+ "<config>\n"
+ " <value name=\"drumkitfile\">%s</value>\n"
+ " <value name=\"midimapfile\">%s</value>\n"
+ " <value name=\"enable_velocity_modifier\">%s</value>\n"
+ " <value name=\"velocity_modifier_falloff\">%f</value>\n"
+ " <value name=\"velocity_modifier_weight\">%f</value>\n"
+ " <value name=\"enable_velocity_randomiser\">%s</value>\n"
+ " <value name=\"velocity_randomiser_weight\">%f</value>\n"
+ " <value name=\"enable_resampling\">%s</value>\n"
+ "</config>";
+
+ const char drumkitfile[] = "kit/kit1.xml";
+ const char midimapfile[] = "kit/midimap.xml";
+ bool enable_velocity_modifier = true;
+ float velocity_modifier_falloff = 0.5;
+ float velocity_modifier_weight = 0.25;
+ bool enable_velocity_randomiser = false;
+ float velocity_randomiser_weight = 0.1;
+ bool enable_resampling = false;
+
+ char config[sizeof(config_fmt) * 2];
+ sprintf(config, config_fmt,
+ drumkitfile,
+ midimapfile,
+ enable_velocity_modifier?"true":"false",
+ velocity_modifier_falloff,
+ velocity_modifier_weight,
+ enable_velocity_randomiser?"true":"false",
+ velocity_randomiser_weight,
+ enable_resampling?"true":"false");
+
+ res = h.loadConfig(config, strlen(config));
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ // Port buffers:
+ char sequence_buffer[4096];
+ float pcm_buffer[16][10];
+ bool freeWheel = true;
+
+ // Free wheel port
+ res = h.connectPort((int)Ports::FreeWheel, (void*)&freeWheel);
+
+ LV2TestHost::Sequence seq(sequence_buffer, sizeof(sequence_buffer));
+ res = h.connectPort((int)Ports::MidiPort, seq.data());
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ for(int i = 0; i < 16; ++i)
+ {
+ for(int j = 0; j < 10; ++j)
+ {
+ pcm_buffer[i][j] = 0.42;
+ }
+ res += h.connectPort((int)Ports::AudioPortOffset + i, pcm_buffer[i]);
+ }
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ // run for 1 samples to trigger kit loading
+ res = h.run(1);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ sleep(1); // wait for kit to get loaded (async),
+
+ seq.addMidiNote(5, 1, 127);
+ for(int i = 0; i < 10; i++)
+ {
+ res = h.run(10);
+ usleep(1000);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ //printf("Iteration:\n");
+ //for(int k = 0; k < 16; k++) {
+ // printf("#%d ", k);
+ // for(int j = 0; j < 10; j++) printf("[%f]", pcm_buffer[k][j]);
+ // printf("\n");
+ //}
+ //printf("\n");
+
+ seq.clear();
+ }
+
+
+ seq.addMidiNote(5, 1, 127);
+ res = h.run(10);
+ usleep(1000);
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ /*
+ printf("Iteration:\n");
+ for(int k = 0; k < 4; k++) {
+ printf("#%d ", k);
+ for(int j = 0; j < 10; j++) printf("[%f]", pcm_buffer[k][j]);
+ printf("\n");
+ }
+ printf("\n");
+ */
+
+ union {
+ float f;
+ unsigned int u;
+ } comp_val;
+
+ comp_val.u = 1040744448; // floating point value 0.133301....
+
+ for(int k = 0; k < 4; k++)
+ {
+ for(int j = 0; j < 10; j++)
+ {
+ CPPUNIT_ASSERT_EQUAL(((j==5)?comp_val.f:0), pcm_buffer[k][j]);
+ }
+ }
+ seq.clear();
+
+ res = h.destroyInstance();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+
+ res = h.close();
+ CPPUNIT_ASSERT_EQUAL(0, res);
+ }
};
// Registers the fixture into the 'registry'
diff --git a/test/lv2_test_host.cc b/test/lv2_test_host.cc
index 07685d0..3418ee5 100644
--- a/test/lv2_test_host.cc
+++ b/test/lv2_test_host.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -42,6 +42,7 @@
#include <openssl/err.h>
#include <openssl/evp.h>
#include <string>
+
class Base64 {
public:
Base64()
@@ -64,36 +65,44 @@ public:
std::string write(const char *in, size_t size)
{
std::string out;
-
+
BIO_write((BIO*)bio, in, size);
size_t osize = BIO_ctrl_pending((BIO*)mbio);
char *outbuf = (char*)malloc(osize);
int len = BIO_read((BIO*)mbio, outbuf, osize);
- if(len < 1) return "";
+ if(len < 1)
+ {
+ return "";
+ }
+
out.append(outbuf, len);
free(outbuf);
-
+
return out;
}
-
+
std::string flush()
{
std::string out;
-
+
(void)BIO_flush((BIO*)bio);
size_t size = BIO_ctrl_pending((BIO*)mbio);
char *outbuf = (char*)malloc(size);
int len = BIO_read((BIO*)mbio, outbuf, size);
- if(len < 1) return "";
+ if(len < 1)
+ {
+ return "";
+ }
+
out.append(outbuf, len);
free(outbuf);
-
+
return out;
}
@@ -107,13 +116,15 @@ private:
// TODO: Use map<int, std::string> instead
-static char** uris = NULL;
+static char** uris = nullptr;
static size_t n_uris = 0;
static LV2_URID map_uri(LV2_URID_Map_Handle handle, const char* uri)
{
- for(size_t i = 0; i < n_uris; ++i) {
- if(!strcmp(uris[i], uri)) {
+ for(size_t i = 0; i < n_uris; ++i)
+ {
+ if(!strcmp(uris[i], uri))
+ {
return i + 1;
}
}
@@ -126,22 +137,23 @@ static LV2_URID map_uri(LV2_URID_Map_Handle handle, const char* uri)
static const char* unmap_uri(LV2_URID_Map_Handle handle, LV2_URID urid)
{
- if(urid > 0 && urid <= n_uris) {
+ if((urid > 0) && (urid <= n_uris))
+ {
return uris[urid - 1];
}
- return NULL;
+ return nullptr;
}
-LV2_URID_Map map = { NULL, map_uri };
+LV2_URID_Map map = { nullptr, map_uri };
LV2_Feature map_feature = { LV2_URID_MAP_URI, &map };
-LV2_URID_Unmap unmap = { NULL, unmap_uri };
+LV2_URID_Unmap unmap = { nullptr, unmap_uri };
LV2_Feature unmap_feature = { LV2_URID_UNMAP_URI, &unmap };
-const LV2_Feature* features[] = { &map_feature, &unmap_feature, NULL };
+const LV2_Feature* features[] = { &map_feature, &unmap_feature, nullptr };
LV2TestHost::Sequence::Sequence(void *buffer, size_t buffer_size)
{
- this->buffer = buffer;
- this->buffer_size = buffer_size;
+ this->buffer = buffer;
+ this->buffer_size = buffer_size;
seq = (LV2_Atom_Sequence *)buffer;
@@ -152,34 +164,35 @@ LV2TestHost::Sequence::Sequence(void *buffer, size_t buffer_size)
}
// Keep this to support atom extension from lv2 < 1.10
-static inline void
-_lv2_atom_sequence_clear(LV2_Atom_Sequence* seq)
+static inline void _lv2_atom_sequence_clear(LV2_Atom_Sequence* seq)
{
- seq->atom.size = sizeof(LV2_Atom_Sequence_Body);
+ seq->atom.size = sizeof(LV2_Atom_Sequence_Body);
}
void LV2TestHost::Sequence::clear()
{
- _lv2_atom_sequence_clear(seq);
+ _lv2_atom_sequence_clear(seq);
}
// Keep this to support atom extension from lv2 < 1.10
static inline LV2_Atom_Event*
_lv2_atom_sequence_append_event(LV2_Atom_Sequence* seq,
- uint32_t capacity,
- const LV2_Atom_Event* event)
+ uint32_t capacity,
+ const LV2_Atom_Event* event)
{
- const uint32_t total_size = (uint32_t)sizeof(*event) + event->body.size;
- if (capacity - seq->atom.size < total_size) {
- return NULL;
- }
-
- LV2_Atom_Event* e = lv2_atom_sequence_end(&seq->body, seq->atom.size);
- memcpy(e, event, total_size);
-
- seq->atom.size += lv2_atom_pad_size(total_size);
-
- return e;
+ const uint32_t total_size = (uint32_t)sizeof(*event) + event->body.size;
+
+ if(capacity - seq->atom.size < total_size)
+ {
+ return nullptr;
+ }
+
+ LV2_Atom_Event* e = lv2_atom_sequence_end(&seq->body, seq->atom.size);
+ memcpy(e, event, total_size);
+
+ seq->atom.size += lv2_atom_pad_size(total_size);
+
+ return e;
}
void LV2TestHost::Sequence::addMidiNote(uint64_t pos,
@@ -195,67 +208,89 @@ void LV2TestHost::Sequence::addMidiNote(uint64_t pos,
MIDINoteEvent ev;
ev.event.time.frames = pos;// sample position
ev.event.body.type = map.map(map.handle, LV2_MIDI__MidiEvent);
- ev.event.body.size = sizeof(MIDINoteEvent);
-
+ ev.event.body.size = sizeof(ev.msg);
+
ev.msg[0] = note_on;
ev.msg[1] = key;
ev.msg[2] = velocity;
LV2_Atom_Event *e =
_lv2_atom_sequence_append_event(seq, this->buffer_size, &ev.event);
- (void)e;
+ (void)e;
}
void *LV2TestHost::Sequence::data()
{
- return buffer;
+ return buffer;
}
LV2TestHost::LV2TestHost(const char *lv2_path)
{
- if(lv2_path) {
- setenv("LV2_PATH", lv2_path, 1);
- }
+ if(lv2_path)
+ {
+ setenv("LV2_PATH", lv2_path, 1);
+ }
world = lilv_world_new();
- if(world == NULL) return;
+ if(world == nullptr)
+ {
+ return;
+ }
lilv_world_load_all(world);
}
LV2TestHost::~LV2TestHost()
{
- if(world) lilv_world_free(world);
+ if(world)
+ {
+ lilv_world_free(world);
+ }
}
int LV2TestHost::open(const char *plugin_uri)
{
- if(world == NULL) return 1;
+ if(world == nullptr)
+ {
+ return 1;
+ }
plugins = lilv_world_get_all_plugins(world);
- if(plugins == NULL) return 2;
+ if(plugins == nullptr)
+ {
+ return 2;
+ }
uri = lilv_new_uri(world, plugin_uri);
- if(uri == NULL) return 3;
+ if(uri == nullptr)
+ {
+ return 3;
+ }
plugin = lilv_plugins_get_by_uri(plugins, uri);
- if(plugin == NULL) return 4;
-
+ if(plugin == nullptr)
+ {
+ return 4;
+ }
- return 0;
+ return 0;
}
int LV2TestHost::verify()
{
bool verify = lilv_plugin_verify(plugin);
- if(!verify) return 1;
- return 0;
+ if(!verify)
+ {
+ return 1;
+ }
+
+ return 0;
}
int LV2TestHost::close()
{
- // plugin is a const pointer; nothing to close here.
- return 0;
+ // plugin is a const pointer; nothing to close here.
+ return 0;
}
/* // Get metadata
@@ -329,29 +364,37 @@ int LV2TestHost::getPorts()
}
}
*/
-int LV2TestHost::createInstance()
+int LV2TestHost::createInstance(size_t samplerate)
{
- instance = lilv_plugin_instantiate(plugin, 48000, features);
- if(instance == NULL) return 1;
- return 0;
+ instance = lilv_plugin_instantiate(plugin, samplerate, features);
+ if(instance == nullptr)
+ {
+ return 1;
+ }
+
+ return 0;
}
int LV2TestHost::destroyInstance()
{
- if(instance) lilv_instance_free(instance);
- return 0;
+ if(instance)
+ {
+ lilv_instance_free(instance);
+ }
+
+ return 0;
}
int LV2TestHost::activate()
{
lilv_instance_activate(instance);
- return 0;
+ return 0;
}
int LV2TestHost::deactivate()
{
lilv_instance_deactivate(instance);
- return 0;
+ return 0;
}
int LV2TestHost::loadConfig(const char *config, size_t size)
@@ -378,26 +421,26 @@ int LV2TestHost::loadConfig(const char *config, size_t size)
{
LilvState* restore_state =
lilv_state_new_from_string(world, &map, ttl_config);
-
- lilv_state_restore(restore_state, instance, NULL, NULL,
- LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE,
- features);
+
+ lilv_state_restore(restore_state, instance, nullptr, nullptr,
+ LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE,
+ features);
}
- return 0;
+ return 0;
}
int LV2TestHost::connectPort(int port, void *portdata)
{
- // if(lilv_port_is_a(p, port, lv2_ControlPort)) ...
+ // if(lilv_port_is_a(p, port, lv2_ControlPort)) ...
lilv_instance_connect_port(instance, port, portdata);
- return 0;
+ return 0;
}
int LV2TestHost::run(int num_samples)
{
- lilv_instance_run(instance, num_samples);
- return 0;
+ lilv_instance_run(instance, num_samples);
+ return 0;
}
diff --git a/test/lv2_test_host.h b/test/lv2_test_host.h
new file mode 100644
index 0000000..3228cab
--- /dev/null
+++ b/test/lv2_test_host.h
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * lv2_test_host.h
+ *
+ * Wed Feb 11 23:11:20 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#pragma once
+
+#include <lilv/lilv.h>
+#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
+
+class LV2TestHost {
+public:
+ class Sequence {
+ public:
+ Sequence(void *buffer, size_t buffer_size);
+ void clear();
+ void addMidiNote(uint64_t pos, uint8_t key, int8_t velocity);
+ void *data();
+
+ private:
+ void *buffer;
+ size_t buffer_size;
+ LV2_Atom_Sequence *seq;
+ };
+
+ LV2TestHost(const char *lv2_path);
+ ~LV2TestHost();
+
+ int open(const char *plugin_uri);
+ int close();
+
+ int verify();
+
+ //void getMetadata();
+ //int getPorts();
+
+ int createInstance(size_t samplerate);
+ int destroyInstance();
+
+ int connectPort(int port, void *portdata);
+
+ int activate();
+ int deactivate();
+
+ int loadConfig(const char *config, size_t size);
+ int run(int num_samples);
+
+private:
+ LilvWorld* world;
+ const LilvPlugins* plugins;
+ LilvNode* uri;
+ const LilvPlugin* plugin;
+
+ LilvInstance* instance;
+};
diff --git a/test/memcheckertest.cc b/test/memcheckertest.cc
new file mode 100644
index 0000000..3a02372
--- /dev/null
+++ b/test/memcheckertest.cc
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * memcheckertest.cc
+ *
+ * Mon Jan 18 15:08:31 CET 2016
+ * Copyright 2016 André Nusser
+ * andre.nusser at googlemail.com
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+// This test should include:
+// -------------------------
+// * Load a small drumkit and check that the memchecker doesn't warn.
+// -> this assumes that the system is not already swapping which is sane imo.
+// * Load a huge drumkit and check that the memchecker does warn.
+// * Load a kit where we exactly know the size of the audio files and check if it's correct.
+// * Check if the amount of free ram is in a realistic range.
+//
+// NOTE: This test will fail if your system is currently swapping or has an extremely small amount of RAM.
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "../src/memchecker.h"
+#include "../src/drumkit.h"
+#include "../src/drumkitparser.h"
+
+class MemCheckerTest
+ : public CppUnit::TestFixture
+ , public MemChecker
+{
+ CPPUNIT_TEST_SUITE(MemCheckerTest);
+ CPPUNIT_TEST(small_drumkit);
+ CPPUNIT_TEST(huge_drumkit);
+ CPPUNIT_TEST(correct_size);
+ CPPUNIT_TEST(check_free_ram);
+ CPPUNIT_TEST_SUITE_END();
+private:
+ DrumKit kit;
+
+ const std::string small_kit_path = "kit/small_kit.xml";
+ const std::string huge_kit_path = "kit/huge_kit.xml";
+ const std::string audiofile = "kit/ride-multi-channel.wav";
+public:
+ void setUp()
+ {
+ // just to be sure
+ kit.clear();
+ }
+
+ void tearDown()
+ {}
+
+ void small_drumkit()
+ {
+ // load the small kit
+ DrumKitParser parser(small_kit_path, kit);
+ CPPUNIT_ASSERT(!parser.parse());
+
+ // check if the memchecker thinks it fits into memory
+ CPPUNIT_ASSERT(enoughFreeMemory(kit));
+ }
+
+ void huge_drumkit()
+ {
+ // load the huge kit
+ DrumKitParser parser(huge_kit_path, kit);
+ CPPUNIT_ASSERT(!parser.parse());
+
+ // check if the memchecker thinks it doesn't fit into memory
+ CPPUNIT_ASSERT(!enoughFreeMemory(kit));
+ }
+
+ void correct_size()
+ {
+ // check if the memchecker reports the right audiofile size
+ uint64_t bytes_per_channel = 2199332;
+ CPPUNIT_ASSERT_EQUAL(bytes_per_channel, calcBytesPerChannel(audiofile));
+
+ // load the huge kit
+ DrumKitParser parser(huge_kit_path, kit);
+ CPPUNIT_ASSERT(!parser.parse());
+
+ // check if the protected method of the memchecker reports the correct size
+ uint64_t needed_memory = 71478290000;
+ CPPUNIT_ASSERT_EQUAL(needed_memory, calcNeededMemory(kit));
+ }
+
+ void check_free_ram()
+ {
+ // check if the protected method reports a sane value of free ram
+ uint64_t free_memory = calcFreeMemory();
+ uint64_t min_free_memory = 1000;
+ uint64_t max_free_memory = 50000000000;
+ CPPUNIT_ASSERT(free_memory >= min_free_memory && free_memory <= max_free_memory);
+ }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(MemCheckerTest);
diff --git a/test/resampler.cc b/test/resampler.cc
index 445a5b3..9f1d6e0 100644
--- a/test/resampler.cc
+++ b/test/resampler.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
diff --git a/test/resource_test.cc b/test/resource_test.cc
new file mode 100644
index 0000000..3ebdd6e
--- /dev/null
+++ b/test/resource_test.cc
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * resource_test.cc
+ *
+ * Fri Nov 13 18:50:52 CET 2015
+ * Copyright 2015 Bent Bisballe Nyeng
+ * deva at aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "../plugingui/resource.h"
+
+class ResourceTester : public GUI::Resource {
+public:
+ ResourceTester(const std::string& name)
+ : Resource(name)
+ {}
+
+ bool probeIsInternal()
+ {
+ return isInternal;
+ }
+};
+
+class ResourceTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(ResourceTest);
+ CPPUNIT_TEST(externalReadTest);
+ CPPUNIT_TEST(internalReadTest);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+ void setUp() {}
+ void tearDown() {}
+
+ void externalReadTest()
+ {
+ ResourceTester rc("kit/0000.wav");
+ CPPUNIT_ASSERT(!rc.probeIsInternal());
+ CPPUNIT_ASSERT(rc.valid());
+ CPPUNIT_ASSERT_EQUAL((size_t)46, rc.size());
+ }
+
+ void internalReadTest()
+ {
+ ResourceTester rc(":bg.png");
+ CPPUNIT_ASSERT(rc.probeIsInternal());
+ CPPUNIT_ASSERT(rc.valid());
+ CPPUNIT_ASSERT_EQUAL((size_t)1123, rc.size());
+ }
+};
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION(ResourceTest);
diff --git a/test/test.cc b/test/test.cc
index 88c72e6..925a938 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -11,16 +11,16 @@
* This file is part of DrumGizmo.
*
* DrumGizmo 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
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* DrumGizmo 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.
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+ * You should have received a copy of the GNU Lesser General Public License
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
@@ -40,7 +40,7 @@ int main(int argc, char* argv[])
runner.addTest( suite );
std::ofstream myfile;
- myfile.open("result_"OUTPUT".xml");
+ myfile.open("result_" OUTPUT ".xml");
runner.setOutputter(new CppUnit::XmlOutputter(&runner.result(), myfile));
// Run the tests.
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 6c90373..4a9e5fc 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -145,7 +145,7 @@ EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
+GUI_CPPFLAGS = @GUI_CPPFLAGS@
GUI_LIBS = @GUI_LIBS@
INPUT_PLUGINS = @INPUT_PLUGINS@
INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
@@ -209,8 +209,6 @@ X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
diff --git a/tools/add_file b/tools/add_file
index d63b4ab..d1b190f 100755
--- a/tools/add_file
+++ b/tools/add_file
@@ -2,44 +2,50 @@
PROJECT="DrumGizmo"
function allfile() {
- echo "/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */" > $1;
- echo "/***************************************************************************" >> $1;
- echo " * $1" >> $1;
- echo " *" >> $1 ;
- echo " * `date`" >> $1;
- echo -n " * Copyright " >> $1
- echo -n `date +%Y | xargs` >> $1
- if [ "$USER" == "nemo" ];
+ if [ "$USER" == "nemo" ]
then
- echo " Jonas Suhr Christensen" >> $1;
- echo " * jsc at umbraculum.org" >> $1;
+ NAME="Jonas Suhr Christensen"; EMAIL="jsc at umbraculum.org"
fi
- if [ "$USER" == "deva" ];
+ if [ "$USER" == "deva" ]
then
- echo " Bent Bisballe Nyeng" >> $1;
- echo " * deva at aasimon.org" >> $1;
+ NAME="Bent Bisballe Nyeng"; EMAIL="deva at aasimon.org"
fi
- if [ "$USER" == "senator" ];
+ if [ "$USER" == "senator" ]
then
- echo " Lars Bisballe Jensen" >> $1;
- echo " * elsenator at gmail.com" >> $1;
+ NAME="Lars Bisballe Jensen"; EMAIL="elsenator at gmail.com"
fi
+ if [ "$USER" == "chaot" ]
+ then
+ NAME="André Nusser"; EMAIL="andre.nusser at googlemail.com"
+ fi
+ if [ "$DGUSER" == "glocke" ]
+ then
+ NAME="Christian Glöckner"; EMAIL="cgloeckner at freenet.de"
+ fi
+
+ echo "/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */" > $1;
+ echo "/***************************************************************************" >> $1;
+ echo " * $1" >> $1;
+ echo " *" >> $1 ;
+ echo " * `LANG=C date`" >> $1;
+ echo " * Copyright "`date +%Y | xargs`" $NAME" >> $1;
+ echo " * $EMAIL" >> $1;
echo " ****************************************************************************/" >> $1;
echo "" >> $1;
echo "/*" >> $1;
echo " * This file is part of $PROJECT." >> $1;
echo " *" >> $1;
echo " * $PROJECT is free software; you can redistribute it and/or modify" >> $1;
- echo " * it under the terms of the GNU General Public License as published by" >> $1;
- echo " * the Free Software Foundation; either version 2 of the License, or" >> $1;
+ echo " * it under the terms of the GNU Lesser General Public License as published by" >> $1;
+ echo " * the Free Software Foundation; either version 3 of the License, or" >> $1;
echo " * (at your option) any later version." >> $1;
echo " *" >> $1;
echo " * $PROJECT is distributed in the hope that it will be useful," >> $1;
echo " * but WITHOUT ANY WARRANTY; without even the implied warranty of" >> $1;
echo " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" >> $1;
- echo " * GNU General Public License for more details." >> $1;
+ echo " * GNU Lesser General Public License for more details." >> $1;
echo " *" >> $1;
- echo " * You should have received a copy of the GNU General Public License" >> $1;
+ echo " * You should have received a copy of the GNU Lesser General Public License" >> $1;
echo " * along with $PROJECT; if not, write to the Free Software" >> $1;
echo " * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA." >> $1;
echo " */" >> $1;
@@ -60,9 +66,7 @@ function hfile() {
allfile $1;
local hn=`echo $1 | tr 'a-z.' 'A-Z_'`
local pr=`echo $PROJECT | tr 'a-z.' 'A-Z_'`
- echo "#ifndef __${pr}_${hn}__" >> $1;
- echo "#define __${pr}_${hn}__" >> $1;
- echo "#endif/*__${pr}_${hn}__*/" >> $1;
+ echo "#pragma once" >> $1;
}
if [ "$#" = "1" ]; then
diff --git a/version.h b/version.h
index 1090d16..1da5c98 100644
--- a/version.h
+++ b/version.h
@@ -1 +1 @@
-#define VERSION "0.9.8.1"
+#define VERSION "0.9.9"
diff --git a/vst/Makefile.am b/vst/Makefile.am
deleted file mode 100644
index 7bb7214..0000000
--- a/vst/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-include $(top_srcdir)/plugingui/Makefile.am.plugingui
-include $(top_srcdir)/src/Makefile.am.drumgizmo
-
-VST_BASE = ${VST_SOURCE_PATH}
-VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
-VST_SOURCES = \
- ${VST_SRC_BASE}/audioeffectx.cpp \
- ${VST_SRC_BASE}/audioeffect.cpp \
- ${VST_SRC_BASE}/vstplugmain.cpp
-
-AM_CPPFLAGS = -I$(top_srcdir)/hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX
-
-EXTRA_DIST = \
- Makefile.mingw32.in \
- constants.h \
- drumgizmo_vst.cc \
- drumgizmo_vst.h \
- input_vst.cc \
- input_vst.h \
- output_vst.cc \
- output_vst.h
-
-if ENABLE_VST
-plugin_LTLIBRARIES =
-plugindir = $(prefix)/lib/vst
-plugin_LTLIBRARIES += libdrumgizmo_vst.la
-noinst_LTLIBRARIES = libdg.la
-endif
-
-libdg_la_SOURCES = \
- $(DRUMGIZMO_SOURCES) \
- $(PLUGIN_GUI_SOURCES)
-
-libdg_la_LDFLAGS = -all-static -static -static-libgcc
-libdg_la_LIBADD = $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
-libdg_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
- $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(VST_CPPFLAGS) \
- $(PLUGIN_GUI_CFLAGS) $(SSEFLAGS)\
- -DUSE_THREAD $(SAMPLERATE_CFLAGS)
-
-nodist_libdrumgizmo_vst_la_SOURCES = \
- $(VST_SOURCES)
-
-libdrumgizmo_vst_la_SOURCES = \
- drumgizmo_vst.cc \
- input_vst.cc \
- output_vst.cc
-
-libdrumgizmo_vst_la_LDFLAGS = -no-undefined -shared
-libdrumgizmo_vst_la_LIBADD = libdg.la
-libdrumgizmo_vst_la_CXXFLAGS = -w $(VST_CPPFLAGS) \
- -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/plugingui
-
diff --git a/vst/Makefile.in b/vst/Makefile.in
deleted file mode 100644
index 4d63201..0000000
--- a/vst/Makefile.in
+++ /dev/null
@@ -1,1445 +0,0 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/plugingui/Makefile.am.plugingui \
- $(top_srcdir)/src/Makefile.am.drumgizmo $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.mingw32.in \
- $(top_srcdir)/depcomp
-subdir = vst
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = Makefile.mingw32
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(noinst_LTLIBRARIES) $(plugin_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-libdg_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
-am__objects_1 = libdg_la-audioinputenginemidi.lo libdg_la-audiofile.lo \
- libdg_la-channel.lo libdg_la-channelmixer.lo \
- libdg_la-chresampler.lo libdg_la-configuration.lo \
- libdg_la-configparser.lo libdg_la-drumgizmo.lo \
- libdg_la-drumkit.lo libdg_la-drumkitloader.lo \
- libdg_la-drumkitparser.lo libdg_la-events.lo \
- libdg_la-instrument.lo libdg_la-instrumentparser.lo \
- libdg_la-messagehandler.lo libdg_la-messagereceiver.lo \
- libdg_la-midimapparser.lo libdg_la-midimapper.lo \
- libdg_la-mutex.lo libdg_la-path.lo libdg_la-powerlist.lo \
- libdg_la-sample.lo libdg_la-semaphore.lo libdg_la-saxparser.lo \
- libdg_la-thread.lo libdg_la-velocity.lo libdg_la-versionstr.lo
-am__objects_2 =
-am__objects_3 = hugin.lo hugin_syslog.lo $(am__objects_2) \
- libdg_la-nativewindow_x11.lo libdg_la-nativewindow_win32.lo \
- libdg_la-plugingui.lo libdg_la-label.lo \
- libdg_la-eventhandler.lo libdg_la-font.lo libdg_la-window.lo \
- libdg_la-widget.lo libdg_la-colour.lo libdg_la-painter.lo \
- libdg_la-button.lo libdg_la-pixelbuffer.lo \
- libdg_la-lineedit.lo libdg_la-led.lo libdg_la-checkbox.lo \
- libdg_la-slider.lo libdg_la-scrollbar.lo libdg_la-listbox.lo \
- libdg_la-listboxthin.lo libdg_la-listboxbasic.lo \
- libdg_la-knob.lo libdg_la-filebrowser.lo libdg_la-directory.lo \
- libdg_la-pluginconfig.lo libdg_la-image.lo \
- libdg_la-combobox.lo libdg_la-progressbar.lo \
- libdg_la-verticalline.lo libdg_la-resource.lo \
- libdg_la-resource_data.lo libdg_la-lodepng.lo
-am_libdg_la_OBJECTS = $(am__objects_1) $(am__objects_3)
-libdg_la_OBJECTS = $(am_libdg_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-libdg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libdg_la_CXXFLAGS) \
- $(CXXFLAGS) $(libdg_la_LDFLAGS) $(LDFLAGS) -o $@
- at ENABLE_VST_TRUE@am_libdg_la_rpath =
-libdrumgizmo_vst_la_DEPENDENCIES = libdg.la
-am_libdrumgizmo_vst_la_OBJECTS = libdrumgizmo_vst_la-drumgizmo_vst.lo \
- libdrumgizmo_vst_la-input_vst.lo \
- libdrumgizmo_vst_la-output_vst.lo
-am__objects_4 = libdrumgizmo_vst_la-audioeffectx.lo \
- libdrumgizmo_vst_la-audioeffect.lo \
- libdrumgizmo_vst_la-vstplugmain.lo
-nodist_libdrumgizmo_vst_la_OBJECTS = $(am__objects_4)
-libdrumgizmo_vst_la_OBJECTS = $(am_libdrumgizmo_vst_la_OBJECTS) \
- $(nodist_libdrumgizmo_vst_la_OBJECTS)
-libdrumgizmo_vst_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
- $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) \
- $(libdrumgizmo_vst_la_LDFLAGS) $(LDFLAGS) -o $@
- at ENABLE_VST_TRUE@am_libdrumgizmo_vst_la_rpath = -rpath $(plugindir)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo " CXX " $@;
-am__v_CXX_1 =
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-am__v_CXXLD_1 =
-SOURCES = $(libdg_la_SOURCES) $(libdrumgizmo_vst_la_SOURCES) \
- $(nodist_libdrumgizmo_vst_la_SOURCES)
-DIST_SOURCES = $(libdg_la_SOURCES) $(libdrumgizmo_vst_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALSA_CFLAGS = @ALSA_CFLAGS@
-ALSA_LIBS = @ALSA_LIBS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
-CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
-CPPUNIT_LIBS = @CPPUNIT_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXPAT_CFLAGS = @EXPAT_CFLAGS@
-EXPAT_LIBS = @EXPAT_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-GUI_CFLAGS = @GUI_CFLAGS@
-GUI_LIBS = @GUI_LIBS@
-INPUT_PLUGINS = @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR = @INPUT_PLUGIN_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-JACK_CFLAGS = @JACK_CFLAGS@
-JACK_LIBS = @JACK_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LV2_CFLAGS = @LV2_CFLAGS@
-LV2_LIBS = @LV2_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-OUTPUT_PLUGINS = @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR = @OUTPUT_PLUGIN_DIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-RANLIB = @RANLIB@
-SAMPLERATE_CFLAGS = @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS = @SAMPLERATE_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMF_CFLAGS = @SMF_CFLAGS@
-SMF_LIBS = @SMF_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SSEFLAGS = @SSEFLAGS@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VST_CPPFLAGS = @VST_CPPFLAGS@
-VST_SOURCE_PATH = @VST_SOURCE_PATH@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-ZITA_CPPFLAGS = @ZITA_CPPFLAGS@
-ZITA_LIBS = @ZITA_LIBS@
-ZLIB_CFLAGS = @ZLIB_CFLAGS@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dgplugindir = @dgplugindir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-puglsources =
-PLUGIN_GUI_SOURCES = \
- $(top_srcdir)/hugin/hugin.c \
- $(top_srcdir)/hugin/hugin_syslog.c \
- $(puglsources) \
- $(top_srcdir)/plugingui/nativewindow_x11.cc \
- $(top_srcdir)/plugingui/nativewindow_win32.cc \
- $(top_srcdir)/plugingui/plugingui.cc \
- $(top_srcdir)/plugingui/label.cc \
- $(top_srcdir)/plugingui/eventhandler.cc \
- $(top_srcdir)/plugingui/font.cc \
- $(top_srcdir)/plugingui/window.cc \
- $(top_srcdir)/plugingui/widget.cc \
- $(top_srcdir)/plugingui/colour.cc \
- $(top_srcdir)/plugingui/painter.cc \
- $(top_srcdir)/plugingui/button.cc \
- $(top_srcdir)/plugingui/pixelbuffer.cc \
- $(top_srcdir)/plugingui/lineedit.cc \
- $(top_srcdir)/plugingui/led.cc \
- $(top_srcdir)/plugingui/checkbox.cc \
- $(top_srcdir)/plugingui/slider.cc \
- $(top_srcdir)/plugingui/scrollbar.cc \
- $(top_srcdir)/plugingui/listbox.cc \
- $(top_srcdir)/plugingui/listboxthin.cc \
- $(top_srcdir)/plugingui/listboxbasic.cc \
- $(top_srcdir)/plugingui/knob.cc \
- $(top_srcdir)/plugingui/filebrowser.cc \
- $(top_srcdir)/plugingui/directory.cc \
- $(top_srcdir)/plugingui/pluginconfig.cc \
- $(top_srcdir)/plugingui/image.cc \
- $(top_srcdir)/plugingui/combobox.cc \
- $(top_srcdir)/plugingui/progressbar.cc \
- $(top_srcdir)/plugingui/verticalline.cc \
- $(top_srcdir)/plugingui/resource.cc \
- $(top_srcdir)/plugingui/resource_data.cc \
- $(top_srcdir)/plugingui/lodepng/lodepng.cpp
-
-PLUGIN_GUI_LIBS = $(GUI_LIBS) $(PTHREAD_LIBS) $(ZLIB_LIBS)
-PLUGIN_GUI_CFLAGS = $(GUI_CFLAGS) $(ZLIB_CFLAGS) -I$(top_srcdir)/hugin \
- -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX $(PTHREAD_CFLAGS) \
- -I$(top_srcdir)/pugl/pugl \
- -DLODEPNG_NO_COMPILE_ENCODER \
- -DLODEPNG_NO_COMPILE_DISK \
- -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS \
- -DLODEPNG_NO_COMPILE_ERROR_TEXT \
- -DLODEPNG_NO_COMPILE_CPP
-
-DRUMGIZMO_SOURCES = \
- $(top_srcdir)/src/audioinputenginemidi.cc \
- $(top_srcdir)/src/audiofile.cc \
- $(top_srcdir)/src/channel.cc \
- $(top_srcdir)/src/channelmixer.cc \
- $(top_srcdir)/src/chresampler.cc \
- $(top_srcdir)/src/configuration.cc \
- $(top_srcdir)/src/configparser.cc \
- $(top_srcdir)/src/drumgizmo.cc \
- $(top_srcdir)/src/drumkit.cc \
- $(top_srcdir)/src/drumkitloader.cc \
- $(top_srcdir)/src/drumkitparser.cc \
- $(top_srcdir)/src/events.cc \
- $(top_srcdir)/src/instrument.cc \
- $(top_srcdir)/src/instrumentparser.cc \
- $(top_srcdir)/src/messagehandler.cc \
- $(top_srcdir)/src/messagereceiver.cc \
- $(top_srcdir)/src/midimapparser.cc \
- $(top_srcdir)/src/midimapper.cc \
- $(top_srcdir)/src/mutex.cc \
- $(top_srcdir)/src/path.cc \
- $(top_srcdir)/src/powerlist.cc \
- $(top_srcdir)/src/sample.cc \
- $(top_srcdir)/src/semaphore.cc \
- $(top_srcdir)/src/saxparser.cc \
- $(top_srcdir)/src/thread.cc \
- $(top_srcdir)/src/velocity.cc \
- $(top_srcdir)/src/versionstr.cc
-
-DRUMGIZMO_LIBS = $(ZITA_LIBS) $(SNDFILE_LIBS) $(EXPAT_LIBS) $(SAMPLERATE_LIBS)
-VST_BASE = ${VST_SOURCE_PATH}
-VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
-VST_SOURCES = \
- ${VST_SRC_BASE}/audioeffectx.cpp \
- ${VST_SRC_BASE}/audioeffect.cpp \
- ${VST_SRC_BASE}/vstplugmain.cpp
-
-AM_CPPFLAGS = -I$(top_srcdir)/hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX
-EXTRA_DIST = \
- Makefile.mingw32.in \
- constants.h \
- drumgizmo_vst.cc \
- drumgizmo_vst.h \
- input_vst.cc \
- input_vst.h \
- output_vst.cc \
- output_vst.h
-
- at ENABLE_VST_TRUE@plugin_LTLIBRARIES = libdrumgizmo_vst.la
- at ENABLE_VST_TRUE@plugindir = $(prefix)/lib/vst
- at ENABLE_VST_TRUE@noinst_LTLIBRARIES = libdg.la
-libdg_la_SOURCES = \
- $(DRUMGIZMO_SOURCES) \
- $(PLUGIN_GUI_SOURCES)
-
-libdg_la_LDFLAGS = -all-static -static -static-libgcc
-libdg_la_LIBADD = $(PLUGIN_GUI_LIBS) $(DRUMGIZMO_LIBS)
-libdg_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
- $(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(VST_CPPFLAGS) \
- $(PLUGIN_GUI_CFLAGS) $(SSEFLAGS)\
- -DUSE_THREAD $(SAMPLERATE_CFLAGS)
-
-nodist_libdrumgizmo_vst_la_SOURCES = \
- $(VST_SOURCES)
-
-libdrumgizmo_vst_la_SOURCES = \
- drumgizmo_vst.cc \
- input_vst.cc \
- output_vst.cc
-
-libdrumgizmo_vst_la_LDFLAGS = -no-undefined -shared
-libdrumgizmo_vst_la_LIBADD = libdg.la
-libdrumgizmo_vst_la_CXXFLAGS = -w $(VST_CPPFLAGS) \
- -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_srcdir)/plugingui
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vst/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu vst/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(top_srcdir)/plugingui/Makefile.am.plugingui $(top_srcdir)/src/Makefile.am.drumgizmo:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-Makefile.mingw32: $(top_builddir)/config.status $(srcdir)/Makefile.mingw32.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
- }
-
-uninstall-pluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
- done
-
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libdg.la: $(libdg_la_OBJECTS) $(libdg_la_DEPENDENCIES) $(EXTRA_libdg_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(libdg_la_LINK) $(am_libdg_la_rpath) $(libdg_la_OBJECTS) $(libdg_la_LIBADD) $(LIBS)
-
-libdrumgizmo_vst.la: $(libdrumgizmo_vst_la_OBJECTS) $(libdrumgizmo_vst_la_DEPENDENCIES) $(EXTRA_libdrumgizmo_vst_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(libdrumgizmo_vst_la_LINK) $(am_libdrumgizmo_vst_la_rpath) $(libdrumgizmo_vst_la_OBJECTS) $(libdrumgizmo_vst_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hugin_syslog.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-audiofile.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-audioinputenginemidi.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-button.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-channel.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-channelmixer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-checkbox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-chresampler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-colour.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-combobox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-configparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-configuration.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-directory.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-drumgizmo.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-drumkit.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-drumkitloader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-drumkitparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-eventhandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-events.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-filebrowser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-font.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-image.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-instrument.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-instrumentparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-knob.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-label.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-led.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-lineedit.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-listbox.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-listboxbasic.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-listboxthin.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-lodepng.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-messagehandler.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-messagereceiver.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-midimapparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-midimapper.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-mutex.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-nativewindow_win32.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-nativewindow_x11.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-painter.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-path.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-pixelbuffer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-pluginconfig.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-plugingui.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-powerlist.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-progressbar.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-resource.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-resource_data.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-sample.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-saxparser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-scrollbar.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-semaphore.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-slider.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-thread.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-velocity.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-versionstr.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-verticalline.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-widget.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdg_la-window.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-audioeffect.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-audioeffectx.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-drumgizmo_vst.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-input_vst.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-output_vst.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdrumgizmo_vst_la-vstplugmain.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-hugin.lo: $(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin.lo -MD -MP -MF $(DEPDIR)/hugin.Tpo -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin.Tpo $(DEPDIR)/hugin.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin.c' object='hugin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin.lo `test -f '$(top_srcdir)/hugin/hugin.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin.c
-
-hugin_syslog.lo: $(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hugin_syslog.lo -MD -MP -MF $(DEPDIR)/hugin_syslog.Tpo -c -o hugin_syslog.lo `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hugin_syslog.Tpo $(DEPDIR)/hugin_syslog.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/hugin/hugin_syslog.c' object='hugin_syslog.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hugin_syslog.lo `test -f '$(top_srcdir)/hugin/hugin_syslog.c' || echo '$(srcdir)/'`$(top_srcdir)/hugin/hugin_syslog.c
-
-.cc.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-libdg_la-audioinputenginemidi.lo: $(top_srcdir)/src/audioinputenginemidi.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-audioinputenginemidi.lo -MD -MP -MF $(DEPDIR)/libdg_la-audioinputenginemidi.Tpo -c -o libdg_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-audioinputenginemidi.Tpo $(DEPDIR)/libdg_la-audioinputenginemidi.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audioinputenginemidi.cc' object='libdg_la-audioinputenginemidi.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-audioinputenginemidi.lo `test -f '$(top_srcdir)/src/audioinputenginemidi.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audioinputenginemidi.cc
-
-libdg_la-audiofile.lo: $(top_srcdir)/src/audiofile.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-audiofile.lo -MD -MP -MF $(DEPDIR)/libdg_la-audiofile.Tpo -c -o libdg_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-audiofile.Tpo $(DEPDIR)/libdg_la-audiofile.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/audiofile.cc' object='libdg_la-audiofile.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-audiofile.lo `test -f '$(top_srcdir)/src/audiofile.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/audiofile.cc
-
-libdg_la-channel.lo: $(top_srcdir)/src/channel.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-channel.lo -MD -MP -MF $(DEPDIR)/libdg_la-channel.Tpo -c -o libdg_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-channel.Tpo $(DEPDIR)/libdg_la-channel.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channel.cc' object='libdg_la-channel.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-channel.lo `test -f '$(top_srcdir)/src/channel.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channel.cc
-
-libdg_la-channelmixer.lo: $(top_srcdir)/src/channelmixer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-channelmixer.lo -MD -MP -MF $(DEPDIR)/libdg_la-channelmixer.Tpo -c -o libdg_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-channelmixer.Tpo $(DEPDIR)/libdg_la-channelmixer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/channelmixer.cc' object='libdg_la-channelmixer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-channelmixer.lo `test -f '$(top_srcdir)/src/channelmixer.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/channelmixer.cc
-
-libdg_la-chresampler.lo: $(top_srcdir)/src/chresampler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-chresampler.lo -MD -MP -MF $(DEPDIR)/libdg_la-chresampler.Tpo -c -o libdg_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-chresampler.Tpo $(DEPDIR)/libdg_la-chresampler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/chresampler.cc' object='libdg_la-chresampler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-chresampler.lo `test -f '$(top_srcdir)/src/chresampler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/chresampler.cc
-
-libdg_la-configuration.lo: $(top_srcdir)/src/configuration.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-configuration.lo -MD -MP -MF $(DEPDIR)/libdg_la-configuration.Tpo -c -o libdg_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-configuration.Tpo $(DEPDIR)/libdg_la-configuration.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configuration.cc' object='libdg_la-configuration.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-configuration.lo `test -f '$(top_srcdir)/src/configuration.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configuration.cc
-
-libdg_la-configparser.lo: $(top_srcdir)/src/configparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-configparser.lo -MD -MP -MF $(DEPDIR)/libdg_la-configparser.Tpo -c -o libdg_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-configparser.Tpo $(DEPDIR)/libdg_la-configparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/configparser.cc' object='libdg_la-configparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-configparser.lo `test -f '$(top_srcdir)/src/configparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/configparser.cc
-
-libdg_la-drumgizmo.lo: $(top_srcdir)/src/drumgizmo.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-drumgizmo.lo -MD -MP -MF $(DEPDIR)/libdg_la-drumgizmo.Tpo -c -o libdg_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-drumgizmo.Tpo $(DEPDIR)/libdg_la-drumgizmo.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumgizmo.cc' object='libdg_la-drumgizmo.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-drumgizmo.lo `test -f '$(top_srcdir)/src/drumgizmo.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumgizmo.cc
-
-libdg_la-drumkit.lo: $(top_srcdir)/src/drumkit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-drumkit.lo -MD -MP -MF $(DEPDIR)/libdg_la-drumkit.Tpo -c -o libdg_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-drumkit.Tpo $(DEPDIR)/libdg_la-drumkit.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkit.cc' object='libdg_la-drumkit.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-drumkit.lo `test -f '$(top_srcdir)/src/drumkit.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkit.cc
-
-libdg_la-drumkitloader.lo: $(top_srcdir)/src/drumkitloader.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-drumkitloader.lo -MD -MP -MF $(DEPDIR)/libdg_la-drumkitloader.Tpo -c -o libdg_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-drumkitloader.Tpo $(DEPDIR)/libdg_la-drumkitloader.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitloader.cc' object='libdg_la-drumkitloader.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-drumkitloader.lo `test -f '$(top_srcdir)/src/drumkitloader.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitloader.cc
-
-libdg_la-drumkitparser.lo: $(top_srcdir)/src/drumkitparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-drumkitparser.lo -MD -MP -MF $(DEPDIR)/libdg_la-drumkitparser.Tpo -c -o libdg_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-drumkitparser.Tpo $(DEPDIR)/libdg_la-drumkitparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/drumkitparser.cc' object='libdg_la-drumkitparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-drumkitparser.lo `test -f '$(top_srcdir)/src/drumkitparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/drumkitparser.cc
-
-libdg_la-events.lo: $(top_srcdir)/src/events.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-events.lo -MD -MP -MF $(DEPDIR)/libdg_la-events.Tpo -c -o libdg_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-events.Tpo $(DEPDIR)/libdg_la-events.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/events.cc' object='libdg_la-events.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-events.lo `test -f '$(top_srcdir)/src/events.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/events.cc
-
-libdg_la-instrument.lo: $(top_srcdir)/src/instrument.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-instrument.lo -MD -MP -MF $(DEPDIR)/libdg_la-instrument.Tpo -c -o libdg_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-instrument.Tpo $(DEPDIR)/libdg_la-instrument.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrument.cc' object='libdg_la-instrument.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-instrument.lo `test -f '$(top_srcdir)/src/instrument.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrument.cc
-
-libdg_la-instrumentparser.lo: $(top_srcdir)/src/instrumentparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-instrumentparser.lo -MD -MP -MF $(DEPDIR)/libdg_la-instrumentparser.Tpo -c -o libdg_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-instrumentparser.Tpo $(DEPDIR)/libdg_la-instrumentparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/instrumentparser.cc' object='libdg_la-instrumentparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-instrumentparser.lo `test -f '$(top_srcdir)/src/instrumentparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/instrumentparser.cc
-
-libdg_la-messagehandler.lo: $(top_srcdir)/src/messagehandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-messagehandler.lo -MD -MP -MF $(DEPDIR)/libdg_la-messagehandler.Tpo -c -o libdg_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-messagehandler.Tpo $(DEPDIR)/libdg_la-messagehandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagehandler.cc' object='libdg_la-messagehandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-messagehandler.lo `test -f '$(top_srcdir)/src/messagehandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagehandler.cc
-
-libdg_la-messagereceiver.lo: $(top_srcdir)/src/messagereceiver.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-messagereceiver.lo -MD -MP -MF $(DEPDIR)/libdg_la-messagereceiver.Tpo -c -o libdg_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-messagereceiver.Tpo $(DEPDIR)/libdg_la-messagereceiver.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/messagereceiver.cc' object='libdg_la-messagereceiver.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-messagereceiver.lo `test -f '$(top_srcdir)/src/messagereceiver.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/messagereceiver.cc
-
-libdg_la-midimapparser.lo: $(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-midimapparser.lo -MD -MP -MF $(DEPDIR)/libdg_la-midimapparser.Tpo -c -o libdg_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-midimapparser.Tpo $(DEPDIR)/libdg_la-midimapparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapparser.cc' object='libdg_la-midimapparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-midimapparser.lo `test -f '$(top_srcdir)/src/midimapparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapparser.cc
-
-libdg_la-midimapper.lo: $(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-midimapper.lo -MD -MP -MF $(DEPDIR)/libdg_la-midimapper.Tpo -c -o libdg_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-midimapper.Tpo $(DEPDIR)/libdg_la-midimapper.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/midimapper.cc' object='libdg_la-midimapper.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-midimapper.lo `test -f '$(top_srcdir)/src/midimapper.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/midimapper.cc
-
-libdg_la-mutex.lo: $(top_srcdir)/src/mutex.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-mutex.lo -MD -MP -MF $(DEPDIR)/libdg_la-mutex.Tpo -c -o libdg_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-mutex.Tpo $(DEPDIR)/libdg_la-mutex.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/mutex.cc' object='libdg_la-mutex.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-mutex.lo `test -f '$(top_srcdir)/src/mutex.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/mutex.cc
-
-libdg_la-path.lo: $(top_srcdir)/src/path.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-path.lo -MD -MP -MF $(DEPDIR)/libdg_la-path.Tpo -c -o libdg_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-path.Tpo $(DEPDIR)/libdg_la-path.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/path.cc' object='libdg_la-path.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-path.lo `test -f '$(top_srcdir)/src/path.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/path.cc
-
-libdg_la-powerlist.lo: $(top_srcdir)/src/powerlist.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-powerlist.lo -MD -MP -MF $(DEPDIR)/libdg_la-powerlist.Tpo -c -o libdg_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-powerlist.Tpo $(DEPDIR)/libdg_la-powerlist.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/powerlist.cc' object='libdg_la-powerlist.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-powerlist.lo `test -f '$(top_srcdir)/src/powerlist.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/powerlist.cc
-
-libdg_la-sample.lo: $(top_srcdir)/src/sample.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-sample.lo -MD -MP -MF $(DEPDIR)/libdg_la-sample.Tpo -c -o libdg_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-sample.Tpo $(DEPDIR)/libdg_la-sample.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/sample.cc' object='libdg_la-sample.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-sample.lo `test -f '$(top_srcdir)/src/sample.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/sample.cc
-
-libdg_la-semaphore.lo: $(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-semaphore.lo -MD -MP -MF $(DEPDIR)/libdg_la-semaphore.Tpo -c -o libdg_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-semaphore.Tpo $(DEPDIR)/libdg_la-semaphore.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/semaphore.cc' object='libdg_la-semaphore.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-semaphore.lo `test -f '$(top_srcdir)/src/semaphore.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/semaphore.cc
-
-libdg_la-saxparser.lo: $(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-saxparser.lo -MD -MP -MF $(DEPDIR)/libdg_la-saxparser.Tpo -c -o libdg_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-saxparser.Tpo $(DEPDIR)/libdg_la-saxparser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/saxparser.cc' object='libdg_la-saxparser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-saxparser.lo `test -f '$(top_srcdir)/src/saxparser.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/saxparser.cc
-
-libdg_la-thread.lo: $(top_srcdir)/src/thread.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-thread.lo -MD -MP -MF $(DEPDIR)/libdg_la-thread.Tpo -c -o libdg_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-thread.Tpo $(DEPDIR)/libdg_la-thread.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/thread.cc' object='libdg_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-thread.lo `test -f '$(top_srcdir)/src/thread.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/thread.cc
-
-libdg_la-velocity.lo: $(top_srcdir)/src/velocity.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-velocity.lo -MD -MP -MF $(DEPDIR)/libdg_la-velocity.Tpo -c -o libdg_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-velocity.Tpo $(DEPDIR)/libdg_la-velocity.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/velocity.cc' object='libdg_la-velocity.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-velocity.lo `test -f '$(top_srcdir)/src/velocity.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/velocity.cc
-
-libdg_la-versionstr.lo: $(top_srcdir)/src/versionstr.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-versionstr.lo -MD -MP -MF $(DEPDIR)/libdg_la-versionstr.Tpo -c -o libdg_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-versionstr.Tpo $(DEPDIR)/libdg_la-versionstr.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/src/versionstr.cc' object='libdg_la-versionstr.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-versionstr.lo `test -f '$(top_srcdir)/src/versionstr.cc' || echo '$(srcdir)/'`$(top_srcdir)/src/versionstr.cc
-
-libdg_la-nativewindow_x11.lo: $(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-nativewindow_x11.lo -MD -MP -MF $(DEPDIR)/libdg_la-nativewindow_x11.Tpo -c -o libdg_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-nativewindow_x11.Tpo $(DEPDIR)/libdg_la-nativewindow_x11.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_x11.cc' object='libdg_la-nativewindow_x11.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-nativewindow_x11.lo `test -f '$(top_srcdir)/plugingui/nativewindow_x11.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_x11.cc
-
-libdg_la-nativewindow_win32.lo: $(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-nativewindow_win32.lo -MD -MP -MF $(DEPDIR)/libdg_la-nativewindow_win32.Tpo -c -o libdg_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-nativewindow_win32.Tpo $(DEPDIR)/libdg_la-nativewindow_win32.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/nativewindow_win32.cc' object='libdg_la-nativewindow_win32.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-nativewindow_win32.lo `test -f '$(top_srcdir)/plugingui/nativewindow_win32.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/nativewindow_win32.cc
-
-libdg_la-plugingui.lo: $(top_srcdir)/plugingui/plugingui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-plugingui.lo -MD -MP -MF $(DEPDIR)/libdg_la-plugingui.Tpo -c -o libdg_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-plugingui.Tpo $(DEPDIR)/libdg_la-plugingui.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/plugingui.cc' object='libdg_la-plugingui.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-plugingui.lo `test -f '$(top_srcdir)/plugingui/plugingui.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/plugingui.cc
-
-libdg_la-label.lo: $(top_srcdir)/plugingui/label.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-label.lo -MD -MP -MF $(DEPDIR)/libdg_la-label.Tpo -c -o libdg_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-label.Tpo $(DEPDIR)/libdg_la-label.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/label.cc' object='libdg_la-label.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-label.lo `test -f '$(top_srcdir)/plugingui/label.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/label.cc
-
-libdg_la-eventhandler.lo: $(top_srcdir)/plugingui/eventhandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-eventhandler.lo -MD -MP -MF $(DEPDIR)/libdg_la-eventhandler.Tpo -c -o libdg_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-eventhandler.Tpo $(DEPDIR)/libdg_la-eventhandler.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/eventhandler.cc' object='libdg_la-eventhandler.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-eventhandler.lo `test -f '$(top_srcdir)/plugingui/eventhandler.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/eventhandler.cc
-
-libdg_la-font.lo: $(top_srcdir)/plugingui/font.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-font.lo -MD -MP -MF $(DEPDIR)/libdg_la-font.Tpo -c -o libdg_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-font.Tpo $(DEPDIR)/libdg_la-font.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/font.cc' object='libdg_la-font.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-font.lo `test -f '$(top_srcdir)/plugingui/font.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/font.cc
-
-libdg_la-window.lo: $(top_srcdir)/plugingui/window.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-window.lo -MD -MP -MF $(DEPDIR)/libdg_la-window.Tpo -c -o libdg_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-window.Tpo $(DEPDIR)/libdg_la-window.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/window.cc' object='libdg_la-window.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-window.lo `test -f '$(top_srcdir)/plugingui/window.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/window.cc
-
-libdg_la-widget.lo: $(top_srcdir)/plugingui/widget.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-widget.lo -MD -MP -MF $(DEPDIR)/libdg_la-widget.Tpo -c -o libdg_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-widget.Tpo $(DEPDIR)/libdg_la-widget.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/widget.cc' object='libdg_la-widget.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-widget.lo `test -f '$(top_srcdir)/plugingui/widget.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/widget.cc
-
-libdg_la-colour.lo: $(top_srcdir)/plugingui/colour.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-colour.lo -MD -MP -MF $(DEPDIR)/libdg_la-colour.Tpo -c -o libdg_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-colour.Tpo $(DEPDIR)/libdg_la-colour.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/colour.cc' object='libdg_la-colour.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-colour.lo `test -f '$(top_srcdir)/plugingui/colour.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/colour.cc
-
-libdg_la-painter.lo: $(top_srcdir)/plugingui/painter.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-painter.lo -MD -MP -MF $(DEPDIR)/libdg_la-painter.Tpo -c -o libdg_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-painter.Tpo $(DEPDIR)/libdg_la-painter.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/painter.cc' object='libdg_la-painter.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-painter.lo `test -f '$(top_srcdir)/plugingui/painter.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/painter.cc
-
-libdg_la-button.lo: $(top_srcdir)/plugingui/button.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-button.lo -MD -MP -MF $(DEPDIR)/libdg_la-button.Tpo -c -o libdg_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-button.Tpo $(DEPDIR)/libdg_la-button.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/button.cc' object='libdg_la-button.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-button.lo `test -f '$(top_srcdir)/plugingui/button.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/button.cc
-
-libdg_la-pixelbuffer.lo: $(top_srcdir)/plugingui/pixelbuffer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-pixelbuffer.lo -MD -MP -MF $(DEPDIR)/libdg_la-pixelbuffer.Tpo -c -o libdg_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-pixelbuffer.Tpo $(DEPDIR)/libdg_la-pixelbuffer.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pixelbuffer.cc' object='libdg_la-pixelbuffer.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-pixelbuffer.lo `test -f '$(top_srcdir)/plugingui/pixelbuffer.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pixelbuffer.cc
-
-libdg_la-lineedit.lo: $(top_srcdir)/plugingui/lineedit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-lineedit.lo -MD -MP -MF $(DEPDIR)/libdg_la-lineedit.Tpo -c -o libdg_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-lineedit.Tpo $(DEPDIR)/libdg_la-lineedit.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lineedit.cc' object='libdg_la-lineedit.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-lineedit.lo `test -f '$(top_srcdir)/plugingui/lineedit.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lineedit.cc
-
-libdg_la-led.lo: $(top_srcdir)/plugingui/led.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-led.lo -MD -MP -MF $(DEPDIR)/libdg_la-led.Tpo -c -o libdg_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-led.Tpo $(DEPDIR)/libdg_la-led.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/led.cc' object='libdg_la-led.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-led.lo `test -f '$(top_srcdir)/plugingui/led.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/led.cc
-
-libdg_la-checkbox.lo: $(top_srcdir)/plugingui/checkbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-checkbox.lo -MD -MP -MF $(DEPDIR)/libdg_la-checkbox.Tpo -c -o libdg_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-checkbox.Tpo $(DEPDIR)/libdg_la-checkbox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/checkbox.cc' object='libdg_la-checkbox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-checkbox.lo `test -f '$(top_srcdir)/plugingui/checkbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/checkbox.cc
-
-libdg_la-slider.lo: $(top_srcdir)/plugingui/slider.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-slider.lo -MD -MP -MF $(DEPDIR)/libdg_la-slider.Tpo -c -o libdg_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-slider.Tpo $(DEPDIR)/libdg_la-slider.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/slider.cc' object='libdg_la-slider.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-slider.lo `test -f '$(top_srcdir)/plugingui/slider.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/slider.cc
-
-libdg_la-scrollbar.lo: $(top_srcdir)/plugingui/scrollbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-scrollbar.lo -MD -MP -MF $(DEPDIR)/libdg_la-scrollbar.Tpo -c -o libdg_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-scrollbar.Tpo $(DEPDIR)/libdg_la-scrollbar.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/scrollbar.cc' object='libdg_la-scrollbar.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-scrollbar.lo `test -f '$(top_srcdir)/plugingui/scrollbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/scrollbar.cc
-
-libdg_la-listbox.lo: $(top_srcdir)/plugingui/listbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-listbox.lo -MD -MP -MF $(DEPDIR)/libdg_la-listbox.Tpo -c -o libdg_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-listbox.Tpo $(DEPDIR)/libdg_la-listbox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listbox.cc' object='libdg_la-listbox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-listbox.lo `test -f '$(top_srcdir)/plugingui/listbox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listbox.cc
-
-libdg_la-listboxthin.lo: $(top_srcdir)/plugingui/listboxthin.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-listboxthin.lo -MD -MP -MF $(DEPDIR)/libdg_la-listboxthin.Tpo -c -o libdg_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-listboxthin.Tpo $(DEPDIR)/libdg_la-listboxthin.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxthin.cc' object='libdg_la-listboxthin.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-listboxthin.lo `test -f '$(top_srcdir)/plugingui/listboxthin.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxthin.cc
-
-libdg_la-listboxbasic.lo: $(top_srcdir)/plugingui/listboxbasic.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-listboxbasic.lo -MD -MP -MF $(DEPDIR)/libdg_la-listboxbasic.Tpo -c -o libdg_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-listboxbasic.Tpo $(DEPDIR)/libdg_la-listboxbasic.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/listboxbasic.cc' object='libdg_la-listboxbasic.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-listboxbasic.lo `test -f '$(top_srcdir)/plugingui/listboxbasic.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/listboxbasic.cc
-
-libdg_la-knob.lo: $(top_srcdir)/plugingui/knob.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-knob.lo -MD -MP -MF $(DEPDIR)/libdg_la-knob.Tpo -c -o libdg_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-knob.Tpo $(DEPDIR)/libdg_la-knob.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/knob.cc' object='libdg_la-knob.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-knob.lo `test -f '$(top_srcdir)/plugingui/knob.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/knob.cc
-
-libdg_la-filebrowser.lo: $(top_srcdir)/plugingui/filebrowser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-filebrowser.lo -MD -MP -MF $(DEPDIR)/libdg_la-filebrowser.Tpo -c -o libdg_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-filebrowser.Tpo $(DEPDIR)/libdg_la-filebrowser.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/filebrowser.cc' object='libdg_la-filebrowser.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-filebrowser.lo `test -f '$(top_srcdir)/plugingui/filebrowser.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/filebrowser.cc
-
-libdg_la-directory.lo: $(top_srcdir)/plugingui/directory.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-directory.lo -MD -MP -MF $(DEPDIR)/libdg_la-directory.Tpo -c -o libdg_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-directory.Tpo $(DEPDIR)/libdg_la-directory.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/directory.cc' object='libdg_la-directory.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-directory.lo `test -f '$(top_srcdir)/plugingui/directory.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/directory.cc
-
-libdg_la-pluginconfig.lo: $(top_srcdir)/plugingui/pluginconfig.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-pluginconfig.lo -MD -MP -MF $(DEPDIR)/libdg_la-pluginconfig.Tpo -c -o libdg_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-pluginconfig.Tpo $(DEPDIR)/libdg_la-pluginconfig.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/pluginconfig.cc' object='libdg_la-pluginconfig.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-pluginconfig.lo `test -f '$(top_srcdir)/plugingui/pluginconfig.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/pluginconfig.cc
-
-libdg_la-image.lo: $(top_srcdir)/plugingui/image.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-image.lo -MD -MP -MF $(DEPDIR)/libdg_la-image.Tpo -c -o libdg_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-image.Tpo $(DEPDIR)/libdg_la-image.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/image.cc' object='libdg_la-image.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-image.lo `test -f '$(top_srcdir)/plugingui/image.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/image.cc
-
-libdg_la-combobox.lo: $(top_srcdir)/plugingui/combobox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-combobox.lo -MD -MP -MF $(DEPDIR)/libdg_la-combobox.Tpo -c -o libdg_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-combobox.Tpo $(DEPDIR)/libdg_la-combobox.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/combobox.cc' object='libdg_la-combobox.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-combobox.lo `test -f '$(top_srcdir)/plugingui/combobox.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/combobox.cc
-
-libdg_la-progressbar.lo: $(top_srcdir)/plugingui/progressbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-progressbar.lo -MD -MP -MF $(DEPDIR)/libdg_la-progressbar.Tpo -c -o libdg_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-progressbar.Tpo $(DEPDIR)/libdg_la-progressbar.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/progressbar.cc' object='libdg_la-progressbar.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-progressbar.lo `test -f '$(top_srcdir)/plugingui/progressbar.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/progressbar.cc
-
-libdg_la-verticalline.lo: $(top_srcdir)/plugingui/verticalline.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-verticalline.lo -MD -MP -MF $(DEPDIR)/libdg_la-verticalline.Tpo -c -o libdg_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-verticalline.Tpo $(DEPDIR)/libdg_la-verticalline.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/verticalline.cc' object='libdg_la-verticalline.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-verticalline.lo `test -f '$(top_srcdir)/plugingui/verticalline.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/verticalline.cc
-
-libdg_la-resource.lo: $(top_srcdir)/plugingui/resource.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-resource.lo -MD -MP -MF $(DEPDIR)/libdg_la-resource.Tpo -c -o libdg_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-resource.Tpo $(DEPDIR)/libdg_la-resource.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource.cc' object='libdg_la-resource.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-resource.lo `test -f '$(top_srcdir)/plugingui/resource.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource.cc
-
-libdg_la-resource_data.lo: $(top_srcdir)/plugingui/resource_data.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-resource_data.lo -MD -MP -MF $(DEPDIR)/libdg_la-resource_data.Tpo -c -o libdg_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-resource_data.Tpo $(DEPDIR)/libdg_la-resource_data.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/resource_data.cc' object='libdg_la-resource_data.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-resource_data.lo `test -f '$(top_srcdir)/plugingui/resource_data.cc' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/resource_data.cc
-
-libdg_la-lodepng.lo: $(top_srcdir)/plugingui/lodepng/lodepng.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -MT libdg_la-lodepng.lo -MD -MP -MF $(DEPDIR)/libdg_la-lodepng.Tpo -c -o libdg_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdg_la-lodepng.Tpo $(DEPDIR)/libdg_la-lodepng.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/plugingui/lodepng/lodepng.cpp' object='libdg_la-lodepng.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdg_la_CXXFLAGS) $(CXXFLAGS) -c -o libdg_la-lodepng.lo `test -f '$(top_srcdir)/plugingui/lodepng/lodepng.cpp' || echo '$(srcdir)/'`$(top_srcdir)/plugingui/lodepng/lodepng.cpp
-
-libdrumgizmo_vst_la-drumgizmo_vst.lo: drumgizmo_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-drumgizmo_vst.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-drumgizmo_vst.Tpo -c -o libdrumgizmo_vst_la-drumgizmo_vst.lo `test -f 'drumgizmo_vst.cc' || echo '$(srcdir)/'`drumgizmo_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-drumgizmo_vst.Tpo $(DEPDIR)/libdrumgizmo_vst_la-drumgizmo_vst.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='drumgizmo_vst.cc' object='libdrumgizmo_vst_la-drumgizmo_vst.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-drumgizmo_vst.lo `test -f 'drumgizmo_vst.cc' || echo '$(srcdir)/'`drumgizmo_vst.cc
-
-libdrumgizmo_vst_la-input_vst.lo: input_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-input_vst.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-input_vst.Tpo -c -o libdrumgizmo_vst_la-input_vst.lo `test -f 'input_vst.cc' || echo '$(srcdir)/'`input_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-input_vst.Tpo $(DEPDIR)/libdrumgizmo_vst_la-input_vst.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='input_vst.cc' object='libdrumgizmo_vst_la-input_vst.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-input_vst.lo `test -f 'input_vst.cc' || echo '$(srcdir)/'`input_vst.cc
-
-libdrumgizmo_vst_la-output_vst.lo: output_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-output_vst.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-output_vst.Tpo -c -o libdrumgizmo_vst_la-output_vst.lo `test -f 'output_vst.cc' || echo '$(srcdir)/'`output_vst.cc
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-output_vst.Tpo $(DEPDIR)/libdrumgizmo_vst_la-output_vst.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='output_vst.cc' object='libdrumgizmo_vst_la-output_vst.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-output_vst.lo `test -f 'output_vst.cc' || echo '$(srcdir)/'`output_vst.cc
-
-libdrumgizmo_vst_la-audioeffectx.lo: ${VST_SRC_BASE}/audioeffectx.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-audioeffectx.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-audioeffectx.Tpo -c -o libdrumgizmo_vst_la-audioeffectx.lo `test -f '${VST_SRC_BASE}/audioeffectx.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffectx.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-audioeffectx.Tpo $(DEPDIR)/libdrumgizmo_vst_la-audioeffectx.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/audioeffectx.cpp' object='libdrumgizmo_vst_la-audioeffectx.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-audioeffectx.lo `test -f '${VST_SRC_BASE}/audioeffectx.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffectx.cpp
-
-libdrumgizmo_vst_la-audioeffect.lo: ${VST_SRC_BASE}/audioeffect.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-audioeffect.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-audioeffect.Tpo -c -o libdrumgizmo_vst_la-audioeffect.lo `test -f '${VST_SRC_BASE}/audioeffect.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffect.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-audioeffect.Tpo $(DEPDIR)/libdrumgizmo_vst_la-audioeffect.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/audioeffect.cpp' object='libdrumgizmo_vst_la-audioeffect.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-audioeffect.lo `test -f '${VST_SRC_BASE}/audioeffect.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/audioeffect.cpp
-
-libdrumgizmo_vst_la-vstplugmain.lo: ${VST_SRC_BASE}/vstplugmain.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -MT libdrumgizmo_vst_la-vstplugmain.lo -MD -MP -MF $(DEPDIR)/libdrumgizmo_vst_la-vstplugmain.Tpo -c -o libdrumgizmo_vst_la-vstplugmain.lo `test -f '${VST_SRC_BASE}/vstplugmain.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/vstplugmain.cpp
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdrumgizmo_vst_la-vstplugmain.Tpo $(DEPDIR)/libdrumgizmo_vst_la-vstplugmain.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='${VST_SRC_BASE}/vstplugmain.cpp' object='libdrumgizmo_vst_la-vstplugmain.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdrumgizmo_vst_la_CXXFLAGS) $(CXXFLAGS) -c -o libdrumgizmo_vst_la-vstplugmain.lo `test -f '${VST_SRC_BASE}/vstplugmain.cpp' || echo '$(srcdir)/'`${VST_SRC_BASE}/vstplugmain.cpp
-
-.cpp.o:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
- at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(plugindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- clean-pluginLTLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pluginLTLIBRARIES
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-pluginLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES clean-pluginLTLIBRARIES \
- cscopelist-am ctags ctags-am distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-pluginLTLIBRARIES install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-pluginLTLIBRARIES
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/vst/drumgizmo_vst.cc b/vst/drumgizmo_vst.cc
deleted file mode 100644
index 6aec4f2..0000000
--- a/vst/drumgizmo_vst.cc
+++ /dev/null
@@ -1,464 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * drumgizmo_vst.cc
- *
- * Tue Sep 20 08:22:48 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "drumgizmo_vst.h"
-
-#include "constants.h"
-
-#include <time.h>
-#include <drumgizmo.h>
-
-#include <hugin.hpp>
-
-#define NUM_PROGRAMS 0
-#define NUM_PARAMS 0
-
-DGEditor::DGEditor(AudioEffect* effect)
-{
- DEBUG(dgeditor, "Create DGEditor\n");
- dgeff = (DrumGizmoVst*)effect;
- plugingui = NULL;
- drumgizmo = dgeff->drumgizmo;
-}
-
-bool DGEditor::open(void* ptr)
-{
- DEBUG(dgeditor, "open GUI (new PluginGUI)\n");
- if(plugingui) delete plugingui;
-
- plugingui = new PluginGUI();
- // plugingui->setChangeMidimapCallback(midimapHandler, dgeff);
-
- // plugingui->show();
- return true;
-}
-
-void DGEditor::close()
-{
- DEBUG(dgeditor, "close GUI (delete PluginGUI)\n");
- // plugingui->hide();
- if(plugingui) delete plugingui;
- plugingui = NULL;
-}
-
-bool DGEditor::isOpen()
-{
- DEBUG(vst, "isOpen\n");
- return plugingui != NULL;
-}
-
-void DGEditor::idle()
-{
- DEBUG(vst, "idle\n");
- // if(plugingui) plugingui->processEvents();
-}
-
-AudioEffect* createEffectInstance(audioMasterCallback audioMaster)
-{
- DEBUG(vst, "createEffectInstance\n");
- return new DrumGizmoVst(audioMaster);
-}
-
-DrumGizmoVst::DrumGizmoVst(audioMasterCallback audioMaster)
- : AudioEffectX(audioMaster, NUM_PROGRAMS, NUM_PARAMS)
-{
- hug_status_t status = hug_init(HUG_FLAG_OUTPUT_TO_SYSLOG | HUG_FLAG_USE_MUTEX,
- HUG_OPTION_SYSLOG_HOST, "192.168.0.10",
- HUG_OPTION_SYSLOG_PORT, 514,
- HUG_OPTION_END);
-
- if(status != HUG_STATUS_OK) {
- printf("Error: %d\n", status);
- }
-
- INFO(example, "We are up and running");
-
- DEBUG(vst, "DrumGizmoVst()\n");
-
- pos = 0;
- buffer = NULL;
- buffer_size = 0;
-
- output = NULL;
- input = NULL;
- drumgizmo = NULL;
-
- output = new OutputVST();
- input = new InputVST();
- drumgizmo = new DrumGizmo(output, input);
-
- // initialize programs
- //programs = new DrumGizmoVstProgram[kNumPrograms];
- //for(VstInt32 i = 0; i < 16; i++) channelPrograms[i] = i;
-
- //if(programs) setProgram(0);
-
- if(audioMaster) {
- setNumInputs(0); // no audio inputs
- setNumOutputs(NUM_OUTPUTS);
- canProcessReplacing();
- isSynth();
-
- union {
- char cid[4];
- unsigned int iid;
- } id;
-
- memcpy(id.cid, "DGV5", 4); // Four bytes typecasted into an unsigned integer
- setUniqueID(id.iid);
-
- // setUniqueID((unsigned int)time(NULL));
-
- }
-
- initProcess();
- suspend();
-
- editor = new DGEditor(this);
- setEditor(editor);
-
- programsAreChunks(true);
-
- // getChunk
- // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#42883c327783d7d31ed513b10c9204fc
-
- // setChunk
- // file:///home/deva/docs/c/drumgizmo/vst/vstsdk2.4/doc/html/class_audio_effect.html#b6e4c31c1acf8d1fc4046521912787b1
-}
-
-DrumGizmoVst::~DrumGizmoVst()
-{
- DEBUG(vst, "~DrumGizmoVst(1)\n");
- if(drumgizmo) delete drumgizmo;
- DEBUG(vst, "~DrumGizmoVst(2)\n");
- if(input) delete input;
- DEBUG(vst, "~DrumGizmoVst(3)\n");
- if(output) delete output;
- DEBUG(vst, "~DrumGizmoVst(4)\n");
-
- hug_close();
-}
-
-VstInt32 DrumGizmoVst::getChunk(void **data, bool isPreset)
-{
- DEBUG(vst, "getChunk(data: %p isPreset: %d)\n", *data, isPreset?1:0);
- std::string cfg = drumgizmo->configString();
- DEBUG(vst, "drumgizmo->config := %s\n", cfg.c_str());
- char *config = strdup(cfg.c_str());
- *data = config;
- return cfg.length();
-}
-
-VstInt32 DrumGizmoVst::setChunk(void *data, VstInt32 byteSize, bool isPreset)
-{
- std::string config;
- config.append((const char*)data, (size_t)byteSize);
- DEBUG(vst, "setChunk(isPreset: %d): [%d] %s\n",
- isPreset?1:0, byteSize, config.c_str());
-
- if(!drumgizmo->setConfigString(config)) {
- ERR(vst, "setConfigString failed...\n");
- return 1;
- }
-
- return 0;
-}
-
-void DrumGizmoVst::setProgram(VstInt32 program) {}
-void DrumGizmoVst::setProgramName(char* name) {}
-void DrumGizmoVst::getProgramName(char* name) { name[0] = '\0'; }
-
-void DrumGizmoVst::getParameterLabel(VstInt32 index, char* label)
-{
- label[0] = '\0';
- /*
- switch(index)
- {
- case kWaveform1:
- case kWaveform2:
- vst_strncpy(label, "Shape", kVstMaxParamStrLen);
- break;
-
- case kFreq1:
- case kFreq2:
- vst_strncpy(label, "Hz", kVstMaxParamStrLen);
- break;
-
- case kVolume1:
- case kVolume2:
- case kVolume:
- vst_strncpy(label, "dB", kVstMaxParamStrLen);
- break;
- }
- */
-}
-
-void DrumGizmoVst::getParameterDisplay(VstInt32 index, char* text)
-{
- text[0] = 0;
- /*
- switch(index)
- {
- case kWaveform1:
- if(fWaveform1 < .5)
- vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen);
- else
- vst_strncpy(text, "Pulse", kVstMaxParamStrLen);
- break;
-
- case kFreq1: float2string(fFreq1, text, kVstMaxParamStrLen); break;
- case kVolume1: dB2string(fVolume1, text, kVstMaxParamStrLen); break;
-
- case kWaveform2:
- if(fWaveform2 < .5)
- vst_strncpy(text, "Sawtooth", kVstMaxParamStrLen);
- else
- vst_strncpy(text, "Pulse", kVstMaxParamStrLen);
- break;
-
- case kFreq2: float2string(fFreq2, text, kVstMaxParamStrLen); break;
- case kVolume2: dB2string(fVolume2, text, kVstMaxParamStrLen); break;
- case kVolume: dB2string(fVolume, text, kVstMaxParamStrLen); break;
- }
- */
-}
-
-void DrumGizmoVst::getParameterName(VstInt32 index, char* label)
-{
- /*
- switch(index)
- {
- case kWaveform1: vst_strncpy(label, "Wave 1", kVstMaxParamStrLen); break;
- case kFreq1: vst_strncpy(label, "Freq 1", kVstMaxParamStrLen); break;
- case kVolume1: vst_strncpy(label, "Levl 1", kVstMaxParamStrLen); break;
- case kWaveform2: vst_strncpy(label, "Wave 2", kVstMaxParamStrLen); break;
- case kFreq2: vst_strncpy(label, "Freq 2", kVstMaxParamStrLen); break;
- case kVolume2: vst_strncpy(label, "Levl 2", kVstMaxParamStrLen); break;
- case kVolume: vst_strncpy(label, "Volume", kVstMaxParamStrLen); break;
- }
- */
-}
-
-void DrumGizmoVst::setParameter(VstInt32 index, float value)
-{
- /*
- DrumGizmoVstProgram *ap = &programs[curProgram];
- switch(index)
- {
- case kWaveform1: fWaveform1 = ap->fWaveform1 = value; break;
- case kFreq1: fFreq1 = ap->fFreq1 = value; break;
- case kVolume1: fVolume1 = ap->fVolume1 = value; break;
- case kWaveform2: fWaveform2 = ap->fWaveform2 = value; break;
- case kFreq2: fFreq2 = ap->fFreq2 = value; break;
- case kVolume2: fVolume2 = ap->fVolume2 = value; break;
- case kVolume: fVolume = ap->fVolume = value; break;
- }
- */
-}
-
-float DrumGizmoVst::getParameter(VstInt32 index)
-{
- float value = 0;
- /*
- switch(index)
- {
- case kWaveform1: value = fWaveform1; break;
- case kFreq1: value = fFreq1; break;
- case kVolume1: value = fVolume1; break;
- case kWaveform2: value = fWaveform2; break;
- case kFreq2: value = fFreq2; break;
- case kVolume2: value = fVolume2; break;
- case kVolume: value = fVolume; break;
- }
- */
- return value;
-}
-
-bool DrumGizmoVst::getOutputProperties(VstInt32 index,
- VstPinProperties* properties)
-{
- if(index < NUM_OUTPUTS)
- {
- vst_strncpy(properties->label, "Channel ", 63);
- char temp[11] = {0};
- int2string(index + 1, temp, 10);
- vst_strncat(properties->label, temp, 63);
-
- properties->flags = kVstPinIsActive;
-
- return true;
- }
- return false;
-}
-
-bool DrumGizmoVst::getProgramNameIndexed(VstInt32 category, VstInt32 index,
- char* text)
-{
- return false;
-}
-
-bool DrumGizmoVst::getEffectName(char* name)
-{
- vst_strncpy(name, "DrumGizmo4", kVstMaxEffectNameLen);
- return true;
-}
-
-bool DrumGizmoVst::getVendorString(char* text)
-{
- vst_strncpy(text, "Aasimon.org", kVstMaxVendorStrLen);
- return true;
-}
-
-bool DrumGizmoVst::getProductString(char* text)
-{
- vst_strncpy(text, "Vst Synth", kVstMaxProductStrLen);
- return true;
-}
-
-VstInt32 DrumGizmoVst::getVendorVersion()
-{
- return 1000;
-}
-
-VstInt32 DrumGizmoVst::canDo(char* text)
-{
- if(!strcmp(text, "receiveVstEvents")) return 1;
- if(!strcmp(text, "receiveVstMidiEvent")) return 1;
- //if(!strcmp(text, "midiProgramNames")) return 1;
- return -1; // explicitly can't do; 0 => don't know
-}
-
-VstInt32 DrumGizmoVst::getNumMidiInputChannels()
-{
- return 1; // we are monophonic
-}
-
-VstInt32 DrumGizmoVst::getNumMidiOutputChannels()
-{
- return 0; // no MIDI output back to Host app
-}
-
-VstInt32 DrumGizmoVst::getMidiProgramName(VstInt32 channel,
- MidiProgramName* mpn)
-{
- VstInt32 prg = mpn->thisProgramIndex;
- if(prg < 0 || prg >= 128)
- return 0;
- fillProgram(channel, prg, mpn);
- if(channel == 9)
- return 1;
- return 128L;
-}
-
-VstInt32 DrumGizmoVst::getCurrentMidiProgram(VstInt32 channel,
- MidiProgramName* mpn)
-{
- if(channel < 0 || channel >= 16 || !mpn) return -1;
- VstInt32 prg = 0;
- mpn->thisProgramIndex = prg;
- fillProgram(channel, prg, mpn);
- return prg;
-}
-
-void DrumGizmoVst::fillProgram(VstInt32 channel, VstInt32 prg,
- MidiProgramName* mpn)
-{
- mpn->midiBankMsb = mpn->midiBankLsb = -1;
- mpn->reserved = 0;
- mpn->flags = 0;
-
- vst_strncpy(mpn->name, "Standard", 63);
- mpn->midiProgram = 0;
- mpn->parentCategoryIndex = 0;
-}
-
-VstInt32 DrumGizmoVst::getMidiProgramCategory(VstInt32 channel,
- MidiProgramCategory* cat)
-{
- cat->parentCategoryIndex = -1; // -1:no parent category
- cat->flags = 0; // reserved, none defined yet, zero.
- // VstInt32 category = cat->thisCategoryIndex;
- vst_strncpy(cat->name, "Drums", 63);
- return 1;
-}
-
-bool DrumGizmoVst::hasMidiProgramsChanged(VstInt32 channel)
-{
- return false; // updateDisplay()
-}
-
-bool DrumGizmoVst::getMidiKeyName(VstInt32 channel, MidiKeyName* key)
-// struct will be filled with information for 'thisProgramIndex' and
-// 'thisKeyNumber'
-// if keyName is "" the standard name of the key will be displayed.
-// if false is returned, no MidiKeyNames defined for 'thisProgramIndex'.
-{
- // key->thisProgramIndex; // >= 0. fill struct for this program index.
- // key->thisKeyNumber; // 0 - 127. fill struct for this key number.
- key->keyName[0] = 0;
- key->reserved = 0; // zero
- key->flags = 0; // reserved, none defined yet, zero.
- return false;
-}
-
-void DrumGizmoVst::setSampleRate(float sampleRate)
-{
- AudioEffectX::setSampleRate(sampleRate);
- drumgizmo->setSamplerate(sampleRate);
-}
-
-void DrumGizmoVst::setBlockSize(VstInt32 blockSize)
-{
- AudioEffectX::setBlockSize(blockSize);
-}
-
-void DrumGizmoVst::initProcess()
-{
- // drumgizmo->loadkit(getenv("DRUMGIZMO_DRUMKIT"));
- drumgizmo->init();
-}
-
-void DrumGizmoVst::processReplacing(float** inputs, float** outputs,
- VstInt32 sampleFrames)
-{
- output->setOutputs(outputs);
-
- if(buffer_size != (size_t)sampleFrames) {
- if(buffer) free(buffer);
- buffer_size = sampleFrames;
- buffer = (sample_t*)malloc(sizeof(sample_t) * buffer_size);
- }
-
- drumgizmo->run(pos, buffer, buffer_size);
-
- pos += sampleFrames;
-}
-
-VstInt32 DrumGizmoVst::processEvents(VstEvents* ev)
-{
- input->processEvents(ev);
- return 1;
-}
diff --git a/vst/drumgizmo_vst.h b/vst/drumgizmo_vst.h
deleted file mode 100644
index 4497c48..0000000
--- a/vst/drumgizmo_vst.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * drumgizmo_vst.h
- *
- * Tue Sep 20 08:22:48 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_DRUMGIZMO_VST_H__
-#define __DRUMGIZMO_DRUMGIZMO_VST_H__
-
-#include <public.sdk/source/vst2.x/audioeffectx.h>
-#include <public.sdk/source/vst2.x/aeffeditor.h>
-
-#include <drumgizmo.h>
-#include <plugingui.h>
-
-#include "input_vst.h"
-#include "output_vst.h"
-
-class DGEditor;
-
-class DrumGizmoVst : public AudioEffectX
-{
-public:
- DrumGizmoVst(audioMasterCallback audioMaster);
- ~DrumGizmoVst();
-
- void processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames);
- VstInt32 processEvents(VstEvents* events);
-
- void setProgram(VstInt32 program);
- void setProgramName(char* name);
- void getProgramName(char* name);
- bool getProgramNameIndexed(VstInt32 category, VstInt32 index, char* text);
-
- void setParameter(VstInt32 index, float value);
- float getParameter(VstInt32 index);
- void getParameterLabel(VstInt32 index, char* label);
- void getParameterDisplay(VstInt32 index, char* text);
- void getParameterName(VstInt32 index, char* text);
-
- void setSampleRate(float sampleRate);
- void setBlockSize(VstInt32 blockSize);
-
- bool getOutputProperties(VstInt32 index, VstPinProperties* properties);
-
- bool getEffectName(char* name);
- bool getVendorString(char* text);
- bool getProductString(char* text);
- VstInt32 getVendorVersion();
- VstInt32 canDo(char* text);
-
- VstInt32 getNumMidiInputChannels();
- VstInt32 getNumMidiOutputChannels();
-
- VstInt32 getMidiProgramName(VstInt32 channel,
- MidiProgramName* midiProgramName);
- VstInt32 getCurrentMidiProgram(VstInt32 channel,
- MidiProgramName* currentProgram);
- VstInt32 getMidiProgramCategory(VstInt32 channel,
- MidiProgramCategory* category);
- bool hasMidiProgramsChanged(VstInt32 channel);
- bool getMidiKeyName(VstInt32 channel, MidiKeyName* keyName);
-
- VstInt32 getChunk(void **data, bool isPreset);
- VstInt32 setChunk(void *data, VstInt32 byteSize, bool isPreset);
-
- DrumGizmo *drumgizmo;
- InputVST *input;
- OutputVST *output;
-
-private:
- void initProcess();
- // void noteOn(VstInt32 note, VstInt32 velocity, VstInt32 delta);
- // void noteOff();
- void fillProgram(VstInt32 channel, VstInt32 prg, MidiProgramName* mpn);
-
- size_t pos;
- sample_t *buffer;
- size_t buffer_size;
-
- DGEditor *editor;
-};
-
-class DGEditor : public AEffEditor {
-public:
- DGEditor(AudioEffect* effect);
-
- bool open(void* ptr);
- void close();
- bool isOpen();
- void idle();
-
-private:
- DrumGizmoVst* dgeff;
- PluginGUI *plugingui;
- DrumGizmo *drumgizmo;
-};
-
-#endif/*__DRUMGIZMO_DRUMGIZMO_VST_H__*/
diff --git a/vst/input_vst.cc b/vst/input_vst.cc
deleted file mode 100644
index 53de387..0000000
--- a/vst/input_vst.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * input_vst.cc
- *
- * Tue Sep 20 10:40:10 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "input_vst.h"
-
-#include <midimapparser.h>
-#include <hugin.hpp>
-
-InputVST::InputVST()
-{
- list = NULL;
- listsize = 0;
-}
-
-InputVST::~InputVST()
-{
-}
-
-bool InputVST::init(Instruments &i)
-{
- DEBUG(inputvst, "init\n");
- instruments = &i;
- return true;
-}
-
-void InputVST::setParm(std::string parm, std::string value)
-{
-}
-
-bool InputVST::start()
-{
- return true;
-}
-
-void InputVST::stop()
-{
-}
-
-void InputVST::pre()
-{
-}
-
-event_t *InputVST::run(size_t pos, size_t len, size_t *nevents)
-{
- *nevents = listsize;
- return list;
-}
-
-void InputVST::post()
-{
- list = NULL;
- listsize = 0;
-}
-
-void InputVST::processEvents(VstEvents* ev)
-{
- if(list == NULL) {
- list = (event_t *)malloc(sizeof(event_t) * 1000);
- // listsize = 0;
- }
-
- for(VstInt32 i = 0; i < ev->numEvents; i++) {
- if(ev->events[i]->type != kVstMidiType) continue;
-
- VstMidiEvent* event =(VstMidiEvent*)ev->events[i];
- char* midiData = event->midiData;
- VstInt32 status = midiData[0] & 0xf0; // ignoring channel
- if(status == 0x90) { // we only look at notes
- VstInt32 note = midiData[1] & 0x7f;
- VstInt32 velocity = midiData[2] & 0x7f;
-
- int i = mmap.lookup(note);
- DEBUG(inputvst, "Note: %d -> %d\n", note, i);
- if(velocity && i != -1) {
- list[listsize].type = TYPE_ONSET;
- list[listsize].instrument = i;
- list[listsize].velocity = velocity / 127.0;
- list[listsize].offset = event->deltaFrames;
- listsize++;
- }
-
- }
- event++;
- }
-}
diff --git a/vst/input_vst.h b/vst/input_vst.h
deleted file mode 100644
index 612add6..0000000
--- a/vst/input_vst.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * input_vst.h
- *
- * Tue Sep 20 10:40:10 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_INPUT_VST_H__
-#define __DRUMGIZMO_INPUT_VST_H__
-
-#include <audioinputenginemidi.h>
-
-#include <public.sdk/source/vst2.x/audioeffectx.h>
-
-class InputVST : public AudioInputEngineMidi {
-public:
- InputVST();
- virtual ~InputVST();
-
- bool init(Instruments &instruments);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre();
- event_t *run(size_t pos, size_t len, size_t *nevents);
- void post();
-
- void processEvents(VstEvents* ev);
-
-private:
- event_t *list;
- size_t listsize;
-
- Instruments *instruments;
-};
-
-#endif/*__DRUMGIZMO_INPUT_VST_H__*/
diff --git a/vst/output_vst.cc b/vst/output_vst.cc
deleted file mode 100644
index 5202ce7..0000000
--- a/vst/output_vst.cc
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * output_vst.cc
- *
- * Tue Sep 20 10:40:14 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "output_vst.h"
-
-#include <string.h>
-
-#include "constants.h"
-
-OutputVST::OutputVST()
-{
- outputs = NULL;
-}
-
-OutputVST::~OutputVST()
-{
-}
-
-bool OutputVST::init(Channels channels)
-{
- return true;
-}
-
-void OutputVST::setParm(std::string parm, std::string value)
-{
-}
-
-bool OutputVST::start()
-{
- return true;
-}
-
-void OutputVST::stop()
-{
-}
-
-void OutputVST::pre(size_t nsamples)
-{
- if(!outputs) return;
-
- for(size_t ch = 0; ch < NUM_OUTPUTS; ch++) {
- memset(outputs[ch], 0, nsamples * sizeof(sample_t));
- }
-}
-
-void OutputVST::run(int ch, sample_t *samples, size_t nsamples)
-{
- if(!outputs) return;
-
- if(ch < NUM_OUTPUTS) {
- memcpy(outputs[ch], samples, nsamples * sizeof(sample_t));
- }
-}
-
-void OutputVST::post(size_t nsamples)
-{
- outputs = NULL;
-}
-
-void OutputVST::setOutputs(float **outputs)
-{
- this->outputs = outputs;
-}
diff --git a/vst/output_vst.h b/vst/output_vst.h
deleted file mode 100644
index fb98ad3..0000000
--- a/vst/output_vst.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * output_vst.h
- *
- * Tue Sep 20 10:40:14 CEST 2011
- * Copyright 2011 Bent Bisballe Nyeng
- * deva at aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo 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.
- *
- * DrumGizmo 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 DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#ifndef __DRUMGIZMO_OUTPUT_VST_H__
-#define __DRUMGIZMO_OUTPUT_VST_H__
-
-#include <audiooutputengine.h>
-
-class OutputVST : public AudioOutputEngine {
-public:
- OutputVST();
- ~OutputVST();
-
- bool init(Channels channels);
-
- void setParm(std::string parm, std::string value);
-
- bool start();
- void stop();
-
- void pre(size_t nsamples);
- void run(int ch, sample_t *samples, size_t nsamples);
- void post(size_t nsamples);
-
- void setOutputs(float **outputs);
-
-private:
- sample_t **outputs;
-};
-
-#endif/*__DRUMGIZMO_OUTPUT_VST_H__*/
--
drumgizmo packaging
More information about the pkg-multimedia-commits
mailing list