New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

current status of web plugin? #1

Closed
wavewave opened this Issue Jan 5, 2013 · 9 comments

Comments

Projects
None yet
2 participants
@wavewave

wavewave commented Jan 5, 2013

Hi,

This project is so cool, and I was badly looking for this solution. I just drop this message to you for giving a thank. How is this project going on now?

I am the author of 'hoodle' : a pen notetaking program written in haskell. It is very similar to xournal (you probably know it, i bet.) but it has more functionality now. In the long run, I would like to port some simple version of my program to web program using ghcjs (haskell compiler to javascript using ghc)
See my project web page : http://ianwookim.org/hoodle

I would like to have some discussion with you if possible. Please send a message to me if you are interested.

Thanks,
Ian-Woo

@ZaneA

This comment has been minimized.

Show comment
Hide comment
@ZaneA

ZaneA Jan 6, 2013

Owner

Hi there!

Thanks for the kind message. As the README mentions, this project was a bit of a hack just to prove whether or not it could be done, and I haven't really touched the code since committing it initially. I am very keen to pick it up again though, and turn it into something that isn't such a "hack" :)

Just yesterday I tried to build it again and it seems to get stuck compiling with the most recent build of FireBreath, so first of all I'm going to investigate that and get it compiling again, and then I will work on refactoring the code. The biggest hurdle to other people trying out the plugin right now is that the device info is hardcoded, so that is the first thing I will aim to fix.

Hoodle looks really great, and I'm always looking for a Xournal alternative; I'm going to install it now and play around. The idea of cross compiling it to JS is awesome!

I am certainly interested in supporting your project where I can, at least in the form of having a working web plugin for you!

Regards,
Zane

Owner

ZaneA commented Jan 6, 2013

Hi there!

Thanks for the kind message. As the README mentions, this project was a bit of a hack just to prove whether or not it could be done, and I haven't really touched the code since committing it initially. I am very keen to pick it up again though, and turn it into something that isn't such a "hack" :)

Just yesterday I tried to build it again and it seems to get stuck compiling with the most recent build of FireBreath, so first of all I'm going to investigate that and get it compiling again, and then I will work on refactoring the code. The biggest hurdle to other people trying out the plugin right now is that the device info is hardcoded, so that is the first thing I will aim to fix.

Hoodle looks really great, and I'm always looking for a Xournal alternative; I'm going to install it now and play around. The idea of cross compiling it to JS is awesome!

I am certainly interested in supporting your project where I can, at least in the form of having a working web plugin for you!

Regards,
Zane

@wavewave

This comment has been minimized.

Show comment
Hide comment
@wavewave

wavewave Jan 6, 2013

Thanks for the reply ;-)
I also had a compilation problem (I think the same issue as yours) and make a workaround.
This is caused because a variable name Success is defined as some number somewhere in the header file. I just changed StreamEvents.h in the source tree of FireBreath (not WacomWebPlugin! so this is not a solution, but a workaround)

Diff log is the following.

diff --git a/src/PluginCore/PluginEvents/StreamEvents.h b/src/PluginCore/PluginEvents/StreamEvents.h
index 7b42849..cfce9dc 100644
--- a/src/PluginCore/PluginEvents/StreamEvents.h
+++ b/src/PluginCore/PluginEvents/StreamEvents.h
@@ -148,7 +148,7 @@ namespace FB {
     class StreamCompletedEvent : public StreamEvent
     {
     public:
-        StreamCompletedEvent(BrowserStream* stream, bool Success) : StreamEvent(stream), success(Success)
+        StreamCompletedEvent(BrowserStream* stream, bool oSuccess) : StreamEvent(stream), success(oSuccess)
         {}

     public:

wavewave commented Jan 6, 2013

Thanks for the reply ;-)
I also had a compilation problem (I think the same issue as yours) and make a workaround.
This is caused because a variable name Success is defined as some number somewhere in the header file. I just changed StreamEvents.h in the source tree of FireBreath (not WacomWebPlugin! so this is not a solution, but a workaround)

Diff log is the following.

diff --git a/src/PluginCore/PluginEvents/StreamEvents.h b/src/PluginCore/PluginEvents/StreamEvents.h
index 7b42849..cfce9dc 100644
--- a/src/PluginCore/PluginEvents/StreamEvents.h
+++ b/src/PluginCore/PluginEvents/StreamEvents.h
@@ -148,7 +148,7 @@ namespace FB {
     class StreamCompletedEvent : public StreamEvent
     {
     public:
-        StreamCompletedEvent(BrowserStream* stream, bool Success) : StreamEvent(stream), success(Success)
+        StreamCompletedEvent(BrowserStream* stream, bool oSuccess) : StreamEvent(stream), success(oSuccess)
         {}

     public:
@wavewave

This comment has been minimized.

Show comment
Hide comment
@wavewave

wavewave Jan 6, 2013

One question about current status.
From the screenshot, this plugin seems to recognize the pressure sensitivity. Is it right?
In my case, wacom tablet is recognized but no pressure sensitivity.
I checked this with Table Value demo in wacomeng.com

Mine is tablet pc (Samsung Series 7 slate) and in ubuntu 12.04.

wavewave commented Jan 6, 2013

One question about current status.
From the screenshot, this plugin seems to recognize the pressure sensitivity. Is it right?
In my case, wacom tablet is recognized but no pressure sensitivity.
I checked this with Table Value demo in wacomeng.com

Mine is tablet pc (Samsung Series 7 slate) and in ubuntu 12.04.

@wavewave

This comment has been minimized.

Show comment
Hide comment
@wavewave

wavewave Jan 6, 2013

Ah.. I see that your code is supporting pressure sensitivity but only for intuOS tablet. :-)
Hopefully, it is not very difficult for my tablet (and of course others) to work properly.

wavewave commented Jan 6, 2013

Ah.. I see that your code is supporting pressure sensitivity but only for intuOS tablet. :-)
Hopefully, it is not very difficult for my tablet (and of course others) to work properly.

@wavewave

This comment has been minimized.

Show comment
Hide comment
@wavewave

wavewave Jan 6, 2013

I got my tablet working properly !!(full pressure sensitivity support and full wacom resolution support) The fix for my tablet was very easy. I changed DEVICE_NUM value from your value 10 to my value 9. I think this library will be close to complete if it automatically figures out DEVICE_NUM from the list of xinput devices.
This is so exciting! Thanks again!!

wavewave commented Jan 6, 2013

I got my tablet working properly !!(full pressure sensitivity support and full wacom resolution support) The fix for my tablet was very easy. I changed DEVICE_NUM value from your value 10 to my value 9. I think this library will be close to complete if it automatically figures out DEVICE_NUM from the list of xinput devices.
This is so exciting! Thanks again!!

@ZaneA

This comment has been minimized.

Show comment
Hide comment
@ZaneA

ZaneA Jan 6, 2013

Owner

Hey that's awesome news! :)

As the plugin only needs to support Linux, I've been looking into using Nixysa (a NPAPI code generator) or even going straight to the NPAPI level in order to drop the FireBreath dependency (which isn't really necessary). I've managed to get a stub API working using Nixysa, enough to get the demo page to accept that there is a working Wacom plugin, but have yet to fully port the XInput stuff and make everything move again. Tomorrow I will commit that up in a new branch to be tested, but for now my timezone suggests that I should be heading to bed.

