Activity

Dubstepdragon

FT Final

Added blackhole particle simulation using raymarching. Forgive brevity as I attempt to finish everything a couple minutes before FT ends (apologies reviewers and shipwrights). This is built into the perform window with camera and glsl. I used a radial decay and spawning of particles around an event horizon.

Changelog

Attachment
0
Dubstepdragon

Built a GLSL ray marching simulation and camera in Touchdesigner. The camera took a bit more work than expected due to uv values being altered in TD’s mapping scheme. Ray marching is a rendering technique that advances a ray through a scene in steps determined by a signed distance function, efficiently converging on surfaces by always moving the maximum safe distance without overshooting. I then began work on translating this into vvvv gamma due to its exportability features.

Changelog

Attachment
0
Dubstepdragon

VVVV Overhaul

Most files committed in one push so far face_with_peeking_eye-hole
I designed a spectrum visualizer for desktop audio in vvvv gamma and compiled for windows architecture based on logic directly from this project’s TD implementation. Right now only the windows architecture is available because of the reliance on WASAPI to hook onto a sound device, this can possibly be fixed in the future for mac/linux using system-specific builds.

Changelog

Attachment
Attachment
0
Dubstepdragon

Shipped this project!

Hours: 22.37
Cookies: 🍪 248
Multiplier: 9.24 cookies/hr

Stabilized and added webcam + desktop mode! Tons of ideas but never enough time :despair:

Might overhaul a couple projects (this included) in vvvv for exportability as standalone since no one wants to install TouchDesigner (missing out fr)

Dubstepdragon

Optimization

I worked on a bit of optimization and disabling features that are not currently in use to improve load size. Webcam models will not run until mode is enabled and background processes are stalled when application is paused.

Changelog

Attachment
0
Dubstepdragon

Holy Overtime

Whoops, looks like this guy forgot he’s supposed to be writing devlogs and not just slamming out project time. I’ve added hand tracking inputs which in all honesty could’ve/should’ve been it’s own project but there is still enough overlap to merge. In this series of changes I implemented actual control to the webcam mode that switches all required parameters dynamically (and it works, promise).

I’ve made a couple change s to the readme to hopefully solve a couple of the issues that have been plaguing me since the beginning of this project. I made too many assumptions that people would have touchdesigner and know which file to open. I’ve added two more features for this week’s ship.

Desktop Mode

Previously I thought I wouldn’t add this feature due to it requiring setup outside of the project, but I’ve kinda realized people can just set it up themselves if they want it and no reason to deprive an optional feature that’s been requested. I plan to add a menu to select your audio device that has desktop audio played back.

Webcam Mode

This is the main feature, unfortunately I can’t cover all the details here due to character limit. This uses media pipe for hand tracking. The tldr is hand distance increases visualizer size, pinching causes a flash, and rotation controls brightness (left is brightest, down is darkest).

Changelog

Attachment
0
Dubstepdragon

Shipped this project!

Hours: 30.82
Cookies: 🍪 736
Multiplier: 19.88 cookies/hr

For full functionality I recommend downloading the complete repository as I haven’t separated the mediapipe toxes yet, otherwise the .toe in v0.2 release linked in the demo works fine smil

Dubstepdragon

I experimented with a couple new features. Unfortunately it doesn’t seem feasible to add desktop audio without having an additional step for setting up a playback device or a VB cable. Since I want to avoid any steps outside of the program and overcomplicating things I’ll avoid this for now unless I come up with a better implementation. Similar reasons for why I won’t be adding spotify/youtube url support, these would rely on external tools that may alter/stop service at any time.
I adjusted feedback and a couple other variables to try and fit more song styles without having the visualizer fizzle during slower paces.

I’ve started the addition of mediapipe to allow for handtracking control over the visualizer. I’ve added a webcam menu and the tox courtesy of torinmb which has unfortunately bloated the size of the project 1000x. I plan to add a way to accept or decline this feature since the low storage cost would be nice to keep. I also fixed a couple of things after switching to git lfs which broke a couple medias and replaced my readme with a pointer skull_cry

Changelog

Attachment
0
Dubstepdragon

Moon Texture Elevation Noise

I built a filesystem watcher to look for the most recently downloaded .csv or .json and load the data into a table. The table’s data can be converted into more usable info for the use in noise generation on the visualizer.

In the process of adding a moon texture and add elevation noise I discovered a neat look of the black visualizer from the moon’s textures on a red background that I likened to Persona 5. Added a visualizer mode to enable this switch, I put this in a submenu to subconsciously force me to add more modes to this project.

I also corrected my flow for turning the elevation profile into noise using the harmonics based on uv values. To keep readme decluttered I left the steps on how to get the elevation profile in the comment box. swaga

Changelog

Attachment
Attachment
0
Dubstepdragon

MoonTrek Display

Through creating a webBrowser embed into touchdesigner I can display moontrek’s website as a pop-up window inside the visualizer screen. The current pipeline idea I have is to have the users select a line/polyline which gives a .csv of elevation profiles. Then the elevation profile will need to be parsed into usable data for the noise generation.

I also want to add an option to add the actual texture of the moon to the visualizer but that seems a little complicated at the moment and I’m not quite sure how I actually want that to look.


Changelog

Attachment
0
Dubstepdragon

Shipped this project!

Hours: 16.57
Cookies: 🍪 356
Multiplier: 17.94 cookies/hr

Audio Visualizer built in TouchDesigner supporting url and local files. I have plans to have the noise be sourced from the live data from Moon Trek but I couldn’t get around to it before lock-in time was due. Currently the only ‘moon’ aspect is the shape of the visualizer but I promise I’ll update that in the future. My biggest gripe with touchdesigner is it makes complicated things really easy like loading a song and stripping out the lows, highs snares, and kickdrums (as well as spectral density because why not); but it makes the easy things unimaginably difficult. Trying to setup a basic panel or dropdown menu? Might as well go prove Riemann’s hypothesis. Either way it’s fun to work with, if you have any issues feel free to message me and I’ll try to fix it when I can.

Dubstepdragon

So apparently setting anchors points for a popMenu is the most complicated thing you can do in the world ignoring thermonuclear fusion. After trying multiple methods like setting the coords for the panel and anchoring to a comp in a container (didn’t work), I’ve settled with using win32 to set the mouse directly (which the menu opens on). Thankfully I now have that set and a few other keyboard shortcuts to control the player.

Changelog

Attachment
0
Dubstepdragon

I’ve developed my basic flow of components needed to strip out channels from the audioanalysis and tweak to smooth and filter to more useable values. The visualizer right now has some basic reactivity to snares and kicks as well as glows and increases in size with spectral density. Unfortunately it’s going to be many a hours to tweak everything to react as I want it to and to fit multiple kinds of songs so I’ve put off the moon surface noise for now, that will likely come in the next ship as I still need to get hours for #lock-in.

Changelog

Attachment
0
Dubstepdragon

Kinda forgor to devlog for a bit.
Originally I set up the visualizer with low-frequency oscillators to slowly test my pulsing of the sphere. Through some math we remap the surface points of the sphere onto the 2d plane. Some post-processing added to make it appear more reactive, fine-tuned a lot of values until I felt happy with it but these can ultimately be changed later. An important feature I’ve been working to keep is the ability to later edit how much the affect of lows, highs, and kick etc affect the visualizer to really custom-fit how the user wants it to feel. A lot of Derivative’s callbacks get obfuscated in their chain of extensions that call features at the core level so reading into the containers/comps is really important. Some UI is setup with the scripts to set values in the backend once the dialogs and popmenus are complete. The noise from the heightmap of MoonTrek is going to be the hard part to really figure out and is going to complicate this project just a bit, but this also wouldn’t be unique without sooo smileswide

Changelog

Attachment
1

Comments

Dubstepdragon
Dubstepdragon 27 days ago

Shameless plug, if you want to make your own project in touchdesigner I made a wakatime plugin for it: https://flavortown.hackclub.com/projects/10618

Touchdesigner allows for some really cool art and effects through visual programming and I’d be happy to answer any questions within my knowledge ;)

Dubstepdragon

Shipped this project!

Hours: 11.29
Cookies: 🍪 179
Multiplier: 15.89 cookies/hr

I’ve expanded upon the features most requested in previous feedback to allow for a better user experience. The plugin is able to initialize the wakatimeCLI correctly and error handling has been improved substantially. The plugin now has a proper display to better understand it’s current state (first time touchdesigner helped rather than hampered). Hopefully this tool inspires some more projects in the touchdesigner ecosystem now that tracking is accessible, especially now that the tool has been improved.

Dubstepdragon

