Skip to content
  • Announcements regarding our community

    1 Topics
    1 Posts
    gbevinG

    Thanks for joining the Uwyn forums.

    There have been several requests of Uwyn community members across a variety of project to have an online forum available for sharing knowledge. While we have a Discord server, it's often not that convenient to retrieve previous information.

    These are the rules, please take them at heart:

    Always be kind Proudly be who you are Be creative, whimsical, weird, inventive, magical, ... human Aim to make the world a better place for everyone Have fun!
  • A place to talk about whatever you want and to introduce yourself

    8 Topics
    18 Posts
    gbevinG

    @LouBagheera welcome!

  • General discussion about 3D printing and design

    1 Topics
    1 Posts
    gbevinG

    My 3D printed MechaGodzilla is doing a little dance with all the good energy from the weekend. He's the best office buddy!

    367417137_10160057294779608_9084177517093320464_n.jpg

  • Pure java build tool for developers who don't like dealing with build tools

    6 Topics
    33 Posts
    ethauvinE

    We just released bld 1.9.0, the pure Java build tool for developers who don't like dealing with build tools:

    Improvements and clarifications to bld create commands Improvements to Visual Studio Code templates Updated dependency versions in project templates

    The following extensions have also been updated:

    bld Checkstyle extension bld Command Line Execution extension bld Detekt extension bld Generated Version extension bld JaCoCo Report extension bld Kotlin extension bld PIT Mutation Testing extension bld PMD extension bld Property File extension bld Spring Boot extension bld TestNG extension

    Getting started has never been easier, either manually or using SDKMAN!, Homebrew or JBang :

    bash -c "$(curl -fsSL https://rife2.com/bld/create.sh)" sdk install bld brew install rife2/tools/bld jbang com.uwyn.rife2:bld:1.9.0
  • Highly modular 3D printable dungeon tile systems

    7 Topics
    7 Posts
    gbevinG

    Dynamod Games is at East Coast RepRap Festival on the HueForge booth! Very excited that this worked out and that people can see HueForge is also useful for functional designs, in this case the multicolored Dynamod floors!

    IMG_6602.JPG
    IMG_6603.JPG

  • Multi-dimensional MIDI expression through hand gestures

    4 Topics
    13 Posts
    L

    Thank you!

  • Tactile and UV reactive knob rings

    1 Topics
    1 Posts
    gbevinG

    mavis1_1296x.jpg
    mavis2_1296x.jpg

    6 USD Knobotron - Tactile UV Reactive Knob Rings Knobotron - Tactile UV Reactive Knob Rings

    Colored knob upgrade rings with a tactile pointer indicating the current position and allowing comfortable single finger tweaking. The knobs are fluorescent and UV reactive, generating an intense glow under black light. Knobotron comes in packs assembled for specific synths. Half the knobs are in...

  • Perfectly and effortlessly record and play MIDI

    1 Topics
    1 Posts
    gbevinG

    This short demo of MIDI Tape Recorder plays back four Animoog Z instances running inside AUM. Everything was played on the Animoog Z built-in keyboards and recorded in a sample-accurate way in MIDI Tape Recorder.

    MIDI Tape Recorder plugin demo
  • Spatially anchored controllers for Vision Pro

    1 Topics
    1 Posts
    gbevinG

    MIDI Widgets is now available on the Vision Pro App Store!

    ‎MIDI Widgets ‎MIDI Widgets

    ‎MIDI Widgets is the first spatial MIDI designer, fully embracing many new capabilities of Apple Vision Pro. We also created the open-source and free SendMIDI, ReceiveMIDI and ShowMIDI tools, as well as MIDI Tape Recorder, MidiWrist and GECO MIDI. All best-in-class and highly regarded MIDI...

    MIDI Widgets is the first spatial MIDI designer, fully embracing many new capabilities of Apple Vision Pro.

    This initial version of MIDI Widgets supports faders, buttons and knobs. More controls will be added in future updates.

    MIDI controllers can be positioned anywhere in your physical spaces and will stay anchored where you put them. MIDI Widgets will recognize different rooms and locations and restore your controller designs exactly as you left them, even across restarts.

    Controllers can be grouped in scenes, allowing different layouts to be recalled for different purposes. Each scene has its own set of enabled MIDI outputs.

    screenshots-collage2.jpg

    Features:

    Designed specifically for Apple Vision Pro Create as many faders, buttons and knobs as you need Freely position and orient individual controllers Spatial snapping makes it easy to build out perfectly aligned larger control surfaces Controllers automatically remain anchored to their location, even across restarts Controllers can be grouped in scenes and are easily recalled for different purposes Freely re-position and re-orient entire scenes Scenes can send MIDI messages to multiple configurable MIDI ports Support for Bluetooth LE MIDI devices Built-in virtual MIDI to send MIDI to other Vision Pro apps on the same device Per controller MIDI channel selection Per controller MIDI Control Change, Channel Pressure, Program Change or Pitch Bend messages Per controller 7-bit and 14-bit Control Change resolution Controllers can optionally reset to a neutral position upon release Faders and knobs can be unidirectional or bidirectional Every part of a control can be assigned a different color for recognizability Colors can easily be copied and pasted, individually or as complete color schemes Controllers can have optional labels that can be placed on any of the four edges A floating tool window follows your left or right hand and allows editing anywhere Multiple controllers can be used simultaneously, allowing for dual hand interaction
  • Control synths from your Watch

    3 Topics
    3 Posts
    gbevinG

    MidiWrist Unleashed is a complete rewrite of MidiWrist as a standalone Apple Watch application that doesn't use the iPhone as a gateway for MIDI connections anymore.

    MidiWrist Unleashed is able to make direct Bluetooth LE connections to MIDI devices and has a full suite of config/editing tools included.

    MidiWrist Unleashed is rapidly becoming the most full-featured standalone WatchOS app I've seen. It feels really cool to be able to do so much just on your wrist.

    It supports multiple MIDI control presets with auto-reconnection to BLE devices, any number of panels per presets, knob/button panel, support for the digital crown, XY panel, motion panel, ... with full configuration of MIDI settings, name, layout, alt corner buttons.

    Next up is a transport control panel and then a stepper panel with one big control and up/down buttons. Finally, adding color selection for each panel and control, and then I should be close to release.

    433009729_10160411008734608_538875369241314573_n.jpg

  • MIDI Polyphonic Expression

    13 Topics
    13 Posts
    gbevinG

    I have new versions of SendMIDI and ReceiveMIDI available with MPE Profile support.

    The intent of these versions of my tools is that people can focus on either the initiator or responder role for their product and leave the other part of the negotiation up to either SendMIDI or ReceiveMIDI. This should make it easier to bootstrap adding MPE Profile support.

    GitHub - gbevin/SendMIDI: Multi-platform command-line tool to send out MIDI messages GitHub - gbevin/SendMIDI: Multi-platform command-line tool to send out MIDI messages

    Multi-platform command-line tool to send out MIDI messages - gbevin/SendMIDI

    GitHub - gbevin/ReceiveMIDI: Multi-platform command-line tool to monitor and receive MIDI messages GitHub - gbevin/ReceiveMIDI: Multi-platform command-line tool to monitor and receive MIDI messages

    Multi-platform command-line tool to monitor and receive MIDI messages - gbevin/ReceiveMIDI

    SendMIDI allows simulating the role of an MPE Profile initiator, while ReceiveMIDI allows simulating the role of an MPE Profile responder (only on Linux/macOS due to virtual port creation)

    Here's an basic example of usage:

    Create a virtual MIDI port named profiletest and configure it to support manager channel 1 with 15 member channels as a responder:

    receivemidi mpp profiletest 1 15

    Use profiletest both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel 1 and with 6 member channels:

    sendmidi dev profiletest mpp profiletest 1 6

    The relevant outputs could be:

    receivemidi mpp profiletest 1 15 Responder MUID 0x0d1212d6 waiting for MPE Profile negotiation on channel 1 MUID 0x03926473 : MPE Profile enabled with manager channel 1 and 6 member channels MUID 0x03926473 : MPE Profile details inquired for optional features sendmidi dev profiletest mpp profiletest 1 6 Initiator MUID 0x03926473 negotating MPE Profile with manager channel 1 and 6 member channels MUID 0x0d1212d6 : Discovered MUID 0x0d1212d6 : Requesting MPE Profile enablement with manager channel 1 and 6 member channels MUID 0x0d1212d6 : MPE Profile enabled with manager channel 1 and 6 member channels MUID 0x0d1212d6 : Inquiring MPE Profile details for optional features MUID 0x0d1212d6 : MPE Profile details received for optional features MUID 0x0d1212d6 channel response : not supported MUID 0x0d1212d6 pitch bend : supported MUID 0x0d1212d6 channel pressure : standard controller MUID 0x0d1212d6 3rd dimension : standard controller

    This is another possible example:

    Create a virtual MIDI port named profiletest and configure it to support any manager channel with up to 8 member channels as a responder, this also disables pitch bend as a supported feature and enables bipolar controllers for channel pressure and 3rd dimension:

    receivemidi mpp profiletest 0 8 mpb 0 mcp 2 m3d 2

    Use profiletest both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel 2 and with 10 member channels:

    sendmidi dev profiletest mpp profiletest 2 10

    Then, use profiletest both as the MIDI output and input port and request the MPE profile to be enabled as an initiator with manager channel 12 and with 6 member channels:

    sendmidi dev profiletest mpp profiletest 12 6

    The relevant outputs could be:

    receivemidi mpp profiletest 0 8 mpb 0 mcp 2 m3d 2 Responder MUID 0x04b33d6f waiting for MPE Profile negotiation on all channels MUID 0x00166e57 : MPE Profile enabled with manager channel 2 and 8 member channels MUID 0x00166e57 : MPE Profile details inquired for optional features MUID 0x001a9680 : MPE Profile disabled with manager channel 2 MUID 0x001a9680 : MPE Profile enabled with manager channel 12 and 4 member channels MUID 0x001a9680 : MPE Profile details inquired for optional features sendmidi dev profiletest mpp profiletest 2 10 Initiator MUID 0x00166e57 negotating MPE Profile with manager channel 2 and 10 member channels MUID 0x04b33d6f : Discovered MUID 0x04b33d6f : Requesting MPE Profile enablement with manager channel 2 and 10 member channels MUID 0x04b33d6f : MPE Profile enabled with manager channel 2 and 8 member channels MUID 0x04b33d6f : Inquiring MPE Profile details for optional features MUID 0x04b33d6f : MPE Profile details received for optional features MUID 0x04b33d6f channel response : not supported MUID 0x04b33d6f pitch bend : not supported MUID 0x04b33d6f channel pressure : alternate bipolar controller MUID 0x04b33d6f 3rd dimension : alternate bipolar controller sendmidi dev profiletest mpp profiletest 12 6 Initiator MUID 0x001a9680 negotating MPE Profile with manager channel 12 and 6 member channels MUID 0x04b33d6f : Discovered MUID 0x04b33d6f : Requesting MPE Profile enablement with manager channel 12 and 6 member channels MUID 0x04b33d6f : MPE Profile disabled with manager channel 2 MUID 0x04b33d6f : MPE Profile enabled with manager channel 12 and 4 member channels MUID 0x04b33d6f : Inquiring MPE Profile details for optional features MUID 0x04b33d6f : MPE Profile details received for optional features MUID 0x04b33d6f channel response : not supported MUID 0x04b33d6f pitch bend : not supported MUID 0x04b33d6f channel pressure : alternate bipolar controller MUID 0x04b33d6f 3rd dimension : alternate bipolar controller

    Full documentation can be found by typing sendmidi -h or receivemidi -h.

    Hope this is helpful. Please let me know if you have any feedback.

  • Modular Eurorack Cases

    4 Topics
    23 Posts
    gbevinG

    Hi everyone,

    I've decided to make RackBlox fully free. You can now download all the files from Printables:

    Printables

    Thanks for all your support so far!

  • Full-stack, no-declaration, framework to quickly and effortlessly create web applications with modern Java

    5 Topics
    7 Posts
    ethauvinE

    When converting an existing website, you will most likely want to redirect old URLs to the new ones. RIFE2 makes it pretty simple. For example, to redirect:

    https://example.com/news/2023/09/11

    to

    https://example.com/search?year=2023&month=09&day=11

    You can easily convert the path info into parameters, by doing something like:

    public class ExampleSite extends Site { //... private void redirectMoved(Context c, String url) { c.setStatus(301); c.addHeader("Location", url); } private void setRedirects() { //.. get("/news", PathInfoHandling.MAP( m -> m.p("year"), m -> m.p("year").s().p("month"), m -> m.p("year").s().p("month").s().p("day")), c -> redirectMoved(c, c.urlFor(searchUrl).params(c.parameters()).toString())); } @Override public void setup() { //.. setRedirects(); } }
  • Command-line tools for sending and receiving MIDI messages

    1 Topics
    1 Posts
    gbevinG

    This is a brain-dump tutorial of how to use the command-line on macOS, specifically for using my tools SendMIDI and ReceiveMIDI.

    IMPORTANT: Apple changed the default shell from bash to zsh. This video refers to the file .profile that needs to be edited. Instead of .profile, use .zprofile which is what zsh uses.

    Command-line tutorial for musicians using SendMIDI and ReceiveMIDI (description has important note)
  • Multi-platform GUI application to effortlessly visualize MIDI activity

    9 Topics
    13 Posts
    gbevinG

    showmidi-0.9.0.png

    Added support for sysex message display with up to 20 bytes of data preview Improved layout of MIDI notes so that the note on message continues to be visible together with note off Updated to JUCE 7.0.9 Release 0.9.0 · gbevin/ShowMIDI Release 0.9.0 · gbevin/ShowMIDI

    Added support for sysex message display with up to 20 bytes of data preview Improved layout of MIDI notes so that the note on message continues to be visible together with note off Updated to JUCE ...

  • Open-source 3D printed synth overlays for vision impaired people

    12 Topics
    12 Posts
    gbevinG

    Tactile Patch Sheets are a 3D printed design vocabulary to help vision impaired people more easily dial in synthesizer patches on hardware synths.

    Tactile Patch Sheets - 3D Printed Synth Overlays Tactile Patch Sheets - 3D Printed Synth Overlays

    Design vocabulary to allow synth patches to be dialed in by touch.

    I started this work two years ago and was finally able to get everything written up, and all the files created, tested and uploaded.

    Everything about this work is open-source and BSD licensed.

    mavis_foldable_kick_drum2.jpg