Good to see that despite this being a proof of concept, it is working for at least one other person, now to make it stable!

Cheers,
Zane

Owner

ZaneA commented Jan 6, 2013

Hey that's awesome news! :)

As the plugin only needs to support Linux, I've been looking into using Nixysa (a NPAPI code generator) or even going straight to the NPAPI level in order to drop the FireBreath dependency (which isn't really necessary). I've managed to get a stub API working using Nixysa, enough to get the demo page to accept that there is a working Wacom plugin, but have yet to fully port the XInput stuff and make everything move again. Tomorrow I will commit that up in a new branch to be tested, but for now my timezone suggests that I should be heading to bed.

Good to see that despite this being a proof of concept, it is working for at least one other person, now to make it stable!

Cheers,
Zane

@ZaneA

This comment has been minimized.

Show comment
Hide comment
@ZaneA

ZaneA Jan 7, 2013

Owner

Hey just an update, I've pushed the "NPAPI" branch which ditches Nixysa and FireBreath and implements an NPAPI plugin from scratch. Everything is working in my limited tests on Chrome and Firefox (as much as it was before with FireBreath anyway ;)).

The only requirement to compile this is the npapi-sdk headers, which at least on ArchLinux can be installed using just pacman -S npapi-sdk.

If you get a chance to try it out I'd be curious to hear if it works for you (after changing the device ID again), although I suspect that there is more room for bugs without the help of FireBreath. It was a great exercise for me though and is something that I am more comfortable maintaining now :)

Cheers!

Owner

ZaneA commented Jan 7, 2013

Hey just an update, I've pushed the "NPAPI" branch which ditches Nixysa and FireBreath and implements an NPAPI plugin from scratch. Everything is working in my limited tests on Chrome and Firefox (as much as it was before with FireBreath anyway ;)).

The only requirement to compile this is the npapi-sdk headers, which at least on ArchLinux can be installed using just pacman -S npapi-sdk.

If you get a chance to try it out I'd be curious to hear if it works for you (after changing the device ID again), although I suspect that there is more room for bugs without the help of FireBreath. It was a great exercise for me though and is something that I am more comfortable maintaining now :)

Cheers!

@wavewave

This comment has been minimized.

Show comment
Hide comment
@wavewave

wavewave Jan 8, 2013

I tried NPAPI branch. works great with very fast compilation time! (I needed to change your device id 8 to my device id 9)
I have used in my ubuntu machine. On the system, NPAPI include files are located in /usr/include/firefox when installing firefox-dev package in ubuntu (that's the official supported version of npapi in ubuntu) Informing this would be nice to ubuntu users.

By the way, it seems that when I left a web page using wacom plugin and entered another web page using wacom plugin, the browser hangs. my browser is google-chrome.
I think appropriate finalization is not executed when a user leave a page using wacom plugin.

wavewave commented Jan 8, 2013

I tried NPAPI branch. works great with very fast compilation time! (I needed to change your device id 8 to my device id 9)
I have used in my ubuntu machine. On the system, NPAPI include files are located in /usr/include/firefox when installing firefox-dev package in ubuntu (that's the official supported version of npapi in ubuntu) Informing this would be nice to ubuntu users.

By the way, it seems that when I left a web page using wacom plugin and entered another web page using wacom plugin, the browser hangs. my browser is google-chrome.
I think appropriate finalization is not executed when a user leave a page using wacom plugin.

@ZaneA

This comment has been minimized.

Show comment
Hide comment
@ZaneA

ZaneA Jan 8, 2013

Owner

Very glad to hear that it is working! You are correct about the
finalization, and that is a bug that I will work to fix ASAP (and then I
suppose I will merge this into master too). I will also add the NPAPI info
for Ubuntu into the README, thanks for that!

Owner

ZaneA commented Jan 8, 2013

Very glad to hear that it is working! You are correct about the
finalization, and that is a bug that I will work to fix ASAP (and then I
suppose I will merge this into master too). I will also add the NPAPI info
for Ubuntu into the README, thanks for that!

@ZaneA ZaneA closed this Jan 10, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment