GithubHelp home page GithubHelp logo

gammalauncher's Introduction

GammaLauncher

GitHub Logo

A simple launcher for vvvv gamma

vvvv

Was ist das

GammaLauncher is a simple application that allows to launch vvvv gamma instances with specific arguments from a simple GUI.

Installation

Manual

The latest release is available here. You can choose between an installer and a portable version.

Winget

Open a Terminal window and type

winget install GammaLauncher

This method will install the launcher and its dependencies (.NET6, vcredist). Please note that it takes a few days after a release for the Winget package to be updated.

Usage

Initial setup

Open the app and go to the Settings tab. There you can specify the follwing properties :

  • vvvv installation folder : this is where the launcher will look for your installed vvvversions. It defaults to C:\Program Files\vvvv
  • Nuget override : if you want to override the default nuget folder with your own, specify it here
  • Extra args : arbitrary arguments the launcher will use when starting a vvvv instance
  • Package repositories : all folders you add in this section will be used as package sources. More information here
  • Editable packages : allows listed packages to be modified. Otherwise, vvvv precompiles them and they're read-only

Then go to the Launch tab and pick the version you want to work with in the drop down, select startup arguments with the checkboxes and click the Launch button!

Updates

When the app starts, it looks online for the most recent vvvv preview builds. If a more recent version is available online, the Updates tab will turn yellow. You can then browse the available builds and click the Install button to download and start the installer. A Changes button allows to view the changelog for this version in your browser. You can also click Check for updates or press SHIFT + F5 at any time to maually look for updates.

Opening documents

You can drag and drop any VL document from your file browser on the launcher to open it in a new vvvv instance.

Features

  • Run vvvv instances with any combination of command line arguments from a simple GUI
  • Install and uninstall vvvversions with a single click
  • Quickly access useful folders such as installed nugets, default nugets, package sources and so on
  • Quickly kill all running vvvv instances
  • Quickly start new instances with a specific document by dropping it on the launcher

Contributing

All suggestions and pull requests are welcome, don't hesitate to report problems and share suggestions in the issues or on the vvvv forum.

gammalauncher's People

Contributors

bj-rn avatar domjancik avatar gregsn avatar sebescudie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gammalauncher's Issues

Using a folder name with a space in settings.xml throws errors

Setup

The repo directory I want to reference is called 'Dummy Repo'.

Different scenarios with settings.xml

  1. C:\Dummy Repo
    (no quotation marks)

➡️ 'Repos' button works but Gamma doesn't start:

************** Exception Text **************
System.IO.DirectoryNotFoundException: The package directory "C:\Dummy" doesn't exist!
at VVVV.NuGetAssemblyLoader.AssemblyLoader.AddPackageRepository(String packageRepository)
at VVVV.NuGetAssemblyLoader.AssemblyLoader.AddPackageRepositories(List`1 packageRepositories)
at VL.UI.Forms.VLContext.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.UI.Forms.VLContext.<b__10_0>d.MoveNext()

  1. "C:\Dummy Repo"
    (path surrounded by quotation marks)

➡️ Gamma starts and load repo correctly but 'Repos' button doesn't work:

"At least one of your repos folder does not seem to exist!"

  1. C:\"Dummy Repo"
    (only folder name with space surrounded by quotation marks)

➡️ 'Repos' button doesn't work and Gamma doesn't start:

"At least one of your repos folder does not seem to exist!"

************** Exception Text **************
System.ArgumentException: Illegal characters in path.
at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at VVVV.NuGetAssemblyLoader.AssemblyLoader.AddPackageRepository(String packageRepository)
at VVVV.NuGetAssemblyLoader.AssemblyLoader.AddPackageRepositories(List`1 packageRepositories)
at VL.UI.Forms.VLContext.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.UI.Forms.VLContext.<b__10_0>d.MoveNext()

vvvv enumeration

image
hi sebes,

first of all thanks for this great everyday helper!

But i have two little issues:

  1. vvvv beta is also enumerated in the dropdown, which is cool, but its string isn't drawn (the first two entries in my screenshot)
  2. i need more than 8 entries in the dropdown :)

Refresh available versions

It would be cool to have a refresh button that gets the available versions.

two examples

  • When for some reason you start your GammaLauncher before your machine is online. then you need to restart GL for it to fetch a new list.
  • Waiting for a new preview that will be ready at a moments notice

Active tab color

Just a little design suggestion - right now the tab "Updates" is yellow when a new version is downloadable. I would expect yellow to be the color for the currently active tab. Maybe indicate a new version with a little yellow dot in the tab?

