Activity

Tristan

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
Tristan

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
Tristan

Shipped this project!

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.

Tristan

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
Tristan

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
Tristan

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

Tristan
Tristan 13 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 ;)

Tristan

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.

Tristan

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
Tristan

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
Tristan

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
Tristan

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🏴‍☠️!

Tristan

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
Tristan

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
Tristan

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
Tristan

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