Skip to content

[FEAT] a couple of ideas #76

@exo-cortex

Description

@exo-cortex
  1. It would be nice to easily run existing shaders or save new ones in a user-defined directory.
    I could imagine having a special folder on my computer with shaders that I share with others (with syncthing for example or via git).

some context:
Years ago I made visuals with the Winamp-plugin "AVS" (Advanced Visualization Studio). AVS was basically a list of effects that would be applied sequentially (but all on the CPU). Which effects could be defined by the user. Each effect would take the framebuffer and modify it in some way. Some of these effects were itself programmable and could be used to write code. The small community of AVS-artists would make compilations of these "presets" and release them - like albums.
It would be nice to make something similar with shadplay as well - have the users define a folder on their computer where they can navigate, write and play shaders in.

  1. Similar to the winamp-plugin it would be nice if shadplay could provide an audio-spectrum and audio wave-form. (Both L/R). Bonzomatic (what shadplay is inspired a little I guess) has a spectrum and a smoothed spectrum as a 1D-texture uniform, that would also be nice here. (no waveform though!)

  2. When using the window without decorations it would be nice if it could be dragged easily dragged with the mouse (like mpv). Maybe if interaction is possible in the shader this could be toggled through a command?

  3. change the key for the help-overlay from ? (on my computer it's "/" btw) to F1 of "H" maybe. Also make the overlay bigger - maybe it could be displayed in terms of uv-coordintaes (from 0 to 1). It should always fill the same amount of screen.

  4. It would be nice if there was a way of creating a "base" shader. Like a template. (I'm not yet sure how that would work, but maybe from shadplay a default-shader-template.wgsl could be placed in the current directory.

  5. A GUI where I could navigate the folder structure (ideally with WASD or arrow-keys. Maybe navigation could work similar to the TUI-filemanager "ranger"? This GUI could be a shader itself maybe ?
    I am a fan of quick and efficient GUIs that can be used completely with a keyboard. An example: in the current directory up/down would go through the list of folders or shaders, right would either enter the folder (if it is one) or if it is a shader there would be several options available like "run", "view code", "view tags"(see hotfix/shitty-merge #7.) or maybe "share with yet to be established shadplay-community" :-) or something.

  6. A defined way of adding "author", "name", "based-on/original-by" and other tags to a shader. In AVS we had an effect "comment" that would do nothing, but could be used to add some context. Like "this is 03 of the preset-pack called lalala" and also some nice ASCII-art :D. You the (main dev) could set a certain way of defining these tags - like mard-down frontmatter maybe. Authorship would be very nice (not because of copyright - that could be voided maybe by you globally?) because in AVS a lot of presets would be remixes or remixes-of-remixes-of-etc of other presets. (If you are interested in AVS a close friend of mine is in the process of porting this ancient complicated program to linux/cross platform. In the far future a lot of the original effect might be adapted as actual shaders as well. the repo is here: https://github.com/grandchild/vis_avs
    There are a few people left of the avs-community. here is a channel: https://discord.com/channels/434058775012311061/843863800029773835 (I will write a post there about shadplay after this here).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions