CSV data visualization tutorial 03

This tutorial will show you how to map air pollution data from the city of Katowice to real world coordinates with latitude and longitude data.

CSV data visualization tutorial

Learn how to get started with data visualization inside of cables.
This video will show you how to visualize data from an imported CSV file.

Meetup Cologne, November 2019

Our first cables meetup in Cologne was held at the offices of undev last tuesday.


Since it was the first meetup we partly focused on general concepts in cables and a short introductory "workshop". Our old friend and cables "urgestein" dino offered to give some insights into his winning "three dee" demo gerade aus

The "family and friends" turnout was really goof.  There was a nice atmosphere and we hope everyone had a fun and educational evening.

We'd like to thank everyone for joining us and promise to have these on a more regular basis (think: bimonthly, last tuesday of month) in Cologne as well.

Stay tuned (on slack, twitter or email) for the announcements and a vote on the topics of the next evening. Please feel free to drop any suggestions beforehand via either of these channels.

See you soon, cologne-cables-crew!


credits: photos by fraumimimi (left) and stephan (right)

Interactive rectangle op tutorial

Learn how to use the interactive rectangle op to create an onscreen slider inside of cables with this new tutorial video.

Pixel projection op – Byte size

The latest byte size video will show you how to use the pixel projection op to map objects in 3D space to a pixel based co ordinate system.

November Update

We've been hard at work to roll out another update for cables gl.
From now on we  will show you a summary of newest ops and features on this, our new blog 🙂




Editor and GUI Changes



Brighter Background

We changed the background color of the patchfield. When you see this the first time, it might be kind of shocking, but the patch is more readable than before and UI elements are more distinguishable.



Editor Keyboard Shortcuts

We integrated a new tab for the Keyboard shortcuts. Now you don't have to leave the editor to look at them. The list is not 100% complete right now, but will be extended in the near future.



Editor Icons

Editor tabs now have a color coded type indicator, this makes it easier to find and read the tab you're searching for.



Assign Variables directly to Ports

This is very helpful if you are dealing with lots of variables, or using the new preset op. Instead of using lots of VarGet Ops, you can directly attach variable values to ports.



New Phong Material

Phong material op has many more features and options than the previous versions.

The different diffuse and specular modes allow for much more freedom in getting the look that you want. We also added more textures to use the material with.
Furthermore, we reworked our lighting system. It is now easier to use multiple lights (up to 16) in your patch. Whilst before only point light illumination was possible, now there are 4 different types of lights that can all be used in conjunction to illuminate your patch: PointLight, AmbientLight, DirectionalLight, SpotLight. These only work with the PhongMaterial for now, so make sure you use it if you want illumination!

See all Phong Ops




MIDI Out

The new midi out ops will allow you to transmit Midi notes, NRPN and CC data to any external sequencer or hardware. Midi messages can be generated with data from all of our ops, this opens up generative ways to create midi data that can be again used to drive your cables patch with our midi input ops.



More New Ops




Op Enhancements

- Ops.Gl.Orthogonal_v2 - added axis switch
- Ops.Array.ParseArray_v2 - shows error indicator when invalid numeric values
- Ops.Gl.TextureEffects.DrawImage_v2 - transforms also apply to alpha mask
- Ops.Trigger.Repeat_v2 - now direction of index can be selected
- Ops.Devices.TouchGesture - added active bool input
- Ops.Gl.Meshes.SimpleSpline - performance improvement
- Ops.Json3d.Mesh3d - can now load meshes with vertexColors
- Ops.Gl.Meshes.PointCloudFromArray - performance improvement when updating coordinates regularly
- Ops.Devices.TouchScreen has force output - tested with apple pencil pressure/ipad pro
- Ops.Math.AddUp - reset trigger
- Ops.Gl.Shader.MatCapMaterialNew - added opacity texture
- Ops.Gl.TextureEffects.ScaleTexture - now has a mask input to control the scale with a texture
- Ops.Devices.Midi.MidiNote - added array out option for multiple notes
- Ops.Devices.Midi.MidiCC - added array out option for multiple cc values




Renamed and Deprecated

- Rename Ops.Gl.Matrix.ViewMatrixTranslation to Ops.Gl.Matrix.cameraPosition
- Rename Ops.Gl.CanvasSize to Ops.Gl.CanvasInfo
- Rename Ops.Value.ValueBoolean to Ops.Value.Boolean
- Rename Ops.Gl.TextureEffects.Scroll to Ops.Gl.TextureEffects.ScrollTexture
- Rename Ops.Gl.TextureEffects.Circle to Ops.Gl.TextureEffects.CircleTexture
- Rename Ops.Value.ValueHub to Ops.Value.NumberSequence
- Rename Ops.Gl.Textures.Text_v2 to Ops.Gl.Textures.TextTexture_v2
- Rename Ops.Gl.Textures.Graph to Ops.Gl.Textures.GraphTexture
- Rename Ops.Json3d.Json3dScene2 to Ops.Json3d.Scene3d_v2

- Deprecated Ops.Devices.Midi.MidiKeyPressed
- Deprecated Ops.Value.ValueChanged
- Deprecated Ops.Value.ValueStringEditor
- Deprecated Ops.Gl.Particles.PointCloudFile
- Deprecated Ops.Devices.Midi.MidiSend
- Deprecated Ops.Devices.Midi.LaunchPadScroller

Meetup Berlin 12th of November

We'd like to focus on people being active with cables in this upcoming meetup so we'll be giving a short beginners workshop that will last around an hour. This will start at 19:15.

After that we hope that you'll stick around and get creative with cables and ask us any questions you might have with patches your working on or things you may be stuck with.