New features for ImGUI version

  • A proper menu bar with all the things doable with shortcuts doable by clicking a button
    • Refresh remote vvvversions/local ones
    • Show settings file
    • Show vvvv installation folder
  • A scrollable dropdown for vvvversions (#37)
  • A button to clear the installation folder (#34)

Ordered by Topic

I tried to reorganize things so that everything is ordered by topic. If this is done with collapsable headers we can fit everything onto the first tab. We would be able to get rid of the 3rd tab and also most of the menu items, as the commands are now buttons at those places where it's about a certain topic.

Main Tab:

vvvv version [Launch] 
[ ] Start new vvvv instance
[ ] Start stopped

> Installed vvvv versions
Installations Folder 
________________________ ... [Rescan]
[Uninstall Current] 

> Packages
[ ] ________________________ ... X
[Show] [Create Empty Folder]

> Source packages
[ ] [Show] ________________________ ... X 
+

> Editable packages
[ ] ________________________ X
+

> Debugging / Advanced
[ ] Extra commandline arguments 
    ___________________________
[ ] Debuggable target code
[x] Package compiler
[x] Package compiler may cache
[x] Editor extensions

remarks:
> Packages
if checkbox isn't checked: Show button shows the default Appdata folder.

Create Empty Folder creates a new temp folder in AppData\Local\Temp, writes that into the textbox, and checks the checkbox. This allows you to quickly try vvvv without any cached packages.

> Source packages
Use repos isn't necessary anymore as you can quickly uncheck the individual repositories.

> Editable packages
Compile source packages isn't necessary anymore as you can quickly uncheck the editable packages. Often only one or two are checked - those that you currently work on.

[x] Package compiler may cache is greyed out if the [ ] Package compiler is turned off. Both boolean flags could be substituted by an enum with 3 entries, but maybe it's even more cryptic than having two checkboxes.


Meta: Do we want a new UI / Is this necessary?

I think we might gain clarity, but I also liked the launch Tab as it is now, just by the fact that I can tell a new user: Normally you just don't check anything. With my sketch above I got rid of the one or other negation meaning that also some of those checkboxes would be on by default. And ordering by topic means that sometimes you need to search a bit longer for the option to not load source packages...

Technical details: The old user settings would be lost most probably if we want to have clean code base. Can we get rid of the Tab-based organization of settings, so that after the next cleanup we can still stick with the model?

larger kill button

could you please consider making the KILL button much LARGER and closer to the kill vvvv button?
in those emotional moments when you have to kill, it feels better when you do not have to aim for a small button :)

stable and preview nuget folder

a minor one:
when clicking the "nuget" button the launcher always opens the gamma/nugets folder, also when a preview version is selected above. i'd expect the gamma-preview/nugets to be opened when a preview is selected in the list above

Settings hot reload

One should not have to restart the launcher for settings to be applied - use some file watcher thing

Stable versions not listed

I have the case here that the latest stable version won't get listed (I don't see the 21.4.7)
grafik

I'm guessing that this is because 21.8 and 22.5 previews don't leave enough space (looks like it's capped at 10 items).

Stable versions not listed

I have the case here that the latest stable version won't get listed (I don't see the 21.4.7)
grafik

I'm guessing that this is because 21.8 and 22.5 previews don't leave enough space (looks like it's capped at 10 items).

Updates tab shows duplicates of already installed versions

So I already have the 2022.5.0-0558 preview installed:
image

So in a perfect world I'd expect to see its entry greyed out:
image

And even better, some kind of indicator on top (just like you have it in place for the launcher itself already) if there's more recent vvvv versions available :)

Clean old folders in install directory

Uninstalling vvvv leaves a folder there, if one is sure that nothing was changed manually in a vvvv install folder, one could press a button to move those directories into the bin.

image

Gammalauchner did not start

I often use the gammaLauncher and i want to add some functions like a kill button. Everything works out fine. Also the export builds the application. But when the Code is exported with the newest Gamma 2020.1. there is an error on startup. Seems Elementa related.
Same behavior with:
gamma 2019.2.0.321

Upcoming Major Download

It would be nice if Gammalauncher could include all the options for download. Currently it would be 2021.4 and 2022.5 as the upcoming major.
Having gotte used to the convenience of gammalauncher, it feels clumsy to download from visualprogramming.net

Clean backups older than X days

Autobackup creates a folder per day, one could get rid of them if older than 3 months or so, note that there are two folders, one for previews one for stables:

image

Sorting of versions is wrong

The sorting of the dropdown of versions is wrong. It is not interpreting the numbers correctly, but doing a pure alphabetical sort. "2021.4.10-138" should come between "2022.5.0-0040" and "2021.4.9-975". But now it is between "2022.4.2" and "2022.4.1".

Thanks for fixing, GammaLauncher rules.

image

Making a version with exe but without installer available

Great to have a handy installer available. Unfortunately the installer gets blocked if you are not on admin rights, version 4.x runs fine without.
Would it be possible to additionally provide the app as as a zip (with the app as exe and lib folder) again?
Thx

Rescan versions

Handy if you install an update and wanna launch it with custom args right away.

Minimize to tray

Allow the launcher to minimize to tray so that quick actions can be triggered from systray :

  • Start a new vvvv instance with same params
  • Show nugets
  • Show package-repsitories folder
  • Kill vvvv

Whether the app goes to systray or not should be controlled by a bool in settings.xml.

Editable Packages opens VVVV folder

A funny bug (or a feature I don't get):
As soon as I enter a package name into an "Editable Packages" field, the windows explorer will open a window with the current VVVV installation. is this intentional?

gamma launcher 5.1.0

Add secret-sauce argument setting

Users should be able to specify their own command line argument in the settings in case it's not present in the launcher. This argument will be appended to the ones ticked in the GUI. But we need #27 first so that it's "easy" to work with

install dependencies with gammalauncher installer

when installed on a totally fresh win10 system, gammalauncher does not launch as it lacks some dependencies (probably .net6 runtime).

the easiest way to solve this is to install some vvvv gamma preview (2022.5), because it actually installs all nescessary runtimes to also run the gammalauncher. however, this requires the extra step of going to the webpage and downloading/running the respective installer.

it would be nice if the gammalauncher installer itself would also initiate the install of all required runtimes to run itself, then it could really serve as the single point of entry into the vvvv-world.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.