GithubHelp home page GithubHelp logo

awvalenti / bauhinia Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 0.0 871 KB

Cross-platform Wii Remote Java library and remote controller application

License: GNU General Public License v3.0

Java 100.00%
cross-platform wii wii-remote wiimote

bauhinia's People

Contributors

awvalenti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bauhinia's Issues

nitida: display user-friendly error messages

Examples of errors to be handled:

  • On Windows:
    • Unable to load native libraries
    • Unable to write temp files
    • Bluetooth adapter is unavailable or off. Currently, this state is not being detected.
  • On Linux:
    • Adapter is unavailable or off
    • libbluetooth-dev or similar package is unavailable

Improve error message when dll/so files extraction fails

This happens when trying to execute two coronata applications at the same time. Must decide whether this will be allowed or not. Allowing it may cause security risks (i.e., running arbitrary native code) and requires detecting the dll/so file extraction failure. Prohibiting it is both easier and safer, but disallows two coronata applications running at the same time, which might not be useful in practice anyway.

Add Disconnect button to GUI

User should be able to disconnect Wii Remote from app interface. coronata will probably need to be updated, too.

nitida doesn´t work with a JRE

Hi,

I am testing the development in a embedded environment, but the device only have a JRE, the software doesn´t work.

robot@ev3dev:~$ java -jar nitida-0.1.0.jar --console
nitida  Copyright (C) 2015  Andre Willik Valenti
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
Licensed under GPLv3.  For more information, please visit:
  http://www.gnu.org/licenses/gpl-3.0.en.html
For source code and project information, please visit:
  https://github.com/awvalenti/bauhinia

Exception in thread "main" java.lang.RuntimeException: java.awt.AWTException: headless environment
	at com.github.awvalenti.bauhinia.nitida.model.NitidaModel.<init>(NitidaModel.java:24)
	at com.github.awvalenti.bauhinia.nitida.NitidaMain.runNitidaConsole(NitidaMain.java:69)
	at com.github.awvalenti.bauhinia.nitida.NitidaMain.main(NitidaMain.java:29)
Caused by: java.awt.AWTException: headless environment
	at java.awt.Robot.<init>(Robot.java:94)
	at com.github.awvalenti.bauhinia.nitida.model.NitidaModel.<init>(NitidaModel.java:22)
	... 2 more

Make nitida work independently of graphical environment

nitida currently uses java.awt.Robot, which unfortunately depends on a graphical environment to run. If issue #16 is solved, we could find a substitute for java.awt.Robot to be used on scenarios like Raspberry Pi. It could be platform-dependent (working only on Linux ARM, for example), because java.awt.Robot takes care of the other environments.

Allow connecting more than one Wii Remote simultaneously

Should the programmer indicate how many wii remotes to connect before calling the method? Or should coronata search for all available ones? To be able to extend search timeout (#12), first option seems better. I can imagine a game where any number of players is welcome, and this scenario seems better served by second option. Maybe coronata should offer both.

Improve information about JitPack workaround

Instead of "not using Eclipse", should erase .m2/repository/com/github/awvalenti/bauhinia/* and rebuild, regardless of using Eclipse or not, since it also happens on command line Maven.

Externalize strings

Some classes that have non-externalized strings:

  • CoronataPhase
  • ConnectionStatePanel

Revise observers and listeners classes

Should make a more concise coronata events class architecture. Should probably eliminate difference between observers and listeners. Should eliminate duplicated method wiiRemoteDisconnected on interfaces CoronataFullObserver and WiiRemoteDisconnectionListener.

Profiles for various presentation applications

  • PowerPoint
  • LibreOffice Impress
  • Google Docs
  • Speaker Deck
  • Adobe Reader, Evince (and many other PDF readers)

Different applications have slightly different keyboard shortcuts. There should be one profile for each application. The main difference lies on the command "start presentation from current slide": SHIFT+F5 on PowerPoint, F5 on Impress and CTRL+F5 on Google Docs.

Make coronata resilient to exceptions thrown by observers

Events fired by coronata are currently handled directly, on the same thread and without try/catches. This makes it very susceptible to errors. In particular, ButtonHandlerThread should keep running if buttonPressed or Released throws an exception.

Maybe EventsMediator should handle the exceptions.

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.