ContourDesign Shuttle Forum

User forums for Contour Design ShuttlePROv2, ShuttleXpress and the original ShuttlePRO
* Login   * Register
*

Search Help, Settings, FAQs


All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Linux setup
PostPosted: Mon Jan 06, 2014 4:49 pm 
Offline

Joined: Mon Nov 25, 2013 1:43 pm
Posts: 2
As I am using my Shuttle Xpress on Linux shanefiddle asked me for a tutorial about this.

I am using Ubuntu 12.04, but I think this should work on most current distributions.

Basically the current linux kernel knows the Shuttle Xpress and has the right drivers. If your sytem detects your Shuttle correctly you can find out by using the command 'lsusb' after pluging in. You should see a line like this:
Code:
Bus 002 Device 006: ID 0b33:0020 Contour Design, Inc. ShuttleXpress


If the Shuttle is detected correctly and if your software supports such hardware, there is nothing to do but plug in the plug. For example avidemux finds my Shuttle Xpress out of the box and I can use it without any further steps.

If your software does not directly support such hardware, the best way I found is to emulate keyboard and mouse shortcuts. I found a handy tool for the Contour Shuttles at this link https://freecode.com/projects/shuttlepro.
This is written for the ShuttlePRO2, but with some minor adjustments it works fine with the Xpress as well (just replace the name in the files 'shuttle' and '99-ShuttlePRO.rules').
With this tool you can define different commands for different programs. I am using this with dvbcut and it works really great (many, many thanks to the author nanosyzygy!!!).

I think you should be able to install and configure this script by using the provided documentation.

If you want to start this script automatically when plugging in your Shuttle, you have to define a UDEV-rule. The UDEV-rule that comes with the script did not work for me, so I used this:
Code:
ACTION=="add", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", MODE="0644", RUN+="/usr/local/bin/shuttle &"
ACTION=="remove", ATTRS{idVendor}=="0b33", ATTRS{idProduct}=="0020", RUN+="/usr/bin/pkill shuttlepro"


Just copy these 2 commands into the file '/etc/udev/rules.d/99-ShuttlePRO.rules' (i.e. use the command 'sudo gedit /etc/udev/rules.d/99-ShuttlePRO.rules').
If you are not using the Shuttle Xpress, you have to replace idVendor and idProduct with the values you get from lsusb. As you can see above, my output is 'ID 0b33:0020'

Then modify the script '/usr/local/bin/shuttle' the following way:
Code:
#!/bin/bash
su USER -c "DISPLAY=:0 /usr/local/bin/shuttlepro /dev/input/by-id/usb-Contour_Design_ShuttleXpress-event-if00"

You have to replace 'USER' with your user name.

Again, if you are not using the Shuttle Xpress, you have to modify the end of the command. With the command 'ls /dev/input/by-id' you should be able to find the right link.

I hope this explanations helps. If some points are not clear, just comment or send me a pm.


Report this post
Top
 Profile  
 
 Post subject: Re: Linux setup
PostPosted: Wed Jan 08, 2014 10:46 am 
Offline
User avatar

Joined: Wed May 01, 2013 9:45 am
Posts: 749
Thanks so much! I know a lot of users have been asking about using their Shuttles in Linux, but we haven't been able to help. I am going to link to your post in our FAQs. :D

_________________
Shuttle Team
Contour Design, Inc.
shuttle@contourdesign.com


Report this post
Top
 Profile  
 
 Post subject: Re: Linux setup
PostPosted: Thu Oct 16, 2014 2:30 pm 
Offline

Joined: Sat Sep 27, 2014 8:14 pm
Posts: 1
I am so glad to see a number of folks over in the Lightworks video editor community have got this to work for the Shuttle Pro V2 by using this tutorial!
http://www.lwks.com/index.php?option=co ... d=81#72223
Unfortunately after many months of tinkering and searching for solutions, I have still had no luck getting my ShuttleXpress working. I am on Ubuntu 14.04 LTS 64 bit just FYI.

Here is what happens: (please excuse the amount of detail, I am trying to make this reproduceable)

-Download .zip file from nanosyzygy's github page

-unzip to /home/username (where my computer username is actually in the path)

-Open file browser and navigate to "shuttle" file located in /home/username/ShuttlePRO-master

-open "shuttle" with Gedit text editor

-Change line to read:
exec shuttlepro /dev/input/by-id/usb-Contour_Design_ShuttleXpress-event-if00

-Save

-Open "99-ShuttlePRO.rules" with Gedit

-Change bottom line to read:
ATTRS{name}=="Contour Design ShuttleXpress" MODE="0644"

-Save

-Open Terminal

-Log in (type SU, hit enter, type password (it stays blank) hit enter)

-Follow the steps to compile in the README file:

1) copy from the README and past into terminal:
apt-get install build-essential libx11-dev libxtst-dev

2) hit enter, hit "Y" to say I DO want to install

3) Type "make" into terminal, hit enter.

terminal then says
Quote:
make: *** No targets specified and no makefile found. Stop.


I hope I am doing something obvious wrong. Any help would be greatly appreciated! I am a real beginner at this stuff, and was hoping to open up the possibility of using the shuttle to other users by making a video tutorial How-To of this process. Except I can't get it to work myself...
Any assistance is greatly appreciated.


Report this post
Top
 Profile  
 
 Post subject: Re: Linux setup
PostPosted: Sat Apr 04, 2015 10:28 am 
Offline

