Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 04-18-2020, 07:34 AM   #1
DrFrankencopter
Human being with feelings
 
Join Date: Jan 2011
Location: Ottawa, Canada
Posts: 293
Default Extension for Logitech G13 Display -- what to show?

Hey Guys,

During this time of social/physical distancing I've decided to start writing a Reaper extension plugin to drive the display of my Logitech G13 Gameboard. Already I've managed to write a simple "Hello world" reaper extension that writes text to the G13 screen on launch of Reaper. So, now I'm trying to think of what sorts of things I can display on the G13. I'd love to get some ideas from G13 users and I'll see what I can manage to accomplish.

Oh...sadly this is windows only since I don't have a Logitech SDK for Mac, and I'm not even sure if they make one!

Here are some of my ideas:

1. Master track level meter. Apparently you can refresh the screen at up to 60 Hz, so I thought it might be nice to have a master level meter available.
2. Time display
3. Marker info (show the text for the previous and next markers, so you know where marker advance/prev will send you)

If you have some suggestions, throw them out there; I might be able to code them up. My plan is to ultimately release this to the Reaper stash.

Cheers

K
__________________
RME TotalMixFX Actions for Reaper here: https://stash.reaper.fm/v/29339/reape...MixOSC_x64.dll
DrFrankencopter is offline   Reply With Quote
Old 04-19-2020, 06:41 PM   #2
DrFrankencopter
Human being with feelings
 
Join Date: Jan 2011
Location: Ottawa, Canada
Posts: 293
Default

Ok, so I've had some initial success with the coding. Managed code up a level meter that mostly conforms to IEC268-18 standards, and follows last track touched.

Check the attached jpg for a sample photo.

Still lots of space to display more information. Would love some suggestions folks...

PS: This code should work for any monochrome Logitech LCD display.
Attached Images
File Type: jpeg image1.jpeg (49.9 KB, 143 views)
__________________
RME TotalMixFX Actions for Reaper here: https://stash.reaper.fm/v/29339/reape...MixOSC_x64.dll
DrFrankencopter is offline   Reply With Quote
Old 04-21-2020, 02:36 AM   #3
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 429
Default

Awesome. A lot of stuff like toggle status, metering, mono, stereo... Virtually endless!
barbaroja is offline   Reply With Quote
Old 04-23-2020, 11:07 PM   #4
cern.th.skei
Human being with feelings
 
cern.th.skei's Avatar
 
Join Date: Sep 2007
Location: trondheim, norway
Posts: 362
Default

cool! i did some experiments with a g13 myself a while ago..
(in linux)



https://www.kvraudio.com/forum/viewtopic.php?t=523072

planning to get back to that, now that i'm slowly returning to reaper :-)
__________________
torhelgeskei.com
cern.th.skei is offline   Reply With Quote
Old 04-24-2020, 06:37 PM   #5
DrFrankencopter
Human being with feelings
 
Join Date: Jan 2011
Location: Ottawa, Canada
Posts: 293
Default

That's cool for several reasons:
1) How did you get the red backlight? Is that a mod you did, or an off the shelf version?
2) How did you get it working in Linux? I only found a Windows library/SDK
3) What are you showing with those blocks in the display?

And finally, isn't it fun (not) to have to push every pixel up to the display manually (no drawing frameworks)?
__________________
RME TotalMixFX Actions for Reaper here: https://stash.reaper.fm/v/29339/reape...MixOSC_x64.dll
DrFrankencopter is offline   Reply With Quote
Old 04-25-2020, 01:01 AM   #6
cern.th.skei
Human being with feelings
 
cern.th.skei's Avatar
 
Join Date: Sep 2007
Location: trondheim, norway
Posts: 362
Default

it's been a while since i did this, so i don't remember all small details.. i was using libusb to communicate with the g13, i could set and clear individual pixels on the lcd, change the rgb backlit color, and read the various keypresses and joystick position.. then i converted the keys and joystick pos to midi signals, which i sent out of my little program using alsa..

i can try to dig up the source code again, but it's been a while, and i don't know what state it is in.. also, it's very linux specific..

Quote:
Originally Posted by DrFrankencopter View Post
1) How did you get the red backlight? Is that a mod you did, or an off the shelf version?
it's just sending a few bytes (via libusb) to the g13, representing the rgb color, and boom!, the color changes :-)

Quote:
Originally Posted by DrFrankencopter View Post
2) How did you get it working in Linux? I only found a Windows library/SDK
i used libusb to communicate with the g13 directly.. quite low level.. but i had to do a lot of 'hacking' and investigation to find out what the g13 sent out, and what i could make it do.. i found some already existing hacks and source code which i based my experiments on..

Quote:
Originally Posted by DrFrankencopter View Post
3) What are you showing with those blocks in the display?
the bitwig logo :-) mostly fo testing the screen writing functions.. i planned to have it show the cliplauncher in bitwig, but i didn't get that far, before something else catched my interest instead, hehe..

Quote:
Originally Posted by DrFrankencopter View Post
And finally, isn't it fun (not) to have to push every pixel up to the display manually (no drawing frameworks)?
well, fun, heh.. that's often just how it is with all this weird low level stuff.. not really fun, but as soon as you make a few helper function, like putpixel(x,y), or something, it isn't too bad.. and you can just start making other, higher level stuff with that..
__________________
torhelgeskei.com
cern.th.skei is offline   Reply With Quote
Old 04-25-2020, 06:23 AM   #7
DrFrankencopter
Human being with feelings
 
Join Date: Jan 2011
Location: Ottawa, Canada
Posts: 293
Default

Ahhh, I see! The backlight for the GKeys is also the backlight for the LCD. That gives me an idea. Maybe I can drive the backlight colors depending on the level meter. I just need to pull in the LED SDK. That might be an interesting option.

Yeah, I should write some low level functions for pushing pixels to the pixel array. Right now I have done some vertical/horizontal line ones, but I should do individual pixels too.
__________________
RME TotalMixFX Actions for Reaper here: https://stash.reaper.fm/v/29339/reape...MixOSC_x64.dll
DrFrankencopter is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:31 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.