From 0f24d4704ef8e48294d6d7b9c65047b2fa2d8804 Mon Sep 17 00:00:00 2001 From: Corbin Crutchley Date: Sat, 20 Dec 2025 04:44:55 -0800 Subject: [PATCH] chore: update name --- LICENSE-MIT => LICENSE | 0 LICENSE-APACHE | 201 ------------------ README.md | 51 ----- .../xcschemes/xcschememanagement.plist | 22 -- ScreenShader/Info.plist | 10 - .../project.pbxproj | 174 +++++++-------- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/swiftpm/Package.resolved | 0 .../xcschemes/ScreenShader.xcscheme | 12 +- .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-1024.png | Bin .../AppIcon.appiconset/Icon-128.png | Bin .../AppIcon.appiconset/Icon-16.png | Bin .../AppIcon.appiconset/Icon-256 1.png | Bin .../AppIcon.appiconset/Icon-256.png | Bin .../AppIcon.appiconset/Icon-32 1.png | Bin .../AppIcon.appiconset/Icon-32.png | Bin .../AppIcon.appiconset/Icon-512 1.png | Bin .../AppIcon.appiconset/Icon-512.png | Bin .../AppIcon.appiconset/Icon-64.png | Bin .../Assets.xcassets/Contents.json | 0 .../Info.plist | 2 - .../ScreenSlanger.entitlements | 0 {ScreenShader => ScreenSlanger}/config.swift | 2 +- .../config_view.swift | 4 +- .../error_message.swift | 0 {ScreenShader => ScreenSlanger}/main.swift | 4 +- {ScreenShader => ScreenSlanger}/metrics.swift | 0 {ScreenShader => ScreenSlanger}/overlay.swift | 0 .../renderer.swift | 2 +- .../retroarch_shader.swift | 4 +- .../screen_capture.swift | 0 .../slang_compiler.swift | 10 +- 35 files changed, 108 insertions(+), 390 deletions(-) rename LICENSE-MIT => LICENSE (100%) delete mode 100644 LICENSE-APACHE delete mode 100644 README.md delete mode 100644 ScreenShader.xcodeproj/xcuserdata/branpk.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ScreenShader/Info.plist rename {ScreenShader.xcodeproj => ScreenSlanger.xcodeproj}/project.pbxproj (65%) rename {ScreenShader.xcodeproj => ScreenSlanger.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {ScreenShader.xcodeproj => ScreenSlanger.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {ScreenShader.xcodeproj => ScreenSlanger.xcodeproj}/project.xcworkspace/xcshareddata/swiftpm/Package.resolved (100%) rename {ScreenShader.xcodeproj => ScreenSlanger.xcodeproj}/xcshareddata/xcschemes/ScreenShader.xcscheme (90%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-1024.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-128.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-16.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-256 1.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-256.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-32 1.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-32.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-512 1.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-512.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/AppIcon.appiconset/Icon-64.png (100%) rename {ScreenShader => ScreenSlanger}/Assets.xcassets/Contents.json (100%) rename ScreenShader.xcodeproj/project.xcworkspace/xcuserdata/branpk.xcuserdatad/Bookmarks/bookmarks.plist => ScreenSlanger/Info.plist (83%) rename ScreenShader/ScreenShader.entitlements => ScreenSlanger/ScreenSlanger.entitlements (100%) rename {ScreenShader => ScreenSlanger}/config.swift (99%) rename {ScreenShader => ScreenSlanger}/config_view.swift (99%) rename {ScreenShader => ScreenSlanger}/error_message.swift (100%) rename {ScreenShader => ScreenSlanger}/main.swift (98%) rename {ScreenShader => ScreenSlanger}/metrics.swift (100%) rename {ScreenShader => ScreenSlanger}/overlay.swift (100%) rename {ScreenShader => ScreenSlanger}/renderer.swift (99%) rename {ScreenShader => ScreenSlanger}/retroarch_shader.swift (99%) rename {ScreenShader => ScreenSlanger}/screen_capture.swift (100%) rename {ScreenShader => ScreenSlanger}/slang_compiler.swift (96%) diff --git a/LICENSE-MIT b/LICENSE similarity index 100% rename from LICENSE-MIT rename to LICENSE diff --git a/LICENSE-APACHE b/LICENSE-APACHE deleted file mode 100644 index 261eeb9..0000000 --- a/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 1eb5410..0000000 --- a/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# ScreenShader: Custom screen color effects for macOS - -ScreenShader is a simple macOS utility that applies a user-specified fragment shader (color effect) to the screen. This provides more control than existing apps, which provide a fixed set of color effects. - -The app works by taking a live screen capture of the full screen, applying the shader effect, and then rendering it to a full screen overlay in real time. Depending on your machine, this may result in noticeable slowdown or input delay. Feel free to log a Github issue if this is significant on your machine. - -## Examples - -Swap the red and blue color channels: - -![swap red and blue](https://github.com/branpk/ScreenShader/raw/main/images/red_blue_swap.png) - -Time and position-dependent waves: - -![waves](https://github.com/branpk/ScreenShader/raw/main/images/waves.gif) - -## Download - -The latest version can be downloaded from the [Releases](https://github.com/branpk/ScreenShader/releases/) page. Download `ScreenShader-x.x.x.zip`, unzip it, and copy it to your Applications folder. (You may also run it from your Downloads folder, but it won't receive updates.) - -When you first open the app, it will ask for Screen Recording permissions (since it needs to capture the contents of the screen so that it can re-render with effects applied). To provide these permissions: - -1. Open System Settings > Privacy & Security > Screen Recording -2. If ScreenShader is not already listed, press the "+" button and navigate to the app -3. Ensure that the toggle is enabled -4. Open the ScreenShader app again - -(If the popup appears again, try removing ScreenShader from the list using the "-" button and adding it again.) - -![select effect and activate](https://github.com/branpk/ScreenShader/raw/main/images/screen_recording.png) - -## Usage - -Clicking on the app icon in the dock will open the Settings window, where you can select a pre-defined effect and activate it by clicking the checkbox: - -![select effect and activate](https://github.com/branpk/ScreenShader/raw/main/images/select_activate.png) - -The effect should now be visible. You can toggle it without opening the Settings window first by left clicking on the paintbrush icon in the menu bar: - -![toggle menu bar icon](https://github.com/branpk/ScreenShader/raw/main/images/toggle.png) - -## Platform support - -- macOS 13.0 or later -- M1 or later (may work with Intel, but untested) - -I have only tested on my own machine, so please log a Github issue if you run into problems! - -## License - -ScreenShader is licensed under the Apache-2.0 license OR MIT license. diff --git a/ScreenShader.xcodeproj/xcuserdata/branpk.xcuserdatad/xcschemes/xcschememanagement.plist b/ScreenShader.xcodeproj/xcuserdata/branpk.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 26f94ec..0000000 --- a/ScreenShader.xcodeproj/xcuserdata/branpk.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - ScreenShader.xcscheme_^#shared#^_ - - orderHint - 0 - - - SuppressBuildableAutocreation - - 4159FE5B2D497D4400B79670 - - primary - - - - - diff --git a/ScreenShader/Info.plist b/ScreenShader/Info.plist deleted file mode 100644 index fe38d57..0000000 --- a/ScreenShader/Info.plist +++ /dev/null @@ -1,10 +0,0 @@ - - - - - SUFeedURL - https://github.com/branpk/ScreenShader/raw/main/releases/appcast.xml - SUPublicEDKey - qjvqIJIVZZ1psuxMRw5qfFCc+HXWKfty6FoicETzvVk= - - diff --git a/ScreenShader.xcodeproj/project.pbxproj b/ScreenSlanger.xcodeproj/project.pbxproj similarity index 65% rename from ScreenShader.xcodeproj/project.pbxproj rename to ScreenSlanger.xcodeproj/project.pbxproj index f79390c..d1f2d0f 100644 --- a/ScreenShader.xcodeproj/project.pbxproj +++ b/ScreenSlanger.xcodeproj/project.pbxproj @@ -7,41 +7,39 @@ objects = { /* Begin PBXBuildFile section */ - 4159FE622D497D4600B79670 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4159FE612D497D4600B79670 /* Assets.xcassets */; }; - 9736AA952EF210C2002DDC37 /* retroarch_shader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9736AA962EF210C2002DDC37 /* retroarch_shader.swift */; }; - 416975F62D497E21004C8E93 /* metrics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975EC2D497E21004C8E93 /* metrics.swift */; }; - 416975F72D497E21004C8E93 /* config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975ED2D497E21004C8E93 /* config.swift */; }; - 416975F82D497E21004C8E93 /* screen_capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975EE2D497E21004C8E93 /* screen_capture.swift */; }; - 416975F92D497E21004C8E93 /* renderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975EF2D497E21004C8E93 /* renderer.swift */; }; - 416975FA2D497E21004C8E93 /* config_view.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975F02D497E21004C8E93 /* config_view.swift */; }; - 416975FC2D497E21004C8E93 /* overlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975F22D497E21004C8E93 /* overlay.swift */; }; - 416975FD2D497E21004C8E93 /* error_message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975F32D497E21004C8E93 /* error_message.swift */; }; - 416975FE2D497E21004C8E93 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416975F42D497E21004C8E93 /* main.swift */; }; 41C290E42D4B04A100675317 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = 41C290E32D4B04A100675317 /* Sparkle */; }; - 9736AA942EF210C1002DDC37 /* slang_compiler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9736AA932EF210C1002DDC37 /* slang_compiler.swift */; }; + 97ACF44B2EF6CF50002B55FD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97ACF43D2EF6CF50002B55FD /* Assets.xcassets */; }; + 97ACF44D2EF6CF50002B55FD /* metrics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4432EF6CF50002B55FD /* metrics.swift */; }; + 97ACF44E2EF6CF50002B55FD /* renderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4452EF6CF50002B55FD /* renderer.swift */; }; + 97ACF44F2EF6CF50002B55FD /* error_message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4402EF6CF50002B55FD /* error_message.swift */; }; + 97ACF4502EF6CF50002B55FD /* slang_compiler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4492EF6CF50002B55FD /* slang_compiler.swift */; }; + 97ACF4512EF6CF50002B55FD /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4422EF6CF50002B55FD /* main.swift */; }; + 97ACF4522EF6CF50002B55FD /* screen_capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4472EF6CF50002B55FD /* screen_capture.swift */; }; + 97ACF4532EF6CF50002B55FD /* config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF43E2EF6CF50002B55FD /* config.swift */; }; + 97ACF4542EF6CF50002B55FD /* config_view.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF43F2EF6CF50002B55FD /* config_view.swift */; }; + 97ACF4552EF6CF50002B55FD /* overlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4442EF6CF50002B55FD /* overlay.swift */; }; + 97ACF4562EF6CF50002B55FD /* retroarch_shader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97ACF4462EF6CF50002B55FD /* retroarch_shader.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 4159FE5C2D497D4400B79670 /* ScreenShader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ScreenShader.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 4159FE612D497D4600B79670 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 4159FE662D497D4600B79670 /* ScreenShader.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ScreenShader.entitlements; sourceTree = ""; }; - 416975EC2D497E21004C8E93 /* metrics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = metrics.swift; sourceTree = ""; }; - 416975ED2D497E21004C8E93 /* config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = config.swift; sourceTree = ""; }; - 416975EE2D497E21004C8E93 /* screen_capture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = screen_capture.swift; sourceTree = ""; }; - 416975EF2D497E21004C8E93 /* renderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = renderer.swift; sourceTree = ""; }; - 416975F02D497E21004C8E93 /* config_view.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = config_view.swift; sourceTree = ""; }; - 416975F22D497E21004C8E93 /* overlay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = overlay.swift; sourceTree = ""; }; - 416975F32D497E21004C8E93 /* error_message.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = error_message.swift; sourceTree = ""; }; - 416975F42D497E21004C8E93 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + 4159FE5C2D497D4400B79670 /* ScreenSlanger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ScreenSlanger.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4176335D2D4DB1EB00FCC2AF /* waves.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = waves.gif; sourceTree = ""; }; - 41C290CD2D49862B00675317 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; - 41C290CE2D4ABD2000675317 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 41C290DE2D4AC87F00675317 /* screen_recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = screen_recording.png; sourceTree = ""; }; 41C290DF2D4AC87F00675317 /* red_blue_swap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = red_blue_swap.png; sourceTree = ""; }; 41C290E02D4AC88E00675317 /* toggle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = toggle.png; sourceTree = ""; }; 41C290E12D4AC88E00675317 /* select_activate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = select_activate.png; sourceTree = ""; }; - 9736AA932EF210C1002DDC37 /* slang_compiler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = slang_compiler.swift; sourceTree = ""; }; - 9736AA962EF210C2002DDC37 /* retroarch_shader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = retroarch_shader.swift; sourceTree = ""; }; + 97ACF43D2EF6CF50002B55FD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97ACF43E2EF6CF50002B55FD /* config.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = config.swift; sourceTree = ""; }; + 97ACF43F2EF6CF50002B55FD /* config_view.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = config_view.swift; sourceTree = ""; }; + 97ACF4402EF6CF50002B55FD /* error_message.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = error_message.swift; sourceTree = ""; }; + 97ACF4422EF6CF50002B55FD /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + 97ACF4432EF6CF50002B55FD /* metrics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = metrics.swift; sourceTree = ""; }; + 97ACF4442EF6CF50002B55FD /* overlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = overlay.swift; sourceTree = ""; }; + 97ACF4452EF6CF50002B55FD /* renderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = renderer.swift; sourceTree = ""; }; + 97ACF4462EF6CF50002B55FD /* retroarch_shader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = retroarch_shader.swift; sourceTree = ""; }; + 97ACF4472EF6CF50002B55FD /* screen_capture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = screen_capture.swift; sourceTree = ""; }; + 97ACF4492EF6CF50002B55FD /* slang_compiler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = slang_compiler.swift; sourceTree = ""; }; + 97ACF4572EF6D115002B55FD /* ScreenSlanger.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ScreenSlanger.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -60,8 +58,7 @@ isa = PBXGroup; children = ( 41C290D22D4AC3DA00675317 /* images */, - 41C290CE2D4ABD2000675317 /* README.md */, - 4159FE5E2D497D4400B79670 /* ScreenShader */, + 97ACF44A2EF6CF50002B55FD /* ScreenSlanger */, 4159FE5D2D497D4400B79670 /* Products */, ); indentWidth = 2; @@ -71,31 +68,11 @@ 4159FE5D2D497D4400B79670 /* Products */ = { isa = PBXGroup; children = ( - 4159FE5C2D497D4400B79670 /* ScreenShader.app */, + 4159FE5C2D497D4400B79670 /* ScreenSlanger.app */, ); name = Products; sourceTree = ""; }; - 4159FE5E2D497D4400B79670 /* ScreenShader */ = { - isa = PBXGroup; - children = ( - 41C290CD2D49862B00675317 /* Info.plist */, - 4159FE612D497D4600B79670 /* Assets.xcassets */, - 4159FE662D497D4600B79670 /* ScreenShader.entitlements */, - 416975F02D497E21004C8E93 /* config_view.swift */, - 416975ED2D497E21004C8E93 /* config.swift */, - 416975F32D497E21004C8E93 /* error_message.swift */, - 416975F42D497E21004C8E93 /* main.swift */, - 416975EC2D497E21004C8E93 /* metrics.swift */, - 9736AA932EF210C1002DDC37 /* slang_compiler.swift */, - 9736AA962EF210C2002DDC37 /* retroarch_shader.swift */, - 416975F22D497E21004C8E93 /* overlay.swift */, - 416975EF2D497E21004C8E93 /* renderer.swift */, - 416975EE2D497E21004C8E93 /* screen_capture.swift */, - ); - path = ScreenShader; - sourceTree = ""; - }; 41C290D22D4AC3DA00675317 /* images */ = { isa = PBXGroup; children = ( @@ -108,12 +85,31 @@ path = images; sourceTree = ""; }; + 97ACF44A2EF6CF50002B55FD /* ScreenSlanger */ = { + isa = PBXGroup; + children = ( + 97ACF43D2EF6CF50002B55FD /* Assets.xcassets */, + 97ACF43E2EF6CF50002B55FD /* config.swift */, + 97ACF43F2EF6CF50002B55FD /* config_view.swift */, + 97ACF4402EF6CF50002B55FD /* error_message.swift */, + 97ACF4422EF6CF50002B55FD /* main.swift */, + 97ACF4432EF6CF50002B55FD /* metrics.swift */, + 97ACF4442EF6CF50002B55FD /* overlay.swift */, + 97ACF4452EF6CF50002B55FD /* renderer.swift */, + 97ACF4572EF6D115002B55FD /* ScreenSlanger.entitlements */, + 97ACF4462EF6CF50002B55FD /* retroarch_shader.swift */, + 97ACF4472EF6CF50002B55FD /* screen_capture.swift */, + 97ACF4492EF6CF50002B55FD /* slang_compiler.swift */, + ); + path = ScreenSlanger; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 4159FE5B2D497D4400B79670 /* ScreenShader */ = { + 4159FE5B2D497D4400B79670 /* ScreenSlanger */ = { isa = PBXNativeTarget; - buildConfigurationList = 4159FE692D497D4600B79670 /* Build configuration list for PBXNativeTarget "ScreenShader" */; + buildConfigurationList = 4159FE692D497D4600B79670 /* Build configuration list for PBXNativeTarget "ScreenSlanger" */; buildPhases = ( 4159FE582D497D4400B79670 /* Sources */, 4159FE592D497D4400B79670 /* Frameworks */, @@ -123,12 +119,12 @@ ); dependencies = ( ); - name = ScreenShader; + name = ScreenSlanger; packageProductDependencies = ( 41C290E32D4B04A100675317 /* Sparkle */, ); productName = ScreenShader; - productReference = 4159FE5C2D497D4400B79670 /* ScreenShader.app */; + productReference = 4159FE5C2D497D4400B79670 /* ScreenSlanger.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -146,7 +142,7 @@ }; }; }; - buildConfigurationList = 4159FE572D497D4400B79670 /* Build configuration list for PBXProject "ScreenShader" */; + buildConfigurationList = 4159FE572D497D4400B79670 /* Build configuration list for PBXProject "ScreenSlanger" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -162,7 +158,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 4159FE5B2D497D4400B79670 /* ScreenShader */, + 4159FE5B2D497D4400B79670 /* ScreenSlanger */, ); }; /* End PBXProject section */ @@ -172,7 +168,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4159FE622D497D4600B79670 /* Assets.xcassets in Resources */, + 97ACF44B2EF6CF50002B55FD /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -183,16 +179,16 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 416975F72D497E21004C8E93 /* config.swift in Sources */, - 416975FE2D497E21004C8E93 /* main.swift in Sources */, - 416975F82D497E21004C8E93 /* screen_capture.swift in Sources */, - 416975FC2D497E21004C8E93 /* overlay.swift in Sources */, - 416975FD2D497E21004C8E93 /* error_message.swift in Sources */, - 416975F92D497E21004C8E93 /* renderer.swift in Sources */, - 9736AA942EF210C1002DDC37 /* slang_compiler.swift in Sources */, - 9736AA952EF210C2002DDC37 /* retroarch_shader.swift in Sources */, - 416975FA2D497E21004C8E93 /* config_view.swift in Sources */, - 416975F62D497E21004C8E93 /* metrics.swift in Sources */, + 97ACF44D2EF6CF50002B55FD /* metrics.swift in Sources */, + 97ACF44E2EF6CF50002B55FD /* renderer.swift in Sources */, + 97ACF44F2EF6CF50002B55FD /* error_message.swift in Sources */, + 97ACF4502EF6CF50002B55FD /* slang_compiler.swift in Sources */, + 97ACF4512EF6CF50002B55FD /* main.swift in Sources */, + 97ACF4522EF6CF50002B55FD /* screen_capture.swift in Sources */, + 97ACF4532EF6CF50002B55FD /* config.swift in Sources */, + 97ACF4542EF6CF50002B55FD /* config_view.swift in Sources */, + 97ACF4552EF6CF50002B55FD /* overlay.swift in Sources */, + 97ACF4562EF6CF50002B55FD /* retroarch_shader.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -252,7 +248,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 13.7; + MACOSX_DEPLOYMENT_TARGET = 26.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -309,7 +305,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 13.7; + MACOSX_DEPLOYMENT_TARGET = 26.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = macosx; @@ -322,15 +318,17 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = ScreenShader/ScreenShader.entitlements; + CODE_SIGN_ENTITLEMENTS = ScreenSlanger/ScreenSlanger.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = 35Z85ZPNRG; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 73UF4KLZM8; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ScreenShader/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ScreenShader; + INFOPLIST_FILE = ScreenSlanger/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = ScreenSlanger; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSPrincipalClass = NSApplication; @@ -338,10 +336,11 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 1.1.1; - PRODUCT_BUNDLE_IDENTIFIER = io.github.branpk.ScreenShader; + MACOSX_DEPLOYMENT_TARGET = 26.0; + MARKETING_VERSION = 0.0.1; + PRODUCT_BUNDLE_IDENTIFIER = io.github.crutchcorn.ScreenSlanger; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -352,15 +351,17 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = ScreenShader/ScreenShader.entitlements; + CODE_SIGN_ENTITLEMENTS = ScreenSlanger/ScreenSlanger.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = 35Z85ZPNRG; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 73UF4KLZM8; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ScreenShader/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ScreenShader; + INFOPLIST_FILE = ScreenSlanger/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = ScreenSlanger; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSPrincipalClass = NSApplication; @@ -368,10 +369,11 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 13.0; - MARKETING_VERSION = 1.1.1; - PRODUCT_BUNDLE_IDENTIFIER = io.github.branpk.ScreenShader; + MACOSX_DEPLOYMENT_TARGET = 26.0; + MARKETING_VERSION = 0.0.1; + PRODUCT_BUNDLE_IDENTIFIER = io.github.crutchcorn.ScreenSlanger; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -380,7 +382,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 4159FE572D497D4400B79670 /* Build configuration list for PBXProject "ScreenShader" */ = { + 4159FE572D497D4400B79670 /* Build configuration list for PBXProject "ScreenSlanger" */ = { isa = XCConfigurationList; buildConfigurations = ( 4159FE672D497D4600B79670 /* Debug */, @@ -389,7 +391,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4159FE692D497D4600B79670 /* Build configuration list for PBXNativeTarget "ScreenShader" */ = { + 4159FE692D497D4600B79670 /* Build configuration list for PBXNativeTarget "ScreenSlanger" */ = { isa = XCConfigurationList; buildConfigurations = ( 4159FE6A2D497D4600B79670 /* Debug */, diff --git a/ScreenShader.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ScreenSlanger.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from ScreenShader.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to ScreenSlanger.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/ScreenShader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ScreenSlanger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from ScreenShader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to ScreenSlanger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/ScreenShader.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ScreenSlanger.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved similarity index 100% rename from ScreenShader.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename to ScreenSlanger.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/ScreenShader.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme b/ScreenSlanger.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme similarity index 90% rename from ScreenShader.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme rename to ScreenSlanger.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme index e8f75e6..a4b68a0 100644 --- a/ScreenShader.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme +++ b/ScreenSlanger.xcodeproj/xcshareddata/xcschemes/ScreenShader.xcscheme @@ -16,8 +16,8 @@ @@ -47,8 +47,8 @@ @@ -64,8 +64,8 @@ diff --git a/ScreenShader/Assets.xcassets/AccentColor.colorset/Contents.json b/ScreenSlanger/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from ScreenShader/Assets.xcassets/AccentColor.colorset/Contents.json rename to ScreenSlanger/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Contents.json b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Contents.json rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-1024.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-1024.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-1024.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-1024.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-128.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-128.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-128.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-128.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-16.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-16.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-16.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-16.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-256 1.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-256 1.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-256 1.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-256 1.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-256.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-256.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-256.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-256.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-32 1.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-32 1.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-32 1.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-32 1.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-32.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-32.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-32.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-32.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-512 1.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-512 1.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-512 1.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-512 1.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-512.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-512.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-512.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-512.png diff --git a/ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-64.png b/ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-64.png similarity index 100% rename from ScreenShader/Assets.xcassets/AppIcon.appiconset/Icon-64.png rename to ScreenSlanger/Assets.xcassets/AppIcon.appiconset/Icon-64.png diff --git a/ScreenShader/Assets.xcassets/Contents.json b/ScreenSlanger/Assets.xcassets/Contents.json similarity index 100% rename from ScreenShader/Assets.xcassets/Contents.json rename to ScreenSlanger/Assets.xcassets/Contents.json diff --git a/ScreenShader.xcodeproj/project.xcworkspace/xcuserdata/branpk.xcuserdatad/Bookmarks/bookmarks.plist b/ScreenSlanger/Info.plist similarity index 83% rename from ScreenShader.xcodeproj/project.xcworkspace/xcuserdata/branpk.xcuserdatad/Bookmarks/bookmarks.plist rename to ScreenSlanger/Info.plist index c8d4f0a..6631ffa 100644 --- a/ScreenShader.xcodeproj/project.xcworkspace/xcuserdata/branpk.xcuserdatad/Bookmarks/bookmarks.plist +++ b/ScreenSlanger/Info.plist @@ -2,7 +2,5 @@ - top-level-items - diff --git a/ScreenShader/ScreenShader.entitlements b/ScreenSlanger/ScreenSlanger.entitlements similarity index 100% rename from ScreenShader/ScreenShader.entitlements rename to ScreenSlanger/ScreenSlanger.entitlements diff --git a/ScreenShader/config.swift b/ScreenSlanger/config.swift similarity index 99% rename from ScreenShader/config.swift rename to ScreenSlanger/config.swift index 1e707b7..377393f 100644 --- a/ScreenShader/config.swift +++ b/ScreenSlanger/config.swift @@ -89,7 +89,7 @@ class Config: Codable { let fileManager = FileManager.default let appSupportDir = fileManager.urls(for: .applicationSupportDirectory, in: .userDomainMask) .first! - let directory = appSupportDir.appendingPathComponent("ScreenShader", isDirectory: true) + let directory = appSupportDir.appendingPathComponent("ScreenSlanger", isDirectory: true) if !fileManager.fileExists(atPath: directory.path) { try? fileManager.createDirectory( diff --git a/ScreenShader/config_view.swift b/ScreenSlanger/config_view.swift similarity index 99% rename from ScreenShader/config_view.swift rename to ScreenSlanger/config_view.swift index d08cbc6..7cc5c67 100644 --- a/ScreenShader/config_view.swift +++ b/ScreenSlanger/config_view.swift @@ -35,7 +35,7 @@ class ConfigViewController: NSViewController { self.view.addSubview(self.stackView) // Title - let titleLabel = NSTextField(labelWithString: "ScreenShader") + let titleLabel = NSTextField(labelWithString: "ScreenSlanger") titleLabel.font = NSFont.boldSystemFont(ofSize: 18) titleLabel.translatesAutoresizingMaskIntoConstraints = false self.stackView.addArrangedSubview(titleLabel) @@ -388,7 +388,7 @@ class ConfigWindowController: NSWindowController { func createUI() { guard let window = self.window else { return } - window.title = "ScreenShader Settings" + window.title = "ScreenSlanger Settings" self.configViewController.config = self.config self.configViewController.onConfigUpdate = self.onConfigUpdate diff --git a/ScreenShader/error_message.swift b/ScreenSlanger/error_message.swift similarity index 100% rename from ScreenShader/error_message.swift rename to ScreenSlanger/error_message.swift diff --git a/ScreenShader/main.swift b/ScreenSlanger/main.swift similarity index 98% rename from ScreenShader/main.swift rename to ScreenSlanger/main.swift index 7640573..58e7eb6 100644 --- a/ScreenShader/main.swift +++ b/ScreenSlanger/main.swift @@ -142,7 +142,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { appSubMenu.addItem(NSMenuItem.separator()) appSubMenu.addItem( NSMenuItem( - title: "Quit ScreenShader", action: #selector(NSApp.terminate(_:)), keyEquivalent: "q")) + title: "Quit ScreenSlanger", action: #selector(NSApp.terminate(_:)), keyEquivalent: "q")) let editMenu = NSMenuItem() mainMenu.addItem(editMenu) @@ -180,7 +180,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { let active = self.config.active let systemSymbolName = active ? "paintbrush.fill" : "paintbrush" return NSImage( - systemSymbolName: systemSymbolName, accessibilityDescription: "ScreenShader")! + systemSymbolName: systemSymbolName, accessibilityDescription: "ScreenSlanger")! } @objc private func toggleEffect() { diff --git a/ScreenShader/metrics.swift b/ScreenSlanger/metrics.swift similarity index 100% rename from ScreenShader/metrics.swift rename to ScreenSlanger/metrics.swift diff --git a/ScreenShader/overlay.swift b/ScreenSlanger/overlay.swift similarity index 100% rename from ScreenShader/overlay.swift rename to ScreenSlanger/overlay.swift diff --git a/ScreenShader/renderer.swift b/ScreenSlanger/renderer.swift similarity index 99% rename from ScreenShader/renderer.swift rename to ScreenSlanger/renderer.swift index 3b7c933..3747e73 100644 --- a/ScreenShader/renderer.swift +++ b/ScreenSlanger/renderer.swift @@ -373,7 +373,7 @@ class MetalRenderer { let librarySource = """ \(metalFragmentSource) - // ========== ScreenShader Vertex Shader ========== + // ========== ScreenSlanger Vertex Shader ========== struct VertexOut { float4 position [[position]]; float2 texCoord [[user(TEXCOORD)]]; diff --git a/ScreenShader/retroarch_shader.swift b/ScreenSlanger/retroarch_shader.swift similarity index 99% rename from ScreenShader/retroarch_shader.swift rename to ScreenSlanger/retroarch_shader.swift index 74fd8ab..6d555f0 100644 --- a/ScreenShader/retroarch_shader.swift +++ b/ScreenSlanger/retroarch_shader.swift @@ -594,7 +594,7 @@ class RetroArchShaderCompiler { fragmentMetal: String, parameters: [ShaderParameter] ) -> String { - // ScreenShader renders fullscreen quads procedurally without vertex buffers. + // ScreenSlanger renders fullscreen quads procedurally without vertex buffers. // The RetroArch vertex shader expects vertex inputs, so we need to: // 1. Use a custom vertex shader that generates fullscreen quad vertices // 2. Extract shared structs (Push, UBO) from the generated Metal code @@ -723,7 +723,7 @@ class RetroArchShaderCompiler { // Build combined shader with custom vertex shader let combined = """ // Combined RetroArch shader compiled for Metal - // Auto-generated by ScreenShader + // Auto-generated by ScreenSlanger #include #include diff --git a/ScreenShader/screen_capture.swift b/ScreenSlanger/screen_capture.swift similarity index 100% rename from ScreenShader/screen_capture.swift rename to ScreenSlanger/screen_capture.swift diff --git a/ScreenShader/slang_compiler.swift b/ScreenSlanger/slang_compiler.swift similarity index 96% rename from ScreenShader/slang_compiler.swift rename to ScreenSlanger/slang_compiler.swift index d9969da..f6a9158 100644 --- a/ScreenShader/slang_compiler.swift +++ b/ScreenSlanger/slang_compiler.swift @@ -86,6 +86,8 @@ class SlangCompiler { private static let slangcSearchPaths = [ // Environment variable override ProcessInfo.processInfo.environment["SLANG_PATH"], + // User's specific Slang installation + "/Users/crutchcorn/slang-2025.24.1-macos-aarch64 2/bin/slangc", // Homebrew installation "/opt/homebrew/bin/slangc", "/usr/local/bin/slangc", @@ -183,11 +185,11 @@ class SlangCompiler { return metalSource } - /// Wrap user-provided Slang effect code with the ScreenShader framework code - /// This creates a complete Slang shader that matches ScreenShader's expectations + /// Wrap user-provided Slang effect code with the ScreenSlanger framework code + /// This creates a complete Slang shader that matches ScreenSlanger's expectations static func wrapEffectSource(_ effectSource: String) -> String { return """ - // ScreenShader Slang wrapper + // ScreenSlanger Slang wrapper // This shader is compiled from Slang to Metal // Input texture and sampler @@ -203,7 +205,7 @@ class SlangCompiler { ConstantBuffer uniforms : register(b0); - // Shader input structure matching ScreenShader's ShaderInput + // Shader input structure matching ScreenSlanger's ShaderInput struct ShaderInput { Texture2D inputTexture; SamplerState sampler; -- 2.51.2