Comments (4)
I don't think it makes much difference from current method. Mac app is fundamentally bundled in a directory. One possible optimization is to write a wrapper script for /usr/local/bin
which can pass arguments to the real waifu2x
executable.
from waifu2x-mac.
The Mac app is bundled in a directory but the CLI executable is completely separate and is currently not bundled with the Mac app.
If I build/archive just the Mac GUI app, it doesn't have a CLI interface. If I archive the CLI version it doesn't work since the frameworks are not in the same directory as the CLI executable. If I build the CLI version the 2 frameworks it is dependent on is in the same directory and works.
From a user and release's point of view, I think it would make sense if the CLI and GUI app are packaged together in a .app directory and all dependencies for both are in that .app directory and linked to it. Right now, the CLI executable is unusable if you don't have frameworks in the same directory and I don't think that is the right approach.
It would be easier to have everything in the .app bundle and if the user wants to use the GUI version nothing changes. if the user wants to use the CLI version, they can go into the app directory (waifu2x-mac-app.app/Contents/MacOS
) and launch CLI, which will work 100% since the frameworks it links against is in the same .app directory in waifu2x-mac-app.app/Contents/Frameworks
. If the user doesn't want to go into the .app directory to use the CLI version, then the user can do an alias to the CLI executable and place it in /usr/local/bin
from waifu2x-mac.
Currently the GUI version does not support choosing different models. It would confuse user if the CLI version is packed into it. I will try to improve the UI and try embedding CLI version into app bundle if I have time. By the way, feel free to open a PR so that I can refer to your solution.
from waifu2x-mac.
I am not sure what you mean "choosing different models" but I am guessing you mean offering the user option of using the GUI or CLI? I don't think such an option is necessary if that is what you mean. Regular users would use the GUI app as-is like it is right now by double-clicking on waifu2x-mac-app.app
. Others users interested in more control or scriptability can go into the app bundle and use the CLI binary executable waifu2x
. Launching the app regularly would be irrelevant to the CLI executable in my solution.
I will submit a PR to give you my proposed solution.
from waifu2x-mac.
Related Issues (20)
- Unable to resolve build file: XCBCore.BuildFile (namedReferencesCannotBeResolved) (in target 'waifu2x-mac-app') HOT 1
- Not an issue, just a suggestion. HOT 1
- TTA support?
- Publish to Homebrew and MacPort? HOT 4
- Bit-depth support? HOT 5
- Images of Size Smaller than Model Input Cause Crash HOT 8
- TIFF Support? HOT 3
- dyld: Library not loaded: @rpath/libswiftCore.dylib HOT 4
- 1.5 Upscale Factor? HOT 2
- Input and output arguments for the CLI version HOT 2
- Vapoursynth plugin HOT 1
- It always build failed. HOT 6
- Upscale not working - segmentation fault & static results HOT 1
- Build failed and Xcode error HOT 3
- Bulk conversions and remembering subfolders HOT 1
- Different quality image HOT 1
- Utilize GPU in the prediction phase HOT 7
- Stuck at generating
- Can't compile application with build.sh OR Xcode HOT 7
- Only the iGPU is used HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from waifu2x-mac.