Joined: Sat Apr 04, 2015 10:21 am
Posts: 2
Well I am trying to make ShuttleXpress work with Lightworks Video Editor.

Some things I can contribute in order others can push this a little further.


1) As it says: "the current linux kernel knows the Shuttle Xpress and has the right drivers".

In my "Ubuntu 14.04.2 LTS trusty x86_64" this is what I get: "Bus 004 Device 003: ID 0b33:0020 Contour Design, Inc. ShuttleXpress".

And as long as "ls /dev/input/by-id/ | grep Contour" gives me "usb-Contour_Design_ShuttleXpress-event-if00" I know my Linux box recognized the jog.

To demonstrate ShuttleXpress is completely functional at this Linux version:
sudo apt-get install evtest

And then:
sudo evtest /dev/input/by-id/usb-Contour_Design_ShuttleXpress-event-if00

If you can see the responses as you jog ShuttleXpress, you did it


2) The post also claims: "avidemux finds my Shuttle Xpress out of the box and I can use it without any further steps". Well, this was not true with my 64 bit version...


3) The correct link for the free Shuttle project is: https://github.com/nanosyzygy/ShuttlePRO
My steps were a little different and worked just fine. Here they are:

Download and extract the zipped files to anywhere you wish (I sent it to my home directory).

There are some changes to be made in order to make the soft work with ShuttleXpress.

Open "shuttle" and change the path to what you got from "ls /dev/input/by-id/ | grep Contour" (in my case "/dev/input/by-id/usb-Contour_Design_ShuttleXpress-event-if00").

Then, open "99-ShuttlePRO.rules" and rename "Contour Design ShuttlePRO v2" to "Contour Design ShuttleXpress".

Now Shoot:
apt-get install build-essential libx11-dev libxtst-dev
cd ~/ShuttlePRO-master
sudo make
sudo cp 99-ShuttlePRO.rules /etc/udev/rules.d
sudo make install

Make sure everything is in place:
ls /usr/local/bin/shuttle; ls /etc/udev/rules.d/99-ShuttlePRO.rules

To start running just do:
"sudo shuttle"

If you can scroll the terminal by wheeling the jog, you just did it.

To stop the soft, just "Ctrl + C".


4) The post finally says: "If your software does not directly support such hardware, the best way I found is to emulate keyboard and mouse shortcuts".

The readme file in ShuttlePRO-master (form https://github.com/nanosyzygy/ShuttlePRO) says at the end:

"Configuration instructions: Copy the example.shuttlerc file to $HOME/.shuttlerc and edit it there."

Well, in the end of "example.shuttlerc" there is "a sample set of bindings for Cinelerra" and then there's a list of Cinelerra commands.

We need to find the same scheme to Lightworks.

Places we might find something includes:

http://lightworks.wikidot.com/keyboard-shortcuts

http://lightworks.wikidot.com/customising-keyboard

viewforum.php?f=14

And here is where I am frozen.

Any ideas of what to do now?

Thanks.


Report this post
Top
 Profile  
 
 Post subject: Linux setup
PostPosted: Wed Jun 24, 2015 2:53 pm 
Offline

Joined: Tue Jun 16, 2015 10:09 am
Posts: 5
And did you also load the php_oci driver on your Linux version or is that not available on linux?


Attachments:
18.gif
18.gif [ 8.7 KiB | Viewed 3212 times ]
Report this post
Top
 Profile  
 
 Post subject: Re: Linux setup
PostPosted: Thu Sep 24, 2015 10:21 pm 
Offline

Joined: Tue Sep 22, 2015 10:00 pm
Posts: 2
Location: California
Hello all,

I am almost done writing a linux driver (more like translator daemon if you want to be specific) for the Contour Shuttle devices... I call it shuttled

I have based this daemon on the ShuttlePRO software listed above. I have stripped out all the userspace window scanning and added some modernization so the code works. Here is what I have so far, when the code is finished ( just a couple more days ) I will make a new post announcing it.

https://github.com/Shamanon/shuttled

HOW IT WORKS NOW
ShuttlePRO was meant to be run by a user which required permissions to devices and the Shuttle device therefore did not work at all like an HID. With the new udev rules and service binding the Shuttle is now hot-pluggable. Plugging in the shuttle will create a symlink, /dev/shuttle and start shuttled as a system service which can then be handled with "sudo service shuttled restart" or whatever. It reads the key config using libconfig from /etc/shuttled and uses the bindings defined there.

This version is about 1/4 the size of the original and should "just work" without need for special per-device configuration.

I still need to finish the multithreading to allow using the shuttle wheel to repeat the corresponding jog key at a speed that increases with the turning of the shuttle wheel.

I need to have the deamon look a a fifo buffer or something that a userspace application can write to indicating the desired configuration to use ( like ShuttlePRO software did ). It should then be simple to code a userspace applet in python that performs a regex on the window name and requests a new button configuration if neccessary.

I am pretty sure all three shuttle devices have the same mfr/device ids. (0b33:0200) If anyone here that has a ShuttlePRO or a SpaceShuttle could confirm and/or send me the relevant output of 'lsusb', eg:

Bus 001 Device 050: ID 0b33:0020 Contour Design, Inc. ShuttleXpress

The github repo is here:

https://github.com/Shamanon/shuttled

See README files for more info.

This project is in active development and any help, input, comments or suggestions are more than welcome.

Cheers!


Report this post
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB® Forum Software © phpBB Group
It is currently Mon Dec 11, 2017 5:10 am