Git Product home page Git Product logo

push2-display-with-juce's People

Contributors

mre-ableton avatar mst-ableton avatar nre-ableton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

push2-display-with-juce's Issues

Comment on Linux permissions

First of all, really cool project, congrats!

One thing about the permissions on Linux. The documentation says:

Note that by default on Linux, the USB port can only be used by root. Unless you change the device's permissions, you will need to sudo to execute the binary.

While sudo might be ok for a quick hack, the best way is to install some udev rules to give permissions to use the Push2 from any user (or some specific user if prefered). The easiest way to do this is to add a a file /etc/udev/rules.d/50-push2.rules with the following contents:

SUBSYSTEM=="usb", ATTR{idVendor}=="2982", ATTR{idProduct}=="1967", GROUP="plugdev"

This will make sure that Push is writable by any user that is in the plugdev group (normal users are usually there). To make the rule effective one can simply reboot or otherwise:

sudo udevadm control --reload-rules
sudo udevadm trigger

Maybe there could be a make install provided that does something like this or otherwise a pointer in the README so users do this themselves.

Cheers!

Does not build on Ubuntu 20.04

On Ubuntu 20.04 i did:

sudo apt install git build-essential pkg-config g++ libfreetype6-dev libx11-dev libxinerama-dev  libxrandr-dev libxcursor-dev mesa-common-dev libasound2-dev freeglut3-dev libxcomposite-dev libcurl4-gnutls-dev  libusb-1.0-0-dev
mkdir src
cd src
git clone --recurse-submodules https://github.com/Ableton/push2-display-with-juce.git
cd ~/src/push2-display-with-juce/Builds/LinuxMakefile
make

and got the error:

                  from ../../Source/push2/JuceToPush2DisplayBridge.cpp:21:
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h: In member function ‘juce::uint8& juce::PixelARGB::getAlpha()’:
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h:113:77: error: cannot bind packed field ‘((juce::PixelARGB*)this)->juce::PixelARGB::<anonymous>.juce::PixelARGB::<unnamed union>::comps[3]’ to ‘juce::uint8&’ {aka ‘unsigned char&’}
   113 |     forcedinline uint8& getAlpha() noexcept           { return comps [indexA]; }
       |                                                                ~~~~~~~~~~~~~^
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h: In member function ‘juce::uint8& juce::PixelARGB::getRed()’:
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h:114:77: error: cannot bind packed field ‘((juce::PixelARGB*)this)->juce::PixelARGB::<anonymous>.juce::PixelARGB::<unnamed union>::comps[2]’ to ‘juce::uint8&’ {aka ‘unsigned char&’}
   114 |     forcedinline uint8& getRed() noexcept             { return comps [indexR]; }
       |                                                                ~~~~~~~~~~~~~^
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h: In member function ‘juce::uint8& juce::PixelARGB::getGreen()’:
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h:115:77: error: cannot bind packed field ‘((juce::PixelARGB*)this)->juce::PixelARGB::<anonymous>.juce::PixelARGB::<unnamed union>::comps[1]’ to ‘juce::uint8&’ {aka ‘unsigned char&’}
   115 |     forcedinline uint8& getGreen() noexcept           { return comps [indexG]; }
       |                                                                ~~~~~~~~~~~~~^
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h: In member function ‘juce::uint8& juce::PixelARGB::getBlue()’:
 ../../modules/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h:116:77: error: cannot bind packed field ‘((juce::PixelARGB*)this)->juce::PixelARGB::<anonymous>.juce::PixelARGB::<unnamed union>::comps[0]’ to ‘juce::uint8&’ {aka ‘unsigned char&’}
   116 |     forcedinline uint8& getBlue() noexcept            { return comps [indexB]; }
       |                                                                ~~~~~~~~~~~~~^
 

Could not claim device with interface 0, error -99

Hi,

I was trying to compile and run the push2 display example on OSX 10.13.6, but I'm getting this error when the application is trying to claim the interface: Could not claim device with interface 0, error -99.

Stepping through the code in the Xcode debugger, it fails in darwin_usb.c:1327

  /* Do the actual claim */
  kresult = (*plugInInterface)->QueryInterface(plugInInterface,
                                               CFUUIDGetUUIDBytes(kIOUSBInterfaceInterfaceID),
                                               (LPVOID)&cInterface->interface);

kresult is -2147483644. In Apples developer forums I found:

IOCFPlugInInterface's QueryInterface returns an error, HRESULT = -2147483644.
...
That error translates to 0x80000004, which is defined in <CoreFoundation/CFPlugInCOM.h> as E_NOINTERFACE

https://forums.developer.apple.com/thread/110920)

Any idea what could be causing this?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.