# bellatui Cross platform console based bella render server/client A command line bella renderer with encrypted networking with an interactive TUI ( text user interface )for uploading .bsz scenes, starting renders, downloading images. Additional commands allow viewing progress, stopping renders, etc ## Usage command: help, send, get, stat, render, stop # Precompile Binaries [Windows](https://a4g4.c14.e2-1.dev/bellatui/bellatui-win.zip) [MacOS](https://a4g4.c14.e2-1.dev/bellatui/bellatui-mac.zip) ``` Apple Gatekeeper blocks non-notarized executables by default. ``` [Ubuntu Linux](https://a4g4.c14.e2-1.dev/bellatui/bellatui-linux.tar.gz) ``` apt install -y libsodium-dev ``` ### Client ``` bellatui --serverAddress:discord.beantip.ca bellatui connecting to discord.beantip.ca ... Connection to discord.beantip.ca successful send orange-juice.bsz Sending:orange-juice.bsz Server Readiness: RDY sending ......................................................................... render Server response: render started...type stat to get progress stat Server response: Saturn | Elapsed: 6s | Bench: 1704 stat Server response: Saturn | Elapsed: 41s | Progress: 22.65% ``` Server ``` bellatui --server BellaTUI server started ... Awaiting new client ... expect Client connected ``` ## Build ##MacOS ``` mkdir ~/homebrew curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C ~/homebrew eval "$(~/homebrew/bin/brew shellenv)" brew update --force --quiet chmod -R go-w "$(brew --prefix)/share/zsh" curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg open cmake-3.31.6-macos-universal.dmg brew install libsodium brew install gnutls brew install pkg-config git clone https://github.com/zeromq/libzmq cd libzmq mkdir build cd build /Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a make cd .. git clone https://github.com/zeromq/cppzmq git clone https://github.com/oomer/bellatui.git cd bellatui makefile ``` ##Linux # Build # Linux ### bella_engine_sdk ``` curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz tar -xvf bella_engine_sdk-24.6.0.tar.gz ``` ### ubuntu tool needed ``` apt install -y build-essential apt install -y libx11-dev apt install -y libgl1-mesa-dev apt install -y libtool apt install -y libsodium-dev apt install -y cmake apt install libgnutls28-dev apt install pkg-config ``` ``` dnf groupinstall -y "Development Tools" dnf install -y libX11-devel dnf install -y mesa-libGL-devel dnf install -y libtool dnf install -y libsodium-devel dnf install -y cmake dnf install -y gnutls-devel dnf install -y pkg-config ``` ### libzmq ``` git clone https://github.com/zeromq/libzmq cd libzmq mkdir build cd build This one cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium -DSODIUM_INCLUDE_DIRS=/usr/include -DSODIUM_LIBRARIES=/usr/lib/x86_64-linux-gnu/libsodium.a cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../../libsodium/src/libsodium/.libs/libsodium.a make -j4 make install ``` ### cppzmq ``` cd ../.. git clone https://github.com/zeromq/cppzmq cd cppzmq mkdir build cd build cmake .. ``` ## bellatui ``` cd ../.. git clone https://github.com/oomer/bellatui.git cd bellatui make ``` # Windows https://aka.ms/vs/17/release/vs_BuildTools.exe [ ] Desktop development wiht C++ Get bella_engine_sdk #### x64 Developer console ``` git clone https://github.com/microsoft/vcpkg.git cd vcpkg vcpkg install zeromq[sodium]:x64-windows git clone https://github.com/oomer/bellatui.git msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143 ``` Build directories be relative ``` --folder --bella_engine_sdk --bellatui ``` # MacOS Use this when homebrew commands are needed eval "$(~/homebrew/bin/brew shellenv)" ### Install homebrew without sudo Run the eval to set dev variables and path ``` mkdir ~/homebrew curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C ~/homebrew eval "$(~/homebrew/bin/brew shellenv)" brew update --force --quiet chmod -R go-w "$(brew --prefix)/share/zsh" ``` ### cmake , drag to Applications ``` curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg open cmake-3.31.6-macos-universal.dmg ``` ### brew dependencies ``` brew install libsodium brew install gnutls brew install pkg-config ``` ### compile libzmq ``` git clone https://github.com/zeromq/libzmq cd libzmq mkdir build cd build /Applications/CMake.app/Contents/bin/cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a make cd ../.. ``` ### header only cppzmq ``` git clone https://github.com/zeromq/cppzmq ``` ### bellatui ``` cd ../.. git clone https://github.com/oomer/bellatui.git cd bellatui make ``` # Notes ``` g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,. g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,. cl /std:c++17 client.cpp -Fe:client.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib cl /std:c++17 server.cpp -Fe:server.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib clang++ -o bin/Darwin/client obj/Darwin/client.o -mmacosx-version-min=11.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Cocoa -framework IOKit -framework CoreVideo -framework CoreFoundation -framework Accelerate -fvisibility=hidden -O5 -rpath @executable_path -weak_library ./lib/libvulkan.dylib -L./lib -L../libzmq/build/lib -lbella_engine_sdk -lm -lzmq -ldl ```