Added the errors panel to display when an error is hit and made the readme more actionable. Hopefully the pipeline of the demo gif serves as usage instructions.
I’ve baked in a lot of error handling and messages that the troubleshooting shouldn’t really occur as much as the messages serve as indicators of what needs to be done.

Changelog

Attachment
0
Dubstepdragon

Codename: The Feelings Update

This update mostly focuses on QoL and the overall feel of the plugin. So the status bar now shows initialization progress and there were tweaks to the wakatime download after v2 release tweaked how the internal/normal config saved cli_version. The wakatime_cli should now properly download and extract on most architectures and removed cases of redownloading the same version of semantic versioning. Internal config is now parsed and appended with the proper versioning and checked with a tuple to verify which version is the latest in semantic versioning.
Goals:
status change [√]
errors panel []


Changelog

Attachment
0
Dubstepdragon

Main extension script had been modified to better handle errors and display logic had been added to give the extension a nicer visual and alert the user when the script catches an error. Still you can’t catch what you don’t know so I’ll add some troubleshooting steps and better guides to the repo. Big shoutout to all the feedback I’ve been given as the major pain point seemed to be the tool was under explained and when it didn’t work you were lost. Hopefully the display and modified readme will help to lower that barrier a bit.

One small issue I’ve seen but been unable to recreate is a delay of a couple of minutes before the project is recognized on hackatime, unsure if this is intended behavior and may be a can of beans to open later cwy

Changelog:

Attachment
0
Dubstepdragon

Shipped this project!

Hours: 10.81
Cookies: 🍪 196
Multiplier: 18.16 cookies/hr

Created a WakaTime plugin for TouchDesigner. I’ve recently gone into the deep end with this tool and wanted to build something for it. I noticed that the wakatime coverage didn’t really have a good fit for it and decided to make something myself. Because TouchDesigner functions as it’s own programming language it seemed fit for something close to the implementations of the VSCode plugin. I relied a lot on the documentation for Wakatime and previous implements such as super godot by Budzio because it had hack club’s stamp of approval. The most challenging portion of this project was finding proper documentation for TouchDesigner. I’ve discovered the platform is not really suitable for direct plugins and most of the documentation is outdated and unmaintained. So many class name and functions are defunct so I ended up having to make custom ones to support it instead.

I hope to allow for greater coverage across environment platforms, happy to make any adjustments to better suit testing/debugging.

Happy Sailing🏴‍☠️!

Dubstepdragon

The logic was reviewed and corrected to better fit the logic control as stated in the WakaTime documentation for plugins. It now correctly logs the correct flags and pushes according to the states isWrite flag flow. I’ve kept the python file in even though the .tox component no longer references it to allow for easier version control and editing as well as more direct access to viewable components. This project has collected a lot of dust and I’ve put of really working on it due to a difficult schedule and lacking drive to allow for all system architectures. Now that I have more time on my hands if there’s any bugs or system incompatibilities please leave a comment here or open an issue on the github page so I can readily patch new versions.

One feature I’m already thinking of is adding some visual to the component to spice things up, feel free to put some suggestions into my head mind-control style!

Commit

  • Write logic (7ddabf0)
  • Compiled .tox and removed .py dependancy (4f8f877)
  • Add README for plugin (5b8acac)
Attachment
0
Dubstepdragon

3c
Created popDialog for prompting api key when missing from config. My plans for next session are going to be balancing how it’s displayed a little as currently it appears in the top-right corner which is not the best. The logic for sending heartbeats needs to be tweaked to activate flags on edit actions and write on save. I’ll also check if additional info like os attributes and plugin name are being sent properly.

Commit

Attachment
0
Dubstepdragon

Merging hackatime projects, unfortunately still missing time from initially setting up TD but what can you do.
Quite ironic that the best example for the usefulness of this project is itself.thumbs-up

Fixed the path for entity and started the ui components for the input window if missing an api key.
Feat:

  • Entity logic fix + partial api prompt (e0633a4)
Attachment
0
Dubstepdragon

First devlog yay! yippeee


Finally got a heartbeat to be sent so figured I’d need to get logging, I always feel weird writing a devlog before anything works preliminarily.
Almost gave up on this project before this first devlog xdd
There was EXTREME issues with having the base comp recognize and promote the extension dat. There is a lot of very niche and specific hierarchy that needs to be implemented to have Touchdesigner recognize the functions that is not very well documented. Many hours spent on obscure docs and videos to get a slapstick method going to have the extension called as a module.

Checkpoint commits:

Attachment
0