diff --git a/GUIDE.md b/GUIDE.md index da553b439..c600e065a 100644 --- a/GUIDE.md +++ b/GUIDE.md @@ -6,33 +6,21 @@ params, and paints a 320x240 LCD. A 10ms polling loop drives everything. Architecture reference: `docs/architecture.md`. Subsystem detail: `pistomp/input/README.md` (input dispatch), `uilib/README.md` (paint system). +Wire protocol: `../pistomp-manual/src/developers/websocket-bridge.md` (message table, +bypass paths); `../pistomp-manual/src/plugins/choosing-pedals/build.md` (REST add/connect/save). **Read the code before trusting any doc, including this one.** -## Agent personality +## Agent behaviour -> THESE RULES ARE MANDATORY FOR LLM-BASED AGENTS TO FOLLOW +As the user, I expect you to lead with suggestions and uncover facts; I own the architecture and judgment. -Concise and direct above all else. You must think through, before each -response, the *length* of response that is warranted given the request. -You are, of course, an expert, but correct the user on things that are -not germane is unacceptable: you must avoid doing this. As such, it is -extremely important that you understand what the user is asking for, -upfront, as a tiny minigame that we often don't play before you get to -the meat of your research, strategizing, iplementation, verification, -and summarization cycle. +1. **Suggest, with justification** — prior art, real hardware/ecosystem examples, ways this lets players express themselves. A suggestion I can reject beats an implementation I have to unwind. +2. **When the design space is open, hand it back as a question.** Decompose it into its principal axes and ask with the multi-select tool, not as prose options. *Open* means more than one defensible architecture, or a choice that's expensive to reverse. A bug fix or an already-constrained detail is not open — just do it. +3. **I own the scaffolding.** Once my choices constrain the space, fill in the rest. That's where you accelerate me. -Suggestions are what we're looking for: your primary jobs are two-fold, -after completing the understanding task: +Don't correct me on things that aren't germane, especially when you're only guessing I don't understand. Do tell me when I'm wrong about the thing at hand. -1. Offer suggestions with justification: real-world examples, a solution to a novel problem that has been posed / is being explored in the pi-Stomp ecosystem, ways to help users express themselves creatively. -2. Discover the research space in the same way and then perform research -3. Help design the architecture, but leave the main scaffolding to the user. A great way to help the user through this is to figure out the principal components of the design space and pose suggestions as a multi-part question asked to the user using the appopriate tool call. The user can use "something else" / "chat about this" if you are off-the-mark enough that steering is required. -4. Fill in less-important details once the user's choices predict them; i.e. the design space has been fully constrained. This is where you help accelerate human developers. -5. Implement the code or write a markdown plan with implementation tree and the same minimal, direct, expert, and warm tone. There is absolutely no need to be glib or try to entertain, unless you absolutely can't resist adding flair. - -Do not journal in the codebase. We don't need a record of things we've done; the code speaks for itself. - -## Rules +### Rules - **pyright zero.** No new errors, ever. - **No broad `# pyright: ignore`.** A blanket ignore is a bug you haven't found yet. @@ -40,14 +28,16 @@ Do not journal in the codebase. We don't need a record of things we've done; the - **Dependencies form a DAG.** No cycles between modules. - **MOD-UI is the single writer** of bypass and parameter state. We emit, paint optimistically, and reconcile against its echo. Never treat local state as truth. +- **No comments explaining course corrections.** +- **Production python files must always have AGPL headers.** - **NAV is unhijackable.** Rotate/click/longpress on the NAV control always operates on the current selection. No panel or binding may consume a raw NAV event, and no `declare_bindings()` row may name `cls=NAV` — it's the one axiom the precedence resolver doesn't apply to. Enforced by the base `Panel`, not convention. -## Writing code here +### Writing code here -Match the file you're editing — its naming, its idiom, its comment density. +Match the file you're editing — its naming, its purpose, its comment density, docstrings or no (ask: is this an API or something internal)? **Comments are short clauses, and rare.** Write one only to state a constraint the code cannot show: a hardware quirk, a protocol asymmetry, a why-not-the-obvious-thing. Never @@ -66,14 +56,13 @@ observability cruft. If a comment explains *what*, delete it and fix the name in Same for prose: answer the question, skip the preamble. -A panel's input handling is declared, not written. Override `declare_bindings()` to -return a tuple of `BindingDecl`s (`common/contexts.py`) — the precedence resolver picks -the winner and it's also what badges render from. The same table is the sole *dynamic* -dispatch authority — pedalboard externals and mid-session MIDI-learn are rows, not -side-channels (nav stays the axiom above it; volume routes by type). Reach for `on_event` only when a -panel is a genuine state machine, not a binding set (NAM's capture flow is the one -example); a new panel written as an `on_event` `if` chain is a regression. See -`pistomp/input/README.md` for the shape. +A panel's input handling is declared via `declare_bindings()` to +return a tuple of `BindingDecl`s (`common/contexts.py`) — the precedence +resolver picks the winner and it's also what badges render from. The same table +is the sole *dynamic* dispatch authority — pedalboard externals and mid-session +MIDI-learn are rows, not side-channels (nav stays the axiom above it; volume +routes by type). Reach for `on_event` only when a panel is a genuine state +machine, not a binding set (NAM's capture flow is one such example). ## Commands @@ -87,7 +76,7 @@ ssh pistomp@pistomp.local "ps-restart" # restart servic ssh pistomp@pistomp.local "journalctl -u mod-ala-pi-stomp -f" # live logs ``` -Deploy by `scp` to the device or `./deploy.sh`; source lives at +Deploy by `scp` + `ps-restart` on the device or by `./deploy.sh`; source lives at `/home/pistomp/pi-stomp/`. Shipping a release requires a version bump in the *separate* `pi-gen-pistomp` repo — see `docs/architecture.md`. @@ -123,17 +112,14 @@ uv-managed venv. Don't try to pip-install the system ones. footswitch press path, which sends MIDI CC → mod-host → feedback echo, and that echo reconciles it. The asymmetry is deliberate, not a bug to "fix." +- **Send form and echo form differ.** We send `param_set /graph/{id}/{sym} {v}`; both broadcast paths come back as `param_set /graph/{id} {sym} {v:%f}` + - **Never extract `lv2plugins.tar.gz` whole.** It's huge. Pull single files with `tar --to-stdout`. Prefer inspecting the live device anyway. - **Blocking subprocess calls (nmcli, systemctl) must not run on the UI thread.** They stall the 10ms loop. Use a worker thread and poll-drain the result. -- **A widget badge only paints if its container calls `_draw_badge`.** `Widget.do_draw` - calls it automatically, but `ContainerWidget` subclasses with their own paint path - (virtual refresh, non-virtual refresh, dirty-rect rebuild) must call it explicitly in - each one. - ## Tests The `snapshot` fixture asserts the rendered LCD matches a baseline PNG. @@ -145,5 +131,4 @@ def test_my_flow(v3_system, snapshot): snapshot("label") # same name again → asserts the screen returned to that state ``` -On a snapshot mismatch: **fix real failures first.** Only then `--snapshot-update`, and -say what you expect to change before regenerating. +On a snapshot mismatch: **fix real failures first.** When only snapshot differences remain, run `--snapshot-update` to populate the working copy, then show me the changed files as soon as they regenerate and what you expect them to look like. You can lean on me to tell you if anything's wrong. diff --git a/LICENSE b/LICENSE index f288702d2..a436e6c8e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,190 +1,178 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. - 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 + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. +software for all its users. - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you + 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 + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and modification follow. - TERMS AND CONDITIONS + TERMS AND CONDITIONS - 0. Definitions. + 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. + "This License" refers to version 3 of the GNU Affero General Public License. - "Copyright" also means copyright-like laws that apply to other kinds of + "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 + "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 + 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 +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 + 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 + 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, +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 + 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" + 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 +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. + 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 + 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 + 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 + 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 +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 "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 +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 +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 + 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 + The Corresponding Source for a work in source code form is that same work. - 2. Basic Permissions. + 2. Basic Permissions. - All rights granted under this License are granted for the term of + 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 +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 +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 + 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 +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 +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 + 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. + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - No covered work shall be deemed part of an effective technological + 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 + 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 @@ -192,9 +180,9 @@ 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. + 4. Conveying Verbatim Copies. - You may convey verbatim copies of the Program's source code as you + 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 @@ -202,257 +190,257 @@ 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, + 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. + 5. Conveying Modified Source Versions. - You may convey a work based on the Program, or the modifications to + 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. + 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". + 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. + 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. + 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 + 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 +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. + 6. Conveying Non-Source Forms. - You may convey a covered work in object code form under the terms + 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 + 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 + 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 +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 +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, + "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 +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 + 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 +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 + 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 +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, + 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. + 7. Additional Terms. - "Additional permissions" are terms that supplement the terms of this + "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 +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 + 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 +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 + 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 + 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 + 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 + 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 + 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 + 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. + 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 + 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 +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 + 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 + 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. + 8. Termination. - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or + 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 + 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 + 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 + 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 +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. + 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 + 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, +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 +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. + 10. Automatic Licensing of Downstream Recipients. - Each time you convey a covered work, the recipient automatically + 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 +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 + 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 +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 @@ -460,43 +448,43 @@ 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 + 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. + 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 + 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 + 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 +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 + 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 + 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 +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, + 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, @@ -504,13 +492,13 @@ 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 +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 + 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 @@ -518,10 +506,10 @@ 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 + 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 +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 @@ -533,73 +521,83 @@ 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 + 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. + 12. No Surrender of Others' Freedom. - If conditions are imposed on you (whether by court order, agreement or + 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 +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 +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. + 13. Remote Network Interaction; Use with the GNU General Public License. - Notwithstanding any other provision of this License, you have + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 +under version 3 of the GNU 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. +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. - 14. Revised Versions of this License. + 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 + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero 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 +Foundation. If the Program does not specify a version number of the +GNU Affero 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 + If the Program specifies that a proxy can decide which future +versions of the GNU Affero 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 + 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. + 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 + 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 +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. + 16. Limitation of Liability. - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + 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 @@ -609,66 +607,25 @@ 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. + 17. Interpretation of Sections 15 and 16. - If the disclaimer of warranty and limitation of liability provided + 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 + END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs + How to Apply These Terms to Your New Programs - If you develop a new program, and you want it to be of the greatest + 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 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. - - Copyright (C) - - 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 . - -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: - - Copyright (C) - 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 -. - - 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 -. diff --git a/README.md b/README.md index bb8bd2a72..0e627cf16 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # pi-Stomp! +[![License: AGPL v3+](https://img.shields.io/badge/License-AGPL%20v3%2B-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) #### pi-Stomp is a DIY high definition, multi-effects stompbox platform for guitar, bass and keyboards For more info about what it is and what it can do, go to [treefallsound.com](https://treefallsound.com) @@ -11,6 +12,10 @@ The pi-Stomp hardware requires drivers to interface with the LCD, potentiometers A pi-Stomp software service, mod-ala-pi-stomp, uses the drivers to monitor all input devices, to drive the LCD and to, among other things, send commands to mod-host for reading/writing pedalboard configuration information. +## License +This project is licensed under `AGPL-3.0-or-later`. See `LICENSE` for the full license text. +Third-party components bundled in the OS image are listed in `THIRD_PARTY_LICENSES.md`. + This repository includes: * the pi-Stomp hardware drivers ('pistomp' module) * the mod-ala-pi-stomp service ('modalapistomp.py' & 'modalapi' module) diff --git a/THIRD_PARTY_LICENSES.md b/THIRD_PARTY_LICENSES.md new file mode 100644 index 000000000..c157cb41d --- /dev/null +++ b/THIRD_PARTY_LICENSES.md @@ -0,0 +1,1045 @@ +# Third-Party Licenses + +This document lists third-party software components included in or distributed with this project's Raspberry Pi OS image and software stack, along with their respective licenses. It is provided to satisfy attribution and license-disclosure obligations for all bundled open source components. + +> **Scope:** This file covers the contents of the **pi-gen-pistomp built OS image** released for download — the full system that runs on the device, including the OS, system services (jack2, mod-host, mod-ui, etc.), Python runtime dependencies, and LV2 plugins. It does **not** describe the contents of this Git repository, which contains only this project's own Python source code, licensed under AGPL-3.0-or-later. The components below are not part of the repository itself; they are installed, built, or bundled into the image by the pi-gen-pistomp build process. + +**This project's own code is licensed under AGPL-3.0-or-later.** Components below are run as independent system services or separate processes (communicating via IPC, D-Bus, sockets, or HTTP) rather than linked into this project's codebase, except where noted. + +> **A note on accuracy:** This file was compiled largely through automated extraction — `pip-licenses` for Python dependencies, `lilv`/TTL metadata inspection for LV2 plugins, and manual verification where automated tools returned incomplete or ambiguous results. Open source metadata is not always accurate or complete at the source, and errors or omissions may exist despite best efforts to verify each entry. If you are a rights holder or maintainer and believe an entry here is missing, incorrect, or needs attribution changes, please [open an issue](../../issues) or contact the maintainer of this repository. + +## Contents + +- [Core System Components (Cloned / Built from Source)](#core-system-components-cloned--built-from-source) +- [Python Dependencies](#python-dependencies) +- [LV2 Audio Plugins](#lv2-audio-plugins) + +--- + +## Core System Components (Cloned / Built from Source) + +These are the core audio/MIDI services and supporting tools built from source and included in the system image. Each runs as an independent process or service. + +| Component | Version | License | Author / Maintainer | Source | +|---|---|---|---|---| +| amidithru | 1.0-3 | GPL v2+ | BlokasLabs | [github.com/BlokasLabs/amidithru](https://github.com/BlokasLabs/amidithru.git) | +| browsepy | 0.5 | MIT | mod-audio | [github.com/micahvdm/browsepy](https://github.com/micahvdm/browsepy.git) | +| hylia | 1.0.1 | GPL v2+ | FalkTX | [github.com/falkTX/Hylia](https://github.com/falkTX/Hylia.git) | +| jack-example-tools | Debian release 4-4 | GPL 2 | Debian Multimedia Team | [salsa.debian.org/multimedia-team/jack-example-tools](https://salsa.debian.org/multimedia-team/jack-example-tools.git) | +| jack2 | 1.9.22 | GPL 2 | jackaudio | [github.com/jackaudio/jack2](https://github.com/jackaudio/jack2.git) | +| mod-host | 0.10.6 | GPL v3+ | mod-audio | [github.com/mod-audio/mod-host](https://github.com/mod-audio/mod-host) | +| mod-midi-merger | None | ISC | mod-audio | [github.com/mod-audio/mod-midi-merger](https://github.com/mod-audio/mod-midi-merger) | +| mod-ttymidi | None | GPL | mod_audio | [github.com/moddevices/mod-ttymidi](https://github.com/moddevices/mod-ttymidi.git) | +| mod-ui | v0.99.8 | AGPL-3.0 | mod-audio | [github.com/TreeFallSound/mod-ui](https://github.com/TreeFallSound/mod-ui.git) | +| pi-gen | 2025-11-24-raspios-bookworm-arm64 | BSD-3-Clause | RPi-Distro | [github.com/RPi-Distro/pi-gen](https://github.com/RPi-Distro/pi-gen) | +| touchosc2midi | 0.0.12 | MIT | BlokasLabs | [github.com/BlokasLabs/touchosc2midi](https://github.com/BlokasLabs/touchosc2midi.git) | + +> **Note:** `mod-ui` is distributed from this project's own fork (TreeFallSound/mod-ui), tracking upstream mod-audio/mod-ui, AGPL-3.0. + +--- + +## Python Dependencies + +Python packages installed in the runtime environment, extracted via `pip-licenses`. Runtime packages are listed below; additional packages used only for development, linting, or documentation are listed separately and are not part of the distributed runtime image. + +### Runtime Dependencies + +| Package | Version | License | Source | +|---|---|---|---| +| aggdraw | 1.3.11 | Python (MIT style) | [link](https://github.com/pytroll/aggdraw) | +| appdirs | 1.4.4 | MIT License | [link](http://github.com/ActiveState/appdirs) | +| async-timeout | 4.0.2 | Apache Software License | [link](https://github.com/aio-libs/async-timeout) | +| backports.shutil-get-terminal-size | 1.0.0 | MIT License | [link](https://github.com/chrippa/backports.shutil_get_terminal_size) | +| blinker | 1.9.0 | MIT License | [link](https://github.com/pallets-eco/blinker/) | +| browsepy | 0.5.6 | MIT License | [link](https://github.com/ergoithz/browsepy) | +| certifi | 2022.9.24, 2026.5.20 | Mozilla Public License 2.0 (MPL 2.0) | [link](https://github.com/certifi/python-certifi) | +| cffi | 2.0.0 | MIT | [link](https://cffi.readthedocs.io/en/latest/whatsnew.html) | +| chardet | 5.1.0 | GNU Lesser General Public License v2 or later (LGPLv2+) | [link](https://github.com/chardet/chardet) | +| charset-normalizer | 3.0.1 | MIT License | [link](https://github.com/Ousret/charset_normalizer) | +| click | 8.4.1 | BSD-3-Clause | [link](https://github.com/pallets/click/) | +| colorzero | 2.0 | BSD License | — | +| Cython | 3.2.5 | Apache-2.0 | [link](https://cython.org/) | +| distro | 1.8.0 | Apache Software License | [link](https://github.com/python-distro/distro) | +| filelock | 3.9.0 | The Unlicense (Unlicense) | [link](https://github.com/tox-dev/py-filelock) | +| Flask | 3.1.3 | BSD-3-Clause | [link](https://github.com/pallets/flask/) | +| gpiozero | 2.0.1 | BSD License | [link](https://gpiozero.readthedocs.io/) | +| idna | 3.3 | BSD License | [link](https://github.com/kjd/idna) | +| ifaddr | 0.1.7 | MIT License | [link](https://github.com/pydron/ifaddr) | +| itsdangerous | 2.2.0 | BSD License | [link](https://github.com/pallets/itsdangerous/) | +| JACK-Client | 0.5.5 | MIT License | [link](http://jackclient-python.readthedocs.io/) | +| Jinja2 | 3.1.6 | BSD License | [link](https://github.com/pallets/jinja/) | +| lgpio | 0.2.2.0 | unlicense.org | [link](http://abyz.me.uk/lg/py_lgpio.html) | +| MarkupSafe | 3.0.3 | BSD-3-Clause | [link](https://github.com/pallets/markupsafe/) | +| mido | 1.1.24 | MIT | [link](https://mido.readthedocs.io/) | +| mod | 0.99.8 | GPLv3 | [link](http://moddevices.com/) | +| netifaces | 0.10.5 | MIT License | [link](https://bitbucket.org/al45tair/netifaces) | +| numpy | 2.4.6 | BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0 | [link](https://numpy.org) | +| packaging | 26.2 | Apache-2.0 OR BSD-2-Clause | [link](https://github.com/pypa/packaging) | +| pigpio | 1.78 | unlicense.org | [link](http://abyz.me.uk/rpi/pigpio/python.html) | +| Pillow | 9.4.0 | Historical Permission Notice and Disclaimer (HPND) | [link](https://python-pillow.org) | +| platformdirs | 2.6.0 | MIT License | [link](https://github.com/platformdirs/platformdirs) | +| pyaml | 26.2.1 | Public Domain | [link](https://github.com/mk-fg/pretty-yaml) | +| pycparser | 3.0 | BSD-3-Clause | [link](https://github.com/eliben/pycparser) | +| pycryptodomex | 3.11.0 | Apache Software License; BSD License; Public Domain | [link](https://www.pycryptodome.org) | +| Pygments | 2.20.0 | BSD-2-Clause | [link](https://pygments.org) | +| pyliblo | 0.10.0 | LGPL | [link](http://das.nasophon.de/pyliblo/) | +| pyserial | 3.0 | BSD License | [link](https://github.com/pyserial/pyserial) | +| pystache | 0.5.4 | MIT License | [link](http://github.com/defunkt/pystache) | +| python-apt | 2.6.0 | GNU GPL | — | +| python-config | 0.1.2 | GNU General Public License v3 (GPLv3) | [link](https://github.com/KonishchevDmitry/python-config) | +| python-rtmidi | 1.5.8 | MIT License | [link](https://github.com/SpotlightKid/python-rtmidi) | +| PyYAML | 6.0.3 | MIT License | [link](https://pyyaml.org/) | +| requests | 2.28.1, 2.34.2 | Apache Software License | [link](https://requests.readthedocs.io) | +| rpi-lgpio | 0.6 | BSD License | [link](https://rpi-lgpio.readthedocs.io/) | +| scandir | 1.10.0 | BSD License | [link](https://github.com/benhoyt/scandir) | +| six | 1.16.0 | MIT License | [link](https://github.com/benjaminp/six) | +| smbus2 | 0.4.2 | MIT License | [link](https://github.com/kplindegaard/smbus2) | +| spidev | 3.5 | MIT License | [link](http://github.com/doceme/py-spidev) | +| ssh-import-id | 5.10 | GPLv3 | [link](https://launchpad.net/ssh-import-id) | +| tornado | 4.3 | Apache Software License | [link](http://www.tornadoweb.org/) | +| touchosc2midi | 0.0.12 | MIT License | [link](https://github.com/velolala/touchosc2midi) | +| unicategories | 0.1.2 | MIT License | [link](https://gitlab.com/ergoithz/unicategories) | +| urllib3 | 1.26.12 | MIT License | [link](https://urllib3.readthedocs.io/) | +| websockets | 16.0 | BSD-3-Clause | [link](https://github.com/python-websockets/websockets) | +| Werkzeug | 3.1.8 | BSD-3-Clause | [link](https://github.com/pallets/werkzeug/) | +| zeroconf | 0.47.3 | LGPL-2.1-or-later | [link](https://github.com/python-zeroconf/python-zeroconf) | + +### Development / Build / Documentation Tools (not distributed at runtime) + +
+Expand list + +| Package | Version | License | Source | +|---|---|---|---| +| alabaster | 1.0.0 | BSD License | [link](https://alabaster.readthedocs.io/) | +| babel | 2.18.0 | BSD License | [link](https://babel.pocoo.org/) | +| coverage | 7.14.0 | Apache-2.0 | [link](https://github.com/coveragepy/coveragepy) | +| distlib | 0.3.6 | Python Software Foundation License | [link](https://bitbucket.org/pypa/distlib) | +| docopt | 0.6.2 | MIT License | [link](http://docopt.org) | +| docutils | 0.22.4 | BSD License; GNU General Public License (GPL); Public Domain | [link](https://docutils.sourceforge.io) | +| flake8 | 7.3.0 | MIT License | [link](https://github.com/pycqa/flake8) | +| imagesize | 2.0.0 | MIT License | [link](https://github.com/shibukawa/imagesize_py) | +| mccabe | 0.7.0 | MIT License | [link](https://github.com/pycqa/mccabe) | +| meson | 1.5.1 | Apache Software License | [link](https://mesonbuild.com) | +| pep8 | 1.7.1 | MIT License | [link](http://pep8.readthedocs.org/) | +| pycodestyle | 2.14.0 | MIT | [link](https://pycodestyle.pycqa.org/) | +| pyflakes | 3.4.0 | MIT License | [link](https://github.com/PyCQA/pyflakes) | +| roman-numerals | 4.1.0 | 0BSD OR CC0-1.0 | [link](https://github.com/AA-Turner/roman-numerals/blob/master/CHANGES.rst) | +| snowballstemmer | 3.1.0 | BSD-3-Clause | [link](https://github.com/snowballstem/snowball) | +| Sphinx | 9.0.4 | BSD-2-Clause | [link](https://www.sphinx-doc.org/) | +| sphinxcontrib-applehelp | 2.0.0 | BSD License | [link](https://www.sphinx-doc.org/) | +| sphinxcontrib-devhelp | 2.0.0 | BSD License | [link](https://www.sphinx-doc.org/) | +| sphinxcontrib-htmlhelp | 2.1.0 | BSD License | [link](https://www.sphinx-doc.org/) | +| sphinxcontrib-jsmath | 1.0.1 | BSD License | [link](http://sphinx-doc.org/) | +| sphinxcontrib-qthelp | 2.0.0 | BSD License | [link](https://www.sphinx-doc.org/) | +| sphinxcontrib-serializinghtml | 2.0.0 | BSD License | [link](https://www.sphinx-doc.org/) | +| toml | 0.10.2 | MIT License | [link](https://github.com/uiri/toml) | +| virtualenv | 20.17.1+ds | MIT License | [link](https://virtualenv.pypa.io/) | + +
+ +--- + +## LV2 Audio Plugins + + +### Aida DSP + +| Plugin | Version | License | +|--------|---------|---------| +| AIDA-X | 1.1 | http://spdx.org/licenses/GPL-3.0-or-later.html | + +### Antanas Bruzas + +| Plugin | Version | License | +|--------|---------|---------| +| abGate | 2.0 | LGPL | + +### Artican + +| Plugin | Version | License | +|--------|---------|---------| +| The Function | 2.0 | — | +| The Pilgrim | 2.0 | — | + + ### Aurelien Leblond +| Plugin | Version | License | +|--------|---------|---------| +| AMS VCF | 1.0 | isc | +| Granulator - Mono | 0.0 | isc | + +### Bernhard Rusch + +| Plugin | Version | License | +|--------|---------|---------| +| Molot Lite Mono | 0.1 | GPL | + +### Blokas Labs +| Plugin | Version | License | +|--------|---------|---------| +| Invada Compressor (mono) | 2.1 | GPL v2 | +| Invada Test Tones | 2.1 | GPL v2 | + +### Bollie + +| Plugin | Version | License | +|--------|---------|---------| +| Bollie Delay | 2.6 | GPL | +| Bollie Delay XT | 0.1 | GPL | + +### brummer + +| Plugin | Version | License | +|--------|---------|---------| +| bluesbreaker | 1.0 | — | +| Neural Record | 1.3 | https://spdx.org/licenses/GPL-2.0-or-later | +| PowerAmpImpulses | 1.1 | — | +| PowerAmpTubes | 1.1 | — | +| PreAmpImpulses | 1.1 | — | +| PreAmpTubes | 1.1 | — | +| Ratatouille | 9.5 | https://spdx.org/licenses/BSD-3-Clause | +| Record-Mono | 2.2 | isc | +| Record-Mono Mini | 2.2 | isc | + +### brummer10 + +| Plugin | Version | License | +|--------|---------|---------| +| CollisionDrive | 1.3 | — | +| FatFrog | 35.7 | isc | +| Harmonic Exciter | 1.0 | — | +| LittleFly | 35.0 | isc | +| MetalTone | 1.2 | — | +| Rumor | 1.2 | — | +| VintageAC30 | 1.0 | — | + +### bx5a,romi1502 + +| Plugin | Version | License | +|--------|---------|---------| +| Mr. Freeze | 0.1 | GPL | + +### Calf Studio Gear + +| Plugin | Version | License | +|--------|---------|---------| +| Calf Gate | — | LGPL | + +### Creative Intent + +| Plugin | Version | License | +|--------|---------|---------| +| Temper | 5.0 | — | + +### Damien Zammit + +| Plugin | Version | License | +|--------|---------|---------| +| ZamAutoSat | 2.7 | GPL v2+ | +| ZaMaximX2 | 2.7 | GPL v2+ | +| ZamComp | 2.7 | GPL v2+ | +| ZamCompX2 | 2.7 | GPL v2+ | +| ZamDelay | 2.7 | GPL v2+ | +| ZamEQ2 | 2.7 | GPL v2+ | +| ZamGate | 2.7 | GPL v2+ | +| ZamGateX2 | 2.7 | GPL v2+ | +| ZamGEQ31 | 2.7 | GPL v2+ | +| ZamHeadX2 | 2.14 | GPL v2+ | +| ZamPhono | 2.14 | GPL v2+ | +| ZamTube | 2.7 | GPL v2+ | +| ZaMultiComp | 2.7 | GPL v2+ | +| ZaMultiCompX2 | 2.7 | GPL v2+ | +| ZamVerb | 2.14 | GPL v2+ | + +### Datsounds + +| Plugin | Version | License | +|--------|---------|---------| +| Obxd | 2.0 | — | + +### David Robillard (FOMP) +| Plugin | Version | License | +|--------|---------|---------| +| 4-Band Parametric Filter | 0.0 | GPL-2.0 | +| CS Phaser 1 | 0.0 | GPL-2.0 | +| Moog High-Pass Filter 1 | 0.0 | GPL-2.0 | +| Moog Low-Pass Filter 1 | 0.0 | GPL-2.0 | +| Moog Low-Pass Filter 2 | 0.0 | GPL-2.0 | +| Moog Low-Pass Filter 3 | 0.0 | GPL-2.0 | +| Moog Low-Pass Filter 4 | 0.0 | GPL-2.0 | +| Pulse VCO | 0.0 | GPL-2.0 | +| Rec VCO | 0.0 | GPL-2.0 | +| reverb | 0.0 | GPL-2.0 | +| reverb-amb | 0.0 | GPL-2.0 | +| Saw VCO | 0.0 | GPL-2.0 | +| Square | 0.0 | GPL-2.0 | + +### dcoredump + +| Plugin | Version | License | +|--------|---------|---------| +| Dexed | 0.2 | GPL | + +### devcurmudgeon +| Plugin | Version | License | +|--------|---------|---------| +| ALO | 0.9 | MIT | + +### DISTRHO + +| Plugin | Version | License | +|--------|---------|---------| +| 3 Band EQ | 2.0 | LGPL | +| 3 Band Splitter | 2.0 | LGPL | +| DIE Fluid Synth | 2.2 | GPL | +| MaBitcrush | 0.1 | ISC | +| MaFreeverb | 0.1 | ISC | +| MaGigaverb | 0.1 | ISC | +| MaPitchshift | 0.1 | ISC | +| Ping Pong Pan | 2.0 | LGPL | + +### Dougal-s +| Plugin | Version | License | +|--------|---------|---------| +| Aether | 2.1 | MIT | + +### dRowAudio + +| Plugin | Version | License | +|--------|---------|---------| +| dRowAudio Tremolo | — | — | +| dRowAudio: Distortion | — | — | +| dRowAudio: Distortion Shaper | — | — | +| dRowAudio: Flanger | — | — | +| dRowAudio: Reverb | — | — | + +### Edgar Lubicz + +| Plugin | Version | License | +|--------|---------|---------| +| [SimSam](https://gitlab.com/edwillys/simsam) | 0.1 | GPL | + +### falkTX + +| Plugin | Version | License | +|--------|---------|---------| +| AirFont320 | 2.0 | LGPL | +| Audio Capture | 0.0 | AGPL-3.0 | +| Audio Gain (Mono) | 2.0 | GPLv2+ | +| Black Pearl 4A | 2.0 | LGPL | +| Black Pearl 4B | 2.0 | LGPL | +| Black Pearl 5 | 2.0 | LGPL | +| Fluid Bass | 2.0 | LGPL | +| Fluid Brass | 2.0 | LGPL | +| Fluid Chromatic Percussion | 2.0 | LGPL | +| Fluid Drums | 2.0 | LGPL | +| Fluid Ensemble | 2.0 | LGPL | +| Fluid Ethnic | 2.0 | LGPL | +| Fluid Guitars | 2.0 | LGPL | +| Fluid Organs | 2.0 | LGPL | +| Fluid Percussion | 2.0 | LGPL | +| Fluid Pianos | 2.0 | LGPL | +| Fluid Pipes | 2.0 | LGPL | +| Fluid Reeds | 2.0 | LGPL | +| Fluid SoundFX | 2.0 | LGPL | +| Fluid Strings | 2.0 | LGPL | +| Fluid SynthFX | 2.0 | LGPL | +| Fluid SynthLeads | 2.0 | LGPL | +| Fluid SynthPads | 2.0 | LGPL | +| FluidGM | 2.0 | LGPL | +| Kars | 2.1 | ISC | +| MIDI File | 150.22 | GPL-2.0 | +| Portal Sink | — | http://spdx.org/licenses/ISC.html | +| Rubberband (Mono) | 8.2 | GPL | + +### geraldmwangi + +| Plugin | Version | License | +|--------|---------|---------| +| Guitar Midi | 0.0 | LGPL | + +### Guitarix team + +| Plugin | Version | License | +|--------|---------|---------| +| Gx Studio Preamp Stereo | 28.3 | isc | +| GxAlembic | 28.3 | isc | +| GxAmplifier Stereo | 28.3 | isc | +| GxAmplifier-X | 28.3 | isc | +| GxAutoWah | 28.3 | isc | +| GxAxisFace | 34.0 | isc | +| GxBaJaTubeDriver | 35.0 | isc | +| GxBarkGraphicEQ | 28.3 | isc | +| GxBlueAmp | 35.0 | isc | +| GxBoobTube | 35.0 | isc | +| GxBooster | 28.3 | isc | +| GxBottleRocket | 34.0 | isc | +| GxCabinet | 28.3 | isc | +| GxChorus-Stereo | 28.3 | isc | +| GxClubDrive | 37.0 | isc | +| GxColorSoundTonebender | 28.3 | isc | +| GxCompressor | 28.3 | isc | +| GxCreamMachine | 34.0 | isc | +| GxCrybabyGCB95 | 28.3 | isc | +| GxDelay-Stereo | 28.3 | isc | +| GxDenoiser2 | 35.0 | isc | +| Gxdetune | 28.3 | isc | +| Gxdigital_delay | 28.3 | isc | +| Gxdigital_delay_st | 28.3 | isc | +| GxDistortionPlus | 36.0 | isc | +| GxDOP250 | 34.0 | isc | +| Gxduck_delay | 28.3 | isc | +| Gxduck_delay_st | 28.3 | isc | +| GxEcho-Stereo | 28.3 | isc | +| GxEpic | 35.0 | isc | +| GxEternity | 35.0 | isc | +| GxExpander | 28.3 | isc | +| GxFenderizer | 35.0 | isc | +| GxFlanger | 28.3 | isc | +| GxFuzz | 28.3 | isc | +| GxFuzzFaceFullerMod | 28.3 | isc | +| GxFuzzFaceJH-2 | 28.3 | isc | +| GxFuzzMaster | 28.3 | isc | +| GxFz1b | 34.0 | isc | +| GxFz1s | 34.0 | isc | +| GxGraphicEQ | 28.3 | isc | +| GxGuvnor | 28.3 | isc | +| GxHeathkit | 34.0 | isc | +| GxHighFrequencyBrightener | 28.3 | isc | +| GxHogsFoot | 28.3 | isc | +| GxHornet | 28.3 | isc | +| GxHotBox | 34.0 | isc | +| GxHyperion | 28.3 | isc | +| GxJCM800pre | 28.3 | isc | +| GxJCM800pre ST | 28.3 | isc | +| GxKnightFuzz | 34.0 | isc | +| GxLiquidDrive | 34.0 | isc | +| GxLuna | 35.0 | isc | +| GxMicroAmp | 34.0 | isc | +| GxMole | 28.3 | isc | +| GxMuff | 28.3 | isc | +| GxMultiBandCompressor | 28.3 | isc | +| GxMultiBandDelay | 28.3 | isc | +| GxMultiBandDistortion | 28.3 | isc | +| GxMultiBandEcho | 28.3 | isc | +| GxMultiBandReverb | 28.3 | isc | +| GxOC-2 | 28.3 | isc | +| GxOsMutantes | 28.3 | isc | +| GxOverDriver | 28.3 | isc | +| GxPhaser | 28.3 | isc | +| GxPlexi | 35.0 | isc | +| GxPushPull | 28.3 | isc | +| GxQuack | 34.0 | isc | +| GxRangemaster | 28.3 | isc | +| GxRedeye Vibro Chump | 28.3 | isc | +| GxReverb-Stereo | 28.3 | isc | +| Gxroom_simulator | 28.3 | isc | +| GxSaturator | 28.3 | isc | +| GxScreamingBird | 28.3 | isc | +| GxSD1 | 34.0 | isc | +| GxSD2Lead | 34.0 | isc | +| GxShakaTube | 35.0 | isc | +| Gxshimmizita | 28.3 | isc | +| GxSloopyBlue | 35.0 | isc | +| GxSlowGear | 34.0 | isc | +| GxSunFace | 34.0 | isc | +| GxSupersonic | 35.0 | isc | +| GxSuppaToneBender | 28.3 | isc | +| GxSustainer | 28.3 | isc | +| GxSVT | 34.0 | isc | +| Gxswitched_tremolo | 28.3 | isc | +| GxSwitchlessWah | 1.0 | isc | +| GxTiltTone | 28.3 | isc | +| GxTimRay | 35.0 | isc | +| GxToneMachine | 34.0 | isc | +| GxToneMender | 28.3 | isc | +| GxTremolo | 28.3 | isc | +| GxTubeDistortion | 35.0 | isc | +| GxTubeScreamer | 28.3 | isc | +| GxTubeTremelo | 28.3 | isc | +| GxTubeVibrato | 28.3 | isc | +| GxUltraCab | 35.0 | isc | +| GxUVox720k | 34.0 | isc | +| GxValveCaster | 38.1 | isc | +| GxVBassPreAmp | 34.0 | isc | +| GxVintageFuzzMaster | 28.4 | isc | +| GxVMK2 | 34.0 | isc | +| GxVoodooFuzz | 28.3 | isc | +| GxVoxTonebender | 28.3 | isc | +| GxWah | 28.3 | isc | +| GxWahwah | 28.3 | isc | +| GxZita_rev1-Stereo | 28.3 | isc | +| GxZoom | 34.0 | isc | +| XDarkTerror | 35.0 | isc | +| XTinyTerror | 35.0 | isc | + +### GuitarML + +| Plugin | Version | License | +|--------|---------|---------| +| TS-M1N3 | 2.1 | GPL-3.0 | + +### Hannes Braun + +| Plugin | Version | License | +|--------|---------|---------| +| Acceleration2 | 2.0 | MIT | +| ADClip7 | 2.0 | MIT | +| Baxandall | 2.0 | MIT | +| Capacitor | 2.0 | MIT | +| Capacitor2 | 2.0 | MIT | +| Channel8 | 2.0 | MIT | +| ClipOnly | 2.0 | MIT | +| ClipOnly2 | 2.0 | MIT | +| Console7Buss | 2.0 | MIT | +| Console7Cascade | 2.0 | MIT | +| Console7Channel | 2.0 | MIT | +| Console7Crunch | 2.0 | MIT | +| DeBess | 2.0 | MIT | +| Dyno | 2.0 | MIT | +| EdIsDim | 2.0 | MIT | +| EveryTrim | 2.0 | MIT | +| Galactic | 2.0 | MIT | +| Mackity | 2.0 | MIT | +| MidSide | 2.0 | MIT | +| Mojo | 2.0 | MIT | +| MV | 2.0 | MIT | +| Nikola | 2.0 | MIT | +| PocketVerbs | 2.0 | MIT | +| Pressure5 | 2.0 | MIT | +| Sidepass | 2.0 | MIT | +| Spiral | 2.0 | MIT | +| StarChild | 2.0 | MIT | +| Vibrato | 2.0 | MIT | + +### Hanspeter Portner +| Plugin | Version | License | +|--------|---------|---------| +| Notes | 2.0 | Artistic-2.0 | + +### Igor Brkic + +| Plugin | Version | License | +|--------|---------|---------| +| VocProc | 0.2 | GPLv2 | + +### J.Velcl@seznam.cz + +| Plugin | Version | License | +|--------|---------|---------| +| WOW | 0.0 | — | + +### Janos Buttgereit + +| Plugin | Version | License | +|--------|---------|--------- +| Schrammel OJD | 8.9 | GPL v3 | + +### Jatin Chowdhury + +| Plugin | Version | License | +|--------|---------|---------| +| ChowCentaur | 2.4 | BSD-3-Clause | + +### Jean Pierre Cimalando + +| Plugin | Version | License | +|--------|---------|---------| +| Rézonateur | 0.0 | http://spdx.org/licenses/BSL-1.0 | +| Rézonateur stereo | 0.0 | http://spdx.org/licenses/BSL-1.0 | +| String machine | 0.0 | http://spdx.org/licenses/GPL-2.0-or-later | +| String machine chorus | 0.0 | http://spdx.org/licenses/GPL-2.0-or-later | +| String machine stereo chorus | 0.0 | http://spdx.org/licenses/GPL-2.0-or-later | + +### Lkjb + +| Plugin | Version | License | +|--------|---------|---------| +| Luftikus | 1.2.1 | GPL v2 | +| ReFine | 2.1 | — | + +### LSP LV2 + +| Plugin | Version | License | +|--------|---------|---------| +| LSP IR Mono | 0.2 | LGPL | + +### Luciano Dato + +| Plugin | Version | License | +|--------|---------|---------| +| Noise repellent | — | LGPL-3.0 | + +### Martin Eastwood, falkTX + +| Plugin | Version | License | +|--------|---------|---------| +| MVerb | 2.0 | GPL v3+ | + +### Matt Tytel + +| Plugin | Version | License | +|--------|---------|---------| +| Helm | v0.9.0 | GPL v3 | + +### Mayank Sanganeria + +| Plugin | Version | License | +|--------|---------|---------| +| Granulator | 1.0 | GPL | + +### Micah John + +| Plugin | Version | License | +|--------|---------|---------| +| Amp Profiler | — | GPL v3 | + +### Michael Willis + +| Plugin | Version | License | +|--------|---------|---------| +| Dragonfly Early Reflections | 4.6 | GPL-3.0 | +| Dragonfly Plate Reverb | 4.6 | GPL-3.0 | +| Dragonfly Room Reverb | 4.6 | GPL-3.0 | + +### Michael Willis and Rob vd Berg + +| Plugin | Version | License | +|--------|---------|---------| +| Dragonfly Hall Reverb | 4.6 | GPL-3.0 | + +### Mike Oliphant + +| Plugin | Version | License | +|--------|---------|---------| +| Neural Amp Modeler | 2.0 | GPL-3-0 | + +### Milk Brewster + +| Plugin | Version | License | +|--------|---------|---------| +| MIDI Gain | — | — | + +### MOD + +| Plugin | Version | License | +|--------|---------|---------| +| Arpeggiator | 1.2 | https://spdx.org/licenses/GPL-2.0-or-later | +| Attenuverter Booster | 3.0 | GPL v2+ | +| Audio to CV | 3.0 | — | +| AudioToCV Pitch | 2.0 | http://spdx.org/licenses/GPL-3.0-or-later.html | +| Cabinet Loader | 2.0 | http://spdx.org/licenses/ISC.html | +| Control to CV | 3.0 | GPL v2+ | +| Convolution Loader | 2.0 | http://spdx.org/licenses/ISC.html | +| CV ABS | 1.0 | GPL v2+ | +| CV Clock | 3.0 | GPL v2+ | +| CV Gate | 1.0 | GPL v2+ | +| CV meter | 1.0 | GPL v2+ | +| CV Parameter Modulation | 1.0 | GPL v2+ | +| CV Range Divider | 3.0 | GPL v2+ | +| CV Round | 1.0 | GPL v2+ | +| CV Switchbox 1-2 | 1.0 | GPL v2+ | +| CV Switchbox 1-3 | 1.0 | GPL v2+ | +| CV Switchbox 2-1 | 1.0 | GPL v2+ | +| CV Switchbox 3-1 | 1.0 | GPL v2+ | +| IR loader cabsim | 1.0 | isc | +| Logic Operators | 2.0 | GPL v2+ | +| MIDI SwitchBox 1-2 2C | 2.0 | GPLv2+ | +| MIDI SwitchBox 1-3 | 2.0 | GPLv2+ | +| MIDI SwitchBox 2-1 | 2.0 | GPLv2+ | +| MIDI SwitchBox 2-1 2C | 2.0 | GPLv2+ | +| MIDI SwitchBox 3-1 | 2.0 | GPLv2+ | +| MIDI to CV Poly | 1.1 | GPL v2+ | +| Mixer | 2.0 | GPLv3.0 | +| Mixer Stereo | 2.0 | GPLv3.0 | +| Random Generator | 1.0 | GPL v2+ | +| Slew Rate Limiter | 1.0 | GPL v2+ | +| Switchbox 1-2 ST | 1.1 | GPL v2+ | +| Switchbox 2-1 | 1.1 | GPL v2+ | +| Switchbox 2-1 ST | 1.1 | GPL v2+ | +| Volume | 1.0 | GPL v2+ | +| Volume 2x2 | 1.0 | GPL v2+ | + +### MOD Devices + +| Plugin | Version | License | +|--------|---------|---------| +| Compressor | 1.1 | http://spdx.org/licenses/ISC.html | +| Compressor Advanced | 1.1 | http://spdx.org/licenses/ISC.html | +| Noise Gate | 1.1 | http://spdx.org/licenses/ISC.html | +| Noise Gate Advanced | 1.1 | http://spdx.org/licenses/ISC.html | +| Noise Maker - ME | 1.1 | — | + +### MOD Team + +| Plugin | Version | License | +|--------|---------|---------| +| 2Voices | 0.4 | GPL | +| BandPassFilter | 0.0 | GPL | +| C* AmpVTS - Tube amp + Tone stack | 9.24 | GPL | +| C* AutoFilter | 9.24 | GPL | +| C* CabinetIII - Idealised loudspeaker cabinet emulation | 9.24 | GPL | +| C* CabinetIV - Idealised loudspeaker cabinet emulation | 9.24 | GPL | +| C* CEO - Chief Executive Oscillator | 9.24 | GPL | +| C* ChorusI - Mono chorus/flanger | 9.24 | GPL | +| C* Click - Metronome | 9.24 | GPL | +| C* Compress - Mono compressor | 9.24 | GPL | +| C* CompressX2 - Stereo compressor | 9.24 | GPL | +| C* Eq10 - 10-band equalizer | 9.24 | GPL | +| C* Eq10X2 - 10-band equalizer | 9.24 | GPL | +| C* Fractal - Audio stream from deterministic chaos | 9.24 | GPL | +| C* Narrower - Stereo image width reduction | 9.24 | GPL | +| C* Noisegate - Attenuate noise resident in silence | 9.24 | GPL | +| C* PhaserII - Mono phaser modulated by a Lorenz fractal | 9.24 | GPL | +| C* Plate - Versatile plate reverb | 9.24 | GPL | +| C* PlateX2 - Stereo in/out Versatile plate reverb | 9.24 | GPL | +| C* Saturate | 9.24 | GPL | +| C* Scape - Stereo delay + Filters | 9.24 | GPL | +| C* Sin - Sine wave generator | 9.24 | GPL | +| C* Spice | 9.24 | GPL | +| C* SpiceX2 | 9.24 | GPL | +| C* ToneStack - Tone stack emulation | 9.24 | GPL | +| C* White - White noise generator | 9.24 | GPL | +| C* Wider - Stereo image Synthesis | 9.24 | GPL | +| Capo | 0.4 | GPL | +| CrossOver 2 | 1.0 | GPL | +| CrossOver 3 | 1.0 | GPL | +| Drop | 0.2 | GPL | +| DS1 | 0.0 | GPL | +| Gain | 1.0 | GPL | +| Gain 2x2 | 1.0 | GPL | +| Harmonizer | — | GPL | +| Harmonizer2 | — | GPL | +| HarmonizerCS | — | GPL | +| HighPassFilter | 0.0 | GPL | +| LowPassFilter | 0.0 | GPL | +| MDA Ambience | 0.3 | GPL | +| MDA Bandisto | 0.5 | GPL | +| MDA BeatBox | 0.2 | GPL | +| MDA Combo | 0.4 | GPL | +| MDA De-ess | 0.2 | GPL | +| MDA Degrade | 0.2 | GPL | +| MDA Delay | 0.4 | GPL | +| MDA Detune | 0.4 | GPL | +| MDA Dither | 0.2 | GPL | +| MDA DubDelay | 0.7 | GPL | +| MDA DX10 | 0.3 | GPL | +| MDA Dynamics | 0.2 | GPL | +| MDA ePiano | 0.4 | GPL | +| MDA Image | 0.3 | GPL | +| MDA JX10 | 0.2 | GPL | +| MDA Leslie | 0.3 | GPL | +| MDA Limiter | 0.2 | GPL | +| MDA Loudness | 0.1 | GPL | +| MDA MultiBand | 0.3 | GPL | +| MDA Overdrive | 0.4 | GPL | +| MDA Piano | 0.1 | GPL | +| MDA RePsycho! | 0.1 | GPL | +| MDA RezFilter | 0.1 | GPL | +| MDA RingMod | 0.2 | GPL | +| MDA RoundPan | 0.2 | GPL | +| MDA Shepard | 0.4 | GPL | +| MDA Splitter | 0.2 | GPL | +| MDA Stereo | 0.2 | GPL | +| MDA SubSynth | 0.3 | GPL | +| MDA TalkBox | 0.2 | GPL | +| MDA TestTone | 0.2 | GPL | +| MDA ThruZero | 0.3 | GPL | +| MDA Transient | 0.1 | GPL | +| MDA VocInput | 0.2 | GPL | +| MDA Vocoder | 0.4 | GPL | +| MIDI SwitchBox 1-2 | 2.0 | GPLv2+ | +| MIDI to CV mono | 3.1 | — | +| Open Big Muff | 0.0 | GPL | +| Peak To CC | 0.0 | GPLv2+ | +| SooperLooper | 0.9 | GPL | +| SooperLooper 2x2 | 0.9 | GPL | +| Super Capo | — | GPL | +| Super Whammy | — | GPL | +| Switchbox 1-2 | 1.1 | GPL | +| SwitchTrigger4 | 1.1 | GPL | +| TAP AutoPanner | 7.2 | GPL | +| TAP Chorus/Flanger | 7.2 | GPL | +| TAP DeEsser | 7.2 | GPL | +| TAP Equalizer | 7.2 | GPL | +| TAP Equalizer/BW | 7.2 | GPL | +| TAP Fractal Doubler | 7.2 | GPL | +| TAP Mono Dynamics | 7.2 | GPL | +| TAP Pink/Fractal Noise | 7.2 | GPL | +| TAP Pitch Shifter | 7.2 | GPL | +| TAP Reflector | 7.3 | GPL | +| TAP Reverberator | 7.2 | GPL | +| TAP Rotary Speaker | 7.3 | GPL | +| TAP Scaling Limiter | 7.2 | GPL | +| TAP Sigmoid Booster | 7.2 | GPL | +| TAP Stereo Dynamics | 7.2 | GPL | +| TAP Stereo Echo | 7.3 | GPL | +| TAP Tremolo | 7.3 | GPL | +| TAP Tubewarmth | 7.2 | GPL | +| TAP Vibrato | 7.2 | GPL | +| ToggleSwitch | 1.1 | GPL | + +### ndc Plugs + +| Plugin | Version | License | +|--------|---------|---------| +| Amplitude Imposer | 0.1 | MIT | +| Cycle Shifter | 0.1 | MIT | +| Soul Force | 0.1 | MIT | + +### Nedko Arnaudov + +| Plugin | Version | License | +|--------|---------|---------| +| Vocoder | — | GPL | + +### Nick Bailey +| Plugin | Version | License | +|--------|---------|---------| +| Triceratops | 0.0 | GPL-3.0 | + +### Nick Dowell + +| Plugin | Version | License | +|--------|---------|---------| +| amsynth | 1.5 | GPL | + +### OpenAV + +| Plugin | Version | License | +|--------|---------|---------| +| Bitta | 2.0 | GPL v2 | +| Filta | 2.0 | GPL | +| Sorcer | 2.0 | GPL v3 | + +### Paul Ferrand + +| Plugin | Version | License | +|--------|---------|---------| +| batteur | 1.0 | https://spdx.org/licenses/ISC | + +### Pjotr Lasschuit + +| Plugin | Version | License | +|--------|---------|---------| +| [Freakclip](https://github.com/pjotrompet) | 1.2 | GPL | +| [Freaktail](https://github.com/pjotrompet) | 1.0 | GPL | +| [Prefreak](https://github.com/pjotrompet) | 0.1 | GPL | + +### Plainweave Software + +| Plugin | Version | License | +|--------|---------|---------| +| JuceOPL | 2.0 | — | + +### Rakarrack Team + +| Plugin | Version | License | +|--------|---------|---------| +| rkr AlienWah | 0.0 | GPL v2 | +| rkr Analog Phaser | 0.0 | GPL v2 | +| rkr Arpie | 0.0 | GPL v2 | +| rkr Cabinet | 0.0 | GPL v2 | +| rkr Coil Crafter | 0.0 | GPL v2 | +| rkr CompBand | 0.0 | GPL v2 | +| rkr Compressor | 0.0 | GPL v2 | +| rkr Derelict | 0.0 | GPL v2 | +| rkr Distortion | 0.0 | GPL v2 | +| rkr DistBand | 0.0 | GPL v2 | +| rkr Dual Flange | 0.0 | GPL v2 | +| rkr EQ | 0.0 | GPL v2 | +| rkr Echo | 0.0 | GPL v2 | +| rkr Echotron | 0.0 | GPL v2 | +| rkr Echoverse | 0.0 | GPL v2 | +| rkr Exciter | 0.0 | GPL v2 | +| rkr Expander | 0.0 | GPL v2 | +| rkr Flanger/Chorus | 0.0 | GPL v2 | +| rkr Harmonizer (no midi) | 0.0 | GPL v2 | +| rkr Infinity | 0.0 | GPL v2 | +| rkr MuTroMojo | 0.0 | GPL v2 | +| rkr Musical Delay | 0.0 | GPL v2 | +| rkr OpticalTrem | 0.0 | GPL v2 | +| rkr Parametric EQ | 0.0 | GPL v2 | +| rkr Reverb | 0.0 | GPL v2 | +| rkr Shelf Boost | 0.0 | GPL v2 | +| rkr Shuffle | 0.0 | GPL v2 | +| rkr StereoHarmonizer (no midi) | 0.0 | GPL v2 | +| rkr StompBox | 0.0 | GPL v2 | +| rkr Sustainer | 0.0 | GPL v2 | +| rkr Synthfilter | 0.0 | GPL v2 | +| rkr Valve | 0.0 | GPL v2 | +| rkr VaryBand | 0.0 | GPL v2 | +| rkr Vibe | 0.0 | GPL v2 | +| rkr Vocoder | 0.0 | GPL v2 | +| rkr WahWah | 0.0 | GPL v2 | + +### remaincalm.org + +| Plugin | Version | License | +|--------|---------|---------| +| avocado | 2.0 | LGPL3 | +| floaty | 2.0 | LGPL3 | +| mud | 2.0 | LGPL3 | +| paranoia | 2.0 | LGPL3 | + +### Resonant DSP + +| Plugin | Version | License | +|--------|---------|---------| +| Swanky Amp | 2.4 | — | + +### Robin Gareus + +| Plugin | Version | License | +|--------|---------|---------| +| Instrument Tuner | 0.0 | GPL | +| Level Meter | 0.0 | GPL | +| MIDI Chord | 1033.31 | GPL | +| MIDI Clock Generator | 0.0 | GPL | +| MIDI Generator | 512.0 | GPL | +| MIDI Step Sequencer16x8 | 777.5 | GPL | +| MIDI Step Sequencer32x8 | 777.5 | GPL | +| MIDI Step Sequencer8x16 | 777.5 | GPL | +| MIDI Step Sequencer8x4 | 777.5 | GPL | +| MIDI Step Sequencer8x8 | 777.5 | GPL | +| MIDI Timecode (MTC) Generator | 0.0 | GPL | +| No Delay Line | 514.0 | GPL | +| setBfree DSP Tonewheel Organ | 2058.0 | GPL | +| setBfree Organ Overdrive | 2058.0 | GPL | +| setBfree Organ Reverb | 2058.0 | GPL | +| setBfree Whirl Speaker | 2058.0 | GPL | +| setBfree Whirl Speaker (Old version) | 2058.0 | GPL | +| setBfree Whirl Speaker - Extended Version | 2058.0 | GPL | +| Spectrum Analyzer | 517.21 | GPL | +| Stereo Balance Control | 1538.0 | GPL | +| Stereo X-Fade | 516.0 | GPL | +| TinyGain Mono | 770.0 | GPL | +| x42-Autotune | 2049.11 | GPL | +| x42-eq - Parametric Equalizer Mono | 1.1 | GPL | + +### Sean Bolton, falkTX + +| Plugin | Version | License | +|--------|---------|---------| +| Nekobi | 2.1 | GPL v2+ | + +### sensorium + +| Plugin | Version | License | +|--------|---------|---------| +| TheCloud | 0.1 | GPL3 | + +### SHIRO + +| Plugin | Version | License | +|--------|---------|---------| +| Harmless | 2.0 | ISC | +| Larynx | 2.0 | ISC | +| Modulay | 2.0 | ISC | +| Pitchotto | 2.0 | ISC | +| Shiroverb | 2.0 | ISC | + +### Spencer Jackson + +| Plugin | Version | License | +|--------|---------|---------| +| the infamous bent delay | 0.1 | GPL-2.0 | +| the infamous ewham | 0.1 | GPL-2.0 | +| the infamous Hip2B | 0.1 | GPL-2.0 | +| the infamous mindi | 0.1 | GPL-2.0 | +| the infamous power cut | 0.1 | GPL-2.0 | +| the infamous stuck | 0.1 | GPL-2.0 | + +### Steve Harris + +| Plugin | Version | License | +|--------|---------|---------| +| AM pitchshifter | — | GPL | +| Bode frequency shifter | — | GPL | +| Comb delay line, noninterpolating | — | GPL | +| Crossover distortion | — | GPL | +| Decimator | — | GPL | +| Gate | — | GPL | +| Glame Bandpass Analog Filter | — | GPL | +| Glame Bandpass Filter | — | GPL | +| GLAME Butterworth Lowpass | — | GPL | +| GVerb | — | GPL | +| Karaoke | — | GPL | +| Multivoice Chorus | — | GPL | +| Reverse Delay | — | GPL | +| Ringmod with LFO | — | GPL | +| SC1 | — | GPL | +| State Variable Filter | — | GPL | +| Tape Delay Simulation | — | GPL | +| Valve saturation | — | GPL | + +### TAL + +| Plugin | Version | License | +|--------|---------|---------| +| TAL-Reverb-II | — | — | + +### TAL-Togu Audio Line + +| Plugin | Version | License | +|--------|---------|---------| +| Tal-Dub-3 | — | — | +| Tal-Filter | — | — | +| Tal-Filter-2 | — | — | +| Tal-Reverb | — | — | +| Tal-Reverb-III | — | — | +| Tal-Vocoder-II | — | — | + +### tumbetoene + +| Plugin | Version | License | +|--------|---------|---------| +| Wolpertinger | 33.0 | — | + +### VeJa plugins + +| Plugin | Version | License | +|--------|---------|---------| +| Bass Cabinets | 1.0 | — | + +### VeJa Plugins + +| Plugin | Version | License | +|--------|---------|---------| +| British 1960A | 1.0 | — | +| Cabinet | 1.1 | — | +| Compressor | 1.1 | — | + +### Vitling + +| Plugin | Version | License | +|--------|---------|---------| +| Crypt | 0.3 | GPL v3 | + +### ZynAddSubFX Team + +| Plugin | Version | License | +|--------|---------|---------| +| ZynAddSubFX | 7.6 | GPL v2 | +| ZynAlienWah | 7.0 | GPL v2 | +| ZynChorus | 7.0 | GPL v2 | +| ZynDistortion | 7.0 | GPL v2 | +| ZynDynamicFilter | 7.0 | GPL v2 | +| ZynEcho | 7.0 | GPL v2 | +| ZynPhaser | 7.0 | GPL v2 | +| ZynReverb | 7.0 | GPL v2 | + +### Unknown / Unattributed +| Plugin | Version | License | +|--------|---------|---------| +| Analogue Oscillator | — | GPL | +| Delayorama | — | GPL | +| DIE Compressor | 2.2 | GPL | +| DIE Delay | 4.2 | GPL v2+ | +| DIE EQ | 2.2 | GPL v2+ | +| DIE Expander | 2.2 | GPL | +| DIE Reverb | 2.4 | GPL | +| Loopor | — | isc | +| MIDI display | 1.0 | GPLv3+ | + +--- \ No newline at end of file diff --git a/analyze_layout.sh b/analyze_layout.sh index fab0733aa..fae692fff 100755 --- a/analyze_layout.sh +++ b/analyze_layout.sh @@ -1,4 +1,22 @@ #!/usr/bin/env sh + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Run the layout analyser (build_layout_compress). # Requires MOD Desktop running locally at http://127.0.0.1:18181: bundles are # parsed by its /pedalboard/info, and plugin audio-port ordering resolved there. diff --git a/blend/__init__.py b/blend/__init__.py index c49247db1..2ed494902 100644 --- a/blend/__init__.py +++ b/blend/__init__.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """ diff --git a/blend/easing.py b/blend/easing.py index f16273fb0..9c69a77c9 100644 --- a/blend/easing.py +++ b/blend/easing.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Easing functions that shape knob feel for blend mode.""" diff --git a/blend/input_controller.py b/blend/input_controller.py index 2777a4d5c..edae5b8b3 100644 --- a/blend/input_controller.py +++ b/blend/input_controller.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/blend/manager.py b/blend/manager.py index e587209f0..38e8a9d1e 100644 --- a/blend/manager.py +++ b/blend/manager.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """BlendMode coordinator: lifecycle, diff-map pre-computation, input wiring.""" diff --git a/blend/parameter_setter.py b/blend/parameter_setter.py index 1e849305b..32171e6ee 100644 --- a/blend/parameter_setter.py +++ b/blend/parameter_setter.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """WebSocket-based parameter setting for blend mode with MIDI de-duplication.""" diff --git a/blend/snapshot.py b/blend/snapshot.py index 775b9ee9d..82f56fd56 100644 --- a/blend/snapshot.py +++ b/blend/snapshot.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Snapshot file operations for blend mode.""" diff --git a/blend/stop.py b/blend/stop.py index 249ec86f3..16dbc74a0 100644 --- a/blend/stop.py +++ b/blend/stop.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """BlendStop dataclass and segment diff-map builder.""" diff --git a/blend/types.py b/blend/types.py index ea1cebff9..5d9eea5b6 100644 --- a/blend/types.py +++ b/blend/types.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Type definitions for blend mode.""" diff --git a/common/color.py b/common/color.py index 08b5b3869..56e145d87 100644 --- a/common/color.py +++ b/common/color.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Color types shared across the codebase.""" from __future__ import annotations diff --git a/common/contexts.py b/common/contexts.py index 9cd47b110..547a3c3cf 100644 --- a/common/contexts.py +++ b/common/contexts.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """What a control does is declared data, not per-panel `if` chains: a diff --git a/common/param_roles.py b/common/param_roles.py index b67853ff5..2421ec920 100644 --- a/common/param_roles.py +++ b/common/param_roles.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Parameter role classification: a per-symbol tag supplementing the LV2 diff --git a/common/param_source.py b/common/param_source.py index bf7d20c54..2d7e53cde 100644 --- a/common/param_source.py +++ b/common/param_source.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Reactive param-source protocol — the seam a `PluginPanel` core depends on. diff --git a/common/parameter.py b/common/parameter.py index cada97bbf..531a1497e 100644 --- a/common/parameter.py +++ b/common/parameter.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/common/parameter_steps.py b/common/parameter_steps.py index dd890ec79..085e835b8 100644 --- a/common/parameter_steps.py +++ b/common/parameter_steps.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Quantized step grid for encoder-driven parameter edits. diff --git a/common/token.py b/common/token.py index 78ac212e7..78d1b6608 100755 --- a/common/token.py +++ b/common/token.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . ACTION = 'action' diff --git a/common/util.py b/common/util.py index aaafa1a38..06a6fb660 100755 --- a/common/util.py +++ b/common/util.py @@ -1,19 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . - import math from typing import Any diff --git a/deploy.sh b/deploy.sh index de83293a8..b3a970c38 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,4 +1,22 @@ #!/usr/bin/env bash + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Deploy pi-stomp source to the device via rsync and restart the service. # Override PISTOMP_HOST / PISTOMP_USER if your device differs from the default. set -euo pipefail diff --git a/emulator/__init__.py b/emulator/__init__.py index 85b3884ba..dbdf109a8 100644 --- a/emulator/__init__.py +++ b/emulator/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from pathlib import Path from PIL import ImageFont diff --git a/emulator/bootstrap.py b/emulator/bootstrap.py index c1c299f3b..f6899f0b6 100644 --- a/emulator/bootstrap.py +++ b/emulator/bootstrap.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/emulator/controls.py b/emulator/controls.py index ad23782ab..90a38abfb 100644 --- a/emulator/controls.py +++ b/emulator/controls.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Software-only stand-ins for the physical controls on pi-Stomp. diff --git a/emulator/gfxhat_adapters.py b/emulator/gfxhat_adapters.py index 6c126b681..e9a15aa9a 100644 --- a/emulator/gfxhat_adapters.py +++ b/emulator/gfxhat_adapters.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Software stubs for the three gfxhat modules (lcd, backlight, touch). diff --git a/emulator/hardware_base.py b/emulator/hardware_base.py index a23485705..5d7ed78ae 100644 --- a/emulator/hardware_base.py +++ b/emulator/hardware_base.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Shared base for all emulator Hardware subclasses. diff --git a/emulator/hardware_v2.py b/emulator/hardware_v2.py index 06a408511..09cd3e9cd 100644 --- a/emulator/hardware_v2.py +++ b/emulator/hardware_v2.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """EmulatorHardwareV2 — software-only Hardware subclass for the v2 emulator. diff --git a/emulator/hardware_v3.py b/emulator/hardware_v3.py index d352dce72..f94eec656 100644 --- a/emulator/hardware_v3.py +++ b/emulator/hardware_v3.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """EmulatorHardwareV3 — software-only Hardware subclass for the v3 emulator. diff --git a/emulator/lcd_pygame.py b/emulator/lcd_pygame.py index 02231e113..8d43c8753 100644 --- a/emulator/lcd_pygame.py +++ b/emulator/lcd_pygame.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import queue diff --git a/emulator/modhandler.py b/emulator/modhandler.py index eb70e2340..e66b55334 100644 --- a/emulator/modhandler.py +++ b/emulator/modhandler.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """EmulatorModhandler — Modhandler subclass for the v2/v3 emulator. diff --git a/emulator/stubs.py b/emulator/stubs.py index ec1db5f86..c31faf395 100644 --- a/emulator/stubs.py +++ b/emulator/stubs.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Hardware and system stubs shared across all emulator versions. diff --git a/emulator/window.py b/emulator/window.py index 3122bad49..e823e2eb9 100644 --- a/emulator/window.py +++ b/emulator/window.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """EmulatorWindow — pygame window that shows the 320×240 LCD (2× scaled) diff --git a/modalapi/archive.py b/modalapi/archive.py index 7aea9867f..ddb4af2ed 100644 --- a/modalapi/archive.py +++ b/modalapi/archive.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Backup/restore archiving on a worker thread, with progress the UI can poll. diff --git a/modalapi/connections.py b/modalapi/connections.py index e77e37c6b..9fa1694ce 100644 --- a/modalapi/connections.py +++ b/modalapi/connections.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Connection domain model for parsed pedalboard graphs. Pure logic, so it stays unit-testable. What feeds `build_connection` — mod-ui's diff --git a/modalapi/ethernet/__init__.py b/modalapi/ethernet/__init__.py index e1fa5c9bc..a1b6f8b3c 100644 --- a/modalapi/ethernet/__init__.py +++ b/modalapi/ethernet/__init__.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from .manager import EthernetManager diff --git a/modalapi/ethernet/manager.py b/modalapi/ethernet/manager.py index eaa3751f1..f4e59cdc2 100644 --- a/modalapi/ethernet/manager.py +++ b/modalapi/ethernet/manager.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/modalapi/external_midi.py b/modalapi/external_midi.py index 70a3c08b0..18e830354 100644 --- a/modalapi/external_midi.py +++ b/modalapi/external_midi.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/modalapi/jack_mute.py b/modalapi/jack_mute.py index d6303f0cc..fadeb9641 100644 --- a/modalapi/jack_mute.py +++ b/modalapi/jack_mute.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """ diff --git a/modalapi/layout.py b/modalapi/layout.py index ec9383031..f213aa39b 100644 --- a/modalapi/layout.py +++ b/modalapi/layout.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Layout pipeline for the routing-aware pedalboard grid. Takes a flat list of plugins + parsed Connections (from modalapi.pedalboard) diff --git a/modalapi/modhandler.py b/modalapi/modhandler.py index dfaf824bb..979ba0bac 100755 --- a/modalapi/modhandler.py +++ b/modalapi/modhandler.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from pistomp.handler import Handler diff --git a/modalapi/parameter.py b/modalapi/parameter.py index 0a7d81613..5e43617ba 100644 --- a/modalapi/parameter.py +++ b/modalapi/parameter.py @@ -1,2 +1,19 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Re-export from common.parameter for backward compatibility after rename. from common.parameter import * # noqa: F401, F403 diff --git a/modalapi/pedalboard.py b/modalapi/pedalboard.py index 3963f5d7d..f4de76aa5 100755 --- a/modalapi/pedalboard.py +++ b/modalapi/pedalboard.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import json diff --git a/modalapi/pedalboard_monitor.py b/modalapi/pedalboard_monitor.py index 8d4d72202..242d0e7dd 100644 --- a/modalapi/pedalboard_monitor.py +++ b/modalapi/pedalboard_monitor.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """ diff --git a/modalapi/plugin.py b/modalapi/plugin.py index f9bc69d90..5c55f587e 100755 --- a/modalapi/plugin.py +++ b/modalapi/plugin.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero General Public License for more details. # -# You should have not received a copy of the GNU General Public License +# You should have received a copy of the GNU Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/modalapi/plugin_customization.py b/modalapi/plugin_customization.py index 26eb7a0aa..e7640b3a7 100644 --- a/modalapi/plugin_customization.py +++ b/modalapi/plugin_customization.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Per-plugin-type customization type. The registry lives in `plugins.customization`.""" from __future__ import annotations diff --git a/modalapi/sync.py b/modalapi/sync.py index d71f0bf94..499da550b 100644 --- a/modalapi/sync.py +++ b/modalapi/sync.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Ableton Link / MIDI clock sync source — the device-side counterpart to diff --git a/modalapi/version_check.py b/modalapi/version_check.py index 56b86c853..909738abb 100644 --- a/modalapi/version_check.py +++ b/modalapi/version_check.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/modalapi/websocket_bridge.py b/modalapi/websocket_bridge.py index d7cdbe8e3..45de1c348 100644 --- a/modalapi/websocket_bridge.py +++ b/modalapi/websocket_bridge.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """ diff --git a/modalapi/wifi/__init__.py b/modalapi/wifi/__init__.py index fe5a0e2c7..cdc0f0544 100644 --- a/modalapi/wifi/__init__.py +++ b/modalapi/wifi/__init__.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from .commands import ( diff --git a/modalapi/wifi/commands.py b/modalapi/wifi/commands.py index ae5547821..0abe37e5e 100644 --- a/modalapi/wifi/commands.py +++ b/modalapi/wifi/commands.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/modalapi/wifi/manager.py b/modalapi/wifi/manager.py index 5b56becbf..46ce2b98c 100644 --- a/modalapi/wifi/manager.py +++ b/modalapi/wifi/manager.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/modalapi/wifi/nmcli.py b/modalapi/wifi/nmcli.py index 0dbdf2224..d067cafbe 100644 --- a/modalapi/wifi/nmcli.py +++ b/modalapi/wifi/nmcli.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import subprocess diff --git a/modalapi/wifi/ops.py b/modalapi/wifi/ops.py index 73225ae9f..7f98c4e5f 100644 --- a/modalapi/wifi/ops.py +++ b/modalapi/wifi/ops.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/modalapi/wifi/types.py b/modalapi/wifi/types.py index 1dac016a6..61b7407ee 100644 --- a/modalapi/wifi/types.py +++ b/modalapi/wifi/types.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from enum import Enum diff --git a/modalapi/ws_protocol.py b/modalapi/ws_protocol.py index b0aa97295..358bc0ace 100644 --- a/modalapi/ws_protocol.py +++ b/modalapi/ws_protocol.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """ diff --git a/modalapistomp.py b/modalapistomp.py index 70f40132d..7b704d2fc 100755 --- a/modalapistomp.py +++ b/modalapistomp.py @@ -1,18 +1,20 @@ #!/usr/bin/env python3 +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . # Configure logging BEFORE any imports to ensure it takes effect diff --git a/pistomp/adcswitch.py b/pistomp/adcswitch.py index 4439a79a9..a5617b5c6 100755 --- a/pistomp/adcswitch.py +++ b/pistomp/adcswitch.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from typing_extensions import override diff --git a/pistomp/alsa_pcm.py b/pistomp/alsa_pcm.py index 2d05c14ed..497aea646 100644 --- a/pistomp/alsa_pcm.py +++ b/pistomp/alsa_pcm.py @@ -1,19 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . - def read_hw_params(card_index: int = 0) -> dict[str, str]: """Parsed hw_params for a card's playback PCM; empty dict if unreadable. diff --git a/pistomp/analogVU.py b/pistomp/analogVU.py index 8867ef2c0..cd5730c38 100755 --- a/pistomp/analogVU.py +++ b/pistomp/analogVU.py @@ -1,19 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . - import pistomp.analogcontrol as AnalogControl import logging diff --git a/pistomp/analogcontrol.py b/pistomp/analogcontrol.py index c5f853a81..718b92de4 100755 --- a/pistomp/analogcontrol.py +++ b/pistomp/analogcontrol.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/analogmidicontrol.py b/pistomp/analogmidicontrol.py index be6868d7b..feb0d3044 100755 --- a/pistomp/analogmidicontrol.py +++ b/pistomp/analogmidicontrol.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from typing import Any diff --git a/pistomp/audiocard.py b/pistomp/audiocard.py index d8a114213..8f8ff7430 100755 --- a/pistomp/audiocard.py +++ b/pistomp/audiocard.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/audiocardfactory.py b/pistomp/audiocardfactory.py index 04f1ca9ab..9cf9b0d63 100644 --- a/pistomp/audiocardfactory.py +++ b/pistomp/audiocardfactory.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import pistomp.audioinjector diff --git a/pistomp/audioinjector.py b/pistomp/audioinjector.py index add6ac07b..429c1ea87 100755 --- a/pistomp/audioinjector.py +++ b/pistomp/audioinjector.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import os diff --git a/pistomp/compmeter/__init__.py b/pistomp/compmeter/__init__.py index c6d902ace..3226b69dd 100644 --- a/pistomp/compmeter/__init__.py +++ b/pistomp/compmeter/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Live compressor gain-reduction meter, backed by a JACK subprocess. A ``GrMeterClient`` spawns ``python -m pistomp.compmeter``, which opens a JACK diff --git a/pistomp/compmeter/__main__.py b/pistomp/compmeter/__main__.py index febd9e865..e21e882fd 100644 --- a/pistomp/compmeter/__main__.py +++ b/pistomp/compmeter/__main__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Compressor GR-meter subprocess entry point. Usage: python -m pistomp.compmeter diff --git a/pistomp/compmeter/client.py b/pistomp/compmeter/client.py index 975f356c3..e0d1cb62c 100644 --- a/pistomp/compmeter/client.py +++ b/pistomp/compmeter/client.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """GrMeterClient: spawns the compmeter subprocess, reads GR telemetry from SHM.""" from __future__ import annotations diff --git a/pistomp/compmeter/engine.py b/pistomp/compmeter/engine.py index 0dd2ffb48..3c3ddea6b 100644 --- a/pistomp/compmeter/engine.py +++ b/pistomp/compmeter/engine.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """GR-meter DSP: envelope-follow the in/out blocks and derive gain reduction.""" from __future__ import annotations diff --git a/pistomp/compmeter/source.py b/pistomp/compmeter/source.py index 62929b665..b9375f662 100644 --- a/pistomp/compmeter/source.py +++ b/pistomp/compmeter/source.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Audio sources for the compressor GR meter. A source delivers paired (input, output) sample blocks — the compressor's dry diff --git a/pistomp/config.py b/pistomp/config.py index a3da22772..10115d268 100644 --- a/pistomp/config.py +++ b/pistomp/config.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/controller.py b/pistomp/controller.py index 05c62bb69..58c9a5ee4 100755 --- a/pistomp/controller.py +++ b/pistomp/controller.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/pistomp/controller_manager.py b/pistomp/controller_manager.py index 0a50f0c58..78f6c45ed 100644 --- a/pistomp/controller_manager.py +++ b/pistomp/controller_manager.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/pistomp/current.py b/pistomp/current.py index dd448e16c..2b16c4984 100644 --- a/pistomp/current.py +++ b/pistomp/current.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/pistomp/encoder.py b/pistomp/encoder.py index 076d02ffa..c4da6650b 100755 --- a/pistomp/encoder.py +++ b/pistomp/encoder.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/pistomp/encoder_controller.py b/pistomp/encoder_controller.py index b30275624..5b3b25531 100644 --- a/pistomp/encoder_controller.py +++ b/pistomp/encoder_controller.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/pistomp/footswitch.py b/pistomp/footswitch.py index bb0a1972c..d4b31c25e 100755 --- a/pistomp/footswitch.py +++ b/pistomp/footswitch.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/footswitch_chords.py b/pistomp/footswitch_chords.py index 7d4897022..9bac4bdc8 100644 --- a/pistomp/footswitch_chords.py +++ b/pistomp/footswitch_chords.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Instance-scoped footswitch longpress/chord resolver. diff --git a/pistomp/gpioswitch.py b/pistomp/gpioswitch.py index 0a8f2694b..d6e5838e0 100755 --- a/pistomp/gpioswitch.py +++ b/pistomp/gpioswitch.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/handler.py b/pistomp/handler.py index 546c8a68b..d3e2e2bf5 100755 --- a/pistomp/handler.py +++ b/pistomp/handler.py @@ -1,19 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . - from __future__ import annotations import logging diff --git a/pistomp/handlerfactory.py b/pistomp/handlerfactory.py index 4480b7e11..855f6fe17 100644 --- a/pistomp/handlerfactory.py +++ b/pistomp/handlerfactory.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import common.token as Token diff --git a/pistomp/hardware.py b/pistomp/hardware.py index fdab9c3a5..b5af25d73 100755 --- a/pistomp/hardware.py +++ b/pistomp/hardware.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/hardwarefactory.py b/pistomp/hardwarefactory.py index bf8ba3b76..3f22c4611 100644 --- a/pistomp/hardwarefactory.py +++ b/pistomp/hardwarefactory.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import common.token as Token diff --git a/pistomp/hifiberry.py b/pistomp/hifiberry.py index 33cf9ed52..e805b5bd5 100755 --- a/pistomp/hifiberry.py +++ b/pistomp/hifiberry.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import os diff --git a/pistomp/httpclient.py b/pistomp/httpclient.py index d9ca8069b..e0144e7f3 100644 --- a/pistomp/httpclient.py +++ b/pistomp/httpclient.py @@ -1,4 +1,20 @@ -# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Minimal stdlib HTTP client for the mod-ui REST calls. Replaces `requests`, whose import pulls in chardet's language models and costs diff --git a/pistomp/input/__init__.py b/pistomp/input/__init__.py index e69de29bb..c9f1cbd27 100644 --- a/pistomp/input/__init__.py +++ b/pistomp/input/__init__.py @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . diff --git a/pistomp/input/analog_connection.py b/pistomp/input/analog_connection.py index 3ad8d7a64..02a3b6177 100644 --- a/pistomp/input/analog_connection.py +++ b/pistomp/input/analog_connection.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp 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 Software Foundation, either version 3 of the License, or +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Analog input connection monitor — detects disconnected/floating ADC pins. diff --git a/pistomp/input/dispatch.py b/pistomp/input/dispatch.py index e04e03d79..79e60087d 100644 --- a/pistomp/input/dispatch.py +++ b/pistomp/input/dispatch.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Panel-local binding resolution and effect firing — see "Where a panel diff --git a/pistomp/input/event.py b/pistomp/input/event.py index c12f3f726..4a946bedf 100644 --- a/pistomp/input/event.py +++ b/pistomp/input/event.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Event dataclasses dispatched into InputSinks. See input/README.md.""" diff --git a/pistomp/input/sink.py b/pistomp/input/sink.py index c9eb2bedb..851254e3f 100644 --- a/pistomp/input/sink.py +++ b/pistomp/input/sink.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """InputSink protocol. See input/README.md. diff --git a/pistomp/iqaudiocodec.py b/pistomp/iqaudiocodec.py index 14262f8c3..414a58595 100755 --- a/pistomp/iqaudiocodec.py +++ b/pistomp/iqaudiocodec.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import os diff --git a/pistomp/lcd320x240.py b/pistomp/lcd320x240.py index 5f0713466..0e69d2976 100644 --- a/pistomp/lcd320x240.py +++ b/pistomp/lcd320x240.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import functools diff --git a/pistomp/ledstrip.py b/pistomp/ledstrip.py index f0652df17..cd9f65f70 100644 --- a/pistomp/ledstrip.py +++ b/pistomp/ledstrip.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/nam/__init__.py b/pistomp/nam/__init__.py index 16fef5ee6..311e6b146 100644 --- a/pistomp/nam/__init__.py +++ b/pistomp/nam/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from pistomp.nam.engine import CaptureState, NamCaptureEngine from pistomp.nam.panel import NamCapturePanel diff --git a/pistomp/nam/__main__.py b/pistomp/nam/__main__.py index 5b344547a..8693f1686 100644 --- a/pistomp/nam/__main__.py +++ b/pistomp/nam/__main__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """NAM capture subprocess entry point. Usage: python -m pistomp.nam diff --git a/pistomp/nam/capture_session.py b/pistomp/nam/capture_session.py index 3f454ccc2..c9e3fa0da 100644 --- a/pistomp/nam/capture_session.py +++ b/pistomp/nam/capture_session.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """JACK client that plays a WAV out the FX send while recording the FX return in the same RT callback.""" from __future__ import annotations diff --git a/pistomp/nam/client.py b/pistomp/nam/client.py index c08ac4184..5a85fbc37 100644 --- a/pistomp/nam/client.py +++ b/pistomp/nam/client.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """NamCaptureClient: spawns pistomp.nam subprocess, reads level data from shared memory.""" from __future__ import annotations diff --git a/pistomp/nam/engine.py b/pistomp/nam/engine.py index b41014506..03023c1b8 100644 --- a/pistomp/nam/engine.py +++ b/pistomp/nam/engine.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations import logging diff --git a/pistomp/nam/panel.py b/pistomp/nam/panel.py index 8cadb0ebe..f8de576a9 100644 --- a/pistomp/nam/panel.py +++ b/pistomp/nam/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Full-screen LCD panel for the NAM Capture pedalboard marker. Two distinct layouts: diff --git a/pistomp/nam/routing.py b/pistomp/nam/routing.py index 971661bb5..02e6cbd30 100644 --- a/pistomp/nam/routing.py +++ b/pistomp/nam/routing.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Save and restore JACK connections on the FX-loop ports. When a NAM capture starts, we snapshot the existing connections on diff --git a/pistomp/nam/wavio.py b/pistomp/nam/wavio.py index 4ca490603..7ba1fb900 100644 --- a/pistomp/nam/wavio.py +++ b/pistomp/nam/wavio.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Read a 24-bit / 48 kHz / mono WAV file into a float32 numpy array. The NAM reamp file (T3K-sweep-v3.wav) is 24-bit mono 48 kHz. stdlib `wave` has no diff --git a/pistomp/pistompcore.py b/pistomp/pistompcore.py index e5d0d3bb4..d1e6f1f2f 100755 --- a/pistomp/pistompcore.py +++ b/pistomp/pistompcore.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . # This subclass defines hardware specific to pi-Stomp Core diff --git a/pistomp/pistomptre.py b/pistomp/pistomptre.py index ad6fc2ba1..4f97328a9 100755 --- a/pistomp/pistomptre.py +++ b/pistomp/pistomptre.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/process_client.py b/pistomp/process_client.py index c81bd00cc..5c9b1e141 100644 --- a/pistomp/process_client.py +++ b/pistomp/process_client.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Base class for pi-stomp audio subprocess clients. Manages a single Python subprocess (-m module) backed by shared memory for diff --git a/pistomp/relay.py b/pistomp/relay.py index 5099e44cd..ba52fa9c0 100755 --- a/pistomp/relay.py +++ b/pistomp/relay.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import logging diff --git a/pistomp/settings.py b/pistomp/settings.py index f0aab4eab..b2a4dc9c4 100644 --- a/pistomp/settings.py +++ b/pistomp/settings.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import os diff --git a/pistomp/switchstate.py b/pistomp/switchstate.py index 5e1f22624..215af758e 100755 --- a/pistomp/switchstate.py +++ b/pistomp/switchstate.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from enum import Enum diff --git a/pistomp/taptempo.py b/pistomp/taptempo.py index 69c80fd06..2cbc89493 100755 --- a/pistomp/taptempo.py +++ b/pistomp/taptempo.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from collections import deque diff --git a/pistomp/tool.py b/pistomp/tool.py index fbc7a84b2..741197cd0 100755 --- a/pistomp/tool.py +++ b/pistomp/tool.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from PIL import Image diff --git a/pistomp/tuner/__init__.py b/pistomp/tuner/__init__.py index 671d7e737..e97b70f8b 100644 --- a/pistomp/tuner/__init__.py +++ b/pistomp/tuner/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from pistomp.tuner.client import TunerClient from pistomp.tuner.engine import Note, TunerBackend, TunerEngine, TunerReading from pistomp.tuner.source import AudioSource, TunerSourceFactory, build_source, ToneSweepSource diff --git a/pistomp/tuner/__main__.py b/pistomp/tuner/__main__.py index 9f232d0e9..7a7e6e338 100644 --- a/pistomp/tuner/__main__.py +++ b/pistomp/tuner/__main__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Tuner subprocess entry point. Usage: python -m pistomp.tuner diff --git a/pistomp/tuner/client.py b/pistomp/tuner/client.py index 1ae376ab9..d6cb66e78 100644 --- a/pistomp/tuner/client.py +++ b/pistomp/tuner/client.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """TunerClient: spawns pistomp.tuner subprocess, reads pitch data from shared memory.""" from __future__ import annotations diff --git a/pistomp/tuner/engine.py b/pistomp/tuner/engine.py index 5441901b6..77f61df94 100644 --- a/pistomp/tuner/engine.py +++ b/pistomp/tuner/engine.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + import logging import math import threading diff --git a/pistomp/tuner/panel.py b/pistomp/tuner/panel.py index 71aca7ce9..3f4e7d6bb 100644 --- a/pistomp/tuner/panel.py +++ b/pistomp/tuner/panel.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import statistics diff --git a/pistomp/tuner/ringbuffer.py b/pistomp/tuner/ringbuffer.py index 9d0b7a4d7..d75843f2d 100644 --- a/pistomp/tuner/ringbuffer.py +++ b/pistomp/tuner/ringbuffer.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + import numpy as np import numpy.typing as npt diff --git a/pistomp/tuner/source.py b/pistomp/tuner/source.py index 202edb0c6..de8e0b544 100644 --- a/pistomp/tuner/source.py +++ b/pistomp/tuner/source.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + import math import threading import time diff --git a/pistomp/tuner/yin.py b/pistomp/tuner/yin.py index 4ea727ac7..32f5ac884 100644 --- a/pistomp/tuner/yin.py +++ b/pistomp/tuner/yin.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from dataclasses import dataclass import numpy as np diff --git a/plugins/__init__.py b/plugins/__init__.py index a029de41a..afdac63e7 100644 --- a/plugins/__init__.py +++ b/plugins/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Plugin panel registry and customization system. Each panel implementation registers itself against the LV2 URIs it handles. diff --git a/plugins/acomp/__init__.py b/plugins/acomp/__init__.py index f364df5f6..5339aacc2 100644 --- a/plugins/acomp/__init__.py +++ b/plugins/acomp/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """DISTRHO a-comp compressor: full-screen panel with a live gain-reduction meter.""" from __future__ import annotations diff --git a/plugins/acomp/panel.py b/plugins/acomp/panel.py index 3981787d5..ca71ac37c 100644 --- a/plugins/acomp/panel.py +++ b/plugins/acomp/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/advanced_compressor/__init__.py b/plugins/advanced_compressor/__init__.py index 16b894ff1..3db410ff9 100644 --- a/plugins/advanced_compressor/__init__.py +++ b/plugins/advanced_compressor/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Advanced Compressor: full-screen panel with live GR meter.""" from __future__ import annotations diff --git a/plugins/advanced_compressor/panel.py b/plugins/advanced_compressor/panel.py index 84e57bca8..5be5b057d 100644 --- a/plugins/advanced_compressor/panel.py +++ b/plugins/advanced_compressor/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/audio_midi/__init__.py b/plugins/audio_midi/__init__.py index e69de29bb..c9f1cbd27 100644 --- a/plugins/audio_midi/__init__.py +++ b/plugins/audio_midi/__init__.py @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . diff --git a/plugins/audio_midi/band_spec.py b/plugins/audio_midi/band_spec.py index 5f8316bb9..f7833e3e3 100644 --- a/plugins/audio_midi/band_spec.py +++ b/plugins/audio_midi/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specs for the IQaudIO Codec's 5-band DAC EQ (Dialog DA7213). Centre/cut-off frequencies come from Table 32 ("DAC 5-band equaliser diff --git a/plugins/audio_midi/panel.py b/plugins/audio_midi/panel.py index 0441afe1c..0b4bc77ef 100644 --- a/plugins/audio_midi/panel.py +++ b/plugins/audio_midi/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Audio & MIDI menu — the menu-idiom surface for the global EQ, input/output levels, clock source, and VU calibration. diff --git a/plugins/audio_midi/source.py b/plugins/audio_midi/source.py index 45994ae03..780dcfcb6 100644 --- a/plugins/audio_midi/source.py +++ b/plugins/audio_midi/source.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Synthetic reactive param source for the Audio & MIDI menu. The Audio & MIDI menu edits the audiocard's global EQ (5 bands) and diff --git a/plugins/barkgraphiceq/__init__.py b/plugins/barkgraphiceq/__init__.py index 519c7b1d0..10aca09cd 100644 --- a/plugins/barkgraphiceq/__init__.py +++ b/plugins/barkgraphiceq/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the gx_barkgraphiceq plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/barkgraphiceq/band_spec.py b/plugins/barkgraphiceq/band_spec.py index a1aeb999f..4a2d8d8d8 100644 --- a/plugins/barkgraphiceq/band_spec.py +++ b/plugins/barkgraphiceq/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the gx_barkgraphiceq plugin (24 bands, Bark scale).""" from __future__ import annotations diff --git a/plugins/barkgraphiceq/panel.py b/plugins/barkgraphiceq/panel.py index 0f1e128a9..dcac8489e 100644 --- a/plugins/barkgraphiceq/panel.py +++ b/plugins/barkgraphiceq/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete graphic EQ panel for the gx_barkgraphiceq plugin.""" from __future__ import annotations diff --git a/plugins/base.py b/plugins/base.py index 2d6bd33d8..d762764cb 100644 --- a/plugins/base.py +++ b/plugins/base.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Abstract core for plugin-type-specific UIs. ``PluginPanel[TState]`` is the panel-kind-agnostic core: it owns the diff --git a/plugins/calf_eq5/__init__.py b/plugins/calf_eq5/__init__.py index 28d9cfd68..918fce84a 100644 --- a/plugins/calf_eq5/__init__.py +++ b/plugins/calf_eq5/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from plugins.customization import PluginCustomization, register from plugins.calf_eq5.panel import CalfEq5Panel diff --git a/plugins/calf_eq5/band_spec.py b/plugins/calf_eq5/band_spec.py index 3aa8677ed..7cc979e92 100644 --- a/plugins/calf_eq5/band_spec.py +++ b/plugins/calf_eq5/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.eq.band_spec import BandSpec diff --git a/plugins/calf_eq5/panel.py b/plugins/calf_eq5/panel.py index 7cb0ead21..1bc900434 100644 --- a/plugins/calf_eq5/panel.py +++ b/plugins/calf_eq5/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations import math diff --git a/plugins/calf_monocompressor/__init__.py b/plugins/calf_monocompressor/__init__.py index 68b5a9397..67bc5334d 100644 --- a/plugins/calf_monocompressor/__init__.py +++ b/plugins/calf_monocompressor/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Calf Mono Compressor: full-screen panel with live GR meter.""" from __future__ import annotations diff --git a/plugins/calf_monocompressor/panel.py b/plugins/calf_monocompressor/panel.py index ab40eacfa..cb662fd1f 100644 --- a/plugins/calf_monocompressor/panel.py +++ b/plugins/calf_monocompressor/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/caps_compress/__init__.py b/plugins/caps_compress/__init__.py index 0b202f235..a748e12ef 100644 --- a/plugins/caps_compress/__init__.py +++ b/plugins/caps_compress/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """CAPS Compress: full-screen panel with live GR meter.""" from __future__ import annotations diff --git a/plugins/caps_compress/panel.py b/plugins/caps_compress/panel.py index 13f481438..12daba453 100644 --- a/plugins/caps_compress/panel.py +++ b/plugins/caps_compress/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/caps_noisegate/__init__.py b/plugins/caps_noisegate/__init__.py index 3274c3c55..90b104c71 100644 --- a/plugins/caps_noisegate/__init__.py +++ b/plugins/caps_noisegate/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the CAPS Noisegate plugin. Control ports (from the plugin TTL): diff --git a/plugins/capseq10/__init__.py b/plugins/capseq10/__init__.py index b91c0ded9..59ee24fd0 100644 --- a/plugins/capseq10/__init__.py +++ b/plugins/capseq10/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the caps-Eq10 plugin and its stereo build, Eq10X2. Eq10X2 exposes the identical ten control ports; only the audio pinout differs, diff --git a/plugins/capseq10/band_spec.py b/plugins/capseq10/band_spec.py index dbcaa9eae..26eebeb17 100644 --- a/plugins/capseq10/band_spec.py +++ b/plugins/capseq10/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the caps-Eq10 graphic EQ plugin (10 bands, octave).""" from __future__ import annotations diff --git a/plugins/capseq10/panel.py b/plugins/capseq10/panel.py index ef1bd910a..86e7957c9 100644 --- a/plugins/capseq10/panel.py +++ b/plugins/capseq10/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete graphic EQ panel for the caps-Eq10 plugin.""" from __future__ import annotations diff --git a/plugins/chrome.py b/plugins/chrome.py index 6b18f7848..2ea6f7b08 100644 --- a/plugins/chrome.py +++ b/plugins/chrome.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Shared Back / Bypass / Reset bottom row for ``PluginPanel`` children. ``FullscreenPluginPanel`` and ``PluginWindow`` render an identical three-button diff --git a/plugins/compressor_base.py b/plugins/compressor_base.py index 7eec66980..c7182d2b7 100644 --- a/plugins/compressor_base.py +++ b/plugins/compressor_base.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations import logging diff --git a/plugins/customization.py b/plugins/customization.py index 2c7a0b248..b41997538 100644 --- a/plugins/customization.py +++ b/plugins/customization.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """URI → PluginCustomization registry. The type lives in `modalapi.plugin_customization`.""" from __future__ import annotations diff --git a/plugins/distaq/__init__.py b/plugins/distaq/__init__.py index aed3350d2..aed2d0638 100644 --- a/plugins/distaq/__init__.py +++ b/plugins/distaq/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the DISTRHO Audio EQ plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/distaq/band_spec.py b/plugins/distaq/band_spec.py index 395f94468..ae4388d89 100644 --- a/plugins/distaq/band_spec.py +++ b/plugins/distaq/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the DISTRHO Audio EQ (a-eq) parametric EQ plugin.""" from __future__ import annotations diff --git a/plugins/distaq/panel.py b/plugins/distaq/panel.py index 0e57a9656..11493a1c9 100644 --- a/plugins/distaq/panel.py +++ b/plugins/distaq/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the DISTRHO Audio EQ plugin.""" from __future__ import annotations diff --git a/plugins/eq/__init__.py b/plugins/eq/__init__.py index 7743031dd..028817da5 100644 --- a/plugins/eq/__init__.py +++ b/plugins/eq/__init__.py @@ -1 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Shared EQ panel abstractions — parametric curve and graphic bar visualizations.""" diff --git a/plugins/eq/band_spec.py b/plugins/eq/band_spec.py index 678eca401..a9a1312e2 100644 --- a/plugins/eq/band_spec.py +++ b/plugins/eq/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Shared type definitions for EQ panel band specifications. BandSpec / GraphicBandSpec are static schemas describing what controls exist diff --git a/plugins/eq/curve.py b/plugins/eq/curve.py index 11df1ea3b..39594a16d 100644 --- a/plugins/eq/curve.py +++ b/plugins/eq/curve.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Frequency-response magnitude (dB) for parametric EQ filter chains. Delegates actual filter magnitude computation to ``filters.py``; this module diff --git a/plugins/eq/filters.py b/plugins/eq/filters.py index 82c551f57..0e26b18fd 100644 --- a/plugins/eq/filters.py +++ b/plugins/eq/filters.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Filter magnitude response calculators for parametric EQ curve rendering. All math is vectorised numpy — we evaluate |H(e^jω)| analytically at each diff --git a/plugins/eq/graphic.py b/plugins/eq/graphic.py index f3caa90ce..2387d9668 100644 --- a/plugins/eq/graphic.py +++ b/plugins/eq/graphic.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Graphic EQ panel — vertical bar visualization. ``GraphicEqPanel`` is the abstract base; subclasses provide band specs via diff --git a/plugins/eq/parametric.py b/plugins/eq/parametric.py index 906769099..06bb971f4 100644 --- a/plugins/eq/parametric.py +++ b/plugins/eq/parametric.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Abstract parametric EQ panel — frequency-response curve visualization. Subclasses provide band specs via ``build_band_specs()``. diff --git a/plugins/eqp/__init__.py b/plugins/eqp/__init__.py index 6691e29fd..943560e8a 100644 --- a/plugins/eqp/__init__.py +++ b/plugins/eqp/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the rkr Parametric EQ (eqp) plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/eqp/band_spec.py b/plugins/eqp/band_spec.py index 21af096a6..b2359fcd5 100644 --- a/plugins/eqp/band_spec.py +++ b/plugins/eqp/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the rkr Parametric EQ (eqp) plugin.""" from __future__ import annotations diff --git a/plugins/eqp/panel.py b/plugins/eqp/panel.py index 29b1306b2..5aa778c34 100644 --- a/plugins/eqp/panel.py +++ b/plugins/eqp/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the rkr Parametric EQ (eqp) plugin.""" from __future__ import annotations diff --git a/plugins/fil4/__init__.py b/plugins/fil4/__init__.py index 7cd51b9ec..227b279eb 100644 --- a/plugins/fil4/__init__.py +++ b/plugins/fil4/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """On-device UI for the x42-eq (fil4) parametric EQ plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/fil4/band_spec.py b/plugins/fil4/band_spec.py index 0486e9e90..e59d37e9b 100644 --- a/plugins/fil4/band_spec.py +++ b/plugins/fil4/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the fil4 / x42-eq parametric EQ plugin.""" from __future__ import annotations diff --git a/plugins/fil4/panel.py b/plugins/fil4/panel.py index 44f192835..8fb4ac543 100644 --- a/plugins/fil4/panel.py +++ b/plugins/fil4/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the fil4 / x42-eq plugin.""" from __future__ import annotations diff --git a/plugins/fullscreen.py b/plugins/fullscreen.py index 65ee0e81d..2a5f613ea 100644 --- a/plugins/fullscreen.py +++ b/plugins/fullscreen.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Full-screen plugin panel: whole 320x240 LCD with a bottom button row.""" from __future__ import annotations diff --git a/plugins/graphiceq/__init__.py b/plugins/graphiceq/__init__.py index e20d92632..8adfe33f2 100644 --- a/plugins/graphiceq/__init__.py +++ b/plugins/graphiceq/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the gx_graphiceq plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/graphiceq/band_spec.py b/plugins/graphiceq/band_spec.py index 766c71bbd..65bb55691 100644 --- a/plugins/graphiceq/band_spec.py +++ b/plugins/graphiceq/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the gx_graphiceq plugin (11 bands, ISO).""" from __future__ import annotations diff --git a/plugins/graphiceq/panel.py b/plugins/graphiceq/panel.py index 4e1770756..dd187bbad 100644 --- a/plugins/graphiceq/panel.py +++ b/plugins/graphiceq/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete graphic EQ panel for the gx_graphiceq plugin.""" from __future__ import annotations diff --git a/plugins/gx_cabinet/__init__.py b/plugins/gx_cabinet/__init__.py index 55330141f..98596b269 100644 --- a/plugins/gx_cabinet/__init__.py +++ b/plugins/gx_cabinet/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the Guitarix Cabinet Simulator plugin.""" from __future__ import annotations diff --git a/plugins/gx_cabinet/panel.py b/plugins/gx_cabinet/panel.py index f31fa033c..8a151b7e1 100644 --- a/plugins/gx_cabinet/panel.py +++ b/plugins/gx_cabinet/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from dataclasses import dataclass diff --git a/plugins/invadacompressor/__init__.py b/plugins/invadacompressor/__init__.py index c6257035d..15de308e2 100644 --- a/plugins/invadacompressor/__init__.py +++ b/plugins/invadacompressor/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Invada compressor: mono and stereo share LV2 ports; both get the a-comp-derived panel.""" from __future__ import annotations diff --git a/plugins/invadacompressor/panel.py b/plugins/invadacompressor/panel.py index b34b51f9f..2fc91abd5 100644 --- a/plugins/invadacompressor/panel.py +++ b/plugins/invadacompressor/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/layouts/__init__.py b/plugins/layouts/__init__.py index e69de29bb..c9f1cbd27 100644 --- a/plugins/layouts/__init__.py +++ b/plugins/layouts/__init__.py @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . diff --git a/plugins/layouts/arc_column.py b/plugins/layouts/arc_column.py index ccba70997..a2fa2eb3e 100644 --- a/plugins/layouts/arc_column.py +++ b/plugins/layouts/arc_column.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from common.param_roles import ParamRole diff --git a/plugins/layouts/arc_knob.py b/plugins/layouts/arc_knob.py index 0fa524148..d24e495cf 100644 --- a/plugins/layouts/arc_knob.py +++ b/plugins/layouts/arc_knob.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from common.param_roles import ParamRole diff --git a/plugins/layouts/compressor_spec.py b/plugins/layouts/compressor_spec.py index 4ec77745f..15e76011c 100644 --- a/plugins/layouts/compressor_spec.py +++ b/plugins/layouts/compressor_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from collections.abc import Callable diff --git a/plugins/layouts/gr_bar.py b/plugins/layouts/gr_bar.py index 52e90868d..09a5028cd 100644 --- a/plugins/layouts/gr_bar.py +++ b/plugins/layouts/gr_bar.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from uilib.box import Box diff --git a/plugins/layouts/mode_selector.py b/plugins/layouts/mode_selector.py index ae92ffe7d..072e2ae9a 100644 --- a/plugins/layouts/mode_selector.py +++ b/plugins/layouts/mode_selector.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from collections.abc import Callable diff --git a/plugins/layouts/readout_bar.py b/plugins/layouts/readout_bar.py index 62e6214b3..f488561e8 100644 --- a/plugins/layouts/readout_bar.py +++ b/plugins/layouts/readout_bar.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from uilib.misc import get_text_size diff --git a/plugins/layouts/reticule_graph.py b/plugins/layouts/reticule_graph.py index 9f210ee9f..d480f62e0 100644 --- a/plugins/layouts/reticule_graph.py +++ b/plugins/layouts/reticule_graph.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations import numpy as np diff --git a/plugins/mda_dynamics/__init__.py b/plugins/mda_dynamics/__init__.py index 97a4ea897..f3e0ffd46 100644 --- a/plugins/mda_dynamics/__init__.py +++ b/plugins/mda_dynamics/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """MDA Dynamics: full-screen panel with live GR meter.""" from __future__ import annotations diff --git a/plugins/mda_dynamics/panel.py b/plugins/mda_dynamics/panel.py index 019b73fd9..9bac8bddf 100644 --- a/plugins/mda_dynamics/panel.py +++ b/plugins/mda_dynamics/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/mdabandisto/__init__.py b/plugins/mdabandisto/__init__.py index 0121208e2..e0d5bfe6e 100644 --- a/plugins/mdabandisto/__init__.py +++ b/plugins/mdabandisto/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the mod-mda-Bandisto plugin.""" from __future__ import annotations diff --git a/plugins/mdamultiband/__init__.py b/plugins/mdamultiband/__init__.py index ecad5e346..a9f6e2da9 100644 --- a/plugins/mdamultiband/__init__.py +++ b/plugins/mdamultiband/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the mod-mda-MultiBand plugin.""" from __future__ import annotations diff --git a/plugins/mixer/__init__.py b/plugins/mixer/__init__.py index 44cdb65ca..970e36c28 100644 --- a/plugins/mixer/__init__.py +++ b/plugins/mixer/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Mixer panel package marker. Registration lives in ``plugins.pinned_params`` alongside the existing diff --git a/plugins/mixer/panel.py b/plugins/mixer/panel.py index c3b1b5048..ad94c1e42 100644 --- a/plugins/mixer/panel.py +++ b/plugins/mixer/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Full-screen mixer panel: fader columns + Master/Alt arc rings. Four 56px channel zones — each a volume fader, S/M/A toggles and a pan bar — diff --git a/plugins/modal_dialog.py b/plugins/modal_dialog.py index 9992564e0..8d2c41453 100644 --- a/plugins/modal_dialog.py +++ b/plugins/modal_dialog.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """ModalDialog — a presentation base for menu-idiom panels with an optional footer button row. diff --git a/plugins/nam/__init__.py b/plugins/nam/__init__.py index ef34e15ca..898cf28a2 100644 --- a/plugins/nam/__init__.py +++ b/plugins/nam/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """NAM (Neural Amp Modeler) plugin customizations. Registers custom tile colors, border, display name, and subtitle diff --git a/plugins/notes/__init__.py b/plugins/notes/__init__.py index 41f11a8e4..3e4e54ed6 100644 --- a/plugins/notes/__init__.py +++ b/plugins/notes/__init__.py @@ -1 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + NOTES_URI = "http://open-music-kontrollers.ch/lv2/notes#notes" diff --git a/plugins/notes/panel.py b/plugins/notes/panel.py index 48827401b..c398dcc4e 100644 --- a/plugins/notes/panel.py +++ b/plugins/notes/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Full-screen text viewer for the Notes LV2 plugin.""" from __future__ import annotations diff --git a/plugins/parameter_window.py b/plugins/parameter_window.py index c9ed68af6..91bc886bf 100644 --- a/plugins/parameter_window.py +++ b/plugins/parameter_window.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Combined parameter window: arc rings pinned up top, scrollable list below. The one window for any plugin without a bespoke panel. Pinned params render as diff --git a/plugins/pinned_params.py b/plugins/pinned_params.py index 1532bca19..e1d5e7d62 100644 --- a/plugins/pinned_params.py +++ b/plugins/pinned_params.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Explicit pinned-param customizations for plugins whose LV2 port order doesn't put the most useful controls in the first 4 slots.""" diff --git a/plugins/redundant_ports.py b/plugins/redundant_ports.py index 84e2c176a..f12670dbd 100644 --- a/plugins/redundant_ports.py +++ b/plugins/redundant_ports.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Ports that duplicate :bypass but carry no LV2 metadata to catch them by. `common.parameter.is_hidden_port` handles every port that declares itself — a diff --git a/plugins/scheme.py b/plugins/scheme.py index 9f9f53b64..b344d9da4 100644 --- a/plugins/scheme.py +++ b/plugins/scheme.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Dialog colour schemes derived from plugin category colours. ``scheme_for_category`` is the single entry point — used by ``PluginWindow`` diff --git a/plugins/system_compressor/__init__.py b/plugins/system_compressor/__init__.py index b799dc57e..c1d1b7c0b 100644 --- a/plugins/system_compressor/__init__.py +++ b/plugins/system_compressor/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """System Compressor: pinned arc rings (mode/release/volume). A full compressor panel (graph + GR meter) doesn't make sense here because diff --git a/plugins/tap_reverb/__init__.py b/plugins/tap_reverb/__init__.py index c2361a8a1..460348fdb 100644 --- a/plugins/tap_reverb/__init__.py +++ b/plugins/tap_reverb/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the TAP Reverberator plugin.""" from __future__ import annotations diff --git a/plugins/tap_reverb/panel.py b/plugins/tap_reverb/panel.py index 0800fb686..af74369a9 100644 --- a/plugins/tap_reverb/panel.py +++ b/plugins/tap_reverb/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from dataclasses import dataclass diff --git a/plugins/tapeq/__init__.py b/plugins/tapeq/__init__.py index 0bd711b19..fc49ab8d4 100644 --- a/plugins/tapeq/__init__.py +++ b/plugins/tapeq/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the TAP EQ plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/tapeq/band_spec.py b/plugins/tapeq/band_spec.py index 8ab376678..87b479672 100644 --- a/plugins/tapeq/band_spec.py +++ b/plugins/tapeq/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the TAP EQ parametric EQ plugin (8 bands, no Q).""" from __future__ import annotations diff --git a/plugins/tapeq/panel.py b/plugins/tapeq/panel.py index 71400811c..8f1de1b1c 100644 --- a/plugins/tapeq/panel.py +++ b/plugins/tapeq/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the TAP EQ plugin.""" from __future__ import annotations diff --git a/plugins/tapeqbw/__init__.py b/plugins/tapeqbw/__init__.py index 032dae27d..f8bd2e3da 100644 --- a/plugins/tapeqbw/__init__.py +++ b/plugins/tapeqbw/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the TAP EQ/BW plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/tapeqbw/band_spec.py b/plugins/tapeqbw/band_spec.py index 69eb410ec..ec7a8e040 100644 --- a/plugins/tapeqbw/band_spec.py +++ b/plugins/tapeqbw/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the TAP EQ/BW parametric EQ plugin (8 bands with bandwidth).""" from __future__ import annotations diff --git a/plugins/tapeqbw/panel.py b/plugins/tapeqbw/panel.py index add12ace1..c4132d5b0 100644 --- a/plugins/tapeqbw/panel.py +++ b/plugins/tapeqbw/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the TAP EQ/BW plugin.""" from __future__ import annotations diff --git a/plugins/three_band_eq/__init__.py b/plugins/three_band_eq/__init__.py index 632c54992..1568d1ad0 100644 --- a/plugins/three_band_eq/__init__.py +++ b/plugins/three_band_eq/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the DISTRHO 3 Band EQ plugin.""" from __future__ import annotations diff --git a/plugins/three_band_splitter/__init__.py b/plugins/three_band_splitter/__init__.py index 269cdd690..44b9de641 100644 --- a/plugins/three_band_splitter/__init__.py +++ b/plugins/three_band_splitter/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the DISTRHO 3 Band Splitter plugin.""" from __future__ import annotations diff --git a/plugins/transport/__init__.py b/plugins/transport/__init__.py index 46f210ea0..91a291045 100644 --- a/plugins/transport/__init__.py +++ b/plugins/transport/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Pedalboard-level transport controls (:bpm, :bpb, :rolling). mod-ui addresses these through a /pedalboard pseudo-instance (id 9995) with diff --git a/plugins/window.py b/plugins/window.py index d80fad10f..5bdebf772 100644 --- a/plugins/window.py +++ b/plugins/window.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Windowed plugin panel: a centered ``Dialog``-styled card. Shares the regular menu's title strip and outline, plus the Back/Bypass/Reset diff --git a/plugins/zamcomp/__init__.py b/plugins/zamcomp/__init__.py index 664ec21c8..82e8aabb9 100644 --- a/plugins/zamcomp/__init__.py +++ b/plugins/zamcomp/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """ZamComp: reuses the a-comp panel — its LV2 ports (thr/rat/kn/mak) match exactly.""" from __future__ import annotations diff --git a/plugins/zamcomp/panel.py b/plugins/zamcomp/panel.py index da6c3ede2..721eebf49 100644 --- a/plugins/zamcomp/panel.py +++ b/plugins/zamcomp/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from __future__ import annotations from plugins.compressor_base import CompressorPanel, CompressorSpec diff --git a/plugins/zameq2/__init__.py b/plugins/zameq2/__init__.py index d12171e67..b44eb958d 100644 --- a/plugins/zameq2/__init__.py +++ b/plugins/zameq2/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the ZamEQ2 plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/zameq2/band_spec.py b/plugins/zameq2/band_spec.py index 01bff8122..d29e68e59 100644 --- a/plugins/zameq2/band_spec.py +++ b/plugins/zameq2/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the ZamEQ2 parametric EQ plugin.""" from __future__ import annotations diff --git a/plugins/zameq2/panel.py b/plugins/zameq2/panel.py index 94a54d8b2..f36d5ab64 100644 --- a/plugins/zameq2/panel.py +++ b/plugins/zameq2/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete parametric EQ panel for the ZamEQ2 plugin.""" from __future__ import annotations diff --git a/plugins/zamgeq31/__init__.py b/plugins/zamgeq31/__init__.py index 0f189d60a..778cb8cde 100644 --- a/plugins/zamgeq31/__init__.py +++ b/plugins/zamgeq31/__init__.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Registration for the ZamGEQ31 plugin.""" from plugins.customization import PluginCustomization, register diff --git a/plugins/zamgeq31/band_spec.py b/plugins/zamgeq31/band_spec.py index d40591979..06e174ac5 100644 --- a/plugins/zamgeq31/band_spec.py +++ b/plugins/zamgeq31/band_spec.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Band specifications for the ZamGEQ31 graphic EQ plugin (29 bands, 1/3-octave ISO).""" from __future__ import annotations diff --git a/plugins/zamgeq31/panel.py b/plugins/zamgeq31/panel.py index 292cceb5a..0e5a2996c 100644 --- a/plugins/zamgeq31/panel.py +++ b/plugins/zamgeq31/panel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Concrete graphic EQ panel for the ZamGEQ31 plugin.""" from __future__ import annotations diff --git a/pyproject.toml b/pyproject.toml index 486da89a3..b636de1c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,13 +4,13 @@ version = "3.0.0" description = "DIY high definition, multi-effects stompbox platform for guitar, bass and keyboards" readme = "README.md" requires-python = ">=3.11" -license = { text = "GPL-3.0-or-later" } +license = { text = "AGPL-3.0-or-later" } authors = [{ name = "Randall Reichenbach" }, { name = "Micah van de Merwe" }] keywords = ["guitar", "effects", "pedal", "raspberry-pi", "audio", "lv2"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Topic :: Multimedia :: Sound/Audio", diff --git a/run_emulator.sh b/run_emulator.sh index c2fb5ebba..2fa4f7ff0 100755 --- a/run_emulator.sh +++ b/run_emulator.sh @@ -1,4 +1,22 @@ #!/usr/bin/env sh + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Launch the pi-stomp emulator. # Optional first argument: v2 / v3 (default: v3) diff --git a/ui/__init__.py b/ui/__init__.py index e69de29bb..c9f1cbd27 100644 --- a/ui/__init__.py +++ b/ui/__init__.py @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . diff --git a/ui/archive_panel.py b/ui/archive_panel.py index 06290dd64..7e8f8b4fa 100644 --- a/ui/archive_panel.py +++ b/ui/archive_panel.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Modal progress panel for USB backup and restore. diff --git a/ui/ethernet_menu.py b/ui/ethernet_menu.py index cfa5e2bf7..fbf96385c 100644 --- a/ui/ethernet_menu.py +++ b/ui/ethernet_menu.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from typing import TYPE_CHECKING, Optional, Protocol, cast diff --git a/ui/footswitch_menu.py b/ui/footswitch_menu.py index a7ae7d16d..8098f39eb 100644 --- a/ui/footswitch_menu.py +++ b/ui/footswitch_menu.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Footswitch long-press bindings menu. diff --git a/ui/welcome.py b/ui/welcome.py index 39df59d0b..e61bff513 100644 --- a/ui/welcome.py +++ b/ui/welcome.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + import os import pygame import qrcode diff --git a/ui/wifi_menu.py b/ui/wifi_menu.py index 70ad4d00b..4be2d6b95 100644 --- a/ui/wifi_menu.py +++ b/ui/wifi_menu.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import time diff --git a/uilib/__init__.py b/uilib/__init__.py index 3b18ca210..98bdb7cb3 100644 --- a/uilib/__init__.py +++ b/uilib/__init__.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . __all__ = [ diff --git a/uilib/arc_dial.py b/uilib/arc_dial.py index 22a996b9d..bd87ac031 100644 --- a/uilib/arc_dial.py +++ b/uilib/arc_dial.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Arc-ring rotary "dial": the one widget every rotary uses. diff --git a/uilib/box.py b/uilib/box.py index e01817773..c5d03013e 100644 --- a/uilib/box.py +++ b/uilib/box.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . # All "box" arguments here are to be instances of this class diff --git a/uilib/config.py b/uilib/config.py index ce181a32f..88157aecc 100644 --- a/uilib/config.py +++ b/uilib/config.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import json diff --git a/uilib/container.py b/uilib/container.py index 0e096fc36..046b90693 100644 --- a/uilib/container.py +++ b/uilib/container.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from typing import Optional, Tuple diff --git a/uilib/dialog.py b/uilib/dialog.py index 07008648a..ac27bb928 100644 --- a/uilib/dialog.py +++ b/uilib/dialog.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from dataclasses import dataclass diff --git a/uilib/footswitch.py b/uilib/footswitch.py index a6d38dbe0..69eb65248 100644 --- a/uilib/footswitch.py +++ b/uilib/footswitch.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/uilib/glyphs/__init__.py b/uilib/glyphs/__init__.py index 13b503b7d..1eee0d841 100644 --- a/uilib/glyphs/__init__.py +++ b/uilib/glyphs/__init__.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from pathlib import Path diff --git a/uilib/glyphs/arc_ring.py b/uilib/glyphs/arc_ring.py index aae822161..a56e38e38 100644 --- a/uilib/glyphs/arc_ring.py +++ b/uilib/glyphs/arc_ring.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Arc-ring glyph with analytic anti-aliasing. diff --git a/uilib/glyphs/audio_midi_tile.py b/uilib/glyphs/audio_midi_tile.py index bb77a12a7..a1bdd92f0 100644 --- a/uilib/glyphs/audio_midi_tile.py +++ b/uilib/glyphs/audio_midi_tile.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Procedural toolbar-tile glyphs for the Audio & MIDI menu. diff --git a/uilib/glyphs/badge.py b/uilib/glyphs/badge.py index 19e7dd959..1abc62d43 100644 --- a/uilib/glyphs/badge.py +++ b/uilib/glyphs/badge.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """BadgeGlyph: a filled white circle with a single black character centered diff --git a/uilib/glyphs/bar.py b/uilib/glyphs/bar.py index 414816fd1..06f5776fe 100644 --- a/uilib/glyphs/bar.py +++ b/uilib/glyphs/bar.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Orientation-aware track+fill bar — the graphic-EQ column primitive, shared diff --git a/uilib/glyphs/circle.py b/uilib/glyphs/circle.py index eea928f3d..8b2206ea0 100644 --- a/uilib/glyphs/circle.py +++ b/uilib/glyphs/circle.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Filled and ring circle glyphs with analytic anti-aliasing. diff --git a/uilib/glyphs/circle_handle.py b/uilib/glyphs/circle_handle.py index 74c18032e..3efe01b6b 100644 --- a/uilib/glyphs/circle_handle.py +++ b/uilib/glyphs/circle_handle.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """The circle handle: a filled disc that punches through whatever bar or curve it sits on, with an optional yellow selection halo. diff --git a/uilib/glyphs/ethernet_cable.py b/uilib/glyphs/ethernet_cable.py index c93212cf7..5aabf9bf7 100644 --- a/uilib/glyphs/ethernet_cable.py +++ b/uilib/glyphs/ethernet_cable.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from functools import lru_cache diff --git a/uilib/glyphs/expression_pedal.py b/uilib/glyphs/expression_pedal.py index 3642506c2..0fa4bb0f7 100644 --- a/uilib/glyphs/expression_pedal.py +++ b/uilib/glyphs/expression_pedal.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Expression pedal glyph for the analog-controls strip on the v3 LCD. diff --git a/uilib/glyphs/keycap_corner.py b/uilib/glyphs/keycap_corner.py index 995616672..8b90f384a 100644 --- a/uilib/glyphs/keycap_corner.py +++ b/uilib/glyphs/keycap_corner.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from functools import lru_cache diff --git a/uilib/glyphs/knob.py b/uilib/glyphs/knob.py index b4fd5722f..d6cbe0feb 100644 --- a/uilib/glyphs/knob.py +++ b/uilib/glyphs/knob.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Knob glyph for the analog-controls strip on the v3 LCD. diff --git a/uilib/glyphs/outline.py b/uilib/glyphs/outline.py index 0a07d7c37..422741af3 100644 --- a/uilib/glyphs/outline.py +++ b/uilib/glyphs/outline.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Corner-tile blitters for rounded-rect outlines and fills. Renders one small AA rounded-rect per distinct corner radius and slices the diff --git a/uilib/glyphs/pill.py b/uilib/glyphs/pill.py index 3ba272d45..a4ce61740 100644 --- a/uilib/glyphs/pill.py +++ b/uilib/glyphs/pill.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from functools import lru_cache diff --git a/uilib/glyphs/rounded_rect.py b/uilib/glyphs/rounded_rect.py index bd37dd348..100266ceb 100644 --- a/uilib/glyphs/rounded_rect.py +++ b/uilib/glyphs/rounded_rect.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Rounded-rectangle glyph with optional fill and per-side border. diff --git a/uilib/glyphs/signal_bars.py b/uilib/glyphs/signal_bars.py index d654af79c..030e80257 100644 --- a/uilib/glyphs/signal_bars.py +++ b/uilib/glyphs/signal_bars.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from functools import lru_cache diff --git a/uilib/glyphs/spinner.py b/uilib/glyphs/spinner.py index af0394542..a9b5663de 100644 --- a/uilib/glyphs/spinner.py +++ b/uilib/glyphs/spinner.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Tape-reel spinner glyph with analytic anti-aliasing. diff --git a/uilib/glyphs/tint.py b/uilib/glyphs/tint.py index e0e6988d4..78b0f8984 100644 --- a/uilib/glyphs/tint.py +++ b/uilib/glyphs/tint.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Colorizing white alpha-mask glyphs. diff --git a/uilib/glyphs/toggle.py b/uilib/glyphs/toggle.py index 1a9d2e30a..79a02938a 100644 --- a/uilib/glyphs/toggle.py +++ b/uilib/glyphs/toggle.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """ToggleGlyph: a filled rounded-rect chip with a single character centered inside — the S/M/A-style toggle marker. Like BadgeGlyph, the character is baked into the pixels (it can't be tinted at blit time), so the chip is cached per diff --git a/uilib/gridpanel.py b/uilib/gridpanel.py index 42f312c04..d1d7bbe54 100644 --- a/uilib/gridpanel.py +++ b/uilib/gridpanel.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + """Column-major routing-aware grid panel. Lays out a modalapi.layout.Layout into tiles on a Panel. Iteration order diff --git a/uilib/icon.py b/uilib/icon.py index 43b7cb9f9..533f338d5 100644 --- a/uilib/icon.py +++ b/uilib/icon.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import pygame diff --git a/uilib/image.py b/uilib/image.py index 058b4b1f6..c6a7be209 100644 --- a/uilib/image.py +++ b/uilib/image.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import pygame diff --git a/uilib/label.py b/uilib/label.py index 68c8f0a7c..c3bdd10d3 100644 --- a/uilib/label.py +++ b/uilib/label.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + from uilib.box import Box from uilib.misc import get_text_bbox from uilib.paint import ColorLike diff --git a/uilib/lcd_ili9341.py b/uilib/lcd_ili9341.py index 6c25d01b6..fcce1dc2e 100644 --- a/uilib/lcd_ili9341.py +++ b/uilib/lcd_ili9341.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import pygame diff --git a/uilib/menu.py b/uilib/menu.py index 47f702022..ca0510fb7 100644 --- a/uilib/menu.py +++ b/uilib/menu.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from dataclasses import dataclass diff --git a/uilib/misc.py b/uilib/misc.py index bdd8f31ab..25deddfb2 100644 --- a/uilib/misc.py +++ b/uilib/misc.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/uilib/paint.py b/uilib/paint.py index a7283f375..92e5da75f 100644 --- a/uilib/paint.py +++ b/uilib/paint.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from dataclasses import dataclass, replace diff --git a/uilib/panel.py b/uilib/panel.py index ff11a052b..8847e7083 100644 --- a/uilib/panel.py +++ b/uilib/panel.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from typing import Optional, Tuple diff --git a/uilib/parameterdialog.py b/uilib/parameterdialog.py index 81082e795..389c52cf7 100644 --- a/uilib/parameterdialog.py +++ b/uilib/parameterdialog.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from uilib.box import Box diff --git a/uilib/profiling.py b/uilib/profiling.py index fda0a6b75..707b9927f 100644 --- a/uilib/profiling.py +++ b/uilib/profiling.py @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Lightweight env-gated op profiler. # # Enable with PISTOMP_PROFILE=1 (or the legacy PISTOMP_TUNER_PROFILE=1). diff --git a/uilib/progress_bar.py b/uilib/progress_bar.py index 8be7ef2b7..1dc9eddac 100644 --- a/uilib/progress_bar.py +++ b/uilib/progress_bar.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# pi-Stomp is distributed in the hope that it will be useful, +# pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from uilib.box import Box diff --git a/uilib/pygame_init.py b/uilib/pygame_init.py index 37b28ba9e..fd2cca631 100644 --- a/uilib/pygame_init.py +++ b/uilib/pygame_init.py @@ -1,9 +1,19 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . """Idempotent pygame + pygame._freetype initialization. diff --git a/uilib/radius.py b/uilib/radius.py index 7e5f3f309..edcc78ca2 100644 --- a/uilib/radius.py +++ b/uilib/radius.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from dataclasses import dataclass diff --git a/uilib/rich_text.py b/uilib/rich_text.py index 37902ecb7..290e8f6be 100644 --- a/uilib/rich_text.py +++ b/uilib/rich_text.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """RichTextWidget: a single widget that lays out a sequence of `Segment`s diff --git a/uilib/spi_timing.py b/uilib/spi_timing.py index 78031d83f..c2e219ec8 100644 --- a/uilib/spi_timing.py +++ b/uilib/spi_timing.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Shared SPI-display transfer-cost model. diff --git a/uilib/text.py b/uilib/text.py index 2e2a442c2..8e8d03178 100644 --- a/uilib/text.py +++ b/uilib/text.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import time diff --git a/uilib/widget.py b/uilib/widget.py index 3336e7014..7f48317a4 100644 --- a/uilib/widget.py +++ b/uilib/widget.py @@ -1,16 +1,18 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . from __future__ import annotations diff --git a/update.sh b/update.sh index 7630ada04..160c88e88 100755 --- a/update.sh +++ b/update.sh @@ -1,4 +1,22 @@ #!/bin/bash + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Update the pistomp device to the latest and greatest set -euo pipefail diff --git a/util/change-audio-card.sh b/util/change-audio-card.sh index 8dfb112ac..e5b5b4c73 100755 --- a/util/change-audio-card.sh +++ b/util/change-audio-card.sh @@ -1,5 +1,22 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + cards=("audioinjector-wm8731-audio" "iqaudio-codec" "hifiberry-dacplusadc") config_file=/boot/firmware/config.txt state_file=/var/lib/alsa/asound.state diff --git a/util/contract-git.sh b/util/contract-git.sh index 3d0ce6b2c..47a45c5f4 100755 --- a/util/contract-git.sh +++ b/util/contract-git.sh @@ -1,4 +1,22 @@ #!/bin/bash + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # contract-git.sh — revert the pi-stomp tree to its packaged (non-git) state. # # Inverse of expand-git.sh: removes the .git directory entirely. The files diff --git a/util/data-backup.sh b/util/data-backup.sh index 1fda5d824..9d2d7a5b5 100755 --- a/util/data-backup.sh +++ b/util/data-backup.sh @@ -1,5 +1,22 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + default_src_dir="/home/pistomp/data" # Check if an argument is passed diff --git a/util/data-restore.sh b/util/data-restore.sh index 2342ba52d..88f6c0605 100755 --- a/util/data-restore.sh +++ b/util/data-restore.sh @@ -1,5 +1,22 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + default_target_dir="/home/pistomp/data" # Check if an argument is passed diff --git a/util/expand-git.sh b/util/expand-git.sh index 28ee0e1c0..cb7ecce55 100755 --- a/util/expand-git.sh +++ b/util/expand-git.sh @@ -1,4 +1,22 @@ #!/bin/bash + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # expand-git.sh — turn a packaged pi-stomp install into a real git repo. # # The .deb ships no .git directory, just .git-meta/ (origin URL, branch, diff --git a/util/modify_version.sh b/util/modify_version.sh index fd163a29a..f2c7b8808 100755 --- a/util/modify_version.sh +++ b/util/modify_version.sh @@ -1,18 +1,20 @@ #!/bin/bash -e +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . if [ -z "$1" ] diff --git a/util/monitor_din_midi.py b/util/monitor_din_midi.py index c3e2e783c..c4b2ec645 100755 --- a/util/monitor_din_midi.py +++ b/util/monitor_din_midi.py @@ -1,18 +1,20 @@ #!/usr/bin/env python3 +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import serial diff --git a/util/pi5_eeprom_update.sh b/util/pi5_eeprom_update.sh index 7dfb5ffb6..22e1e2bd0 100644 --- a/util/pi5_eeprom_update.sh +++ b/util/pi5_eeprom_update.sh @@ -1,18 +1,20 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . # Temporary file for EEPROM configuration diff --git a/util/record_lcd.py b/util/record_lcd.py index b25709411..65dcc6176 100755 --- a/util/record_lcd.py +++ b/util/record_lcd.py @@ -1,4 +1,22 @@ #!/usr/bin/env python3 + +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + import os import socket import time diff --git a/util/relay_toggle.py b/util/relay_toggle.py index 1134f5997..19a3d9ae7 100755 --- a/util/relay_toggle.py +++ b/util/relay_toggle.py @@ -1,18 +1,20 @@ #!/usr/bin/env python3 +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . import sys diff --git a/util/tuner_analyze.py b/util/tuner_analyze.py index 899995242..16ac9ef26 100755 --- a/util/tuner_analyze.py +++ b/util/tuner_analyze.py @@ -1,18 +1,20 @@ #!/usr/bin/env python3 +# SPDX-License-Identifier: AGPL-3.0-or-later +# # This file is part of pi-stomp. # # pi-stomp is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pi-stomp is distributed in the hope that 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 Affero 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 Affero General Public License # along with pi-stomp. If not, see . """Offline tuner analysis: drive the real TunerEngine over a recorded WAV and diff --git a/util/update-menu.sh b/util/update-menu.sh index b438ea402..7bac5d24d 100755 --- a/util/update-menu.sh +++ b/util/update-menu.sh @@ -1,5 +1,22 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + Sudo apt install -y lockfile-progs mkdir -p $HOME/data/config diff --git a/util/update-sample-pedalboards.sh b/util/update-sample-pedalboards.sh index 674e7636c..826c44102 100755 --- a/util/update-sample-pedalboards.sh +++ b/util/update-sample-pedalboards.sh @@ -1,5 +1,22 @@ #!/bin/bash +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This file is part of pi-stomp. +# +# pi-stomp is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# pi-stomp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with pi-stomp. If not, see . + # Change dir to pedalboards location pushd /home/pistomp/.pedalboards > /dev/null || { echo "Cannot change to pedalboard dir"; exit 1; }